File Index
Files and directories
Sign in
FILE

mt8186-mt6366-rt1019-rt5682s.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/sound/mt8186-mt6366-rt1019-rt5682s.yaml 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/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...
~/ Read-only file preview.