1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Unisoc SC9863A platform clocks
4  *
5  * Copyright (C) 2019, Unisoc Communications Inc.
6  */
7 
8 #ifndef _DT_BINDINGS_CLK_SC9863A_H_
9 #define _DT_BINDINGS_CLK_SC9863A_H_
10 
11 #define CLK_MPLL0_GATE		0
12 #define CLK_DPLL0_GATE		1
13 #define CLK_LPLL_GATE		2
14 #define CLK_GPLL_GATE		3
15 #define CLK_DPLL1_GATE		4
16 #define CLK_MPLL1_GATE		5
17 #define CLK_MPLL2_GATE		6
18 #define CLK_ISPPLL_GATE		7
19 #define CLK_PMU_APB_NUM		(CLK_ISPPLL_GATE + 1)
20 
21 #define CLK_AUDIO_GATE		0
22 #define CLK_RPLL		1
23 #define CLK_RPLL_390M		2
24 #define CLK_RPLL_260M		3
25 #define CLK_RPLL_195M		4
26 #define CLK_RPLL_26M		5
27 #define CLK_ANLG_PHY_G5_NUM	(CLK_RPLL_26M + 1)
28 
29 #define CLK_TWPLL		0
30 #define CLK_TWPLL_768M		1
31 #define CLK_TWPLL_384M		2
32 #define CLK_TWPLL_192M		3
33 #define CLK_TWPLL_96M		4
34 #define CLK_TWPLL_48M		5
35 #define CLK_TWPLL_24M		6
36 #define CLK_TWPLL_12M		7
37 #define CLK_TWPLL_512M		8
38 #define CLK_TWPLL_256M		9
39 #define CLK_TWPLL_128M		10
40 #define CLK_TWPLL_64M		11
41 #define CLK_TWPLL_307M2		12
42 #define CLK_TWPLL_219M4		13
43 #define CLK_TWPLL_170M6		14
44 #define CLK_TWPLL_153M6		15
45 #define CLK_TWPLL_76M8		16
46 #define CLK_TWPLL_51M2		17
47 #define CLK_TWPLL_38M4		18
48 #define CLK_TWPLL_19M2		19
49 #define CLK_LPLL		20
50 #define CLK_LPLL_409M6		21
51 #define CLK_LPLL_245M76		22
52 #define CLK_GPLL		23
53 #define CLK_ISPPLL		24
54 #define CLK_ISPPLL_468M		25
55 #define CLK_ANLG_PHY_G1_NUM	(CLK_ISPPLL_468M + 1)
56 
57 #define CLK_DPLL0		0
58 #define CLK_DPLL1		1
59 #define CLK_DPLL0_933M		2
60 #define CLK_DPLL0_622M3		3
61 #define CLK_DPLL0_400M		4
62 #define CLK_DPLL0_266M7		5
63 #define CLK_DPLL0_123M1		6
64 #define CLK_DPLL0_50M		7
65 #define CLK_ANLG_PHY_G7_NUM	(CLK_DPLL0_50M + 1)
66 
67 #define CLK_MPLL0		0
68 #define CLK_MPLL1		1
69 #define CLK_MPLL2		2
70 #define CLK_MPLL2_675M		3
71 #define CLK_ANLG_PHY_G4_NUM	(CLK_MPLL2_675M + 1)
72 
73 #define CLK_AP_APB		0
74 #define CLK_AP_CE		1
75 #define CLK_NANDC_ECC		2
76 #define CLK_NANDC_26M		3
77 #define CLK_EMMC_32K		4
78 #define CLK_SDIO0_32K		5
79 #define CLK_SDIO1_32K		6
80 #define CLK_SDIO2_32K		7
81 #define CLK_OTG_UTMI		8
82 #define CLK_AP_UART0		9
83 #define CLK_AP_UART1		10
84 #define CLK_AP_UART2		11
85 #define CLK_AP_UART3		12
86 #define CLK_AP_UART4		13
87 #define CLK_AP_I2C0		14
88 #define CLK_AP_I2C1		15
89 #define CLK_AP_I2C2		16
90 #define CLK_AP_I2C3		17
91 #define CLK_AP_I2C4		18
92 #define CLK_AP_I2C5		19
93 #define CLK_AP_I2C6		20
94 #define CLK_AP_SPI0		21
95 #define CLK_AP_SPI1		22
96 #define CLK_AP_SPI2		23
97 #define CLK_AP_SPI3		24
98 #define CLK_AP_IIS0		25
99 #define CLK_AP_IIS1		26
100 #define CLK_AP_IIS2		27
101 #define CLK_SIM0		28
102 #define CLK_SIM0_32K		29
103 #define CLK_AP_CLK_NUM		(CLK_SIM0_32K + 1)
104 
105 #define CLK_13M			0
106 #define CLK_6M5			1
107 #define CLK_4M3			2
108 #define CLK_2M			3
109 #define CLK_250K		4
110 #define CLK_RCO_25M		5
111 #define CLK_RCO_4M		6
112 #define CLK_RCO_2M		7
113 #define CLK_EMC			8
114 #define CLK_AON_APB		9
115 #define CLK_ADI			10
116 #define CLK_AUX0		11
117 #define CLK_AUX1		12
118 #define CLK_AUX2		13
119 #define CLK_PROBE		14
120 #define CLK_PWM0		15
121 #define CLK_PWM1		16
122 #define CLK_PWM2		17
123 #define CLK_AON_THM		18
124 #define CLK_AUDIF		19
125 #define CLK_CPU_DAP		20
126 #define CLK_CPU_TS		21
127 #define CLK_DJTAG_TCK		22
128 #define CLK_EMC_REF		23
129 #define CLK_CSSYS		24
130 #define CLK_AON_PMU		25
131 #define CLK_PMU_26M		26
132 #define CLK_AON_TMR		27
133 #define CLK_POWER_CPU		28
134 #define CLK_AP_AXI		29
135 #define CLK_SDIO0_2X		30
136 #define CLK_SDIO1_2X		31
137 #define CLK_SDIO2_2X		32
138 #define CLK_EMMC_2X		33
139 #define CLK_DPU			34
140 #define CLK_DPU_DPI		35
141 #define CLK_OTG_REF		36
142 #define CLK_SDPHY_APB		37
143 #define CLK_ALG_IO_APB		38
144 #define CLK_GPU_CORE		39
145 #define CLK_GPU_SOC		40
146 #define CLK_MM_EMC		41
147 #define CLK_MM_AHB		42
148 #define CLK_BPC			43
149 #define CLK_DCAM_IF		44
150 #define CLK_ISP			45
151 #define CLK_JPG			46
152 #define CLK_CPP			47
153 #define CLK_SENSOR0		48
154 #define CLK_SENSOR1		49
155 #define CLK_SENSOR2		50
156 #define CLK_MM_VEMC		51
157 #define CLK_MM_VAHB		52
158 #define CLK_VSP			53
159 #define CLK_CORE0		54
160 #define CLK_CORE1		55
161 #define CLK_CORE2		56
162 #define CLK_CORE3		57
163 #define CLK_CORE4		58
164 #define CLK_CORE5		59
165 #define CLK_CORE6		60
166 #define CLK_CORE7		61
167 #define CLK_SCU			62
168 #define CLK_ACE			63
169 #define CLK_AXI_PERIPH		64
170 #define CLK_AXI_ACP		65
171 #define CLK_ATB			66
172 #define CLK_DEBUG_APB		67
173 #define CLK_GIC			68
174 #define CLK_PERIPH		69
175 #define CLK_AON_CLK_NUM		(CLK_VSP + 1)
176 
177 #define CLK_OTG_EB		0
178 #define CLK_DMA_EB		1
179 #define CLK_CE_EB		2
180 #define CLK_NANDC_EB		3
181 #define CLK_SDIO0_EB		4
182 #define CLK_SDIO1_EB		5
183 #define CLK_SDIO2_EB		6
184 #define CLK_EMMC_EB		7
185 #define CLK_EMMC_32K_EB		8
186 #define CLK_SDIO0_32K_EB	9
187 #define CLK_SDIO1_32K_EB	10
188 #define CLK_SDIO2_32K_EB	11
189 #define CLK_NANDC_26M_EB	12
190 #define CLK_DMA_EB2		13
191 #define CLK_CE_EB2		14
192 #define CLK_AP_AHB_GATE_NUM	(CLK_CE_EB2 + 1)
193 
194 #define CLK_GPIO_EB		0
195 #define CLK_PWM0_EB		1
196 #define CLK_PWM1_EB		2
197 #define CLK_PWM2_EB		3
198 #define CLK_PWM3_EB		4
199 #define CLK_KPD_EB		5
200 #define CLK_AON_SYST_EB		6
201 #define CLK_AP_SYST_EB		7
202 #define CLK_AON_TMR_EB		8
203 #define CLK_EFUSE_EB		9
204 #define CLK_EIC_EB		10
205 #define CLK_INTC_EB		11
206 #define CLK_ADI_EB		12
207 #define CLK_AUDIF_EB		13
208 #define CLK_AUD_EB		14
209 #define CLK_VBC_EB		15
210 #define CLK_PIN_EB		16
211 #define CLK_AP_WDG_EB		17
212 #define CLK_MM_EB		18
213 #define CLK_AON_APB_CKG_EB	19
214 #define CLK_CA53_TS0_EB		20
215 #define CLK_CA53_TS1_EB		21
216 #define CLK_CS53_DAP_EB		22
217 #define CLK_PMU_EB		23
218 #define CLK_THM_EB		24
219 #define CLK_AUX0_EB		25
220 #define CLK_AUX1_EB		26
221 #define CLK_AUX2_EB		27
222 #define CLK_PROBE_EB		28
223 #define CLK_EMC_REF_EB		29
224 #define CLK_CA53_WDG_EB		30
225 #define CLK_AP_TMR1_EB		31
226 #define CLK_AP_TMR2_EB		32
227 #define CLK_DISP_EMC_EB		33
228 #define CLK_ZIP_EMC_EB		34
229 #define CLK_GSP_EMC_EB		35
230 #define CLK_MM_VSP_EB		36
231 #define CLK_MDAR_EB		37
232 #define CLK_RTC4M0_CAL_EB	38
233 #define CLK_RTC4M1_CAL_EB	39
234 #define CLK_DJTAG_EB		40
235 #define CLK_MBOX_EB		41
236 #define CLK_AON_DMA_EB		42
237 #define CLK_AON_APB_DEF_EB	43
238 #define CLK_CA5_TS0_EB		44
239 #define CLK_DBG_EB		45
240 #define CLK_DBG_EMC_EB		46
241 #define CLK_CROSS_TRIG_EB	47
242 #define CLK_SERDES_DPHY_EB	48
243 #define CLK_ARCH_RTC_EB		49
244 #define CLK_KPD_RTC_EB		50
245 #define CLK_AON_SYST_RTC_EB	51
246 #define CLK_AP_SYST_RTC_EB	52
247 #define CLK_AON_TMR_RTC_EB	53
248 #define CLK_AP_TMR0_RTC_EB	54
249 #define CLK_EIC_RTC_EB		55
250 #define CLK_EIC_RTCDV5_EB	56
251 #define CLK_AP_WDG_RTC_EB	57
252 #define CLK_CA53_WDG_RTC_EB	58
253 #define CLK_THM_RTC_EB		59
254 #define CLK_ATHMA_RTC_EB	60
255 #define CLK_GTHMA_RTC_EB	61
256 #define CLK_ATHMA_RTC_A_EB	62
257 #define CLK_GTHMA_RTC_A_EB	63
258 #define CLK_AP_TMR1_RTC_EB	64
259 #define CLK_AP_TMR2_RTC_EB	65
260 #define CLK_DXCO_LC_RTC_EB	66
261 #define CLK_BB_CAL_RTC_EB	67
262 #define CLK_GNU_EB		68
263 #define CLK_DISP_EB		69
264 #define CLK_MM_EMC_EB		70
265 #define CLK_POWER_CPU_EB	71
266 #define CLK_HW_I2C_EB		72
267 #define CLK_MM_VSP_EMC_EB	73
268 #define CLK_VSP_EB		74
269 #define CLK_CSSYS_EB		75
270 #define CLK_DMC_EB		76
271 #define CLK_ROSC_EB		77
272 #define CLK_S_D_CFG_EB		78
273 #define CLK_S_D_REF_EB		79
274 #define CLK_B_DMA_EB		80
275 #define CLK_ANLG_EB		81
276 #define CLK_ANLG_APB_EB		82
277 #define CLK_BSMTMR_EB		83
278 #define CLK_AP_AXI_EB		84
279 #define CLK_AP_INTC0_EB		85
280 #define CLK_AP_INTC1_EB		86
281 #define CLK_AP_INTC2_EB		87
282 #define CLK_AP_INTC3_EB		88
283 #define CLK_AP_INTC4_EB		89
284 #define CLK_AP_INTC5_EB		90
285 #define CLK_SCC_EB		91
286 #define CLK_DPHY_CFG_EB		92
287 #define CLK_DPHY_REF_EB		93
288 #define CLK_CPHY_CFG_EB		94
289 #define CLK_OTG_REF_EB		95
290 #define CLK_SERDES_EB		96
291 #define CLK_AON_AP_EMC_EB	97
292 #define CLK_AON_APB_GATE_NUM	(CLK_AON_AP_EMC_EB + 1)
293 
294 #define CLK_MAHB_CKG_EB		0
295 #define CLK_MDCAM_EB		1
296 #define CLK_MISP_EB		2
297 #define CLK_MAHBCSI_EB		3
298 #define CLK_MCSI_S_EB		4
299 #define CLK_MCSI_T_EB		5
300 #define CLK_DCAM_AXI_EB		6
301 #define CLK_ISP_AXI_EB		7
302 #define CLK_MCSI_EB		8
303 #define CLK_MCSI_S_CKG_EB	9
304 #define CLK_MCSI_T_CKG_EB	10
305 #define CLK_SENSOR0_EB		11
306 #define CLK_SENSOR1_EB		12
307 #define CLK_SENSOR2_EB		13
308 #define CLK_MCPHY_CFG_EB	14
309 #define CLK_MM_GATE_NUM		(CLK_MCPHY_CFG_EB + 1)
310 
311 #define CLK_MIPI_CSI		0
312 #define CLK_MIPI_CSI_S		1
313 #define CLK_MIPI_CSI_M		2
314 #define CLK_MM_CLK_NUM		(CLK_MIPI_CSI_M + 1)
315 
316 #define CLK_SIM0_EB		0
317 #define CLK_IIS0_EB		1
318 #define CLK_IIS1_EB		2
319 #define CLK_IIS2_EB		3
320 #define CLK_SPI0_EB		4
321 #define CLK_SPI1_EB		5
322 #define CLK_SPI2_EB		6
323 #define CLK_I2C0_EB		7
324 #define CLK_I2C1_EB		8
325 #define CLK_I2C2_EB		9
326 #define CLK_I2C3_EB		10
327 #define CLK_I2C4_EB		11
328 #define CLK_UART0_EB		12
329 #define CLK_UART1_EB		13
330 #define CLK_UART2_EB		14
331 #define CLK_UART3_EB		15
332 #define CLK_UART4_EB		16
333 #define CLK_SIM0_32K_EB		17
334 #define CLK_SPI3_EB		18
335 #define CLK_I2C5_EB		19
336 #define CLK_I2C6_EB		20
337 #define CLK_AP_APB_GATE_NUM	(CLK_I2C6_EB + 1)
338 
339 #endif /* _DT_BINDINGS_CLK_SC9863A_H_ */
340