On Tue, Sep 22, 2026 at 11:34:24AM +0800, [email protected] wrote: > From: Shengjiu Wang <[email protected]> > > All i.MX ASRC variants (imx35 through imx952) support up to three > conversion pairs (A, B, C). The existing binding exposed only a single > generic audio-graph port, which cannot represent independent conversion > paths when multiple pairs are in use simultaneously. > > Add a ports container that enumerates up to three sub-ports, each > representing an independent conversion path: > port@0 -- conversion path 0 > port@1 -- conversion path 1 > port@2 -- conversion path 2 > > Each sub-port references audio-graph-port.yaml as before. Hardware pairs > are allocated dynamically at stream open time; each active stream > direction (playback or capture) on a port consumes one hardware pair. > > 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. The binding example is > updated to show the preferred ports form. > > Signed-off-by: Shengjiu Wang <[email protected]> > ---
Reviewed-by: Frank Li <[email protected]> > .../bindings/sound/fsl,imx-asrc.yaml | 43 +++++++++++++++++-- > 1 file changed, 39 insertions(+), 4 deletions(-) > > diff --git a/Documentation/devicetree/bindings/sound/fsl,imx-asrc.yaml > b/Documentation/devicetree/bindings/sound/fsl,imx-asrc.yaml > index cd69bad107c7..67d2826eef3f 100644 > --- a/Documentation/devicetree/bindings/sound/fsl,imx-asrc.yaml > +++ b/Documentation/devicetree/bindings/sound/fsl,imx-asrc.yaml > @@ -78,9 +78,19 @@ properties: > power-domains: > maxItems: 1 > > + ports: > + $ref: /schemas/graph.yaml#/properties/ports > + patternProperties: > + "^port@[0-2]$": > + $ref: audio-graph-port.yaml# > + unevaluatedProperties: false > + description: port for an independent conversion path > + > 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 +135,10 @@ required: > - fsl,asrc-width > > allOf: > + - not: > + required: > + - port > + - ports > - $ref: dai-common.yaml# > - if: > properties: > @@ -180,11 +194,32 @@ examples: > fsl,asrc-rate = <48000>; > fsl,asrc-width = <16>; > > - port { > - playback-only; > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + playback-only; > + endpoint { > + remote-endpoint = <&fe00_ep>; > + }; > + }; > + > + port@1 { > + reg = <1>; > + capture-only; > + endpoint { > + remote-endpoint = <&fe01_ep>; > + }; > + }; > > - asrc_endpoint: endpoint { > - remote-endpoint = <&fe00_ep>; > + port@2 { > + reg = <2>; > + capture-only; > + endpoint { > + remote-endpoint = <&fe02_ep>; > + }; > }; > }; > }; > -- > 2.34.1 > >
