xref: /linux/Documentation/devicetree/bindings/sound/mt8195-mt6359.yaml (revision d53b8e36925256097a08d7cb749198d85cbf9b2b)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/sound/mt8195-mt6359.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: MediaTek MT8195 ASoC sound card driver
8
9maintainers:
10  - Trevor Wu <trevor.wu@mediatek.com>
11
12description:
13  This binding describes the MT8195 sound card.
14
15allOf:
16  - $ref: sound-card-common.yaml#
17
18properties:
19  compatible:
20    enum:
21      - mediatek,mt8195_mt6359_rt1019_rt5682
22      - mediatek,mt8195_mt6359_rt1011_rt5682
23      - mediatek,mt8195_mt6359_max98390_rt5682
24
25  model:
26    $ref: /schemas/types.yaml#/definitions/string
27    description: User specified audio sound card name
28
29  audio-routing:
30    description:
31      A list of the connections between audio components. Each entry is a
32      pair of strings, the first being the connection's sink, the second
33      being the connection's source.
34      Valid names could be the input or output widgets of audio components,
35      power supplies, MicBias of codec and the software switch.
36    minItems: 2
37    items:
38      enum:
39        # Sinks
40        - Ext Spk
41        - Headphone
42        - IN1P
43        - Left Spk
44        - Right Spk
45
46        # Sources
47        - Headset Mic
48        - HPOL
49        - HPOR
50        - Left BE_OUT
51        - Left SPO
52        - Right BE_OUT
53        - Right SPO
54        - Speaker
55
56  mediatek,platform:
57    $ref: /schemas/types.yaml#/definitions/phandle
58    description: The phandle of MT8195 ASoC platform.
59
60  mediatek,dptx-codec:
61    $ref: /schemas/types.yaml#/definitions/phandle
62    description: The phandle of MT8195 Display Port Tx codec node.
63    deprecated: true
64
65  mediatek,hdmi-codec:
66    $ref: /schemas/types.yaml#/definitions/phandle
67    description: The phandle of MT8195 HDMI codec node.
68    deprecated: true
69
70  mediatek,adsp:
71    $ref: /schemas/types.yaml#/definitions/phandle
72    description: The phandle of MT8195 ADSP platform.
73
74  mediatek,dai-link:
75    $ref: /schemas/types.yaml#/definitions/string-array
76    description:
77      A list of the desired dai-links in the sound card. Each entry is a
78      name defined in the machine driver.
79
80patternProperties:
81  ".*-dai-link$":
82    type: object
83    additionalProperties: false
84    description:
85      Container for dai-link level properties and CODEC sub-nodes.
86
87    properties:
88      link-name:
89        description: Indicates dai-link name and PCM stream name
90        enum:
91          - DPTX_BE
92          - ETDM1_IN_BE
93          - ETDM2_IN_BE
94          - ETDM1_OUT_BE
95          - ETDM2_OUT_BE
96          - ETDM3_OUT_BE
97          - PCM1_BE
98
99      codec:
100        description: Holds subnode which indicates codec dai.
101        type: object
102        additionalProperties: false
103        properties:
104          sound-dai:
105            minItems: 1
106            maxItems: 2
107        required:
108          - sound-dai
109
110      dai-format:
111        description: audio format
112        enum: [ i2s, right_j, left_j, dsp_a, dsp_b ]
113
114      mediatek,clk-provider:
115        $ref: /schemas/types.yaml#/definitions/string
116        description: Indicates dai-link clock master.
117        enum: [ cpu, codec ]
118
119    required:
120      - link-name
121
122additionalProperties: false
123
124required:
125  - compatible
126  - mediatek,platform
127
128# Disallow legacy properties if xxx-dai-link nodes are specified
129if:
130  not:
131    patternProperties:
132      ".*-dai-link$": false
133then:
134  properties:
135    mediatek,dptx-codec: false
136    mediatek,hdmi-codec: false
137
138examples:
139  - |
140
141    sound: mt8195-sound {
142        compatible = "mediatek,mt8195_mt6359_rt1019_rt5682";
143        model = "mt8195_r1019_5682";
144        mediatek,platform = <&afe>;
145        pinctrl-names = "default";
146        pinctrl-0 = <&aud_pins_default>;
147
148        audio-routing =
149                "Headphone", "HPOL",
150                "Headphone", "HPOR",
151                "IN1P", "Headset Mic",
152                "Ext Spk", "Speaker";
153
154        mm-dai-link {
155                link-name = "ETDM1_IN_BE";
156                mediatek,clk-provider = "cpu";
157        };
158
159        hs-playback-dai-link {
160                link-name = "ETDM1_OUT_BE";
161                mediatek,clk-provider = "cpu";
162                codec {
163                        sound-dai = <&headset_codec>;
164                };
165        };
166
167        hs-capture-dai-link {
168                link-name = "ETDM2_IN_BE";
169                mediatek,clk-provider = "cpu";
170                codec {
171                        sound-dai = <&headset_codec>;
172                };
173        };
174
175        spk-playback-dai-link {
176                link-name = "ETDM2_OUT_BE";
177                mediatek,clk-provider = "cpu";
178                codec {
179                        sound-dai = <&spk_amplifier>;
180                };
181        };
182
183        hdmi-dai-link {
184                link-name = "ETDM3_OUT_BE";
185                codec {
186                        sound-dai = <&hdmi_tx>;
187                };
188        };
189
190        displayport-dai-link {
191                link-name = "DPTX_BE";
192                codec {
193                        sound-dai = <&dp_tx>;
194                };
195        };
196    };
197
198...
199