xref: /freebsd/sys/contrib/device-tree/Bindings/clock/mediatek,mt8195-clock.yaml (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
1*b2d2a78aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2*b2d2a78aSEmmanuel Vadot%YAML 1.2
3*b2d2a78aSEmmanuel Vadot---
4*b2d2a78aSEmmanuel Vadot$id: http://devicetree.org/schemas/clock/mediatek,mt8195-clock.yaml#
5*b2d2a78aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*b2d2a78aSEmmanuel Vadot
7*b2d2a78aSEmmanuel Vadottitle: MediaTek Functional Clock Controller for MT8195
8*b2d2a78aSEmmanuel Vadot
9*b2d2a78aSEmmanuel Vadotmaintainers:
10*b2d2a78aSEmmanuel Vadot  - Chun-Jie Chen <chun-jie.chen@mediatek.com>
11*b2d2a78aSEmmanuel Vadot
12*b2d2a78aSEmmanuel Vadotdescription:
13*b2d2a78aSEmmanuel Vadot  The clock architecture in Mediatek like below
14*b2d2a78aSEmmanuel Vadot  PLLs -->
15*b2d2a78aSEmmanuel Vadot          dividers -->
16*b2d2a78aSEmmanuel Vadot                      muxes
17*b2d2a78aSEmmanuel Vadot                           -->
18*b2d2a78aSEmmanuel Vadot                              clock gate
19*b2d2a78aSEmmanuel Vadot
20*b2d2a78aSEmmanuel Vadot  The devices except apusys_pll provide clock gate control in different IP blocks.
21*b2d2a78aSEmmanuel Vadot  The apusys_pll provides Plls which generated from SoC 26m for AI Processing Unit.
22*b2d2a78aSEmmanuel Vadot
23*b2d2a78aSEmmanuel Vadotproperties:
24*b2d2a78aSEmmanuel Vadot  compatible:
25*b2d2a78aSEmmanuel Vadot    items:
26*b2d2a78aSEmmanuel Vadot      - enum:
27*b2d2a78aSEmmanuel Vadot          - mediatek,mt8195-scp_adsp
28*b2d2a78aSEmmanuel Vadot          - mediatek,mt8195-imp_iic_wrap_s
29*b2d2a78aSEmmanuel Vadot          - mediatek,mt8195-imp_iic_wrap_w
30*b2d2a78aSEmmanuel Vadot          - mediatek,mt8195-mfgcfg
31*b2d2a78aSEmmanuel Vadot          - mediatek,mt8195-wpesys
32*b2d2a78aSEmmanuel Vadot          - mediatek,mt8195-wpesys_vpp0
33*b2d2a78aSEmmanuel Vadot          - mediatek,mt8195-wpesys_vpp1
34*b2d2a78aSEmmanuel Vadot          - mediatek,mt8195-imgsys
35*b2d2a78aSEmmanuel Vadot          - mediatek,mt8195-imgsys1_dip_top
36*b2d2a78aSEmmanuel Vadot          - mediatek,mt8195-imgsys1_dip_nr
37*b2d2a78aSEmmanuel Vadot          - mediatek,mt8195-imgsys1_wpe
38*b2d2a78aSEmmanuel Vadot          - mediatek,mt8195-ipesys
39*b2d2a78aSEmmanuel Vadot          - mediatek,mt8195-camsys
40*b2d2a78aSEmmanuel Vadot          - mediatek,mt8195-camsys_rawa
41*b2d2a78aSEmmanuel Vadot          - mediatek,mt8195-camsys_yuva
42*b2d2a78aSEmmanuel Vadot          - mediatek,mt8195-camsys_rawb
43*b2d2a78aSEmmanuel Vadot          - mediatek,mt8195-camsys_yuvb
44*b2d2a78aSEmmanuel Vadot          - mediatek,mt8195-camsys_mraw
45*b2d2a78aSEmmanuel Vadot          - mediatek,mt8195-ccusys
46*b2d2a78aSEmmanuel Vadot          - mediatek,mt8195-vdecsys_soc
47*b2d2a78aSEmmanuel Vadot          - mediatek,mt8195-vdecsys
48*b2d2a78aSEmmanuel Vadot          - mediatek,mt8195-vdecsys_core1
49*b2d2a78aSEmmanuel Vadot          - mediatek,mt8195-vencsys
50*b2d2a78aSEmmanuel Vadot          - mediatek,mt8195-vencsys_core1
51*b2d2a78aSEmmanuel Vadot          - mediatek,mt8195-apusys_pll
52*b2d2a78aSEmmanuel Vadot  reg:
53*b2d2a78aSEmmanuel Vadot    maxItems: 1
54*b2d2a78aSEmmanuel Vadot
55*b2d2a78aSEmmanuel Vadot  '#clock-cells':
56*b2d2a78aSEmmanuel Vadot    const: 1
57*b2d2a78aSEmmanuel Vadot
58*b2d2a78aSEmmanuel Vadotrequired:
59*b2d2a78aSEmmanuel Vadot  - compatible
60*b2d2a78aSEmmanuel Vadot  - reg
61*b2d2a78aSEmmanuel Vadot
62*b2d2a78aSEmmanuel VadotadditionalProperties: false
63*b2d2a78aSEmmanuel Vadot
64*b2d2a78aSEmmanuel Vadotexamples:
65*b2d2a78aSEmmanuel Vadot  - |
66*b2d2a78aSEmmanuel Vadot    scp_adsp: clock-controller@10720000 {
67*b2d2a78aSEmmanuel Vadot        compatible = "mediatek,mt8195-scp_adsp";
68*b2d2a78aSEmmanuel Vadot        reg = <0x10720000 0x1000>;
69*b2d2a78aSEmmanuel Vadot        #clock-cells = <1>;
70*b2d2a78aSEmmanuel Vadot    };
71*b2d2a78aSEmmanuel Vadot
72*b2d2a78aSEmmanuel Vadot  - |
73*b2d2a78aSEmmanuel Vadot    imp_iic_wrap_s: clock-controller@11d03000 {
74*b2d2a78aSEmmanuel Vadot        compatible = "mediatek,mt8195-imp_iic_wrap_s";
75*b2d2a78aSEmmanuel Vadot        reg = <0x11d03000 0x1000>;
76*b2d2a78aSEmmanuel Vadot        #clock-cells = <1>;
77*b2d2a78aSEmmanuel Vadot    };
78*b2d2a78aSEmmanuel Vadot
79*b2d2a78aSEmmanuel Vadot  - |
80*b2d2a78aSEmmanuel Vadot    imp_iic_wrap_w: clock-controller@11e05000 {
81*b2d2a78aSEmmanuel Vadot        compatible = "mediatek,mt8195-imp_iic_wrap_w";
82*b2d2a78aSEmmanuel Vadot        reg = <0x11e05000 0x1000>;
83*b2d2a78aSEmmanuel Vadot        #clock-cells = <1>;
84*b2d2a78aSEmmanuel Vadot    };
85*b2d2a78aSEmmanuel Vadot
86*b2d2a78aSEmmanuel Vadot  - |
87*b2d2a78aSEmmanuel Vadot    mfgcfg: clock-controller@13fbf000 {
88*b2d2a78aSEmmanuel Vadot        compatible = "mediatek,mt8195-mfgcfg";
89*b2d2a78aSEmmanuel Vadot        reg = <0x13fbf000 0x1000>;
90*b2d2a78aSEmmanuel Vadot        #clock-cells = <1>;
91*b2d2a78aSEmmanuel Vadot    };
92*b2d2a78aSEmmanuel Vadot
93*b2d2a78aSEmmanuel Vadot  - |
94*b2d2a78aSEmmanuel Vadot    wpesys: clock-controller@14e00000 {
95*b2d2a78aSEmmanuel Vadot        compatible = "mediatek,mt8195-wpesys";
96*b2d2a78aSEmmanuel Vadot        reg = <0x14e00000 0x1000>;
97*b2d2a78aSEmmanuel Vadot        #clock-cells = <1>;
98*b2d2a78aSEmmanuel Vadot    };
99*b2d2a78aSEmmanuel Vadot
100*b2d2a78aSEmmanuel Vadot  - |
101*b2d2a78aSEmmanuel Vadot    wpesys_vpp0: clock-controller@14e02000 {
102*b2d2a78aSEmmanuel Vadot        compatible = "mediatek,mt8195-wpesys_vpp0";
103*b2d2a78aSEmmanuel Vadot        reg = <0x14e02000 0x1000>;
104*b2d2a78aSEmmanuel Vadot        #clock-cells = <1>;
105*b2d2a78aSEmmanuel Vadot    };
106*b2d2a78aSEmmanuel Vadot
107*b2d2a78aSEmmanuel Vadot  - |
108*b2d2a78aSEmmanuel Vadot    wpesys_vpp1: clock-controller@14e03000 {
109*b2d2a78aSEmmanuel Vadot        compatible = "mediatek,mt8195-wpesys_vpp1";
110*b2d2a78aSEmmanuel Vadot        reg = <0x14e03000 0x1000>;
111*b2d2a78aSEmmanuel Vadot        #clock-cells = <1>;
112*b2d2a78aSEmmanuel Vadot    };
113*b2d2a78aSEmmanuel Vadot
114*b2d2a78aSEmmanuel Vadot  - |
115*b2d2a78aSEmmanuel Vadot    imgsys: clock-controller@15000000 {
116*b2d2a78aSEmmanuel Vadot        compatible = "mediatek,mt8195-imgsys";
117*b2d2a78aSEmmanuel Vadot        reg = <0x15000000 0x1000>;
118*b2d2a78aSEmmanuel Vadot        #clock-cells = <1>;
119*b2d2a78aSEmmanuel Vadot    };
120*b2d2a78aSEmmanuel Vadot
121*b2d2a78aSEmmanuel Vadot  - |
122*b2d2a78aSEmmanuel Vadot    imgsys1_dip_top: clock-controller@15110000 {
123*b2d2a78aSEmmanuel Vadot        compatible = "mediatek,mt8195-imgsys1_dip_top";
124*b2d2a78aSEmmanuel Vadot        reg = <0x15110000 0x1000>;
125*b2d2a78aSEmmanuel Vadot        #clock-cells = <1>;
126*b2d2a78aSEmmanuel Vadot    };
127*b2d2a78aSEmmanuel Vadot
128*b2d2a78aSEmmanuel Vadot  - |
129*b2d2a78aSEmmanuel Vadot    imgsys1_dip_nr: clock-controller@15130000 {
130*b2d2a78aSEmmanuel Vadot        compatible = "mediatek,mt8195-imgsys1_dip_nr";
131*b2d2a78aSEmmanuel Vadot        reg = <0x15130000 0x1000>;
132*b2d2a78aSEmmanuel Vadot        #clock-cells = <1>;
133*b2d2a78aSEmmanuel Vadot    };
134*b2d2a78aSEmmanuel Vadot
135*b2d2a78aSEmmanuel Vadot  - |
136*b2d2a78aSEmmanuel Vadot    imgsys1_wpe: clock-controller@15220000 {
137*b2d2a78aSEmmanuel Vadot        compatible = "mediatek,mt8195-imgsys1_wpe";
138*b2d2a78aSEmmanuel Vadot        reg = <0x15220000 0x1000>;
139*b2d2a78aSEmmanuel Vadot        #clock-cells = <1>;
140*b2d2a78aSEmmanuel Vadot    };
141*b2d2a78aSEmmanuel Vadot
142*b2d2a78aSEmmanuel Vadot  - |
143*b2d2a78aSEmmanuel Vadot    ipesys: clock-controller@15330000 {
144*b2d2a78aSEmmanuel Vadot        compatible = "mediatek,mt8195-ipesys";
145*b2d2a78aSEmmanuel Vadot        reg = <0x15330000 0x1000>;
146*b2d2a78aSEmmanuel Vadot        #clock-cells = <1>;
147*b2d2a78aSEmmanuel Vadot    };
148*b2d2a78aSEmmanuel Vadot
149*b2d2a78aSEmmanuel Vadot  - |
150*b2d2a78aSEmmanuel Vadot    camsys: clock-controller@16000000 {
151*b2d2a78aSEmmanuel Vadot        compatible = "mediatek,mt8195-camsys";
152*b2d2a78aSEmmanuel Vadot        reg = <0x16000000 0x1000>;
153*b2d2a78aSEmmanuel Vadot        #clock-cells = <1>;
154*b2d2a78aSEmmanuel Vadot    };
155*b2d2a78aSEmmanuel Vadot
156*b2d2a78aSEmmanuel Vadot  - |
157*b2d2a78aSEmmanuel Vadot    camsys_rawa: clock-controller@1604f000 {
158*b2d2a78aSEmmanuel Vadot        compatible = "mediatek,mt8195-camsys_rawa";
159*b2d2a78aSEmmanuel Vadot        reg = <0x1604f000 0x1000>;
160*b2d2a78aSEmmanuel Vadot        #clock-cells = <1>;
161*b2d2a78aSEmmanuel Vadot    };
162*b2d2a78aSEmmanuel Vadot
163*b2d2a78aSEmmanuel Vadot  - |
164*b2d2a78aSEmmanuel Vadot    camsys_yuva: clock-controller@1606f000 {
165*b2d2a78aSEmmanuel Vadot        compatible = "mediatek,mt8195-camsys_yuva";
166*b2d2a78aSEmmanuel Vadot        reg = <0x1606f000 0x1000>;
167*b2d2a78aSEmmanuel Vadot        #clock-cells = <1>;
168*b2d2a78aSEmmanuel Vadot    };
169*b2d2a78aSEmmanuel Vadot
170*b2d2a78aSEmmanuel Vadot  - |
171*b2d2a78aSEmmanuel Vadot    camsys_rawb: clock-controller@1608f000 {
172*b2d2a78aSEmmanuel Vadot        compatible = "mediatek,mt8195-camsys_rawb";
173*b2d2a78aSEmmanuel Vadot        reg = <0x1608f000 0x1000>;
174*b2d2a78aSEmmanuel Vadot        #clock-cells = <1>;
175*b2d2a78aSEmmanuel Vadot    };
176*b2d2a78aSEmmanuel Vadot
177*b2d2a78aSEmmanuel Vadot  - |
178*b2d2a78aSEmmanuel Vadot    camsys_yuvb: clock-controller@160af000 {
179*b2d2a78aSEmmanuel Vadot        compatible = "mediatek,mt8195-camsys_yuvb";
180*b2d2a78aSEmmanuel Vadot        reg = <0x160af000 0x1000>;
181*b2d2a78aSEmmanuel Vadot        #clock-cells = <1>;
182*b2d2a78aSEmmanuel Vadot    };
183*b2d2a78aSEmmanuel Vadot
184*b2d2a78aSEmmanuel Vadot  - |
185*b2d2a78aSEmmanuel Vadot    camsys_mraw: clock-controller@16140000 {
186*b2d2a78aSEmmanuel Vadot        compatible = "mediatek,mt8195-camsys_mraw";
187*b2d2a78aSEmmanuel Vadot        reg = <0x16140000 0x1000>;
188*b2d2a78aSEmmanuel Vadot        #clock-cells = <1>;
189*b2d2a78aSEmmanuel Vadot    };
190*b2d2a78aSEmmanuel Vadot
191*b2d2a78aSEmmanuel Vadot  - |
192*b2d2a78aSEmmanuel Vadot    ccusys: clock-controller@17200000 {
193*b2d2a78aSEmmanuel Vadot        compatible = "mediatek,mt8195-ccusys";
194*b2d2a78aSEmmanuel Vadot        reg = <0x17200000 0x1000>;
195*b2d2a78aSEmmanuel Vadot        #clock-cells = <1>;
196*b2d2a78aSEmmanuel Vadot    };
197*b2d2a78aSEmmanuel Vadot
198*b2d2a78aSEmmanuel Vadot  - |
199*b2d2a78aSEmmanuel Vadot    vdecsys_soc: clock-controller@1800f000 {
200*b2d2a78aSEmmanuel Vadot        compatible = "mediatek,mt8195-vdecsys_soc";
201*b2d2a78aSEmmanuel Vadot        reg = <0x1800f000 0x1000>;
202*b2d2a78aSEmmanuel Vadot        #clock-cells = <1>;
203*b2d2a78aSEmmanuel Vadot    };
204*b2d2a78aSEmmanuel Vadot
205*b2d2a78aSEmmanuel Vadot  - |
206*b2d2a78aSEmmanuel Vadot    vdecsys: clock-controller@1802f000 {
207*b2d2a78aSEmmanuel Vadot        compatible = "mediatek,mt8195-vdecsys";
208*b2d2a78aSEmmanuel Vadot        reg = <0x1802f000 0x1000>;
209*b2d2a78aSEmmanuel Vadot        #clock-cells = <1>;
210*b2d2a78aSEmmanuel Vadot    };
211*b2d2a78aSEmmanuel Vadot
212*b2d2a78aSEmmanuel Vadot  - |
213*b2d2a78aSEmmanuel Vadot    vdecsys_core1: clock-controller@1803f000 {
214*b2d2a78aSEmmanuel Vadot        compatible = "mediatek,mt8195-vdecsys_core1";
215*b2d2a78aSEmmanuel Vadot        reg = <0x1803f000 0x1000>;
216*b2d2a78aSEmmanuel Vadot        #clock-cells = <1>;
217*b2d2a78aSEmmanuel Vadot    };
218*b2d2a78aSEmmanuel Vadot
219*b2d2a78aSEmmanuel Vadot  - |
220*b2d2a78aSEmmanuel Vadot    vencsys: clock-controller@1a000000 {
221*b2d2a78aSEmmanuel Vadot        compatible = "mediatek,mt8195-vencsys";
222*b2d2a78aSEmmanuel Vadot        reg = <0x1a000000 0x1000>;
223*b2d2a78aSEmmanuel Vadot        #clock-cells = <1>;
224*b2d2a78aSEmmanuel Vadot    };
225*b2d2a78aSEmmanuel Vadot
226*b2d2a78aSEmmanuel Vadot  - |
227*b2d2a78aSEmmanuel Vadot    vencsys_core1: clock-controller@1b000000 {
228*b2d2a78aSEmmanuel Vadot        compatible = "mediatek,mt8195-vencsys_core1";
229*b2d2a78aSEmmanuel Vadot        reg = <0x1b000000 0x1000>;
230*b2d2a78aSEmmanuel Vadot        #clock-cells = <1>;
231*b2d2a78aSEmmanuel Vadot    };
232*b2d2a78aSEmmanuel Vadot
233*b2d2a78aSEmmanuel Vadot  - |
234*b2d2a78aSEmmanuel Vadot    apusys_pll: clock-controller@190f3000 {
235*b2d2a78aSEmmanuel Vadot        compatible = "mediatek,mt8195-apusys_pll";
236*b2d2a78aSEmmanuel Vadot        reg = <0x190f3000 0x1000>;
237*b2d2a78aSEmmanuel Vadot        #clock-cells = <1>;
238*b2d2a78aSEmmanuel Vadot    };
239