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.
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
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.