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
7title: NXP i.MX audio sound card.
8
9maintainers:
10  - Shengjiu Wang <shengjiu.wang@nxp.com>
11
12properties:
13  compatible:
14    enum:
15      - fsl,imx-audio-card
16
17  model:
18    $ref: /schemas/types.yaml#/definitions/string
19    description: User specified audio sound card name
20
21  audio-routing:
22    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
23    description:
24      A list of the connections between audio components. Each entry is a
25      pair of strings, the first being the connection's sink, the second
26      being the connection's source. Valid names could be power supplies,
27      MicBias of codec and the jacks on the board.
28
29patternProperties:
30  ".*-dai-link$":
31    description:
32      Each subnode represents a dai link. Subnodes of each dai links would be
33      cpu/codec dais.
34
35    type: object
36
37    properties:
38      link-name:
39        description: Indicates dai-link name and PCM stream name.
40        $ref: /schemas/types.yaml#/definitions/string
41        maxItems: 1
42
43      format:
44        description: audio format.
45        items:
46          enum:
47            - i2s
48            - dsp_b
49
50      dai-tdm-slot-num:
51        description: see tdm-slot.txt.
52        $ref: /schemas/types.yaml#/definitions/uint32
53
54      dai-tdm-slot-width:
55        description: see tdm-slot.txt.
56        $ref: /schemas/types.yaml#/definitions/uint32
57
58      cpu:
59        description: Holds subnode which indicates cpu dai.
60        type: object
61        properties:
62          sound-dai: true
63
64      codec:
65        description: Holds subnode which indicates codec dai.
66        type: object
67        properties:
68          sound-dai: true
69
70      fsl,mclk-equal-bclk:
71        description: Indicates mclk can be equal to bclk, especially for sai interface
72        $ref: /schemas/types.yaml#/definitions/flag
73
74    required:
75      - link-name
76      - cpu
77
78    additionalProperties: false
79
80required:
81  - compatible
82  - model
83
84additionalProperties: false
85
86examples:
87  - |
88    sound-ak4458 {
89        compatible = "fsl,imx-audio-card";
90        model = "ak4458-audio";
91        pri-dai-link {
92            link-name = "akcodec";
93            format = "i2s";
94            fsl,mclk-equal-bclk;
95            cpu {
96                 sound-dai = <&sai1>;
97            };
98            codec {
99                 sound-dai = <&ak4458_1>, <&ak4458_2>;
100            };
101        };
102        fe-dai-link {
103            link-name = "HiFi-ASRC-FE";
104            format = "i2s";
105            cpu {
106                sound-dai = <&easrc>;
107            };
108        };
109        be-dai-link {
110            link-name = "HiFi-ASRC-BE";
111            format = "dsp_b";
112            dai-tdm-slot-num = <8>;
113            dai-tdm-slot-width = <32>;
114            fsl,mclk-equal-bclk;
115            cpu {
116                sound-dai = <&sai1>;
117            };
118            codec {
119                sound-dai = <&ak4458_1>, <&ak4458_2>;
120            };
121        };
122    };
123