xref: /linux/Documentation/devicetree/bindings/sound/mediatek,mt8173-afe-pcm.yaml (revision 177bf8620cf4ed290ee170a6c5966adc0924b336)
1bb90e0c9SChen-Yu Tsai# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2bb90e0c9SChen-Yu Tsai%YAML 1.2
3bb90e0c9SChen-Yu Tsai---
4bb90e0c9SChen-Yu Tsai$id: http://devicetree.org/schemas/sound/mediatek,mt8173-afe-pcm.yaml#
5bb90e0c9SChen-Yu Tsai$schema: http://devicetree.org/meta-schemas/core.yaml#
6bb90e0c9SChen-Yu Tsai
7bb90e0c9SChen-Yu Tsaititle: Mediatek AFE PCM controller for MT8173
8bb90e0c9SChen-Yu Tsai
9bb90e0c9SChen-Yu Tsaimaintainers:
10bb90e0c9SChen-Yu Tsai  - Trevor Wu <trevor.wu@mediatek.com>
11bb90e0c9SChen-Yu Tsai
12bb90e0c9SChen-Yu Tsaiproperties:
13bb90e0c9SChen-Yu Tsai  compatible:
14bb90e0c9SChen-Yu Tsai    const: mediatek,mt8173-afe-pcm
15bb90e0c9SChen-Yu Tsai
16bb90e0c9SChen-Yu Tsai  reg:
17bb90e0c9SChen-Yu Tsai    maxItems: 1
18bb90e0c9SChen-Yu Tsai
19bb90e0c9SChen-Yu Tsai  interrupts:
20bb90e0c9SChen-Yu Tsai    maxItems: 1
21bb90e0c9SChen-Yu Tsai
22bb90e0c9SChen-Yu Tsai  clocks:
23bb90e0c9SChen-Yu Tsai    items:
24bb90e0c9SChen-Yu Tsai      - description: audio infra sys clock
25bb90e0c9SChen-Yu Tsai      - description: audio top mux
26bb90e0c9SChen-Yu Tsai      - description: audio intbus mux
27bb90e0c9SChen-Yu Tsai      - description: apll1 clock
28bb90e0c9SChen-Yu Tsai      - description: apll2 clock
29bb90e0c9SChen-Yu Tsai      - description: i2s0 mclk mux
30bb90e0c9SChen-Yu Tsai      - description: i2s1 mclk mux
31bb90e0c9SChen-Yu Tsai      - description: i2s2 mclk mux
32bb90e0c9SChen-Yu Tsai      - description: i2s3 mclk mux
33bb90e0c9SChen-Yu Tsai      - description: i2s3 bclk mux
34bb90e0c9SChen-Yu Tsai
35bb90e0c9SChen-Yu Tsai  clock-names:
36bb90e0c9SChen-Yu Tsai    items:
37bb90e0c9SChen-Yu Tsai      - const: infra_sys_audio_clk
38bb90e0c9SChen-Yu Tsai      - const: top_pdn_audio
39bb90e0c9SChen-Yu Tsai      - const: top_pdn_aud_intbus
40bb90e0c9SChen-Yu Tsai      - const: bck0
41bb90e0c9SChen-Yu Tsai      - const: bck1
42bb90e0c9SChen-Yu Tsai      - const: i2s0_m
43bb90e0c9SChen-Yu Tsai      - const: i2s1_m
44bb90e0c9SChen-Yu Tsai      - const: i2s2_m
45bb90e0c9SChen-Yu Tsai      - const: i2s3_m
46bb90e0c9SChen-Yu Tsai      - const: i2s3_b
47bb90e0c9SChen-Yu Tsai
482fd90215SChen-Yu Tsai  power-domains:
492fd90215SChen-Yu Tsai    maxItems: 1
502fd90215SChen-Yu Tsai
51*473ee884SChen-Yu Tsai  memory-region:
52*473ee884SChen-Yu Tsai    description: memory region for audio DMA buffers
53*473ee884SChen-Yu Tsai    maxItems: 1
54*473ee884SChen-Yu Tsai
55bb90e0c9SChen-Yu Tsairequired:
56bb90e0c9SChen-Yu Tsai  - compatible
57bb90e0c9SChen-Yu Tsai  - reg
58bb90e0c9SChen-Yu Tsai  - interrupts
59bb90e0c9SChen-Yu Tsai  - clocks
60bb90e0c9SChen-Yu Tsai  - clock-names
612fd90215SChen-Yu Tsai  - power-domains
62bb90e0c9SChen-Yu Tsai
63bb90e0c9SChen-Yu TsaiadditionalProperties: false
64bb90e0c9SChen-Yu Tsai
65bb90e0c9SChen-Yu Tsaiexamples:
66bb90e0c9SChen-Yu Tsai  - |
67bb90e0c9SChen-Yu Tsai    #include <dt-bindings/clock/mt8173-clk.h>
68bb90e0c9SChen-Yu Tsai    #include <dt-bindings/interrupt-controller/arm-gic.h>
69bb90e0c9SChen-Yu Tsai    #include <dt-bindings/interrupt-controller/irq.h>
702fd90215SChen-Yu Tsai    #include <dt-bindings/power/mt8173-power.h>
71bb90e0c9SChen-Yu Tsai
72bb90e0c9SChen-Yu Tsai    mt8173-afe-pcm@11220000 {
73bb90e0c9SChen-Yu Tsai        compatible = "mediatek,mt8173-afe-pcm";
74bb90e0c9SChen-Yu Tsai        reg = <0x11220000 0x1000>;
75bb90e0c9SChen-Yu Tsai        interrupts = <GIC_SPI 134 IRQ_TYPE_EDGE_FALLING>;
762fd90215SChen-Yu Tsai        power-domains = <&spm MT8173_POWER_DOMAIN_AUDIO>;
77bb90e0c9SChen-Yu Tsai        clocks = <&infracfg CLK_INFRA_AUDIO>,
78bb90e0c9SChen-Yu Tsai                 <&topckgen CLK_TOP_AUDIO_SEL>,
79bb90e0c9SChen-Yu Tsai                 <&topckgen CLK_TOP_AUD_INTBUS_SEL>,
80bb90e0c9SChen-Yu Tsai                 <&topckgen CLK_TOP_APLL1_DIV0>,
81bb90e0c9SChen-Yu Tsai                 <&topckgen CLK_TOP_APLL2_DIV0>,
82bb90e0c9SChen-Yu Tsai                 <&topckgen CLK_TOP_I2S0_M_SEL>,
83bb90e0c9SChen-Yu Tsai                 <&topckgen CLK_TOP_I2S1_M_SEL>,
84bb90e0c9SChen-Yu Tsai                 <&topckgen CLK_TOP_I2S2_M_SEL>,
85bb90e0c9SChen-Yu Tsai                 <&topckgen CLK_TOP_I2S3_M_SEL>,
86bb90e0c9SChen-Yu Tsai                 <&topckgen CLK_TOP_I2S3_B_SEL>;
87bb90e0c9SChen-Yu Tsai         clock-names = "infra_sys_audio_clk",
88bb90e0c9SChen-Yu Tsai                       "top_pdn_audio",
89bb90e0c9SChen-Yu Tsai                       "top_pdn_aud_intbus",
90bb90e0c9SChen-Yu Tsai                       "bck0",
91bb90e0c9SChen-Yu Tsai                       "bck1",
92bb90e0c9SChen-Yu Tsai                       "i2s0_m",
93bb90e0c9SChen-Yu Tsai                       "i2s1_m",
94bb90e0c9SChen-Yu Tsai                       "i2s2_m",
95bb90e0c9SChen-Yu Tsai                       "i2s3_m",
96bb90e0c9SChen-Yu Tsai                       "i2s3_b";
97*473ee884SChen-Yu Tsai          memory-region = <&afe_dma_mem>;
98bb90e0c9SChen-Yu Tsai    };
99