Linux 6.7-rc7
[linux-modified.git] / Documentation / devicetree / bindings / sound / imx-audio-card.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/sound/imx-audio-card.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: NXP i.MX audio sound card.
8
9 maintainers:
10   - Shengjiu Wang <shengjiu.wang@nxp.com>
11
12 allOf:
13   - $ref: sound-card-common.yaml#
14
15 properties:
16   compatible:
17     enum:
18       - fsl,imx-audio-card
19
20 patternProperties:
21   ".*-dai-link$":
22     description:
23       Each subnode represents a dai link. Subnodes of each dai links would be
24       cpu/codec dais.
25
26     type: object
27
28     properties:
29       link-name:
30         description: Indicates dai-link name and PCM stream name.
31         $ref: /schemas/types.yaml#/definitions/string
32         maxItems: 1
33
34       format:
35         description: audio format.
36         items:
37           enum:
38             - i2s
39             - dsp_b
40
41       dai-tdm-slot-num:
42         description: see tdm-slot.txt.
43         $ref: /schemas/types.yaml#/definitions/uint32
44
45       dai-tdm-slot-width:
46         description: see tdm-slot.txt.
47         $ref: /schemas/types.yaml#/definitions/uint32
48
49       cpu:
50         description: Holds subnode which indicates cpu dai.
51         type: object
52         additionalProperties: false
53         properties:
54           sound-dai:
55             maxItems: 1
56
57       codec:
58         description: Holds subnode which indicates codec dai.
59         type: object
60         additionalProperties: false
61         properties:
62           sound-dai:
63             minItems: 1
64             maxItems: 2
65
66       fsl,mclk-equal-bclk:
67         description: Indicates mclk can be equal to bclk, especially for sai interface
68         $ref: /schemas/types.yaml#/definitions/flag
69
70     required:
71       - link-name
72       - cpu
73
74     additionalProperties: false
75
76 required:
77   - compatible
78
79 unevaluatedProperties: false
80
81 examples:
82   - |
83     sound-ak4458 {
84         compatible = "fsl,imx-audio-card";
85         model = "ak4458-audio";
86         pri-dai-link {
87             link-name = "akcodec";
88             format = "i2s";
89             fsl,mclk-equal-bclk;
90             cpu {
91                  sound-dai = <&sai1>;
92             };
93             codec {
94                  sound-dai = <&ak4458_1>, <&ak4458_2>;
95             };
96         };
97         fe-dai-link {
98             link-name = "HiFi-ASRC-FE";
99             format = "i2s";
100             cpu {
101                 sound-dai = <&easrc>;
102             };
103         };
104         be-dai-link {
105             link-name = "HiFi-ASRC-BE";
106             format = "dsp_b";
107             dai-tdm-slot-num = <8>;
108             dai-tdm-slot-width = <32>;
109             fsl,mclk-equal-bclk;
110             cpu {
111                 sound-dai = <&sai1>;
112             };
113             codec {
114                 sound-dai = <&ak4458_1>, <&ak4458_2>;
115             };
116         };
117     };