1/*
2 * Copyright (c) 2015 Rockchip Electronics Co. Ltd.
3 * Author: Jeffy Chen <jeffy.chen@rock-chips.com>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 * GNU General Public License for more details.
14 */
15
16#ifndef _DT_BINDINGS_CLK_ROCKCHIP_RK3228_H
17#define _DT_BINDINGS_CLK_ROCKCHIP_RK3228_H
18
19/* core clocks */
20#define PLL_APLL		1
21#define PLL_DPLL		2
22#define PLL_CPLL		3
23#define PLL_GPLL		4
24#define ARMCLK			5
25
26/* sclk gates (special clocks) */
27#define SCLK_SPI0		65
28#define SCLK_NANDC		67
29#define SCLK_SDMMC		68
30#define SCLK_SDIO		69
31#define SCLK_EMMC		71
32#define SCLK_UART0		77
33#define SCLK_UART1		78
34#define SCLK_UART2		79
35#define SCLK_I2S0		80
36#define SCLK_I2S1		81
37#define SCLK_I2S2		82
38#define SCLK_SPDIF		83
39#define SCLK_TIMER0		85
40#define SCLK_TIMER1		86
41#define SCLK_TIMER2		87
42#define SCLK_TIMER3		88
43#define SCLK_TIMER4		89
44#define SCLK_TIMER5		90
45#define SCLK_I2S_OUT		113
46#define SCLK_SDMMC_DRV		114
47#define SCLK_SDIO_DRV		115
48#define SCLK_EMMC_DRV		117
49#define SCLK_SDMMC_SAMPLE	118
50#define SCLK_SDIO_SAMPLE	119
51#define SCLK_EMMC_SAMPLE	121
52
53/* aclk gates */
54#define ACLK_DMAC		194
55#define ACLK_PERI		210
56
57/* pclk gates */
58#define PCLK_GPIO0		320
59#define PCLK_GPIO1		321
60#define PCLK_GPIO2		322
61#define PCLK_GPIO3		323
62#define PCLK_GRF		329
63#define PCLK_I2C0		332
64#define PCLK_I2C1		333
65#define PCLK_I2C2		334
66#define PCLK_I2C3		335
67#define PCLK_SPI0		338
68#define PCLK_UART0		341
69#define PCLK_UART1		342
70#define PCLK_UART2		343
71#define PCLK_PWM		350
72#define PCLK_TIMER		353
73#define PCLK_PERI		363
74
75/* hclk gates */
76#define HCLK_NANDC		453
77#define HCLK_SDMMC		456
78#define HCLK_SDIO		457
79#define HCLK_EMMC		459
80#define HCLK_PERI		478
81
82#define CLK_NR_CLKS		(HCLK_PERI + 1)
83
84/* soft-reset indices */
85#define SRST_CORE0_PO		0
86#define SRST_CORE1_PO		1
87#define SRST_CORE2_PO		2
88#define SRST_CORE3_PO		3
89#define SRST_CORE0		4
90#define SRST_CORE1		5
91#define SRST_CORE2		6
92#define SRST_CORE3		7
93#define SRST_CORE0_DBG		8
94#define SRST_CORE1_DBG		9
95#define SRST_CORE2_DBG		10
96#define SRST_CORE3_DBG		11
97#define SRST_TOPDBG		12
98#define SRST_ACLK_CORE		13
99#define SRST_NOC		14
100#define SRST_L2C		15
101
102#define SRST_CPUSYS_H		18
103#define SRST_BUSSYS_H		19
104#define SRST_SPDIF		20
105#define SRST_INTMEM		21
106#define SRST_ROM		22
107#define SRST_OTG_ADP		23
108#define SRST_I2S0		24
109#define SRST_I2S1		25
110#define SRST_I2S2		26
111#define SRST_ACODEC_P		27
112#define SRST_DFIMON		28
113#define SRST_MSCH		29
114#define SRST_EFUSE1024		30
115#define SRST_EFUSE256		31
116
117#define SRST_GPIO0		32
118#define SRST_GPIO1		33
119#define SRST_GPIO2		34
120#define SRST_GPIO3		35
121#define SRST_PERIPH_NOC_A	36
122#define SRST_PERIPH_NOC_BUS_H	37
123#define SRST_PERIPH_NOC_P	38
124#define SRST_UART0		39
125#define SRST_UART1		40
126#define SRST_UART2		41
127#define SRST_PHYNOC		42
128#define SRST_I2C0		43
129#define SRST_I2C1		44
130#define SRST_I2C2		45
131#define SRST_I2C3		46
132
133#define SRST_PWM		48
134#define SRST_A53_GIC		49
135#define SRST_DAP		51
136#define SRST_DAP_NOC		52
137#define SRST_CRYPTO		53
138#define SRST_SGRF		54
139#define SRST_GRF		55
140#define SRST_GMAC		56
141#define SRST_PERIPH_NOC_H	58
142#define SRST_MACPHY		63
143
144#define SRST_DMA		64
145#define SRST_NANDC		68
146#define SRST_USBOTG		69
147#define SRST_OTGC		70
148#define SRST_USBHOST0		71
149#define SRST_HOST_CTRL0		72
150#define SRST_USBHOST1		73
151#define SRST_HOST_CTRL1		74
152#define SRST_USBHOST2		75
153#define SRST_HOST_CTRL2		76
154#define SRST_USBPOR0		77
155#define SRST_USBPOR1		78
156#define SRST_DDRMSCH		79
157
158#define SRST_SMART_CARD		80
159#define SRST_SDMMC		81
160#define SRST_SDIO		82
161#define SRST_EMMC		83
162#define SRST_SPI		84
163#define SRST_TSP_H		85
164#define SRST_TSP		86
165#define SRST_TSADC		87
166#define SRST_DDRPHY		88
167#define SRST_DDRPHY_P		89
168#define SRST_DDRCTRL		90
169#define SRST_DDRCTRL_P		91
170#define SRST_HOST0_ECHI		92
171#define SRST_HOST1_ECHI		93
172#define SRST_HOST2_ECHI		94
173#define SRST_VOP_NOC_A		95
174
175#define SRST_HDMI_P		96
176#define SRST_VIO_ARBI_H		97
177#define SRST_IEP_NOC_A		98
178#define SRST_VIO_NOC_H		99
179#define SRST_VOP_A		100
180#define SRST_VOP_H		101
181#define SRST_VOP_D		102
182#define SRST_UTMI0		103
183#define SRST_UTMI1		104
184#define SRST_UTMI2		105
185#define SRST_UTMI3		106
186#define SRST_RGA		107
187#define SRST_RGA_NOC_A		108
188#define SRST_RGA_A		109
189#define SRST_RGA_H		110
190#define SRST_HDCP_A		111
191
192#define SRST_VPU_A		112
193#define SRST_VPU_H		113
194#define SRST_VPU_NOC_A		116
195#define SRST_VPU_NOC_H		117
196#define SRST_RKVDEC_A		118
197#define SRST_RKVDEC_NOC_A	119
198#define SRST_RKVDEC_H		120
199#define SRST_RKVDEC_NOC_H	121
200#define SRST_RKVDEC_CORE	122
201#define SRST_RKVDEC_CABAC	123
202#define SRST_IEP_A		124
203#define SRST_IEP_H		125
204#define SRST_GPU_A		126
205#define SRST_GPU_NOC_A		127
206
207#define SRST_CORE_DBG		128
208#define SRST_DBG_P		129
209#define SRST_TIMER0		130
210#define SRST_TIMER1		131
211#define SRST_TIMER2		132
212#define SRST_TIMER3		133
213#define SRST_TIMER4		134
214#define SRST_TIMER5		135
215#define SRST_VIO_H2P		136
216#define SRST_HDMIPHY		139
217#define SRST_VDAC		140
218#define SRST_TIMER_6CH_P	141
219
220#endif
221