On Wed, Aug 05, 2026 at 02:57:59PM +0800, Shengjiu Wang wrote: > On Tue, Aug 4, 2026 at 10:39 PM Frank Li <[email protected]> wrote: > > > > 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 > > That is to avoid any downstream use of the 'port', so not directly replace it.
Does downstream strictly run DTB_CHECK ? Frank > > best regards > Shengjiu Wang > > > > > 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 > > > > > >
