xref: /freebsd/sys/contrib/device-tree/include/dt-bindings/clock/hi3620-clock.h (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot /* SPDX-License-Identifier: GPL-2.0-or-later */
2*c66ec88fSEmmanuel Vadot /*
3*c66ec88fSEmmanuel Vadot  * Copyright (c) 2012-2013 Hisilicon Limited.
4*c66ec88fSEmmanuel Vadot  * Copyright (c) 2012-2013 Linaro Limited.
5*c66ec88fSEmmanuel Vadot  *
6*c66ec88fSEmmanuel Vadot  * Author: Haojian Zhuang <haojian.zhuang@linaro.org>
7*c66ec88fSEmmanuel Vadot  *	   Xin Li <li.xin@linaro.org>
8*c66ec88fSEmmanuel Vadot  */
9*c66ec88fSEmmanuel Vadot 
10*c66ec88fSEmmanuel Vadot #ifndef __DTS_HI3620_CLOCK_H
11*c66ec88fSEmmanuel Vadot #define __DTS_HI3620_CLOCK_H
12*c66ec88fSEmmanuel Vadot 
13*c66ec88fSEmmanuel Vadot #define HI3620_NONE_CLOCK	0
14*c66ec88fSEmmanuel Vadot 
15*c66ec88fSEmmanuel Vadot /* fixed rate & fixed factor clocks */
16*c66ec88fSEmmanuel Vadot #define HI3620_OSC32K		1
17*c66ec88fSEmmanuel Vadot #define HI3620_OSC26M		2
18*c66ec88fSEmmanuel Vadot #define HI3620_PCLK		3
19*c66ec88fSEmmanuel Vadot #define HI3620_PLL_ARM0		4
20*c66ec88fSEmmanuel Vadot #define HI3620_PLL_ARM1		5
21*c66ec88fSEmmanuel Vadot #define HI3620_PLL_PERI		6
22*c66ec88fSEmmanuel Vadot #define HI3620_PLL_USB		7
23*c66ec88fSEmmanuel Vadot #define HI3620_PLL_HDMI		8
24*c66ec88fSEmmanuel Vadot #define HI3620_PLL_GPU		9
25*c66ec88fSEmmanuel Vadot #define HI3620_RCLK_TCXO	10
26*c66ec88fSEmmanuel Vadot #define HI3620_RCLK_CFGAXI	11
27*c66ec88fSEmmanuel Vadot #define HI3620_RCLK_PICO	12
28*c66ec88fSEmmanuel Vadot 
29*c66ec88fSEmmanuel Vadot /* mux clocks */
30*c66ec88fSEmmanuel Vadot #define HI3620_TIMER0_MUX	32
31*c66ec88fSEmmanuel Vadot #define HI3620_TIMER1_MUX	33
32*c66ec88fSEmmanuel Vadot #define HI3620_TIMER2_MUX	34
33*c66ec88fSEmmanuel Vadot #define HI3620_TIMER3_MUX	35
34*c66ec88fSEmmanuel Vadot #define HI3620_TIMER4_MUX	36
35*c66ec88fSEmmanuel Vadot #define HI3620_TIMER5_MUX	37
36*c66ec88fSEmmanuel Vadot #define HI3620_TIMER6_MUX	38
37*c66ec88fSEmmanuel Vadot #define HI3620_TIMER7_MUX	39
38*c66ec88fSEmmanuel Vadot #define HI3620_TIMER8_MUX	40
39*c66ec88fSEmmanuel Vadot #define HI3620_TIMER9_MUX	41
40*c66ec88fSEmmanuel Vadot #define HI3620_UART0_MUX	42
41*c66ec88fSEmmanuel Vadot #define HI3620_UART1_MUX	43
42*c66ec88fSEmmanuel Vadot #define HI3620_UART2_MUX	44
43*c66ec88fSEmmanuel Vadot #define HI3620_UART3_MUX	45
44*c66ec88fSEmmanuel Vadot #define HI3620_UART4_MUX	46
45*c66ec88fSEmmanuel Vadot #define HI3620_SPI0_MUX		47
46*c66ec88fSEmmanuel Vadot #define HI3620_SPI1_MUX		48
47*c66ec88fSEmmanuel Vadot #define HI3620_SPI2_MUX		49
48*c66ec88fSEmmanuel Vadot #define HI3620_SAXI_MUX		50
49*c66ec88fSEmmanuel Vadot #define HI3620_PWM0_MUX		51
50*c66ec88fSEmmanuel Vadot #define HI3620_PWM1_MUX		52
51*c66ec88fSEmmanuel Vadot #define HI3620_SD_MUX		53
52*c66ec88fSEmmanuel Vadot #define HI3620_MMC1_MUX		54
53*c66ec88fSEmmanuel Vadot #define HI3620_MMC1_MUX2	55
54*c66ec88fSEmmanuel Vadot #define HI3620_G2D_MUX		56
55*c66ec88fSEmmanuel Vadot #define HI3620_VENC_MUX		57
56*c66ec88fSEmmanuel Vadot #define HI3620_VDEC_MUX		58
57*c66ec88fSEmmanuel Vadot #define HI3620_VPP_MUX		59
58*c66ec88fSEmmanuel Vadot #define HI3620_EDC0_MUX		60
59*c66ec88fSEmmanuel Vadot #define HI3620_LDI0_MUX		61
60*c66ec88fSEmmanuel Vadot #define HI3620_EDC1_MUX		62
61*c66ec88fSEmmanuel Vadot #define HI3620_LDI1_MUX		63
62*c66ec88fSEmmanuel Vadot #define HI3620_RCLK_HSIC	64
63*c66ec88fSEmmanuel Vadot #define HI3620_MMC2_MUX		65
64*c66ec88fSEmmanuel Vadot #define HI3620_MMC3_MUX		66
65*c66ec88fSEmmanuel Vadot 
66*c66ec88fSEmmanuel Vadot /* divider clocks */
67*c66ec88fSEmmanuel Vadot #define HI3620_SHAREAXI_DIV	128
68*c66ec88fSEmmanuel Vadot #define HI3620_CFGAXI_DIV	129
69*c66ec88fSEmmanuel Vadot #define HI3620_SD_DIV		130
70*c66ec88fSEmmanuel Vadot #define HI3620_MMC1_DIV		131
71*c66ec88fSEmmanuel Vadot #define HI3620_HSIC_DIV		132
72*c66ec88fSEmmanuel Vadot #define HI3620_MMC2_DIV		133
73*c66ec88fSEmmanuel Vadot #define HI3620_MMC3_DIV		134
74*c66ec88fSEmmanuel Vadot 
75*c66ec88fSEmmanuel Vadot /* gate clocks */
76*c66ec88fSEmmanuel Vadot #define HI3620_TIMERCLK01	160
77*c66ec88fSEmmanuel Vadot #define HI3620_TIMER_RCLK01	161
78*c66ec88fSEmmanuel Vadot #define HI3620_TIMERCLK23	162
79*c66ec88fSEmmanuel Vadot #define HI3620_TIMER_RCLK23	163
80*c66ec88fSEmmanuel Vadot #define HI3620_TIMERCLK45	164
81*c66ec88fSEmmanuel Vadot #define HI3620_TIMERCLK67	165
82*c66ec88fSEmmanuel Vadot #define HI3620_TIMERCLK89	166
83*c66ec88fSEmmanuel Vadot #define HI3620_RTCCLK		167
84*c66ec88fSEmmanuel Vadot #define HI3620_KPC_CLK		168
85*c66ec88fSEmmanuel Vadot #define HI3620_GPIOCLK0		169
86*c66ec88fSEmmanuel Vadot #define HI3620_GPIOCLK1		170
87*c66ec88fSEmmanuel Vadot #define HI3620_GPIOCLK2		171
88*c66ec88fSEmmanuel Vadot #define HI3620_GPIOCLK3		172
89*c66ec88fSEmmanuel Vadot #define HI3620_GPIOCLK4		173
90*c66ec88fSEmmanuel Vadot #define HI3620_GPIOCLK5		174
91*c66ec88fSEmmanuel Vadot #define HI3620_GPIOCLK6		175
92*c66ec88fSEmmanuel Vadot #define HI3620_GPIOCLK7		176
93*c66ec88fSEmmanuel Vadot #define HI3620_GPIOCLK8		177
94*c66ec88fSEmmanuel Vadot #define HI3620_GPIOCLK9		178
95*c66ec88fSEmmanuel Vadot #define HI3620_GPIOCLK10	179
96*c66ec88fSEmmanuel Vadot #define HI3620_GPIOCLK11	180
97*c66ec88fSEmmanuel Vadot #define HI3620_GPIOCLK12	181
98*c66ec88fSEmmanuel Vadot #define HI3620_GPIOCLK13	182
99*c66ec88fSEmmanuel Vadot #define HI3620_GPIOCLK14	183
100*c66ec88fSEmmanuel Vadot #define HI3620_GPIOCLK15	184
101*c66ec88fSEmmanuel Vadot #define HI3620_GPIOCLK16	185
102*c66ec88fSEmmanuel Vadot #define HI3620_GPIOCLK17	186
103*c66ec88fSEmmanuel Vadot #define HI3620_GPIOCLK18	187
104*c66ec88fSEmmanuel Vadot #define HI3620_GPIOCLK19	188
105*c66ec88fSEmmanuel Vadot #define HI3620_GPIOCLK20	189
106*c66ec88fSEmmanuel Vadot #define HI3620_GPIOCLK21	190
107*c66ec88fSEmmanuel Vadot #define HI3620_DPHY0_CLK	191
108*c66ec88fSEmmanuel Vadot #define HI3620_DPHY1_CLK	192
109*c66ec88fSEmmanuel Vadot #define HI3620_DPHY2_CLK	193
110*c66ec88fSEmmanuel Vadot #define HI3620_USBPHY_CLK	194
111*c66ec88fSEmmanuel Vadot #define HI3620_ACP_CLK		195
112*c66ec88fSEmmanuel Vadot #define HI3620_PWMCLK0		196
113*c66ec88fSEmmanuel Vadot #define HI3620_PWMCLK1		197
114*c66ec88fSEmmanuel Vadot #define HI3620_UARTCLK0		198
115*c66ec88fSEmmanuel Vadot #define HI3620_UARTCLK1		199
116*c66ec88fSEmmanuel Vadot #define HI3620_UARTCLK2		200
117*c66ec88fSEmmanuel Vadot #define HI3620_UARTCLK3		201
118*c66ec88fSEmmanuel Vadot #define HI3620_UARTCLK4		202
119*c66ec88fSEmmanuel Vadot #define HI3620_SPICLK0		203
120*c66ec88fSEmmanuel Vadot #define HI3620_SPICLK1		204
121*c66ec88fSEmmanuel Vadot #define HI3620_SPICLK2		205
122*c66ec88fSEmmanuel Vadot #define HI3620_I2CCLK0		206
123*c66ec88fSEmmanuel Vadot #define HI3620_I2CCLK1		207
124*c66ec88fSEmmanuel Vadot #define HI3620_I2CCLK2		208
125*c66ec88fSEmmanuel Vadot #define HI3620_I2CCLK3		209
126*c66ec88fSEmmanuel Vadot #define HI3620_SCI_CLK		210
127*c66ec88fSEmmanuel Vadot #define HI3620_DDRC_PER_CLK	211
128*c66ec88fSEmmanuel Vadot #define HI3620_DMAC_CLK		212
129*c66ec88fSEmmanuel Vadot #define HI3620_USB2DVC_CLK	213
130*c66ec88fSEmmanuel Vadot #define HI3620_SD_CLK		214
131*c66ec88fSEmmanuel Vadot #define HI3620_MMC_CLK1		215
132*c66ec88fSEmmanuel Vadot #define HI3620_MMC_CLK2		216
133*c66ec88fSEmmanuel Vadot #define HI3620_MMC_CLK3		217
134*c66ec88fSEmmanuel Vadot #define HI3620_MCU_CLK		218
135*c66ec88fSEmmanuel Vadot 
136*c66ec88fSEmmanuel Vadot #define HI3620_SD_CIUCLK	0
137*c66ec88fSEmmanuel Vadot #define HI3620_MMC_CIUCLK1	1
138*c66ec88fSEmmanuel Vadot #define HI3620_MMC_CIUCLK2	2
139*c66ec88fSEmmanuel Vadot #define HI3620_MMC_CIUCLK3	3
140*c66ec88fSEmmanuel Vadot 
141*c66ec88fSEmmanuel Vadot #define HI3620_NR_CLKS		219
142*c66ec88fSEmmanuel Vadot 
143*c66ec88fSEmmanuel Vadot #endif	/* __DTS_HI3620_CLOCK_H */
144