1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 //
3 // Spreadtrum SC9860 platform clocks
4 //
5 // Copyright (C) 2017, Spreadtrum Communications Inc.
6 
7 #ifndef _DT_BINDINGS_CLK_SC9860_H_
8 #define _DT_BINDINGS_CLK_SC9860_H_
9 
10 #define	CLK_FAC_4M		0
11 #define	CLK_FAC_2M		1
12 #define	CLK_FAC_1M		2
13 #define	CLK_FAC_250K		3
14 #define	CLK_FAC_RPLL0_26M	4
15 #define	CLK_FAC_RPLL1_26M	5
16 #define	CLK_FAC_RCO25M		6
17 #define	CLK_FAC_RCO4M		7
18 #define	CLK_FAC_RCO2M		8
19 #define	CLK_FAC_3K2		9
20 #define	CLK_FAC_1K		10
21 #define	CLK_MPLL0_GATE		11
22 #define	CLK_MPLL1_GATE		12
23 #define	CLK_DPLL0_GATE		13
24 #define	CLK_DPLL1_GATE		14
25 #define	CLK_LTEPLL0_GATE	15
26 #define	CLK_TWPLL_GATE		16
27 #define	CLK_LTEPLL1_GATE	17
28 #define	CLK_RPLL0_GATE		18
29 #define	CLK_RPLL1_GATE		19
30 #define	CLK_CPPLL_GATE		20
31 #define	CLK_GPLL_GATE		21
32 #define CLK_PMU_GATE_NUM	(CLK_GPLL_GATE + 1)
33 
34 #define	CLK_MPLL0		0
35 #define	CLK_MPLL1		1
36 #define	CLK_DPLL0		2
37 #define	CLK_DPLL1		3
38 #define	CLK_RPLL0		4
39 #define	CLK_RPLL1		5
40 #define	CLK_TWPLL		6
41 #define	CLK_LTEPLL0		7
42 #define	CLK_LTEPLL1		8
43 #define	CLK_GPLL		9
44 #define	CLK_CPPLL		10
45 #define	CLK_GPLL_42M5		11
46 #define	CLK_TWPLL_768M		12
47 #define	CLK_TWPLL_384M		13
48 #define	CLK_TWPLL_192M		14
49 #define	CLK_TWPLL_96M		15
50 #define	CLK_TWPLL_48M		16
51 #define	CLK_TWPLL_24M		17
52 #define	CLK_TWPLL_12M		18
53 #define	CLK_TWPLL_512M		19
54 #define	CLK_TWPLL_256M		20
55 #define	CLK_TWPLL_128M		21
56 #define	CLK_TWPLL_64M		22
57 #define	CLK_TWPLL_307M2		23
58 #define	CLK_TWPLL_153M6		24
59 #define	CLK_TWPLL_76M8		25
60 #define	CLK_TWPLL_51M2		26
61 #define	CLK_TWPLL_38M4		27
62 #define	CLK_TWPLL_19M2		28
63 #define	CLK_L0_614M4		29
64 #define	CLK_L0_409M6		30
65 #define	CLK_L0_38M		31
66 #define	CLK_L1_38M		32
67 #define	CLK_RPLL0_192M		33
68 #define	CLK_RPLL0_96M		34
69 #define	CLK_RPLL0_48M		35
70 #define	CLK_RPLL1_468M		36
71 #define	CLK_RPLL1_192M		37
72 #define	CLK_RPLL1_96M		38
73 #define	CLK_RPLL1_64M		39
74 #define	CLK_RPLL1_48M		40
75 #define	CLK_DPLL0_50M		41
76 #define	CLK_DPLL1_50M		42
77 #define	CLK_CPPLL_50M		43
78 #define	CLK_M0_39M		44
79 #define	CLK_M1_63M		45
80 #define CLK_PLL_NUM		(CLK_M1_63M + 1)
81 
82 
83 #define	CLK_AP_APB		0
84 #define	CLK_AP_USB3		1
85 #define	CLK_UART0		2
86 #define	CLK_UART1		3
87 #define	CLK_UART2		4
88 #define	CLK_UART3		5
89 #define	CLK_UART4		6
90 #define	CLK_I2C0		7
91 #define	CLK_I2C1		8
92 #define	CLK_I2C2		9
93 #define	CLK_I2C3		10
94 #define	CLK_I2C4		11
95 #define	CLK_I2C5		12
96 #define	CLK_SPI0		13
97 #define	CLK_SPI1		14
98 #define	CLK_SPI2		15
99 #define	CLK_SPI3		16
100 #define	CLK_IIS0		17
101 #define	CLK_IIS1		18
102 #define	CLK_IIS2		19
103 #define	CLK_IIS3		20
104 #define CLK_AP_CLK_NUM		(CLK_IIS3 + 1)
105 
106 #define	CLK_AON_APB		0
107 #define	CLK_AUX0		1
108 #define	CLK_AUX1		2
109 #define	CLK_AUX2		3
110 #define	CLK_PROBE		4
111 #define	CLK_SP_AHB		5
112 #define	CLK_CCI			6
113 #define	CLK_GIC			7
114 #define	CLK_CSSYS		8
115 #define	CLK_SDIO0_2X		9
116 #define	CLK_SDIO1_2X		10
117 #define	CLK_SDIO2_2X		11
118 #define	CLK_EMMC_2X		12
119 #define	CLK_SDIO0_1X		13
120 #define	CLK_SDIO1_1X		14
121 #define	CLK_SDIO2_1X		15
122 #define	CLK_EMMC_1X		16
123 #define	CLK_ADI			17
124 #define	CLK_PWM0		18
125 #define	CLK_PWM1		19
126 #define	CLK_PWM2		20
127 #define	CLK_PWM3		21
128 #define	CLK_EFUSE		22
129 #define	CLK_CM3_UART0		23
130 #define	CLK_CM3_UART1		24
131 #define	CLK_THM			25
132 #define	CLK_CM3_I2C0		26
133 #define	CLK_CM3_I2C1		27
134 #define	CLK_CM4_SPI		28
135 #define	CLK_AON_I2C		29
136 #define	CLK_AVS			30
137 #define	CLK_CA53_DAP		31
138 #define	CLK_CA53_TS		32
139 #define	CLK_DJTAG_TCK		33
140 #define	CLK_PMU			34
141 #define	CLK_PMU_26M		35
142 #define	CLK_DEBOUNCE		36
143 #define	CLK_OTG2_REF		37
144 #define	CLK_USB3_REF		38
145 #define	CLK_AP_AXI		39
146 #define CLK_AON_PREDIV_NUM	(CLK_AP_AXI + 1)
147 
148 #define	CLK_USB3_EB		0
149 #define	CLK_USB3_SUSPEND_EB	1
150 #define	CLK_USB3_REF_EB		2
151 #define	CLK_DMA_EB		3
152 #define	CLK_SDIO0_EB		4
153 #define	CLK_SDIO1_EB		5
154 #define	CLK_SDIO2_EB		6
155 #define	CLK_EMMC_EB		7
156 #define	CLK_ROM_EB		8
157 #define	CLK_BUSMON_EB		9
158 #define	CLK_CC63S_EB		10
159 #define	CLK_CC63P_EB		11
160 #define	CLK_CE0_EB		12
161 #define	CLK_CE1_EB		13
162 #define CLK_APAHB_GATE_NUM	(CLK_CE1_EB + 1)
163 
164 #define	CLK_AVS_LIT_EB		0
165 #define	CLK_AVS_BIG_EB		1
166 #define	CLK_AP_INTC5_EB		2
167 #define	CLK_GPIO_EB		3
168 #define	CLK_PWM0_EB		4
169 #define	CLK_PWM1_EB		5
170 #define	CLK_PWM2_EB		6
171 #define	CLK_PWM3_EB		7
172 #define	CLK_KPD_EB		8
173 #define	CLK_AON_SYS_EB		9
174 #define	CLK_AP_SYS_EB		10
175 #define	CLK_AON_TMR_EB		11
176 #define	CLK_AP_TMR0_EB		12
177 #define	CLK_EFUSE_EB		13
178 #define	CLK_EIC_EB		14
179 #define	CLK_PUB1_REG_EB		15
180 #define	CLK_ADI_EB		16
181 #define	CLK_AP_INTC0_EB		17
182 #define	CLK_AP_INTC1_EB		18
183 #define	CLK_AP_INTC2_EB		19
184 #define	CLK_AP_INTC3_EB		20
185 #define	CLK_AP_INTC4_EB		21
186 #define	CLK_SPLK_EB		22
187 #define	CLK_MSPI_EB		23
188 #define	CLK_PUB0_REG_EB		24
189 #define	CLK_PIN_EB		25
190 #define	CLK_AON_CKG_EB		26
191 #define	CLK_GPU_EB		27
192 #define	CLK_APCPU_TS0_EB	28
193 #define	CLK_APCPU_TS1_EB	29
194 #define	CLK_DAP_EB		30
195 #define	CLK_I2C_EB		31
196 #define	CLK_PMU_EB		32
197 #define	CLK_THM_EB		33
198 #define	CLK_AUX0_EB		34
199 #define	CLK_AUX1_EB		35
200 #define	CLK_AUX2_EB		36
201 #define	CLK_PROBE_EB		37
202 #define	CLK_GPU0_AVS_EB		38
203 #define	CLK_GPU1_AVS_EB		39
204 #define	CLK_APCPU_WDG_EB	40
205 #define	CLK_AP_TMR1_EB		41
206 #define	CLK_AP_TMR2_EB		42
207 #define	CLK_DISP_EMC_EB		43
208 #define	CLK_ZIP_EMC_EB		44
209 #define	CLK_GSP_EMC_EB		45
210 #define	CLK_OSC_AON_EB		46
211 #define	CLK_LVDS_TRX_EB		47
212 #define	CLK_LVDS_TCXO_EB	48
213 #define	CLK_MDAR_EB		49
214 #define	CLK_RTC4M0_CAL_EB	50
215 #define	CLK_RCT100M_CAL_EB	51
216 #define	CLK_DJTAG_EB		52
217 #define	CLK_MBOX_EB		53
218 #define	CLK_AON_DMA_EB		54
219 #define	CLK_DBG_EMC_EB		55
220 #define	CLK_LVDS_PLL_DIV_EN	56
221 #define	CLK_DEF_EB		57
222 #define	CLK_AON_APB_RSV0	58
223 #define	CLK_ORP_JTAG_EB		59
224 #define	CLK_VSP_EB		60
225 #define	CLK_CAM_EB		61
226 #define	CLK_DISP_EB		62
227 #define	CLK_DBG_AXI_IF_EB	63
228 #define	CLK_SDIO0_2X_EN		64
229 #define	CLK_SDIO1_2X_EN		65
230 #define	CLK_SDIO2_2X_EN		66
231 #define	CLK_EMMC_2X_EN		67
232 #define CLK_AON_GATE_NUM	(CLK_EMMC_2X_EN + 1)
233 
234 #define	CLK_LIT_MCU		0
235 #define	CLK_BIG_MCU		1
236 #define CLK_AONSECURE_NUM	(CLK_BIG_MCU + 1)
237 
238 #define	CLK_AGCP_IIS0_EB	0
239 #define	CLK_AGCP_IIS1_EB	1
240 #define	CLK_AGCP_IIS2_EB	2
241 #define	CLK_AGCP_IIS3_EB	3
242 #define	CLK_AGCP_UART_EB	4
243 #define	CLK_AGCP_DMACP_EB	5
244 #define	CLK_AGCP_DMAAP_EB	6
245 #define	CLK_AGCP_ARC48K_EB	7
246 #define	CLK_AGCP_SRC44P1K_EB	8
247 #define	CLK_AGCP_MCDT_EB	9
248 #define	CLK_AGCP_VBCIFD_EB	10
249 #define	CLK_AGCP_VBC_EB		11
250 #define	CLK_AGCP_SPINLOCK_EB	12
251 #define	CLK_AGCP_ICU_EB		13
252 #define	CLK_AGCP_AP_ASHB_EB	14
253 #define	CLK_AGCP_CP_ASHB_EB	15
254 #define	CLK_AGCP_AUD_EB		16
255 #define	CLK_AGCP_AUDIF_EB	17
256 #define CLK_AGCP_GATE_NUM	(CLK_AGCP_AUDIF_EB + 1)
257 
258 #define	CLK_GPU			0
259 #define CLK_GPU_NUM		(CLK_GPU + 1)
260 
261 #define	CLK_AHB_VSP		0
262 #define	CLK_VSP			1
263 #define	CLK_VSP_ENC		2
264 #define	CLK_VPP			3
265 #define	CLK_VSP_26M		4
266 #define CLK_VSP_NUM		(CLK_VSP_26M + 1)
267 
268 #define	CLK_VSP_DEC_EB		0
269 #define	CLK_VSP_CKG_EB		1
270 #define	CLK_VSP_MMU_EB		2
271 #define	CLK_VSP_ENC_EB		3
272 #define	CLK_VPP_EB		4
273 #define	CLK_VSP_26M_EB		5
274 #define	CLK_VSP_AXI_GATE	6
275 #define	CLK_VSP_ENC_GATE	7
276 #define	CLK_VPP_AXI_GATE	8
277 #define	CLK_VSP_BM_GATE		9
278 #define	CLK_VSP_ENC_BM_GATE	10
279 #define	CLK_VPP_BM_GATE		11
280 #define CLK_VSP_GATE_NUM	(CLK_VPP_BM_GATE + 1)
281 
282 #define	CLK_AHB_CAM		0
283 #define	CLK_SENSOR0		1
284 #define	CLK_SENSOR1		2
285 #define	CLK_SENSOR2		3
286 #define	CLK_MIPI_CSI0_EB	4
287 #define	CLK_MIPI_CSI1_EB	5
288 #define CLK_CAM_NUM		(CLK_MIPI_CSI1_EB + 1)
289 
290 #define	CLK_DCAM0_EB		0
291 #define	CLK_DCAM1_EB		1
292 #define	CLK_ISP0_EB		2
293 #define	CLK_CSI0_EB		3
294 #define	CLK_CSI1_EB		4
295 #define	CLK_JPG0_EB		5
296 #define	CLK_JPG1_EB		6
297 #define	CLK_CAM_CKG_EB		7
298 #define	CLK_CAM_MMU_EB		8
299 #define	CLK_ISP1_EB		9
300 #define	CLK_CPP_EB		10
301 #define	CLK_MMU_PF_EB		11
302 #define	CLK_ISP2_EB		12
303 #define	CLK_DCAM2ISP_IF_EB	13
304 #define	CLK_ISP2DCAM_IF_EB	14
305 #define	CLK_ISP_LCLK_EB		15
306 #define	CLK_ISP_ICLK_EB		16
307 #define	CLK_ISP_MCLK_EB		17
308 #define	CLK_ISP_PCLK_EB		18
309 #define	CLK_ISP_ISP2DCAM_EB	19
310 #define	CLK_DCAM0_IF_EB		20
311 #define	CLK_CLK26M_IF_EB	21
312 #define	CLK_CPHY0_GATE		22
313 #define	CLK_MIPI_CSI0_GATE	23
314 #define	CLK_CPHY1_GATE		24
315 #define	CLK_MIPI_CSI1		25
316 #define	CLK_DCAM0_AXI_GATE	26
317 #define	CLK_DCAM1_AXI_GATE	27
318 #define	CLK_SENSOR0_GATE	28
319 #define	CLK_SENSOR1_GATE	29
320 #define	CLK_JPG0_AXI_GATE	30
321 #define	CLK_GPG1_AXI_GATE	31
322 #define	CLK_ISP0_AXI_GATE	32
323 #define	CLK_ISP1_AXI_GATE	33
324 #define	CLK_ISP2_AXI_GATE	34
325 #define	CLK_CPP_AXI_GATE	35
326 #define	CLK_D0_IF_AXI_GATE	36
327 #define	CLK_D2I_IF_AXI_GATE	37
328 #define	CLK_I2D_IF_AXI_GATE	38
329 #define	CLK_SPARE_AXI_GATE	39
330 #define	CLK_SENSOR2_GATE	40
331 #define	CLK_D0IF_IN_D_EN	41
332 #define	CLK_D1IF_IN_D_EN	42
333 #define	CLK_D0IF_IN_D2I_EN	43
334 #define	CLK_D1IF_IN_D2I_EN	44
335 #define	CLK_IA_IN_D2I_EN	45
336 #define	CLK_IB_IN_D2I_EN	46
337 #define	CLK_IC_IN_D2I_EN	47
338 #define	CLK_IA_IN_I_EN		48
339 #define	CLK_IB_IN_I_EN		49
340 #define	CLK_IC_IN_I_EN		50
341 #define CLK_CAM_GATE_NUM	(CLK_IC_IN_I_EN + 1)
342 
343 #define	CLK_AHB_DISP		0
344 #define	CLK_DISPC0_DPI		1
345 #define	CLK_DISPC1_DPI		2
346 #define CLK_DISP_NUM		(CLK_DISPC1_DPI + 1)
347 
348 #define	CLK_DISPC0_EB		0
349 #define	CLK_DISPC1_EB		1
350 #define	CLK_DISPC_MMU_EB	2
351 #define	CLK_GSP0_EB		3
352 #define	CLK_GSP1_EB		4
353 #define	CLK_GSP0_MMU_EB		5
354 #define	CLK_GSP1_MMU_EB		6
355 #define	CLK_DSI0_EB		7
356 #define	CLK_DSI1_EB		8
357 #define	CLK_DISP_CKG_EB		9
358 #define	CLK_DISP_GPU_EB		10
359 #define	CLK_GPU_MTX_EB		11
360 #define	CLK_GSP_MTX_EB		12
361 #define	CLK_TMC_MTX_EB		13
362 #define	CLK_DISPC_MTX_EB	14
363 #define	CLK_DPHY0_GATE		15
364 #define	CLK_DPHY1_GATE		16
365 #define	CLK_GSP0_A_GATE		17
366 #define	CLK_GSP1_A_GATE		18
367 #define	CLK_GSP0_F_GATE		19
368 #define	CLK_GSP1_F_GATE		20
369 #define	CLK_D_MTX_F_GATE	21
370 #define	CLK_D_MTX_A_GATE	22
371 #define	CLK_D_NOC_F_GATE	23
372 #define	CLK_D_NOC_A_GATE	24
373 #define	CLK_GSP_MTX_F_GATE	25
374 #define	CLK_GSP_MTX_A_GATE	26
375 #define	CLK_GSP_NOC_F_GATE	27
376 #define	CLK_GSP_NOC_A_GATE	28
377 #define	CLK_DISPM0IDLE_GATE	29
378 #define	CLK_GSPM0IDLE_GATE	30
379 #define CLK_DISP_GATE_NUM	(CLK_GSPM0IDLE_GATE + 1)
380 
381 #define	CLK_SIM0_EB		0
382 #define	CLK_IIS0_EB		1
383 #define	CLK_IIS1_EB		2
384 #define	CLK_IIS2_EB		3
385 #define	CLK_IIS3_EB		4
386 #define	CLK_SPI0_EB		5
387 #define	CLK_SPI1_EB		6
388 #define	CLK_SPI2_EB		7
389 #define	CLK_I2C0_EB		8
390 #define	CLK_I2C1_EB		9
391 #define	CLK_I2C2_EB		10
392 #define	CLK_I2C3_EB		11
393 #define	CLK_I2C4_EB		12
394 #define	CLK_I2C5_EB		13
395 #define	CLK_UART0_EB		14
396 #define	CLK_UART1_EB		15
397 #define	CLK_UART2_EB		16
398 #define	CLK_UART3_EB		17
399 #define	CLK_UART4_EB		18
400 #define	CLK_AP_CKG_EB		19
401 #define	CLK_SPI3_EB		20
402 #define CLK_APAPB_GATE_NUM	(CLK_SPI3_EB + 1)
403 
404 #endif /* _DT_BINDINGS_CLK_SC9860_H_ */
405