xref: /freebsd/sys/contrib/device-tree/Bindings/sound/mt8192-afe-pcm.yaml (revision 8cc087a1eee9ec1ca9f7ac1e63ad51bdb5a682eb)
1*8cc087a1SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*8cc087a1SEmmanuel Vadot%YAML 1.2
3*8cc087a1SEmmanuel Vadot---
4*8cc087a1SEmmanuel Vadot$id: http://devicetree.org/schemas/sound/mt8192-afe-pcm.yaml#
5*8cc087a1SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*8cc087a1SEmmanuel Vadot
7*8cc087a1SEmmanuel Vadottitle: Mediatek AFE PCM controller for mt8192
8*8cc087a1SEmmanuel Vadot
9*8cc087a1SEmmanuel Vadotmaintainers:
10*8cc087a1SEmmanuel Vadot  - Jiaxin Yu <jiaxin.yu@mediatek.com>
11*8cc087a1SEmmanuel Vadot  - Shane Chien <shane.chien@mediatek.com>
12*8cc087a1SEmmanuel Vadot
13*8cc087a1SEmmanuel Vadotproperties:
14*8cc087a1SEmmanuel Vadot  compatible:
15*8cc087a1SEmmanuel Vadot    const: mediatek,mt8192-audio
16*8cc087a1SEmmanuel Vadot
17*8cc087a1SEmmanuel Vadot  interrupts:
18*8cc087a1SEmmanuel Vadot    maxItems: 1
19*8cc087a1SEmmanuel Vadot
20*8cc087a1SEmmanuel Vadot  resets:
21*8cc087a1SEmmanuel Vadot    maxItems: 1
22*8cc087a1SEmmanuel Vadot
23*8cc087a1SEmmanuel Vadot  reset-names:
24*8cc087a1SEmmanuel Vadot    const: audiosys
25*8cc087a1SEmmanuel Vadot
26*8cc087a1SEmmanuel Vadot  mediatek,apmixedsys:
27*8cc087a1SEmmanuel Vadot    $ref: "/schemas/types.yaml#/definitions/phandle"
28*8cc087a1SEmmanuel Vadot    description: The phandle of the mediatek apmixedsys controller
29*8cc087a1SEmmanuel Vadot
30*8cc087a1SEmmanuel Vadot  mediatek,infracfg:
31*8cc087a1SEmmanuel Vadot    $ref: "/schemas/types.yaml#/definitions/phandle"
32*8cc087a1SEmmanuel Vadot    description: The phandle of the mediatek infracfg controller
33*8cc087a1SEmmanuel Vadot
34*8cc087a1SEmmanuel Vadot  mediatek,topckgen:
35*8cc087a1SEmmanuel Vadot    $ref: "/schemas/types.yaml#/definitions/phandle"
36*8cc087a1SEmmanuel Vadot    description: The phandle of the mediatek topckgen controller
37*8cc087a1SEmmanuel Vadot
38*8cc087a1SEmmanuel Vadot  power-domains:
39*8cc087a1SEmmanuel Vadot    maxItems: 1
40*8cc087a1SEmmanuel Vadot
41*8cc087a1SEmmanuel Vadot  clocks:
42*8cc087a1SEmmanuel Vadot    items:
43*8cc087a1SEmmanuel Vadot      - description: AFE clock
44*8cc087a1SEmmanuel Vadot      - description: ADDA DAC clock
45*8cc087a1SEmmanuel Vadot      - description: ADDA DAC pre-distortion clock
46*8cc087a1SEmmanuel Vadot      - description: audio infra sys clock
47*8cc087a1SEmmanuel Vadot      - description: audio infra 26M clock
48*8cc087a1SEmmanuel Vadot
49*8cc087a1SEmmanuel Vadot  clock-names:
50*8cc087a1SEmmanuel Vadot    items:
51*8cc087a1SEmmanuel Vadot      - const: aud_afe_clk
52*8cc087a1SEmmanuel Vadot      - const: aud_dac_clk
53*8cc087a1SEmmanuel Vadot      - const: aud_dac_predis_clk
54*8cc087a1SEmmanuel Vadot      - const: aud_infra_clk
55*8cc087a1SEmmanuel Vadot      - const: aud_infra_26m_clk
56*8cc087a1SEmmanuel Vadot
57*8cc087a1SEmmanuel Vadotrequired:
58*8cc087a1SEmmanuel Vadot  - compatible
59*8cc087a1SEmmanuel Vadot  - interrupts
60*8cc087a1SEmmanuel Vadot  - resets
61*8cc087a1SEmmanuel Vadot  - reset-names
62*8cc087a1SEmmanuel Vadot  - mediatek,apmixedsys
63*8cc087a1SEmmanuel Vadot  - mediatek,infracfg
64*8cc087a1SEmmanuel Vadot  - mediatek,topckgen
65*8cc087a1SEmmanuel Vadot  - power-domains
66*8cc087a1SEmmanuel Vadot  - clocks
67*8cc087a1SEmmanuel Vadot  - clock-names
68*8cc087a1SEmmanuel Vadot
69*8cc087a1SEmmanuel VadotadditionalProperties: false
70*8cc087a1SEmmanuel Vadot
71*8cc087a1SEmmanuel Vadotexamples:
72*8cc087a1SEmmanuel Vadot  - |
73*8cc087a1SEmmanuel Vadot    #include <dt-bindings/clock/mt8192-clk.h>
74*8cc087a1SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
75*8cc087a1SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
76*8cc087a1SEmmanuel Vadot    #include <dt-bindings/power/mt8192-power.h>
77*8cc087a1SEmmanuel Vadot    #include <dt-bindings/reset/mt8192-resets.h>
78*8cc087a1SEmmanuel Vadot
79*8cc087a1SEmmanuel Vadot    afe: mt8192-afe-pcm {
80*8cc087a1SEmmanuel Vadot        compatible = "mediatek,mt8192-audio";
81*8cc087a1SEmmanuel Vadot        interrupts = <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>;
82*8cc087a1SEmmanuel Vadot        resets = <&watchdog MT8192_TOPRGU_AUDIO_SW_RST>;
83*8cc087a1SEmmanuel Vadot        reset-names = "audiosys";
84*8cc087a1SEmmanuel Vadot        mediatek,apmixedsys = <&apmixedsys>;
85*8cc087a1SEmmanuel Vadot        mediatek,infracfg = <&infracfg>;
86*8cc087a1SEmmanuel Vadot        mediatek,topckgen = <&topckgen>;
87*8cc087a1SEmmanuel Vadot        power-domains = <&scpsys MT8192_POWER_DOMAIN_AUDIO>;
88*8cc087a1SEmmanuel Vadot        clocks = <&audsys CLK_AUD_AFE>,
89*8cc087a1SEmmanuel Vadot                 <&audsys CLK_AUD_DAC>,
90*8cc087a1SEmmanuel Vadot                 <&audsys CLK_AUD_DAC_PREDIS>,
91*8cc087a1SEmmanuel Vadot                 <&infracfg CLK_INFRA_AUDIO>,
92*8cc087a1SEmmanuel Vadot                 <&infracfg CLK_INFRA_AUDIO_26M_B>;
93*8cc087a1SEmmanuel Vadot        clock-names = "aud_afe_clk",
94*8cc087a1SEmmanuel Vadot                      "aud_dac_clk",
95*8cc087a1SEmmanuel Vadot                      "aud_dac_predis_clk",
96*8cc087a1SEmmanuel Vadot                      "aud_infra_clk",
97*8cc087a1SEmmanuel Vadot                      "aud_infra_26m_clk";
98*8cc087a1SEmmanuel Vadot    };
99*8cc087a1SEmmanuel Vadot
100*8cc087a1SEmmanuel Vadot...
101