File Index
Files and directories
Sign in
FILE

mediatek,mt8188-afe.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/sound/mediatek,mt8188-afe.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/mediatek,mt8188-afe.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: MediaTek AFE PCM controller for mt8188
  8
  9maintainers:
 10  - Trevor Wu <trevor.wu@mediatek.com>
 11
 12properties:
 13  compatible:
 14    const: mediatek,mt8188-afe
 15
 16  reg:
 17    maxItems: 1
 18
 19  interrupts:
 20    maxItems: 1
 21
 22  resets:
 23    maxItems: 1
 24
 25  reset-names:
 26    const: audiosys
 27
 28  memory-region:
 29    maxItems: 1
 30    description: |
 31      Shared memory region for AFE memif.  A "shared-dma-pool".
 32      See dtschema reserved-memory/shared-dma-pool.yaml for details.
 33
 34  mediatek,topckgen:
 35    $ref: /schemas/types.yaml#/definitions/phandle
 36    description: The phandle of the mediatek topckgen controller
 37
 38  mediatek,infracfg:
 39    $ref: /schemas/types.yaml#/definitions/phandle
 40    description: The phandle of the mediatek infracfg controller
 41
 42  power-domains:
 43    maxItems: 1
 44
 45  clocks:
 46    items:
 47      - description: 26M clock
 48      - description: audio pll1 clock
 49      - description: audio pll2 clock
 50      - description: clock divider for i2si1_mck
 51      - description: clock divider for i2si2_mck
 52      - description: clock divider for i2so1_mck
 53      - description: clock divider for i2so2_mck
 54      - description: clock divider for dptx_mck
 55      - description: a1sys hoping clock
 56      - description: audio intbus clock
 57      - description: audio hires clock
 58      - description: audio local bus clock
 59      - description: mux for dptx_mck
 60      - description: mux for i2so1_mck
 61      - description: mux for i2so2_mck
 62      - description: mux for i2si1_mck
 63      - description: mux for i2si2_mck
 64      - description: audio 26m clock
 65      - description: audio pll1 divide 4
 66      - description: audio pll2 divide 4
 67      - description: clock divider for iec
 68      - description: mux for a2sys clock
 69      - description: mux for aud_iec
 70
 71  clock-names:
 72    items:
 73      - const: clk26m
 74      - const: apll1
 75      - const: apll2
 76      - const: apll12_div0
 77      - const: apll12_div1
 78      - const: apll12_div2
 79      - const: apll12_div3
 80      - const: apll12_div9
 81      - const: top_a1sys_hp
 82      - const: top_aud_intbus
 83      - const: top_audio_h
 84      - const: top_audio_local_bus
 85      - const: top_dptx
 86      - const: top_i2so1
 87      - const: top_i2so2
 88      - const: top_i2si1
 89      - const: top_i2si2
 90      - const: adsp_audio_26m
 91      - const: apll1_d4
 92      - const: apll2_d4
 93      - const: apll12_div4
 94      - const: top_a2sys
 95      - const: top_aud_iec
 96
 97  mediatek,etdm-in1-cowork-source:
 98    $ref: /schemas/types.yaml#/definitions/uint32
 99    description:
100      etdm modules can share the same external clock pin. Specify
101      which etdm clock source is required by this etdm in module.
102    enum:
103      - 1 # etdm2_in
104      - 2 # etdm1_out
105      - 3 # etdm2_out
106
107  mediatek,etdm-in2-cowork-source:
108    $ref: /schemas/types.yaml#/definitions/uint32
109    description:
110      etdm modules can share the same external clock pin. Specify
111      which etdm clock source is required by this etdm in module.
112    enum:
113      - 0 # etdm1_in
114      - 2 # etdm1_out
115      - 3 # etdm2_out
116
117  mediatek,etdm-out1-cowork-source:
118    $ref: /schemas/types.yaml#/definitions/uint32
119    description:
120      etdm modules can share the same external clock pin. Specify
121      which etdm clock source is required by this etdm out module.
122    enum:
123      - 0 # etdm1_in
124      - 1 # etdm2_in
125      - 3 # etdm2_out
126
127  mediatek,etdm-out2-cowork-source:
128    $ref: /schemas/types.yaml#/definitions/uint32
129    description:
130      etdm modules can share the same external clock pin. Specify
131      which etdm clock source is required by this etdm out module.
132    enum:
133      - 0 # etdm1_in
134      - 1 # etdm2_in
135      - 2 # etdm1_out
136
137patternProperties:
138  "^mediatek,etdm-in[1-2]-chn-disabled$":
139    $ref: /schemas/types.yaml#/definitions/uint8-array
140    minItems: 1
141    maxItems: 16
142    description:
143      This is a list of channel IDs which should be disabled.
144      By default, all data received from ETDM pins will be outputted to
145      memory. etdm in supports disable_out in direct mode(w/o interconn),
146      so user can disable the specified channels by the property.
147    uniqueItems: true
148    items:
149      minimum: 0
150      maximum: 15
151
152  "^mediatek,etdm-in[1-2]-multi-pin-mode$":
153    type: boolean
154    description: if present, the etdm data mode is I2S.
155
156  "^mediatek,etdm-out[1-3]-multi-pin-mode$":
157    type: boolean
158    description: if present, the etdm data mode is I2S.
159
160required:
161  - compatible
162  - reg
163  - interrupts
164  - resets
165  - reset-names
166  - mediatek,topckgen
167  - mediatek,infracfg
168  - power-domains
169  - clocks
170  - clock-names
171
172additionalProperties: false
173
174examples:
175  - |
176    #include <dt-bindings/interrupt-controller/arm-gic.h>
177    #include <dt-bindings/interrupt-controller/irq.h>
178
179    afe@10b10000 {
180        compatible = "mediatek,mt8188-afe";
181        reg = <0x10b10000 0x10000>;
182        interrupts = <GIC_SPI 822 IRQ_TYPE_LEVEL_HIGH 0>;
183        resets = <&watchdog 14>;
184        reset-names = "audiosys";
185        memory-region = <&snd_dma_mem_reserved>;
186        mediatek,topckgen = <&topckgen>;
187        mediatek,infracfg = <&infracfg_ao>;
188        power-domains = <&spm 13>; //MT8188_POWER_DOMAIN_AUDIO
189        mediatek,etdm-in2-cowork-source = <2>;
190        mediatek,etdm-out2-cowork-source = <0>;
191        mediatek,etdm-in1-multi-pin-mode;
192        mediatek,etdm-in1-chn-disabled = /bits/ 8 <0x0 0x2>;
193        clocks = <&clk26m>,
194                 <&apmixedsys 9>, //CLK_APMIXED_APLL1
195                 <&apmixedsys 10>, //CLK_APMIXED_APLL2
196                 <&topckgen 186>, //CLK_TOP_APLL12_CK_DIV0
197                 <&topckgen 187>, //CLK_TOP_APLL12_CK_DIV1
198                 <&topckgen 188>, //CLK_TOP_APLL12_CK_DIV2
199                 <&topckgen 189>, //CLK_TOP_APLL12_CK_DIV3
200                 <&topckgen 191>, //CLK_TOP_APLL12_CK_DIV9
201                 <&topckgen 83>, //CLK_TOP_A1SYS_HP
202                 <&topckgen 31>, //CLK_TOP_AUD_INTBUS
203                 <&topckgen 32>, //CLK_TOP_AUDIO_H
204                 <&topckgen 69>, //CLK_TOP_AUDIO_LOCAL_BUS
205                 <&topckgen 81>, //CLK_TOP_DPTX
206                 <&topckgen 77>, //CLK_TOP_I2SO1
207                 <&topckgen 78>, //CLK_TOP_I2SO2
208                 <&topckgen 79>, //CLK_TOP_I2SI1
209                 <&topckgen 80>, //CLK_TOP_I2SI2
210                 <&adsp_audio26m 0>, //CLK_AUDIODSP_AUDIO26M
211                 <&topckgen 132>, //CLK_TOP_APLL1_D4
212                 <&topckgen 133>, //CLK_TOP_APLL2_D4
213                 <&topckgen 183>, //CLK_TOP_APLL12_CK_DIV4
214                 <&topckgen 84>, //CLK_TOP_A2SYS
215                 <&topckgen 82>; //CLK_TOP_AUD_IEC>;
216        clock-names = "clk26m",
217                      "apll1",
218                      "apll2",
219                      "apll12_div0",
220                      "apll12_div1",
221                      "apll12_div2",
222                      "apll12_div3",
223                      "apll12_div9",
224                      "top_a1sys_hp",
225                      "top_aud_intbus",
226                      "top_audio_h",
227                      "top_audio_local_bus",
228                      "top_dptx",
229                      "top_i2so1",
230                      "top_i2so2",
231                      "top_i2si1",
232                      "top_i2si2",
233                      "adsp_audio_26m",
234                      "apll1_d4",
235                      "apll2_d4",
236                      "apll12_div4",
237                      "top_a2sys",
238                      "top_aud_iec";
239    };
240
241...
~/ Read-only file preview.