Le 17/02/2023 à 15:56, Herve Codina a écrit :
The QMC (QUICC mutichannel controller) is a controller present in some PowerQUICC SoC such as MPC885. The QMC audio is an ASoC component that uses the QMC controller to transfer the audio data.
Signed-off-by: Herve Codina herve.codina@bootlin.com Reviewed-by: Krzysztof Kozlowski krzysztof.kozlowski@linaro.org
Reviewed-by: Christophe Leroy christophe.leroy@csgroup.eu
.../bindings/sound/fsl,qmc-audio.yaml | 117 ++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/fsl,qmc-audio.yaml
diff --git a/Documentation/devicetree/bindings/sound/fsl,qmc-audio.yaml b/Documentation/devicetree/bindings/sound/fsl,qmc-audio.yaml new file mode 100644 index 000000000000..ff5cd9241941 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/fsl,qmc-audio.yaml @@ -0,0 +1,117 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/sound/fsl,qmc-audio.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml#
+title: QMC audio
+maintainers:
- Herve Codina herve.codina@bootlin.com
+description: |
- The QMC audio is an ASoC component which uses QMC (QUICC Multichannel
- Controller) channels to transfer the audio data.
- It provides as many DAI as the number of QMC channel used.
+allOf:
- $ref: dai-common.yaml#
+properties:
- compatible:
- const: fsl,qmc-audio
- '#address-cells':
- const: 1
- '#size-cells':
- const: 0
- '#sound-dai-cells':
- const: 1
+patternProperties:
- '^dai@([0-9]|[1-5][0-9]|6[0-3])$':
- description:
A DAI managed by this controller
- type: object
- properties:
reg:
minimum: 0
maximum: 63
description:
The DAI number
fsl,qmc-chan:
$ref: /schemas/types.yaml#/definitions/phandle-array
items:
- items:
- description: phandle to QMC node
- description: Channel number
description:
Should be a phandle/number pair. The phandle to QMC node and the QMC
channel to use for this DAI.
- required:
- reg
- fsl,qmc-chan
+required:
- compatible
- '#address-cells'
- '#size-cells'
- '#sound-dai-cells'
+additionalProperties: false
+examples:
- |
- audio_controller: audio-controller {
compatible = "fsl,qmc-audio";
#address-cells = <1>;
#size-cells = <0>;
#sound-dai-cells = <1>;
dai@16 {
reg = <16>;
fsl,qmc-chan = <&qmc 16>;
};
dai@17 {
reg = <17>;
fsl,qmc-chan = <&qmc 17>;
};
- };
- sound {
compatible = "simple-audio-card";
#address-cells = <1>;
#size-cells = <0>;
simple-audio-card,dai-link@0 {
reg = <0>;
format = "dsp_b";
cpu {
sound-dai = <&audio_controller 16>;
};
codec {
sound-dai = <&codec1>;
dai-tdm-slot-num = <4>;
dai-tdm-slot-width = <8>;
/* TS 3, 5, 7, 9 */
dai-tdm-slot-tx-mask = <0 0 0 1 0 1 0 1 0 1>;
dai-tdm-slot-rx-mask = <0 0 0 1 0 1 0 1 0 1>;
};
};
simple-audio-card,dai-link@1 {
reg = <1>;
format = "dsp_b";
cpu {
sound-dai = <&audio_controller 17>;
};
codec {
sound-dai = <&codec2>;
dai-tdm-slot-num = <4>;
dai-tdm-slot-width = <8>;
/* TS 2, 4, 6, 8 */
dai-tdm-slot-tx-mask = <0 0 1 0 1 0 1 0 1>;
dai-tdm-slot-rx-mask = <0 0 1 0 1 0 1 0 1>;
};
};
- };