Re: [PATCH v3 1/5] ASoC: dt-bindings: fsl,imx-asrc: update port binding to support multiple paths
Frank Li <[email protected]> Tue, 4 Aug 2026 09:39:07 -0500
| Newsgroups | gmane.linux.ports.ppc.embedded |
|---|---|
| Message-ID | <anH5i7y3JkB1moee__11189.9193654367$1785854409$gmane$org@SMW015318> |
On Tue, Aug 04, 2026 at 06:02:14PM +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 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. > > 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. if no existing upstream DTS file use it, you can direct replace with ports Frank > > Signed-off-by: Shengjiu Wang <[email protected]> > --- > .../bindings/sound/fsl,imx-asrc.yaml | 45 ++++++++++++++++--- > 1 file changed, 40 insertions(+), 5 deletions(-) > > diff --git a/Documentation/devicetree/bindings/sound/fsl,imx-asrc.yaml b/Documentation/devicetree/bindings/sound/fsl,imx-asrc.yaml > index 608defc93c1e..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 > >