xref: /freebsd-src/sys/contrib/device-tree/include/dt-bindings/clock/hi3660-clock.h (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot /* SPDX-License-Identifier: GPL-2.0-or-later */
2*c66ec88fSEmmanuel Vadot /*
3*c66ec88fSEmmanuel Vadot  * Copyright (c) 2016-2017 Linaro Ltd.
4*c66ec88fSEmmanuel Vadot  * Copyright (c) 2016-2017 HiSilicon Technologies Co., Ltd.
5*c66ec88fSEmmanuel Vadot  */
6*c66ec88fSEmmanuel Vadot 
7*c66ec88fSEmmanuel Vadot #ifndef __DTS_HI3660_CLOCK_H
8*c66ec88fSEmmanuel Vadot #define __DTS_HI3660_CLOCK_H
9*c66ec88fSEmmanuel Vadot 
10*c66ec88fSEmmanuel Vadot /* fixed rate clocks */
11*c66ec88fSEmmanuel Vadot #define HI3660_CLKIN_SYS		0
12*c66ec88fSEmmanuel Vadot #define HI3660_CLKIN_REF		1
13*c66ec88fSEmmanuel Vadot #define HI3660_CLK_FLL_SRC		2
14*c66ec88fSEmmanuel Vadot #define HI3660_CLK_PPLL0		3
15*c66ec88fSEmmanuel Vadot #define HI3660_CLK_PPLL1		4
16*c66ec88fSEmmanuel Vadot #define HI3660_CLK_PPLL2		5
17*c66ec88fSEmmanuel Vadot #define HI3660_CLK_PPLL3		6
18*c66ec88fSEmmanuel Vadot #define HI3660_CLK_SCPLL		7
19*c66ec88fSEmmanuel Vadot #define HI3660_PCLK			8
20*c66ec88fSEmmanuel Vadot #define HI3660_CLK_UART0_DBG		9
21*c66ec88fSEmmanuel Vadot #define HI3660_CLK_UART6		10
22*c66ec88fSEmmanuel Vadot #define HI3660_OSC32K			11
23*c66ec88fSEmmanuel Vadot #define HI3660_OSC19M			12
24*c66ec88fSEmmanuel Vadot #define HI3660_CLK_480M			13
25*c66ec88fSEmmanuel Vadot #define HI3660_CLK_INV			14
26*c66ec88fSEmmanuel Vadot 
27*c66ec88fSEmmanuel Vadot /* clk in crgctrl */
28*c66ec88fSEmmanuel Vadot #define HI3660_FACTOR_UART3		15
29*c66ec88fSEmmanuel Vadot #define HI3660_CLK_FACTOR_MMC		16
30*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_I2C0		17
31*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_I2C1		18
32*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_I2C2		19
33*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_I2C6		20
34*c66ec88fSEmmanuel Vadot #define HI3660_CLK_DIV_SYSBUS		21
35*c66ec88fSEmmanuel Vadot #define HI3660_CLK_DIV_320M		22
36*c66ec88fSEmmanuel Vadot #define HI3660_CLK_DIV_A53		23
37*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_SPI0		24
38*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_SPI2		25
39*c66ec88fSEmmanuel Vadot #define HI3660_PCIEPHY_REF		26
40*c66ec88fSEmmanuel Vadot #define HI3660_CLK_ABB_USB		27
41*c66ec88fSEmmanuel Vadot #define HI3660_HCLK_GATE_SDIO0		28
42*c66ec88fSEmmanuel Vadot #define HI3660_HCLK_GATE_SD		29
43*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_AOMM		30
44*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_GPIO0		31
45*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_GPIO1		32
46*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_GPIO2		33
47*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_GPIO3		34
48*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_GPIO4		35
49*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_GPIO5		36
50*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_GPIO6		37
51*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_GPIO7		38
52*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_GPIO8		39
53*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_GPIO9		40
54*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_GPIO10		41
55*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_GPIO11		42
56*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_GPIO12		43
57*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_GPIO13		44
58*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_GPIO14		45
59*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_GPIO15		46
60*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_GPIO16		47
61*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_GPIO17		48
62*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_GPIO18		49
63*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_GPIO19		50
64*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_GPIO20		51
65*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_GPIO21		52
66*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_SPI3		53
67*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_I2C7		54
68*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_I2C3		55
69*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_SPI1		56
70*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_UART1		57
71*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_UART2		58
72*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_UART4		59
73*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_UART5		60
74*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_I2C4		61
75*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_DMAC		62
76*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_GATE_DSS		63
77*c66ec88fSEmmanuel Vadot #define HI3660_ACLK_GATE_DSS		64
78*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_LDI1		65
79*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_LDI0		66
80*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_VIVOBUS		67
81*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_EDC0		68
82*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_TXDPHY0_CFG	69
83*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_TXDPHY0_REF	70
84*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_TXDPHY1_CFG	71
85*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_TXDPHY1_REF	72
86*c66ec88fSEmmanuel Vadot #define HI3660_ACLK_GATE_USB3OTG	73
87*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_SPI4		74
88*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_SD		75
89*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_SDIO0		76
90*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_UFS_SUBSYS	77
91*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_GATE_DSI0		78
92*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_GATE_DSI1		79
93*c66ec88fSEmmanuel Vadot #define HI3660_ACLK_GATE_PCIE		80
94*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_GATE_PCIE_SYS       81
95*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_PCIEAUX		82
96*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_GATE_PCIE_PHY	83
97*c66ec88fSEmmanuel Vadot #define HI3660_CLK_ANDGT_LDI0		84
98*c66ec88fSEmmanuel Vadot #define HI3660_CLK_ANDGT_LDI1		85
99*c66ec88fSEmmanuel Vadot #define HI3660_CLK_ANDGT_EDC0		86
100*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_UFSPHY_GT	87
101*c66ec88fSEmmanuel Vadot #define HI3660_CLK_ANDGT_MMC		88
102*c66ec88fSEmmanuel Vadot #define HI3660_CLK_ANDGT_SD		89
103*c66ec88fSEmmanuel Vadot #define HI3660_CLK_A53HPM_ANDGT		90
104*c66ec88fSEmmanuel Vadot #define HI3660_CLK_ANDGT_SDIO		91
105*c66ec88fSEmmanuel Vadot #define HI3660_CLK_ANDGT_UART0		92
106*c66ec88fSEmmanuel Vadot #define HI3660_CLK_ANDGT_UART1		93
107*c66ec88fSEmmanuel Vadot #define HI3660_CLK_ANDGT_UARTH		94
108*c66ec88fSEmmanuel Vadot #define HI3660_CLK_ANDGT_SPI		95
109*c66ec88fSEmmanuel Vadot #define HI3660_CLK_VIVOBUS_ANDGT	96
110*c66ec88fSEmmanuel Vadot #define HI3660_CLK_AOMM_ANDGT		97
111*c66ec88fSEmmanuel Vadot #define HI3660_CLK_320M_PLL_GT		98
112*c66ec88fSEmmanuel Vadot #define HI3660_AUTODIV_EMMC0BUS		99
113*c66ec88fSEmmanuel Vadot #define HI3660_AUTODIV_SYSBUS		100
114*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_UFSPHY_CFG	101
115*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_UFSIO_REF	102
116*c66ec88fSEmmanuel Vadot #define HI3660_CLK_MUX_SYSBUS		103
117*c66ec88fSEmmanuel Vadot #define HI3660_CLK_MUX_UART0		104
118*c66ec88fSEmmanuel Vadot #define HI3660_CLK_MUX_UART1		105
119*c66ec88fSEmmanuel Vadot #define HI3660_CLK_MUX_UARTH		106
120*c66ec88fSEmmanuel Vadot #define HI3660_CLK_MUX_SPI		107
121*c66ec88fSEmmanuel Vadot #define HI3660_CLK_MUX_I2C		108
122*c66ec88fSEmmanuel Vadot #define HI3660_CLK_MUX_MMC_PLL		109
123*c66ec88fSEmmanuel Vadot #define HI3660_CLK_MUX_LDI1		110
124*c66ec88fSEmmanuel Vadot #define HI3660_CLK_MUX_LDI0		111
125*c66ec88fSEmmanuel Vadot #define HI3660_CLK_MUX_SD_PLL		112
126*c66ec88fSEmmanuel Vadot #define HI3660_CLK_MUX_SD_SYS		113
127*c66ec88fSEmmanuel Vadot #define HI3660_CLK_MUX_EDC0		114
128*c66ec88fSEmmanuel Vadot #define HI3660_CLK_MUX_SDIO_SYS		115
129*c66ec88fSEmmanuel Vadot #define HI3660_CLK_MUX_SDIO_PLL		116
130*c66ec88fSEmmanuel Vadot #define HI3660_CLK_MUX_VIVOBUS		117
131*c66ec88fSEmmanuel Vadot #define HI3660_CLK_MUX_A53HPM		118
132*c66ec88fSEmmanuel Vadot #define HI3660_CLK_MUX_320M		119
133*c66ec88fSEmmanuel Vadot #define HI3660_CLK_MUX_IOPERI		120
134*c66ec88fSEmmanuel Vadot #define HI3660_CLK_DIV_UART0		121
135*c66ec88fSEmmanuel Vadot #define HI3660_CLK_DIV_UART1		122
136*c66ec88fSEmmanuel Vadot #define HI3660_CLK_DIV_UARTH		123
137*c66ec88fSEmmanuel Vadot #define HI3660_CLK_DIV_MMC		124
138*c66ec88fSEmmanuel Vadot #define HI3660_CLK_DIV_SD		125
139*c66ec88fSEmmanuel Vadot #define HI3660_CLK_DIV_EDC0		126
140*c66ec88fSEmmanuel Vadot #define HI3660_CLK_DIV_LDI0		127
141*c66ec88fSEmmanuel Vadot #define HI3660_CLK_DIV_SDIO		128
142*c66ec88fSEmmanuel Vadot #define HI3660_CLK_DIV_LDI1		129
143*c66ec88fSEmmanuel Vadot #define HI3660_CLK_DIV_SPI		130
144*c66ec88fSEmmanuel Vadot #define HI3660_CLK_DIV_VIVOBUS		131
145*c66ec88fSEmmanuel Vadot #define HI3660_CLK_DIV_I2C		132
146*c66ec88fSEmmanuel Vadot #define HI3660_CLK_DIV_UFSPHY		133
147*c66ec88fSEmmanuel Vadot #define HI3660_CLK_DIV_CFGBUS		134
148*c66ec88fSEmmanuel Vadot #define HI3660_CLK_DIV_MMC0BUS		135
149*c66ec88fSEmmanuel Vadot #define HI3660_CLK_DIV_MMC1BUS		136
150*c66ec88fSEmmanuel Vadot #define HI3660_CLK_DIV_UFSPERI		137
151*c66ec88fSEmmanuel Vadot #define HI3660_CLK_DIV_AOMM		138
152*c66ec88fSEmmanuel Vadot #define HI3660_CLK_DIV_IOPERI		139
153*c66ec88fSEmmanuel Vadot #define HI3660_VENC_VOLT_HOLD		140
154*c66ec88fSEmmanuel Vadot #define HI3660_PERI_VOLT_HOLD		141
155*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_VENC		142
156*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_VDEC		143
157*c66ec88fSEmmanuel Vadot #define HI3660_CLK_ANDGT_VENC		144
158*c66ec88fSEmmanuel Vadot #define HI3660_CLK_ANDGT_VDEC		145
159*c66ec88fSEmmanuel Vadot #define HI3660_CLK_MUX_VENC		146
160*c66ec88fSEmmanuel Vadot #define HI3660_CLK_MUX_VDEC		147
161*c66ec88fSEmmanuel Vadot #define HI3660_CLK_DIV_VENC		148
162*c66ec88fSEmmanuel Vadot #define HI3660_CLK_DIV_VDEC		149
163*c66ec88fSEmmanuel Vadot #define HI3660_CLK_FAC_ISP_SNCLK	150
164*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_ISP_SNCLK0	151
165*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_ISP_SNCLK1	152
166*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_ISP_SNCLK2	153
167*c66ec88fSEmmanuel Vadot #define HI3660_CLK_ANGT_ISP_SNCLK	154
168*c66ec88fSEmmanuel Vadot #define HI3660_CLK_MUX_ISP_SNCLK	155
169*c66ec88fSEmmanuel Vadot #define HI3660_CLK_DIV_ISP_SNCLK	156
170*c66ec88fSEmmanuel Vadot 
171*c66ec88fSEmmanuel Vadot /* clk in pmuctrl */
172*c66ec88fSEmmanuel Vadot #define HI3660_GATE_ABB_192		0
173*c66ec88fSEmmanuel Vadot 
174*c66ec88fSEmmanuel Vadot /* clk in pctrl */
175*c66ec88fSEmmanuel Vadot #define HI3660_GATE_UFS_TCXO_EN		0
176*c66ec88fSEmmanuel Vadot #define HI3660_GATE_USB_TCXO_EN		1
177*c66ec88fSEmmanuel Vadot 
178*c66ec88fSEmmanuel Vadot /* clk in sctrl */
179*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_AO_GPIO0		0
180*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_AO_GPIO1		1
181*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_AO_GPIO2		2
182*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_AO_GPIO3		3
183*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_AO_GPIO4		4
184*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_AO_GPIO5		5
185*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_AO_GPIO6		6
186*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_GATE_MMBUF		7
187*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_DSS_AXI_MM	8
188*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_MMBUF_ANDGT		9
189*c66ec88fSEmmanuel Vadot #define HI3660_CLK_MMBUF_PLL_ANDGT	10
190*c66ec88fSEmmanuel Vadot #define HI3660_CLK_FLL_MMBUF_ANDGT	11
191*c66ec88fSEmmanuel Vadot #define HI3660_CLK_SYS_MMBUF_ANDGT	12
192*c66ec88fSEmmanuel Vadot #define HI3660_CLK_GATE_PCIEPHY_GT	13
193*c66ec88fSEmmanuel Vadot #define HI3660_ACLK_MUX_MMBUF		14
194*c66ec88fSEmmanuel Vadot #define HI3660_CLK_SW_MMBUF		15
195*c66ec88fSEmmanuel Vadot #define HI3660_CLK_DIV_AOBUS		16
196*c66ec88fSEmmanuel Vadot #define HI3660_PCLK_DIV_MMBUF		17
197*c66ec88fSEmmanuel Vadot #define HI3660_ACLK_DIV_MMBUF		18
198*c66ec88fSEmmanuel Vadot #define HI3660_CLK_DIV_PCIEPHY		19
199*c66ec88fSEmmanuel Vadot 
200*c66ec88fSEmmanuel Vadot /* clk in iomcu */
201*c66ec88fSEmmanuel Vadot #define HI3660_CLK_I2C0_IOMCU		0
202*c66ec88fSEmmanuel Vadot #define HI3660_CLK_I2C1_IOMCU		1
203*c66ec88fSEmmanuel Vadot #define HI3660_CLK_I2C2_IOMCU		2
204*c66ec88fSEmmanuel Vadot #define HI3660_CLK_I2C6_IOMCU		3
205*c66ec88fSEmmanuel Vadot #define HI3660_CLK_IOMCU_PERI0		4
206*c66ec88fSEmmanuel Vadot 
207*c66ec88fSEmmanuel Vadot /* clk in stub clock */
208*c66ec88fSEmmanuel Vadot #define HI3660_CLK_STUB_CLUSTER0	0
209*c66ec88fSEmmanuel Vadot #define HI3660_CLK_STUB_CLUSTER1	1
210*c66ec88fSEmmanuel Vadot #define HI3660_CLK_STUB_GPU		2
211*c66ec88fSEmmanuel Vadot #define HI3660_CLK_STUB_DDR		3
212*c66ec88fSEmmanuel Vadot #define HI3660_CLK_STUB_NUM		4
213*c66ec88fSEmmanuel Vadot 
214*c66ec88fSEmmanuel Vadot #endif	/* __DTS_HI3660_CLOCK_H */
215