xref: /linux/Documentation/devicetree/bindings/sound/mt8186-mt6366-rt1019-rt5682s.yaml (revision 33e02dc69afbd8f1b85a51d74d72f139ba4ca623)
11bcca73eSJiaxin Yu# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
21bcca73eSJiaxin Yu%YAML 1.2
31bcca73eSJiaxin Yu---
41bcca73eSJiaxin Yu$id: http://devicetree.org/schemas/sound/mt8186-mt6366-rt1019-rt5682s.yaml#
51bcca73eSJiaxin Yu$schema: http://devicetree.org/meta-schemas/core.yaml#
61bcca73eSJiaxin Yu
71bcca73eSJiaxin Yutitle: Mediatek MT8186 with MT6366, RT1019 and RT5682S ASoC sound card driver
81bcca73eSJiaxin Yu
91bcca73eSJiaxin Yumaintainers:
101bcca73eSJiaxin Yu  - Jiaxin Yu <jiaxin.yu@mediatek.com>
111bcca73eSJiaxin Yu
121bcca73eSJiaxin Yudescription:
131bcca73eSJiaxin Yu  This binding describes the MT8186 sound card.
141bcca73eSJiaxin Yu
15*787f190cSAngeloGioacchino Del RegnoallOf:
16*787f190cSAngeloGioacchino Del Regno  - $ref: sound-card-common.yaml#
17*787f190cSAngeloGioacchino Del Regno
181bcca73eSJiaxin Yuproperties:
191bcca73eSJiaxin Yu  compatible:
201bcca73eSJiaxin Yu    enum:
211bcca73eSJiaxin Yu      - mediatek,mt8186-mt6366-rt1019-rt5682s-sound
222d3dd559Stongjian      - mediatek,mt8186-mt6366-rt5682s-max98360-sound
238a79ff9eSxiazhengqiao      - mediatek,mt8186-mt6366-rt5650-sound
241bcca73eSJiaxin Yu
25*787f190cSAngeloGioacchino Del Regno  audio-routing:
26*787f190cSAngeloGioacchino Del Regno    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
27*787f190cSAngeloGioacchino Del Regno    description:
28*787f190cSAngeloGioacchino Del Regno      A list of the connections between audio components. Each entry is a
29*787f190cSAngeloGioacchino Del Regno      pair of strings, the first being the connection's sink, the second
30*787f190cSAngeloGioacchino Del Regno      being the connection's source.
31*787f190cSAngeloGioacchino Del Regno      Valid names could be the input or output widgets of audio components,
32*787f190cSAngeloGioacchino Del Regno      power supplies, MicBias of codec and the software switch.
33*787f190cSAngeloGioacchino Del Regno    minItems: 2
34*787f190cSAngeloGioacchino Del Regno    items:
35*787f190cSAngeloGioacchino Del Regno      enum:
36*787f190cSAngeloGioacchino Del Regno        # Sinks
37*787f190cSAngeloGioacchino Del Regno        - HDMI1
38*787f190cSAngeloGioacchino Del Regno        - Headphone
39*787f190cSAngeloGioacchino Del Regno        - IN1P
40*787f190cSAngeloGioacchino Del Regno        - IN1N
41*787f190cSAngeloGioacchino Del Regno        - Line Out
42*787f190cSAngeloGioacchino Del Regno        - Speakers
43*787f190cSAngeloGioacchino Del Regno
44*787f190cSAngeloGioacchino Del Regno        # Sources
45*787f190cSAngeloGioacchino Del Regno        - Headset Mic
46*787f190cSAngeloGioacchino Del Regno        - HPOL
47*787f190cSAngeloGioacchino Del Regno        - HPOR
48*787f190cSAngeloGioacchino Del Regno        - Speaker
49*787f190cSAngeloGioacchino Del Regno        - SPOL
50*787f190cSAngeloGioacchino Del Regno        - SPOR
51*787f190cSAngeloGioacchino Del Regno        - TX
52*787f190cSAngeloGioacchino Del Regno
531bcca73eSJiaxin Yu  mediatek,platform:
54d9e909e2SRob Herring    $ref: /schemas/types.yaml#/definitions/phandle
551bcca73eSJiaxin Yu    description: The phandle of MT8186 ASoC platform.
561bcca73eSJiaxin Yu
57f8639c38SAjye Huang  dmic-gpios:
58f8639c38SAjye Huang    maxItems: 1
59f8639c38SAjye Huang    description:
60f8639c38SAjye Huang      dmic-gpios optional prop for switching between two DMICs.
61f8639c38SAjye Huang      Ex, the GPIO can control a MUX HW component to select
62f8639c38SAjye Huang      dmic clk and data form a Front or Rear dmic.
63f8639c38SAjye Huang
641bcca73eSJiaxin Yu  headset-codec:
651bcca73eSJiaxin Yu    type: object
66*787f190cSAngeloGioacchino Del Regno    deprecated: true
671bcca73eSJiaxin Yu    additionalProperties: false
681bcca73eSJiaxin Yu    properties:
691bcca73eSJiaxin Yu      sound-dai:
701bcca73eSJiaxin Yu        maxItems: 1
711bcca73eSJiaxin Yu    required:
721bcca73eSJiaxin Yu      - sound-dai
731bcca73eSJiaxin Yu
741bcca73eSJiaxin Yu  playback-codecs:
751bcca73eSJiaxin Yu    type: object
76*787f190cSAngeloGioacchino Del Regno    deprecated: true
771bcca73eSJiaxin Yu    additionalProperties: false
781bcca73eSJiaxin Yu    properties:
791bcca73eSJiaxin Yu      sound-dai:
801bcca73eSJiaxin Yu        items:
811bcca73eSJiaxin Yu          - description: phandle of dp codec
821bcca73eSJiaxin Yu          - description: phandle of l channel speaker codec
831bcca73eSJiaxin Yu          - description: phandle of r channel speaker codec
841bcca73eSJiaxin Yu        minItems: 2
851bcca73eSJiaxin Yu    required:
861bcca73eSJiaxin Yu      - sound-dai
871bcca73eSJiaxin Yu
881173107dSchunxu.li  mediatek,adsp:
891173107dSchunxu.li    $ref: /schemas/types.yaml#/definitions/phandle
901173107dSchunxu.li    description: The phandle of MT8186 ADSP platform.
911173107dSchunxu.li
921173107dSchunxu.li  mediatek,dai-link:
931173107dSchunxu.li    $ref: /schemas/types.yaml#/definitions/string-array
941173107dSchunxu.li    description:
951173107dSchunxu.li      A list of the desired dai-links in the sound card. Each entry is a
961173107dSchunxu.li      name defined in the machine driver.
971173107dSchunxu.li
98*787f190cSAngeloGioacchino Del RegnopatternProperties:
99*787f190cSAngeloGioacchino Del Regno  ".*-dai-link$":
100*787f190cSAngeloGioacchino Del Regno    type: object
1011bcca73eSJiaxin Yu    additionalProperties: false
102*787f190cSAngeloGioacchino Del Regno    description:
103*787f190cSAngeloGioacchino Del Regno      Container for dai-link level properties and CODEC sub-nodes.
104*787f190cSAngeloGioacchino Del Regno
105*787f190cSAngeloGioacchino Del Regno    properties:
106*787f190cSAngeloGioacchino Del Regno      link-name:
107*787f190cSAngeloGioacchino Del Regno        description: Indicates dai-link name and PCM stream name
108*787f190cSAngeloGioacchino Del Regno        enum: [ I2S0, I2S1, I2S2, I2S3 ]
109*787f190cSAngeloGioacchino Del Regno
110*787f190cSAngeloGioacchino Del Regno      codec:
111*787f190cSAngeloGioacchino Del Regno        description: Holds subnode which indicates codec dai.
112*787f190cSAngeloGioacchino Del Regno        type: object
113*787f190cSAngeloGioacchino Del Regno        additionalProperties: false
114*787f190cSAngeloGioacchino Del Regno        properties:
115*787f190cSAngeloGioacchino Del Regno          sound-dai:
116*787f190cSAngeloGioacchino Del Regno            minItems: 1
117*787f190cSAngeloGioacchino Del Regno            maxItems: 2
118*787f190cSAngeloGioacchino Del Regno        required:
119*787f190cSAngeloGioacchino Del Regno          - sound-dai
120*787f190cSAngeloGioacchino Del Regno
121*787f190cSAngeloGioacchino Del Regno      dai-format:
122*787f190cSAngeloGioacchino Del Regno        description: audio format
123*787f190cSAngeloGioacchino Del Regno        enum: [ i2s, right_j, left_j, dsp_a, dsp_b ]
124*787f190cSAngeloGioacchino Del Regno
125*787f190cSAngeloGioacchino Del Regno      mediatek,clk-provider:
126*787f190cSAngeloGioacchino Del Regno        $ref: /schemas/types.yaml#/definitions/string
127*787f190cSAngeloGioacchino Del Regno        description: Indicates dai-link clock master.
128*787f190cSAngeloGioacchino Del Regno        enum: [ cpu, codec ]
129*787f190cSAngeloGioacchino Del Regno
130*787f190cSAngeloGioacchino Del Regno    required:
131*787f190cSAngeloGioacchino Del Regno      - link-name
132*787f190cSAngeloGioacchino Del Regno
133*787f190cSAngeloGioacchino Del RegnounevaluatedProperties: false
1341bcca73eSJiaxin Yu
1351bcca73eSJiaxin Yurequired:
1361bcca73eSJiaxin Yu  - compatible
1371bcca73eSJiaxin Yu  - mediatek,platform
138*787f190cSAngeloGioacchino Del Regno
139*787f190cSAngeloGioacchino Del Regno# Disallow legacy properties if xxx-dai-link nodes are specified
140*787f190cSAngeloGioacchino Del Regnoif:
141*787f190cSAngeloGioacchino Del Regno  not:
142*787f190cSAngeloGioacchino Del Regno    patternProperties:
143*787f190cSAngeloGioacchino Del Regno      ".*-dai-link$": false
144*787f190cSAngeloGioacchino Del Regnothen:
145*787f190cSAngeloGioacchino Del Regno  properties:
146*787f190cSAngeloGioacchino Del Regno    headset-codec: false
147*787f190cSAngeloGioacchino Del Regno    speaker-codecs: false
1481bcca73eSJiaxin Yu
1491bcca73eSJiaxin Yuexamples:
1501bcca73eSJiaxin Yu  - |
151f8639c38SAjye Huang    #include <dt-bindings/gpio/gpio.h>
1521bcca73eSJiaxin Yu
1531bcca73eSJiaxin Yu    sound: mt8186-sound {
1541bcca73eSJiaxin Yu        compatible = "mediatek,mt8186-mt6366-rt1019-rt5682s-sound";
155*787f190cSAngeloGioacchino Del Regno        model = "mt8186_rt1019_rt5682s";
1561bcca73eSJiaxin Yu        pinctrl-names = "aud_clk_mosi_off",
157f8639c38SAjye Huang                        "aud_clk_mosi_on",
158f8639c38SAjye Huang                        "aud_gpio_dmic_sec";
1591bcca73eSJiaxin Yu        pinctrl-0 = <&aud_clk_mosi_off>;
1601bcca73eSJiaxin Yu        pinctrl-1 = <&aud_clk_mosi_on>;
161f8639c38SAjye Huang        pinctrl-2 = <&aud_gpio_dmic_sec>;
162*787f190cSAngeloGioacchino Del Regno        mediatek,platform = <&afe>;
163f8639c38SAjye Huang
164f8639c38SAjye Huang        dmic-gpios = <&pio 23 GPIO_ACTIVE_HIGH>;
1651bcca73eSJiaxin Yu
166*787f190cSAngeloGioacchino Del Regno        audio-routing =
167*787f190cSAngeloGioacchino Del Regno                "Headphone", "HPOL",
168*787f190cSAngeloGioacchino Del Regno                "Headphone", "HPOR",
169*787f190cSAngeloGioacchino Del Regno                "IN1P", "Headset Mic",
170*787f190cSAngeloGioacchino Del Regno                "Speakers", "Speaker",
171*787f190cSAngeloGioacchino Del Regno                "HDMI1", "TX";
172*787f190cSAngeloGioacchino Del Regno
173*787f190cSAngeloGioacchino Del Regno        hs-playback-dai-link {
174*787f190cSAngeloGioacchino Del Regno                link-name = "I2S0";
175*787f190cSAngeloGioacchino Del Regno                dai-format = "i2s";
176*787f190cSAngeloGioacchino Del Regno                mediatek,clk-provider = "cpu";
177*787f190cSAngeloGioacchino Del Regno                codec {
178*787f190cSAngeloGioacchino Del Regno                        sound-dai = <&rt5682s 0>;
179*787f190cSAngeloGioacchino Del Regno                };
1801bcca73eSJiaxin Yu        };
1811bcca73eSJiaxin Yu
182*787f190cSAngeloGioacchino Del Regno        hs-capture-dai-link {
183*787f190cSAngeloGioacchino Del Regno                link-name = "I2S1";
184*787f190cSAngeloGioacchino Del Regno                dai-format = "i2s";
185*787f190cSAngeloGioacchino Del Regno                mediatek,clk-provider = "cpu";
186*787f190cSAngeloGioacchino Del Regno                codec {
187*787f190cSAngeloGioacchino Del Regno                        sound-dai = <&rt5682s 0>;
188*787f190cSAngeloGioacchino Del Regno                };
189*787f190cSAngeloGioacchino Del Regno        };
190*787f190cSAngeloGioacchino Del Regno
191*787f190cSAngeloGioacchino Del Regno        spk-hdmi-playback-dai-link {
192*787f190cSAngeloGioacchino Del Regno                link-name = "I2S3";
193*787f190cSAngeloGioacchino Del Regno                dai-format = "i2s";
194*787f190cSAngeloGioacchino Del Regno                mediatek,clk-provider = "cpu";
195*787f190cSAngeloGioacchino Del Regno                codec {
196*787f190cSAngeloGioacchino Del Regno                        sound-dai = <&it6505dptx>, <&rt1019p>;
197*787f190cSAngeloGioacchino Del Regno                };
1981bcca73eSJiaxin Yu        };
1991bcca73eSJiaxin Yu    };
2001bcca73eSJiaxin Yu
2011bcca73eSJiaxin Yu...
202