rk3328-cru.h revision 1.1.1.4
1/*	$NetBSD: rk3328-cru.h,v 1.1.1.4 2019/05/25 11:29:13 jmcneill Exp $	*/
2
3/*
4 * Copyright (c) 2016 Rockchip Electronics Co. Ltd.
5 * Author: Elaine <zhangqing@rock-chips.com>
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 * GNU General Public License for more details.
16 */
17
18#ifndef _DT_BINDINGS_CLK_ROCKCHIP_RK3328_H
19#define _DT_BINDINGS_CLK_ROCKCHIP_RK3328_H
20
21/* core clocks */
22#define PLL_APLL		1
23#define PLL_DPLL		2
24#define PLL_CPLL		3
25#define PLL_GPLL		4
26#define PLL_NPLL		5
27#define ARMCLK			6
28
29/* sclk gates (special clocks) */
30#define SCLK_RTC32K		30
31#define SCLK_SDMMC_EXT		31
32#define SCLK_SPI		32
33#define SCLK_SDMMC		33
34#define SCLK_SDIO		34
35#define SCLK_EMMC		35
36#define SCLK_TSADC		36
37#define SCLK_SARADC		37
38#define SCLK_UART0		38
39#define SCLK_UART1		39
40#define SCLK_UART2		40
41#define SCLK_I2S0		41
42#define SCLK_I2S1		42
43#define SCLK_I2S2		43
44#define SCLK_I2S1_OUT		44
45#define SCLK_I2S2_OUT		45
46#define SCLK_SPDIF		46
47#define SCLK_TIMER0		47
48#define SCLK_TIMER1		48
49#define SCLK_TIMER2		49
50#define SCLK_TIMER3		50
51#define SCLK_TIMER4		51
52#define SCLK_TIMER5		52
53#define SCLK_WIFI		53
54#define SCLK_CIF_OUT		54
55#define SCLK_I2C0		55
56#define SCLK_I2C1		56
57#define SCLK_I2C2		57
58#define SCLK_I2C3		58
59#define SCLK_CRYPTO		59
60#define SCLK_PWM		60
61#define SCLK_PDM		61
62#define SCLK_EFUSE		62
63#define SCLK_OTP		63
64#define SCLK_DDRCLK		64
65#define SCLK_VDEC_CABAC		65
66#define SCLK_VDEC_CORE		66
67#define SCLK_VENC_DSP		67
68#define SCLK_VENC_CORE		68
69#define SCLK_RGA		69
70#define SCLK_HDMI_SFC		70
71#define SCLK_HDMI_CEC		71
72#define SCLK_USB3_REF		72
73#define SCLK_USB3_SUSPEND	73
74#define SCLK_SDMMC_DRV		74
75#define SCLK_SDIO_DRV		75
76#define SCLK_EMMC_DRV		76
77#define SCLK_SDMMC_EXT_DRV	77
78#define SCLK_SDMMC_SAMPLE	78
79#define SCLK_SDIO_SAMPLE	79
80#define SCLK_EMMC_SAMPLE	80
81#define SCLK_SDMMC_EXT_SAMPLE	81
82#define SCLK_VOP		82
83#define SCLK_MAC2PHY_RXTX	83
84#define SCLK_MAC2PHY_SRC	84
85#define SCLK_MAC2PHY_REF	85
86#define SCLK_MAC2PHY_OUT	86
87#define SCLK_MAC2IO_RX		87
88#define SCLK_MAC2IO_TX		88
89#define SCLK_MAC2IO_REFOUT	89
90#define SCLK_MAC2IO_REF		90
91#define SCLK_MAC2IO_OUT		91
92#define SCLK_TSP		92
93#define SCLK_HSADC_TSP		93
94#define SCLK_USB3PHY_REF	94
95#define SCLK_REF_USB3OTG	95
96#define SCLK_USB3OTG_REF	96
97#define SCLK_USB3OTG_SUSPEND	97
98#define SCLK_REF_USB3OTG_SRC	98
99#define SCLK_MAC2IO_SRC		99
100#define SCLK_MAC2IO		100
101#define SCLK_MAC2PHY		101
102#define SCLK_MAC2IO_EXT		102
103
104/* dclk gates */
105#define DCLK_LCDC		120
106#define DCLK_HDMIPHY		121
107#define HDMIPHY			122
108#define USB480M			123
109#define DCLK_LCDC_SRC		124
110
111/* aclk gates */
112#define ACLK_AXISRAM		130
113#define ACLK_VOP_PRE		131
114#define ACLK_USB3OTG		132
115#define ACLK_RGA_PRE		133
116#define ACLK_DMAC		134
117#define ACLK_GPU		135
118#define ACLK_BUS_PRE		136
119#define ACLK_PERI_PRE		137
120#define ACLK_RKVDEC_PRE		138
121#define ACLK_RKVDEC		139
122#define ACLK_RKVENC		140
123#define ACLK_VPU_PRE		141
124#define ACLK_VIO_PRE		142
125#define ACLK_VPU		143
126#define ACLK_VIO		144
127#define ACLK_VOP		145
128#define ACLK_GMAC		146
129#define ACLK_H265		147
130#define ACLK_H264		148
131#define ACLK_MAC2PHY		149
132#define ACLK_MAC2IO		150
133#define ACLK_DCF		151
134#define ACLK_TSP		152
135#define ACLK_PERI		153
136#define ACLK_RGA		154
137#define ACLK_IEP		155
138#define ACLK_CIF		156
139#define ACLK_HDCP		157
140
141/* pclk gates */
142#define PCLK_GPIO0		200
143#define PCLK_GPIO1		201
144#define PCLK_GPIO2		202
145#define PCLK_GPIO3		203
146#define PCLK_GRF		204
147#define PCLK_I2C0		205
148#define PCLK_I2C1		206
149#define PCLK_I2C2		207
150#define PCLK_I2C3		208
151#define PCLK_SPI		209
152#define PCLK_UART0		210
153#define PCLK_UART1		211
154#define PCLK_UART2		212
155#define PCLK_TSADC		213
156#define PCLK_PWM		214
157#define PCLK_TIMER		215
158#define PCLK_BUS_PRE		216
159#define PCLK_PERI_PRE		217
160#define PCLK_HDMI_CTRL		218
161#define PCLK_HDMI_PHY		219
162#define PCLK_GMAC		220
163#define PCLK_H265		221
164#define PCLK_MAC2PHY		222
165#define PCLK_MAC2IO		223
166#define PCLK_USB3PHY_OTG	224
167#define PCLK_USB3PHY_PIPE	225
168#define PCLK_USB3_GRF		226
169#define PCLK_USB2_GRF		227
170#define PCLK_HDMIPHY		228
171#define PCLK_DDR		229
172#define PCLK_PERI		230
173#define PCLK_HDMI		231
174#define PCLK_HDCP		232
175#define PCLK_DCF		233
176#define PCLK_SARADC		234
177#define PCLK_ACODECPHY		235
178
179/* hclk gates */
180#define HCLK_PERI		308
181#define HCLK_TSP		309
182#define HCLK_GMAC		310
183#define HCLK_I2S0_8CH		311
184#define HCLK_I2S1_8CH		312
185#define HCLK_I2S2_2CH		313
186#define HCLK_SPDIF_8CH		314
187#define HCLK_VOP		315
188#define HCLK_NANDC		316
189#define HCLK_SDMMC		317
190#define HCLK_SDIO		318
191#define HCLK_EMMC		319
192#define HCLK_SDMMC_EXT		320
193#define HCLK_RKVDEC_PRE		321
194#define HCLK_RKVDEC		322
195#define HCLK_RKVENC		323
196#define HCLK_VPU_PRE		324
197#define HCLK_VIO_PRE		325
198#define HCLK_VPU		326
199#define HCLK_BUS_PRE		328
200#define HCLK_PERI_PRE		329
201#define HCLK_H264		330
202#define HCLK_CIF		331
203#define HCLK_OTG_PMU		332
204#define HCLK_OTG		333
205#define HCLK_HOST0		334
206#define HCLK_HOST0_ARB		335
207#define HCLK_CRYPTO_MST		336
208#define HCLK_CRYPTO_SLV		337
209#define HCLK_PDM		338
210#define HCLK_IEP		339
211#define HCLK_RGA		340
212#define HCLK_HDCP		341
213
214#define CLK_NR_CLKS		(HCLK_HDCP + 1)
215
216/* soft-reset indices */
217#define SRST_CORE0_PO		0
218#define SRST_CORE1_PO		1
219#define SRST_CORE2_PO		2
220#define SRST_CORE3_PO		3
221#define SRST_CORE0		4
222#define SRST_CORE1		5
223#define SRST_CORE2		6
224#define SRST_CORE3		7
225#define SRST_CORE0_DBG		8
226#define SRST_CORE1_DBG		9
227#define SRST_CORE2_DBG		10
228#define SRST_CORE3_DBG		11
229#define SRST_TOPDBG		12
230#define SRST_CORE_NIU		13
231#define SRST_STRC_A		14
232#define SRST_L2C		15
233
234#define SRST_A53_GIC		18
235#define SRST_DAP		19
236#define SRST_PMU_P		21
237#define SRST_EFUSE		22
238#define SRST_BUSSYS_H		23
239#define SRST_BUSSYS_P		24
240#define SRST_SPDIF		25
241#define SRST_INTMEM		26
242#define SRST_ROM		27
243#define SRST_GPIO0		28
244#define SRST_GPIO1		29
245#define SRST_GPIO2		30
246#define SRST_GPIO3		31
247
248#define SRST_I2S0		32
249#define SRST_I2S1		33
250#define SRST_I2S2		34
251#define SRST_I2S0_H		35
252#define SRST_I2S1_H		36
253#define SRST_I2S2_H		37
254#define SRST_UART0		38
255#define SRST_UART1		39
256#define SRST_UART2		40
257#define SRST_UART0_P		41
258#define SRST_UART1_P		42
259#define SRST_UART2_P		43
260#define SRST_I2C0		44
261#define SRST_I2C1		45
262#define SRST_I2C2		46
263#define SRST_I2C3		47
264
265#define SRST_I2C0_P		48
266#define SRST_I2C1_P		49
267#define SRST_I2C2_P		50
268#define SRST_I2C3_P		51
269#define SRST_EFUSE_SE_P		52
270#define SRST_EFUSE_NS_P		53
271#define SRST_PWM0		54
272#define SRST_PWM0_P		55
273#define SRST_DMA		56
274#define SRST_TSP_A		57
275#define SRST_TSP_H		58
276#define SRST_TSP		59
277#define SRST_TSP_HSADC		60
278#define SRST_DCF_A		61
279#define SRST_DCF_P		62
280
281#define SRST_SCR		64
282#define SRST_SPI		65
283#define SRST_TSADC		66
284#define SRST_TSADC_P		67
285#define SRST_CRYPTO		68
286#define SRST_SGRF		69
287#define SRST_GRF		70
288#define SRST_USB_GRF		71
289#define SRST_TIMER_6CH_P	72
290#define SRST_TIMER0		73
291#define SRST_TIMER1		74
292#define SRST_TIMER2		75
293#define SRST_TIMER3		76
294#define SRST_TIMER4		77
295#define SRST_TIMER5		78
296#define SRST_USB3GRF		79
297
298#define SRST_PHYNIU		80
299#define SRST_HDMIPHY		81
300#define SRST_VDAC		82
301#define SRST_ACODEC_p		83
302#define SRST_SARADC		85
303#define SRST_SARADC_P		86
304#define SRST_GRF_DDR		87
305#define SRST_DFIMON		88
306#define SRST_MSCH		89
307#define SRST_DDRMSCH		91
308#define SRST_DDRCTRL		92
309#define SRST_DDRCTRL_P		93
310#define SRST_DDRPHY		94
311#define SRST_DDRPHY_P		95
312
313#define SRST_GMAC_NIU_A		96
314#define SRST_GMAC_NIU_P		97
315#define SRST_GMAC2PHY_A		98
316#define SRST_GMAC2IO_A		99
317#define SRST_MACPHY		100
318#define SRST_OTP_PHY		101
319#define SRST_GPU_A		102
320#define SRST_GPU_NIU_A		103
321#define SRST_SDMMCEXT		104
322#define SRST_PERIPH_NIU_A	105
323#define SRST_PERIHP_NIU_H	106
324#define SRST_PERIHP_P		107
325#define SRST_PERIPHSYS_H	108
326#define SRST_MMC0		109
327#define SRST_SDIO		110
328#define SRST_EMMC		111
329
330#define SRST_USB2OTG_H		112
331#define SRST_USB2OTG		113
332#define SRST_USB2OTG_ADP	114
333#define SRST_USB2HOST_H		115
334#define SRST_USB2HOST_ARB	116
335#define SRST_USB2HOST_AUX	117
336#define SRST_USB2HOST_EHCIPHY	118
337#define SRST_USB2HOST_UTMI	119
338#define SRST_USB3OTG		120
339#define SRST_USBPOR		121
340#define SRST_USB2OTG_UTMI	122
341#define SRST_USB2HOST_PHY_UTMI	123
342#define SRST_USB3OTG_UTMI	124
343#define SRST_USB3PHY_U2		125
344#define SRST_USB3PHY_U3		126
345#define SRST_USB3PHY_PIPE	127
346
347#define SRST_VIO_A		128
348#define SRST_VIO_BUS_H		129
349#define SRST_VIO_H2P_H		130
350#define SRST_VIO_ARBI_H		131
351#define SRST_VOP_NIU_A		132
352#define SRST_VOP_A		133
353#define SRST_VOP_H		134
354#define SRST_VOP_D		135
355#define SRST_RGA		136
356#define SRST_RGA_NIU_A		137
357#define SRST_RGA_A		138
358#define SRST_RGA_H		139
359#define SRST_IEP_A		140
360#define SRST_IEP_H		141
361#define SRST_HDMI		142
362#define SRST_HDMI_P		143
363
364#define SRST_HDCP_A		144
365#define SRST_HDCP		145
366#define SRST_HDCP_H		146
367#define SRST_CIF_A		147
368#define SRST_CIF_H		148
369#define SRST_CIF_P		149
370#define SRST_OTP_P		150
371#define SRST_OTP_SBPI		151
372#define SRST_OTP_USER		152
373#define SRST_DDRCTRL_A		153
374#define SRST_DDRSTDY_P		154
375#define SRST_DDRSTDY		155
376#define SRST_PDM_H		156
377#define SRST_PDM		157
378#define SRST_USB3PHY_OTG_P	158
379#define SRST_USB3PHY_PIPE_P	159
380
381#define SRST_VCODEC_A		160
382#define SRST_VCODEC_NIU_A	161
383#define SRST_VCODEC_H		162
384#define SRST_VCODEC_NIU_H	163
385#define SRST_VDEC_A		164
386#define SRST_VDEC_NIU_A		165
387#define SRST_VDEC_H		166
388#define SRST_VDEC_NIU_H		167
389#define SRST_VDEC_CORE		168
390#define SRST_VDEC_CABAC		169
391#define SRST_DDRPHYDIV		175
392
393#define SRST_RKVENC_NIU_A	176
394#define SRST_RKVENC_NIU_H	177
395#define SRST_RKVENC_H265_A	178
396#define SRST_RKVENC_H265_P	179
397#define SRST_RKVENC_H265_CORE	180
398#define SRST_RKVENC_H265_DSP	181
399#define SRST_RKVENC_H264_A	182
400#define SRST_RKVENC_H264_H	183
401#define SRST_RKVENC_INTMEM	184
402
403#endif
404