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

source code of linux/include/dt-bindings/clock/hi3670-clock.h