Re: [PATCH 18/22] ASoC: dt-bindings: mt8195: Document audio-routing and dai-link subnode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



On 27/02/2024 13:09, AngeloGioacchino Del Regno wrote:
> Document the dai-link subnodes and the audio-routing property, allowing
> to describe machine specific audio hardware and links in device tree.
> 
> While at it, also deprecate the old properties which were previously
> used with driver hardcoded configuration.
> 
> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>
> ---


>  
>    mediatek,adsp:
>      $ref: /schemas/types.yaml#/definitions/phandle
> @@ -45,12 +56,75 @@ properties:
>        A list of the desired dai-links in the sound card. Each entry is a
>        name defined in the machine driver.
>  
> +patternProperties:
> +  ".*-dai-link$":
> +    type: object
> +    description:
> +      Container for dai-link level properties and CODEC sub-nodes.
> +
> +    properties:
> +      link-name:
> +        description: Indicates dai-link name and PCM stream name
> +        items:

That's not a list, but just enum.

> +          enum:
> +            - DPTX_BE
> +            - ETDM1_IN_BE
> +            - ETDM2_IN_BE
> +            - ETDM1_OUT_BE
> +            - ETDM2_OUT_BE
> +            - ETDM3_OUT_BE
> +            - PCM1_BE
> +
> +      codec:
> +        description: Holds subnode which indicates codec dai.
> +        type: object
> +        additionalProperties: false
> +        properties:
> +          sound-dai:
> +            minItems: 1
> +            maxItems: 2
> +        required:
> +          - sound-dai
> +
> +      dai-format:
> +        description: audio format
> +        items:

Ditto

> +          enum:
> +            - i2s
> +            - right_j
> +            - left_j
> +            - dsp_a
> +            - dsp_b
> +
> +      mediatek,clk-provider:
> +        $ref: /schemas/types.yaml#/definitions/string
> +        description: Indicates dai-link clock master.
> +        items:

Ditto

> +          enum:
> +            - cpu
> +            - codec
> +
> +    additionalProperties: false

This goes either to the top of the section (after type:object) for
readability or after required: block below.

> +
> +    required:
> +      - link-name
> +
>  additionalProperties: false

>  
>  required:
>    - compatible
>    - mediatek,platform
>  
> +# Disallow legacy properties if dai-link-xxx nodes are specified
> +if:
> +  not:

I don't think this works. To test if node is present or node, you would
need to use required.
https://elixir.bootlin.com/linux/v6.4-rc7/source/Documentation/devicetree/bindings/net/qcom,ipa.yaml#L174

Are you sure this if:then: works as expected?


> +    patternProperties:
> +      ".*-dai-link$": false
> +then:
> +  properties:
> +    mediatek,dptx-codec: false
> +    mediatek,hdmi-codec: false
> +
>  examples:
>    - |
>  


Best regards,
Krzysztof





[Index of Archives]     [Pulseaudio]     [Linux Audio Users]     [ALSA Devel]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux