1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/sound/mt8186-mt6366-rt1019-rt5682s.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Mediatek MT8186 with MT6366, RT1019 and RT5682S ASoC sound card driver 8 9maintainers: 10 - Jiaxin Yu <jiaxin.yu@mediatek.com> 11 12description: 13 This binding describes the MT8186 sound card. 14 15allOf: 16 - $ref: sound-card-common.yaml# 17 18properties: 19 compatible: 20 enum: 21 - mediatek,mt8186-mt6366-rt1019-rt5682s-sound 22 - mediatek,mt8186-mt6366-rt5682s-max98360-sound 23 - mediatek,mt8186-mt6366-rt5650-sound 24 25 audio-routing: 26 $ref: /schemas/types.yaml#/definitions/non-unique-string-array 27 description: 28 A list of the connections between audio components. Each entry is a 29 pair of strings, the first being the connection's sink, the second 30 being the connection's source. 31 Valid names could be the input or output widgets of audio components, 32 power supplies, MicBias of codec and the software switch. 33 minItems: 2 34 items: 35 enum: 36 # Sinks 37 - HDMI1 38 - Headphone 39 - IN1P 40 - IN1N 41 - Line Out 42 - Speakers 43 44 # Sources 45 - Headset Mic 46 - HPOL 47 - HPOR 48 - Speaker 49 - SPOL 50 - SPOR 51 - TX 52 53 mediatek,platform: 54 $ref: /schemas/types.yaml#/definitions/phandle 55 description: The phandle of MT8186 ASoC platform. 56 57 dmic-gpios: 58 maxItems: 1 59 description: 60 dmic-gpios optional prop for switching between two DMICs. 61 Ex, the GPIO can control a MUX HW component to select 62 dmic clk and data form a Front or Rear dmic. 63 64 headset-codec: 65 type: object 66 deprecated: true 67 additionalProperties: false 68 properties: 69 sound-dai: 70 maxItems: 1 71 required: 72 - sound-dai 73 74 playback-codecs: 75 type: object 76 deprecated: true 77 additionalProperties: false 78 properties: 79 sound-dai: 80 items: 81 - description: phandle of dp codec 82 - description: phandle of l channel speaker codec 83 - description: phandle of r channel speaker codec 84 minItems: 2 85 required: 86 - sound-dai 87 88 mediatek,adsp: 89 $ref: /schemas/types.yaml#/definitions/phandle 90 description: The phandle of MT8186 ADSP platform. 91 92 mediatek,dai-link: 93 $ref: /schemas/types.yaml#/definitions/string-array 94 description: 95 A list of the desired dai-links in the sound card. Each entry is a 96 name defined in the machine driver. 97 98patternProperties: 99 ".*-dai-link$": 100 type: object 101 additionalProperties: false 102 description: 103 Container for dai-link level properties and CODEC sub-nodes. 104 105 properties: 106 link-name: 107 description: Indicates dai-link name and PCM stream name 108 enum: [ I2S0, I2S1, I2S2, I2S3 ] 109 110 codec: 111 description: Holds subnode which indicates codec dai. 112 type: object 113 additionalProperties: false 114 properties: 115 sound-dai: 116 minItems: 1 117 maxItems: 2 118 required: 119 - sound-dai 120 121 dai-format: 122 description: audio format 123 enum: [ i2s, right_j, left_j, dsp_a, dsp_b ] 124 125 mediatek,clk-provider: 126 $ref: /schemas/types.yaml#/definitions/string 127 description: Indicates dai-link clock master. 128 enum: [ cpu, codec ] 129 130 required: 131 - link-name 132 133unevaluatedProperties: false 134 135required: 136 - compatible 137 - mediatek,platform 138 139# Disallow legacy properties if xxx-dai-link nodes are specified 140if: 141 not: 142 patternProperties: 143 ".*-dai-link$": false 144then: 145 properties: 146 headset-codec: false 147 speaker-codecs: false 148 149examples: 150 - | 151 #include <dt-bindings/gpio/gpio.h> 152 153 sound: mt8186-sound { 154 compatible = "mediatek,mt8186-mt6366-rt1019-rt5682s-sound"; 155 model = "mt8186_rt1019_rt5682s"; 156 pinctrl-names = "aud_clk_mosi_off", 157 "aud_clk_mosi_on", 158 "aud_gpio_dmic_sec"; 159 pinctrl-0 = <&aud_clk_mosi_off>; 160 pinctrl-1 = <&aud_clk_mosi_on>; 161 pinctrl-2 = <&aud_gpio_dmic_sec>; 162 mediatek,platform = <&afe>; 163 164 dmic-gpios = <&pio 23 GPIO_ACTIVE_HIGH>; 165 166 audio-routing = 167 "Headphone", "HPOL", 168 "Headphone", "HPOR", 169 "IN1P", "Headset Mic", 170 "Speakers", "Speaker", 171 "HDMI1", "TX"; 172 173 hs-playback-dai-link { 174 link-name = "I2S0"; 175 dai-format = "i2s"; 176 mediatek,clk-provider = "cpu"; 177 codec { 178 sound-dai = <&rt5682s 0>; 179 }; 180 }; 181 182 hs-capture-dai-link { 183 link-name = "I2S1"; 184 dai-format = "i2s"; 185 mediatek,clk-provider = "cpu"; 186 codec { 187 sound-dai = <&rt5682s 0>; 188 }; 189 }; 190 191 spk-hdmi-playback-dai-link { 192 link-name = "I2S3"; 193 dai-format = "i2s"; 194 mediatek,clk-provider = "cpu"; 195 codec { 196 sound-dai = <&it6505dptx>, <&rt1019p>; 197 }; 198 }; 199 }; 200 201... 202