Re: [PATCH 1/4] dt-bindings: sound: fsl,imx-asrc: update port binding to support multiple pairs

Rob Herring <[email protected]> Fri, 31 Jul 2026 17:59:30 -0500
Newsgroups dev.linux.lists.imx,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-sound,org.ozlabs.lists.linuxppc-dev
Message-ID <[email protected]>
On Mon, Jul 20, 2026 at 05:54:47PM +0800, [email protected] wrote:
> From: Shengjiu Wang <[email protected]>
> 
> The i.MX ASRC hardware supports up to three conversion pairs (A, B, C).
> The existing binding exposed only a single generic audio-graph port,
> which cannot represent the individual pair endpoints.
> 
> Add a ports container that enumerates three named sub-ports:
>   port@0 -- pair A
>   port@1 -- pair B
>   port@2 -- pair C
> 
> Each sub-port references audio-graph-port.yaml as before.
> 
> For backwards compatibility, keep the old single port property but mark
> it deprecated. A schema constraint (not: required: [port, ports]) ensures
> that both forms cannot be used at the same time. Update the examples to
> show both the new ports form and the deprecated port form.
> 
> No existing upstream DTS file for fsl,imx-asrc uses the previously
> documented single 'port' node, so this change does not break any
> in-tree device tree.
> 
> Signed-off-by: Shengjiu Wang <[email protected]>
> ---
>  .../bindings/sound/fsl,imx-asrc.yaml          | 78 +++++++++++++++++++
>  1 file changed, 78 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/sound/fsl,imx-asrc.yaml b/Documentation/devicetree/bindings/sound/fsl,imx-asrc.yaml
> index 608defc93c1e..18d252722aa8 100644
> --- a/Documentation/devicetree/bindings/sound/fsl,imx-asrc.yaml
> +++ b/Documentation/devicetree/bindings/sound/fsl,imx-asrc.yaml
> @@ -78,9 +78,29 @@ properties:
>    power-domains:
>      maxItems: 1
>  
> +  ports:
> +    $ref: /schemas/graph.yaml#/properties/ports
> +    properties:
> +      port@0:
> +        $ref: audio-graph-port.yaml#
> +        unevaluatedProperties: false
> +        description: port for pair A
> +
> +      port@1:
> +        $ref: audio-graph-port.yaml#
> +        unevaluatedProperties: false
> +        description: port for pair B
> +
> +      port@2:
> +        $ref: audio-graph-port.yaml#
> +        unevaluatedProperties: false
> +        description: port for pair C
> +
>    port:
>      $ref: audio-graph-port.yaml#
>      unevaluatedProperties: false
> +    deprecated: true
> +    description: deprecated, use ports instead
>  
>    fsl,asrc-rate:
>      $ref: /schemas/types.yaml#/definitions/uint32
> @@ -125,6 +145,10 @@ required:
>    - fsl,asrc-width
>  
>  allOf:
> +  - not:
> +      required:
> +        - port
> +        - ports
>    - $ref: dai-common.yaml#
>    - if:
>        properties:
> @@ -188,3 +212,57 @@ examples:
>              };
>         };
>      };
> +
> +  - |
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +    #include <dt-bindings/clock/imx6qdl-clock.h>
> +    asrc1: asrc@2034000 {

Drop unused label.

Presumably the existing example uses the deprecated 'port'. If so, just 
modify it to use ports and drop the deprecated part.

Rob