Re: [PATCH v2 2/5] ASoC: dt-bindings: fsl,easrc: add ports binding for multiple conversion paths

Frank Li <[email protected]>
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 <amGZxZPs1gvPcMeF@SMW015318>
On Thu, Jul 23, 2026 at 10:23:10AM +0800, [email protected] wrote:
> From: Shengjiu Wang <[email protected]>
>
> The i.MX EASRC hardware supports up to four conversion contexts
> (A, B, C, D). Add a ports container property to the binding to allow
> each independent conversion path to be represented as an individual
> audio-graph port:
>
>   port@0 -- conversion path 0
>   port@1 -- conversion path 1
>   port@2 -- conversion path 2
>   port@3 -- conversion path 3
>
> Each sub-port references audio-graph-port.yaml and follows the standard
> audio-graph binding conventions. Contexts are allocated dynamically at
> stream open time; each active stream direction (playback or capture) on
> a port consumes one hardware context.
>
> Signed-off-by: Shengjiu Wang <[email protected]>
> ---
>  .../devicetree/bindings/sound/fsl,easrc.yaml  | 68 +++++++++++++++++++
>  1 file changed, 68 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/sound/fsl,easrc.yaml b/Documentation/devicetree/bindings/sound/fsl,easrc.yaml
> index d5727f8bfb0b..e6d7cae5983d 100644
> --- a/Documentation/devicetree/bindings/sound/fsl,easrc.yaml
> +++ b/Documentation/devicetree/bindings/sound/fsl,easrc.yaml
> @@ -55,6 +55,14 @@ properties:
>        - const: imx/easrc/easrc-imx8mn.bin
>      description: The coefficient table for the filters
>
> +  ports:
> +    $ref: /schemas/graph.yaml#/properties/ports
> +    patternProperties:
> +      "^port@[0-3]$":
> +        $ref: audio-graph-port.yaml#
> +        unevaluatedProperties: false
> +        description: port for an independent conversion path
> +
>    fsl,asrc-rate:
>      $ref: /schemas/types.yaml#/definitions/uint32
>      minimum: 8000
> @@ -107,3 +115,63 @@ examples:
>          fsl,asrc-rate = <8000>;
>          fsl,asrc-format = <2>;
>      };
> +
> +  - |
> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> +    #include <dt-bindings/clock/imx8mn-clock.h>
> +
> +    easrc1: easrc@300c0000 {

Needn't label in example.

> +        compatible = "fsl,imx8mn-easrc";
> +        reg = <0x300c0000 0x10000>;
> +        interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
> +        clocks = <&clk IMX8MN_CLK_ASRC_ROOT>;
> +        clock-names = "mem";
> +        dmas = <&sdma2 16 23 0> , <&sdma2 17 23 0>,
> +               <&sdma2 18 23 0> , <&sdma2 19 23 0>,
> +               <&sdma2 20 23 0> , <&sdma2 21 23 0>,
> +               <&sdma2 22 23 0> , <&sdma2 23 23 0>;
> +        dma-names = "ctx0_rx", "ctx0_tx",
> +                    "ctx1_rx", "ctx1_tx",
> +                    "ctx2_rx", "ctx2_tx",
> +                    "ctx3_rx", "ctx3_tx";
> +        firmware-name = "imx/easrc/easrc-imx8mn.bin";
> +        fsl,asrc-rate = <8000>;
> +        fsl,asrc-format = <2>;
> +
> +        ports {
> +            #address-cells = <1>;
> +            #size-cells = <0>;
> +
> +            port@0 {
> +                reg = <0>;
> +                playback-only;
> +                easrc1_endpoint0: endpoint {

Needn't label.

Frank
> +                    remote-endpoint = <&fe00_ep>;
> +                };
> +            };
> +
> +            port@1 {
> +                reg = <1>;
> +                playback-only;
> +                easrc1_endpoint1: endpoint {
> +                    remote-endpoint = <&fe01_ep>;
> +                };
> +            };
> +
> +            port@2 {
> +                reg = <2>;
> +                capture-only;
> +                easrc1_endpoint2: endpoint {
> +                    remote-endpoint = <&fe02_ep>;
> +                };
> +            };
> +
> +            port@3 {
> +                reg = <3>;
> +                capture-only;
> +                easrc1_endpoint3: endpoint {
> +                    remote-endpoint = <&fe03_ep>;
> +                };
> +            };
> +        };
> +    };
> --
> 2.34.1
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.