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

Krzysztof Kozlowski krzysztof.kozlowski at linaro.org
Thu Feb 29 00:25:37 PST 2024


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 at collabora.com>
> ---


>  
>    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




More information about the linux-arm-kernel mailing list