1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Device Tree binding constants for HiSilicon Hi3670 SoC
4  *
5  * Copyright (c) 2001-2021, Huawei Tech. Co., Ltd.
6  * Copyright (c) 2018 Linaro Ltd.
7  */
8 
9 #ifndef __DT_BINDINGS_CLOCK_HI3670_H
10 #define __DT_BINDINGS_CLOCK_HI3670_H
11 
12 /* clk in stub clock */
13 #define HI3670_CLK_STUB_CLUSTER0		0
14 #define HI3670_CLK_STUB_CLUSTER1		1
15 #define HI3670_CLK_STUB_GPU			2
16 #define HI3670_CLK_STUB_DDR			3
17 #define HI3670_CLK_STUB_DDR_VOTE		4
18 #define HI3670_CLK_STUB_DDR_LIMIT		5
19 #define HI3670_CLK_STUB_NUM			6
20 
21 /* clk in crg clock */
22 #define HI3670_CLKIN_SYS			0
23 #define HI3670_CLKIN_REF			1
24 #define HI3670_CLK_FLL_SRC			2
25 #define HI3670_CLK_PPLL0			3
26 #define HI3670_CLK_PPLL1			4
27 #define HI3670_CLK_PPLL2			5
28 #define HI3670_CLK_PPLL3			6
29 #define HI3670_CLK_PPLL4			7
30 #define HI3670_CLK_PPLL6			8
31 #define HI3670_CLK_PPLL7			9
32 #define HI3670_CLK_PPLL_PCIE			10
33 #define HI3670_CLK_PCIEPLL_REV			11
34 #define HI3670_CLK_SCPLL			12
35 #define HI3670_PCLK				13
36 #define HI3670_CLK_UART0_DBG			14
37 #define HI3670_CLK_UART6			15
38 #define HI3670_OSC32K				16
39 #define HI3670_OSC19M				17
40 #define HI3670_CLK_480M				18
41 #define HI3670_CLK_INVALID			19
42 #define HI3670_CLK_DIV_SYSBUS			20
43 #define HI3670_CLK_FACTOR_MMC			21
44 #define HI3670_CLK_SD_SYS			22
45 #define HI3670_CLK_SDIO_SYS			23
46 #define HI3670_CLK_DIV_A53HPM			24
47 #define HI3670_CLK_DIV_320M			25
48 #define HI3670_PCLK_GATE_UART0			26
49 #define HI3670_CLK_FACTOR_UART0			27
50 #define HI3670_CLK_FACTOR_USB3PHY_PLL		28
51 #define HI3670_CLK_GATE_ABB_USB			29
52 #define HI3670_CLK_GATE_UFSPHY_REF		30
53 #define HI3670_ICS_VOLT_HIGH			31
54 #define HI3670_ICS_VOLT_MIDDLE			32
55 #define HI3670_VENC_VOLT_HOLD			33
56 #define HI3670_VDEC_VOLT_HOLD			34
57 #define HI3670_EDC_VOLT_HOLD			35
58 #define HI3670_CLK_ISP_SNCLK_FAC		36
59 #define HI3670_CLK_FACTOR_RXDPHY		37
60 #define HI3670_AUTODIV_SYSBUS			38
61 #define HI3670_AUTODIV_EMMC0BUS			39
62 #define HI3670_PCLK_ANDGT_MMC1_PCIE		40
63 #define HI3670_CLK_GATE_VCODECBUS_GT		41
64 #define HI3670_CLK_ANDGT_SD			42
65 #define HI3670_CLK_SD_SYS_GT			43
66 #define HI3670_CLK_ANDGT_SDIO			44
67 #define HI3670_CLK_SDIO_SYS_GT			45
68 #define HI3670_CLK_A53HPM_ANDGT			46
69 #define HI3670_CLK_320M_PLL_GT			47
70 #define HI3670_CLK_ANDGT_UARTH			48
71 #define HI3670_CLK_ANDGT_UARTL			49
72 #define HI3670_CLK_ANDGT_UART0			50
73 #define HI3670_CLK_ANDGT_SPI			51
74 #define HI3670_CLK_ANDGT_PCIEAXI		52
75 #define HI3670_CLK_DIV_AO_ASP_GT		53
76 #define HI3670_CLK_GATE_CSI_TRANS		54
77 #define HI3670_CLK_GATE_DSI_TRANS		55
78 #define HI3670_CLK_ANDGT_PTP			56
79 #define HI3670_CLK_ANDGT_OUT0			57
80 #define HI3670_CLK_ANDGT_OUT1			58
81 #define HI3670_CLKGT_DP_AUDIO_PLL_AO		59
82 #define HI3670_CLK_ANDGT_VDEC			60
83 #define HI3670_CLK_ANDGT_VENC			61
84 #define HI3670_CLK_ISP_SNCLK_ANGT		62
85 #define HI3670_CLK_ANDGT_RXDPHY			63
86 #define HI3670_CLK_ANDGT_ICS			64
87 #define HI3670_AUTODIV_DMABUS			65
88 #define HI3670_CLK_MUX_SYSBUS			66
89 #define HI3670_CLK_MUX_VCODECBUS		67
90 #define HI3670_CLK_MUX_SD_SYS			68
91 #define HI3670_CLK_MUX_SD_PLL			69
92 #define HI3670_CLK_MUX_SDIO_SYS			70
93 #define HI3670_CLK_MUX_SDIO_PLL			71
94 #define HI3670_CLK_MUX_A53HPM			72
95 #define HI3670_CLK_MUX_320M			73
96 #define HI3670_CLK_MUX_UARTH			74
97 #define HI3670_CLK_MUX_UARTL			75
98 #define HI3670_CLK_MUX_UART0			76
99 #define HI3670_CLK_MUX_I2C			77
100 #define HI3670_CLK_MUX_SPI			78
101 #define HI3670_CLK_MUX_PCIEAXI			79
102 #define HI3670_CLK_MUX_AO_ASP			80
103 #define HI3670_CLK_MUX_VDEC			81
104 #define HI3670_CLK_MUX_VENC			82
105 #define HI3670_CLK_ISP_SNCLK_MUX0		83
106 #define HI3670_CLK_ISP_SNCLK_MUX1		84
107 #define HI3670_CLK_ISP_SNCLK_MUX2		85
108 #define HI3670_CLK_MUX_RXDPHY_CFG		86
109 #define HI3670_CLK_MUX_ICS			87
110 #define HI3670_CLK_DIV_CFGBUS			88
111 #define HI3670_CLK_DIV_MMC0BUS			89
112 #define HI3670_CLK_DIV_MMC1BUS			90
113 #define HI3670_PCLK_DIV_MMC1_PCIE		91
114 #define HI3670_CLK_DIV_VCODECBUS		92
115 #define HI3670_CLK_DIV_SD			93
116 #define HI3670_CLK_DIV_SDIO			94
117 #define HI3670_CLK_DIV_UARTH			95
118 #define HI3670_CLK_DIV_UARTL			96
119 #define HI3670_CLK_DIV_UART0			97
120 #define HI3670_CLK_DIV_I2C			98
121 #define HI3670_CLK_DIV_SPI			99
122 #define HI3670_CLK_DIV_PCIEAXI			100
123 #define HI3670_CLK_DIV_AO_ASP			101
124 #define HI3670_CLK_DIV_CSI_TRANS		102
125 #define HI3670_CLK_DIV_DSI_TRANS		103
126 #define HI3670_CLK_DIV_PTP			104
127 #define HI3670_CLK_DIV_CLKOUT0_PLL		105
128 #define HI3670_CLK_DIV_CLKOUT1_PLL		106
129 #define HI3670_CLKDIV_DP_AUDIO_PLL_AO		107
130 #define HI3670_CLK_DIV_VDEC			108
131 #define HI3670_CLK_DIV_VENC			109
132 #define HI3670_CLK_ISP_SNCLK_DIV0		110
133 #define HI3670_CLK_ISP_SNCLK_DIV1		111
134 #define HI3670_CLK_ISP_SNCLK_DIV2		112
135 #define HI3670_CLK_DIV_ICS			113
136 #define HI3670_PPLL1_EN_ACPU			114
137 #define HI3670_PPLL2_EN_ACPU			115
138 #define HI3670_PPLL3_EN_ACPU			116
139 #define HI3670_PPLL1_GT_CPU			117
140 #define HI3670_PPLL2_GT_CPU			118
141 #define HI3670_PPLL3_GT_CPU			119
142 #define HI3670_CLK_GATE_PPLL2_MEDIA		120
143 #define HI3670_CLK_GATE_PPLL3_MEDIA		121
144 #define HI3670_CLK_GATE_PPLL4_MEDIA		122
145 #define HI3670_CLK_GATE_PPLL6_MEDIA		123
146 #define HI3670_CLK_GATE_PPLL7_MEDIA		124
147 #define HI3670_PCLK_GPIO0			125
148 #define HI3670_PCLK_GPIO1			126
149 #define HI3670_PCLK_GPIO2			127
150 #define HI3670_PCLK_GPIO3			128
151 #define HI3670_PCLK_GPIO4			129
152 #define HI3670_PCLK_GPIO5			130
153 #define HI3670_PCLK_GPIO6			131
154 #define HI3670_PCLK_GPIO7			132
155 #define HI3670_PCLK_GPIO8			133
156 #define HI3670_PCLK_GPIO9			134
157 #define HI3670_PCLK_GPIO10			135
158 #define HI3670_PCLK_GPIO11			136
159 #define HI3670_PCLK_GPIO12			137
160 #define HI3670_PCLK_GPIO13			138
161 #define HI3670_PCLK_GPIO14			139
162 #define HI3670_PCLK_GPIO15			140
163 #define HI3670_PCLK_GPIO16			141
164 #define HI3670_PCLK_GPIO17			142
165 #define HI3670_PCLK_GPIO20			143
166 #define HI3670_PCLK_GPIO21			144
167 #define HI3670_PCLK_GATE_DSI0			145
168 #define HI3670_PCLK_GATE_DSI1			146
169 #define HI3670_HCLK_GATE_USB3OTG		147
170 #define HI3670_ACLK_GATE_USB3DVFS		148
171 #define HI3670_HCLK_GATE_SDIO			149
172 #define HI3670_PCLK_GATE_PCIE_SYS		150
173 #define HI3670_PCLK_GATE_PCIE_PHY		151
174 #define HI3670_PCLK_GATE_MMC1_PCIE		152
175 #define HI3670_PCLK_GATE_MMC0_IOC		153
176 #define HI3670_PCLK_GATE_MMC1_IOC		154
177 #define HI3670_CLK_GATE_DMAC			155
178 #define HI3670_CLK_GATE_VCODECBUS2DDR		156
179 #define HI3670_CLK_CCI400_BYPASS		157
180 #define HI3670_CLK_GATE_CCI400			158
181 #define HI3670_CLK_GATE_SD			159
182 #define HI3670_HCLK_GATE_SD			160
183 #define HI3670_CLK_GATE_SDIO			161
184 #define HI3670_CLK_GATE_A57HPM			162
185 #define HI3670_CLK_GATE_A53HPM			163
186 #define HI3670_CLK_GATE_PA_A53			164
187 #define HI3670_CLK_GATE_PA_A57			165
188 #define HI3670_CLK_GATE_PA_G3D			166
189 #define HI3670_CLK_GATE_GPUHPM			167
190 #define HI3670_CLK_GATE_PERIHPM			168
191 #define HI3670_CLK_GATE_AOHPM			169
192 #define HI3670_CLK_GATE_UART1			170
193 #define HI3670_CLK_GATE_UART4			171
194 #define HI3670_PCLK_GATE_UART1			172
195 #define HI3670_PCLK_GATE_UART4			173
196 #define HI3670_CLK_GATE_UART2			174
197 #define HI3670_CLK_GATE_UART5			175
198 #define HI3670_PCLK_GATE_UART2			176
199 #define HI3670_PCLK_GATE_UART5			177
200 #define HI3670_CLK_GATE_UART0			178
201 #define HI3670_CLK_GATE_I2C3			179
202 #define HI3670_CLK_GATE_I2C4			180
203 #define HI3670_CLK_GATE_I2C7			181
204 #define HI3670_PCLK_GATE_I2C3			182
205 #define HI3670_PCLK_GATE_I2C4			183
206 #define HI3670_PCLK_GATE_I2C7			184
207 #define HI3670_CLK_GATE_SPI1			185
208 #define HI3670_CLK_GATE_SPI4			186
209 #define HI3670_PCLK_GATE_SPI1			187
210 #define HI3670_PCLK_GATE_SPI4			188
211 #define HI3670_CLK_GATE_USB3OTG_REF		189
212 #define HI3670_CLK_GATE_USB2PHY_REF		190
213 #define HI3670_CLK_GATE_PCIEAUX			191
214 #define HI3670_ACLK_GATE_PCIE			192
215 #define HI3670_CLK_GATE_MMC1_PCIEAXI		193
216 #define HI3670_CLK_GATE_PCIEPHY_REF		194
217 #define HI3670_CLK_GATE_PCIE_DEBOUNCE		195
218 #define HI3670_CLK_GATE_PCIEIO			196
219 #define HI3670_CLK_GATE_PCIE_HP			197
220 #define HI3670_CLK_GATE_AO_ASP			198
221 #define HI3670_PCLK_GATE_PCTRL			199
222 #define HI3670_CLK_CSI_TRANS_GT			200
223 #define HI3670_CLK_DSI_TRANS_GT			201
224 #define HI3670_CLK_GATE_PWM			202
225 #define HI3670_ABB_AUDIO_EN0			203
226 #define HI3670_ABB_AUDIO_EN1			204
227 #define HI3670_ABB_AUDIO_GT_EN0			205
228 #define HI3670_ABB_AUDIO_GT_EN1			206
229 #define HI3670_CLK_GATE_DP_AUDIO_PLL_AO		207
230 #define HI3670_PERI_VOLT_HOLD			208
231 #define HI3670_PERI_VOLT_MIDDLE			209
232 #define HI3670_CLK_GATE_ISP_SNCLK0		210
233 #define HI3670_CLK_GATE_ISP_SNCLK1		211
234 #define HI3670_CLK_GATE_ISP_SNCLK2		212
235 #define HI3670_CLK_GATE_RXDPHY0_CFG		213
236 #define HI3670_CLK_GATE_RXDPHY1_CFG		214
237 #define HI3670_CLK_GATE_RXDPHY2_CFG		215
238 #define HI3670_CLK_GATE_TXDPHY0_CFG		216
239 #define HI3670_CLK_GATE_TXDPHY0_REF		217
240 #define HI3670_CLK_GATE_TXDPHY1_CFG		218
241 #define HI3670_CLK_GATE_TXDPHY1_REF		219
242 #define HI3670_CLK_GATE_MEDIA_TCXO		220
243 
244 /* clk in sctrl */
245 #define HI3670_CLK_ANDGT_IOPERI			0
246 #define HI3670_CLKANDGT_ASP_SUBSYS_PERI		1
247 #define HI3670_CLK_ANGT_ASP_SUBSYS		2
248 #define HI3670_CLK_MUX_UFS_SUBSYS		3
249 #define HI3670_CLK_MUX_CLKOUT0			4
250 #define HI3670_CLK_MUX_CLKOUT1			5
251 #define HI3670_CLK_MUX_ASP_SUBSYS_PERI		6
252 #define HI3670_CLK_MUX_ASP_PLL			7
253 #define HI3670_CLK_DIV_AOBUS			8
254 #define HI3670_CLK_DIV_UFS_SUBSYS		9
255 #define HI3670_CLK_DIV_IOPERI			10
256 #define HI3670_CLK_DIV_CLKOUT0_TCXO		11
257 #define HI3670_CLK_DIV_CLKOUT1_TCXO		12
258 #define HI3670_CLK_ASP_SUBSYS_PERI_DIV		13
259 #define HI3670_CLK_DIV_ASP_SUBSYS		14
260 #define HI3670_PPLL0_EN_ACPU			15
261 #define HI3670_PPLL0_GT_CPU			16
262 #define HI3670_CLK_GATE_PPLL0_MEDIA		17
263 #define HI3670_PCLK_GPIO18			18
264 #define HI3670_PCLK_GPIO19			19
265 #define HI3670_CLK_GATE_SPI			20
266 #define HI3670_PCLK_GATE_SPI			21
267 #define HI3670_CLK_GATE_UFS_SUBSYS		22
268 #define HI3670_CLK_GATE_UFSIO_REF		23
269 #define HI3670_PCLK_AO_GPIO0			24
270 #define HI3670_PCLK_AO_GPIO1			25
271 #define HI3670_PCLK_AO_GPIO2			26
272 #define HI3670_PCLK_AO_GPIO3			27
273 #define HI3670_PCLK_AO_GPIO4			28
274 #define HI3670_PCLK_AO_GPIO5			29
275 #define HI3670_PCLK_AO_GPIO6			30
276 #define HI3670_CLK_GATE_OUT0			31
277 #define HI3670_CLK_GATE_OUT1			32
278 #define HI3670_PCLK_GATE_SYSCNT			33
279 #define HI3670_CLK_GATE_SYSCNT			34
280 #define HI3670_CLK_GATE_ASP_SUBSYS_PERI		35
281 #define HI3670_CLK_GATE_ASP_SUBSYS		36
282 #define HI3670_CLK_GATE_ASP_TCXO		37
283 #define HI3670_CLK_GATE_DP_AUDIO_PLL		38
284 
285 /* clk in pmuctrl */
286 #define HI3670_GATE_ABB_192			0
287 
288 /* clk in pctrl */
289 #define HI3670_GATE_UFS_TCXO_EN			0
290 #define HI3670_GATE_USB_TCXO_EN			1
291 
292 /* clk in iomcu */
293 #define HI3670_CLK_GATE_I2C0			0
294 #define HI3670_CLK_GATE_I2C1			1
295 #define HI3670_CLK_GATE_I2C2			2
296 #define HI3670_CLK_GATE_SPI0			3
297 #define HI3670_CLK_GATE_SPI2			4
298 #define HI3670_CLK_GATE_UART3			5
299 #define HI3670_CLK_I2C0_GATE_IOMCU		6
300 #define HI3670_CLK_I2C1_GATE_IOMCU		7
301 #define HI3670_CLK_I2C2_GATE_IOMCU		8
302 #define HI3670_CLK_SPI0_GATE_IOMCU		9
303 #define HI3670_CLK_SPI2_GATE_IOMCU		10
304 #define HI3670_CLK_UART3_GATE_IOMCU		11
305 #define HI3670_CLK_GATE_PERI0_IOMCU		12
306 
307 /* clk in media1 */
308 #define HI3670_CLK_GATE_VIVOBUS_ANDGT		0
309 #define HI3670_CLK_ANDGT_EDC0			1
310 #define HI3670_CLK_ANDGT_LDI0			2
311 #define HI3670_CLK_ANDGT_LDI1			3
312 #define HI3670_CLK_MMBUF_PLL_ANDGT		4
313 #define HI3670_PCLK_MMBUF_ANDGT			5
314 #define HI3670_CLK_MUX_VIVOBUS			6
315 #define HI3670_CLK_MUX_EDC0			7
316 #define HI3670_CLK_MUX_LDI0			8
317 #define HI3670_CLK_MUX_LDI1			9
318 #define HI3670_CLK_SW_MMBUF			10
319 #define HI3670_CLK_DIV_VIVOBUS			11
320 #define HI3670_CLK_DIV_EDC0			12
321 #define HI3670_CLK_DIV_LDI0			13
322 #define HI3670_CLK_DIV_LDI1			14
323 #define HI3670_ACLK_DIV_MMBUF			15
324 #define HI3670_PCLK_DIV_MMBUF			16
325 #define HI3670_ACLK_GATE_NOC_DSS		17
326 #define HI3670_PCLK_GATE_NOC_DSS_CFG		18
327 #define HI3670_PCLK_GATE_MMBUF_CFG		19
328 #define HI3670_PCLK_GATE_DISP_NOC_SUBSYS	20
329 #define HI3670_ACLK_GATE_DISP_NOC_SUBSYS	21
330 #define HI3670_PCLK_GATE_DSS			22
331 #define HI3670_ACLK_GATE_DSS			23
332 #define HI3670_CLK_GATE_VIVOBUSFREQ		24
333 #define HI3670_CLK_GATE_EDC0			25
334 #define HI3670_CLK_GATE_LDI0			26
335 #define HI3670_CLK_GATE_LDI1FREQ		27
336 #define HI3670_CLK_GATE_BRG			28
337 #define HI3670_ACLK_GATE_ASC			29
338 #define HI3670_CLK_GATE_DSS_AXI_MM		30
339 #define HI3670_CLK_GATE_MMBUF			31
340 #define HI3670_PCLK_GATE_MMBUF			32
341 #define HI3670_CLK_GATE_ATDIV_VIVO		33
342 
343 /* clk in media2 */
344 #define HI3670_CLK_GATE_VDECFREQ		0
345 #define HI3670_CLK_GATE_VENCFREQ		1
346 #define HI3670_CLK_GATE_ICSFREQ			2
347 
348 #endif /* __DT_BINDINGS_CLOCK_HI3670_H */
349