blob: de550ea56eeb0ef32e98a8549a14d750ab4d4dfb [file] [log] [blame]
Johan Jonker28aecdb2022-04-15 23:21:33 +02001/* SPDX-License-Identifier: GPL-2.0-or-later */
Kever Yang61ef0612017-06-23 17:17:51 +08002/*
Johan Jonker28aecdb2022-04-15 23:21:33 +02003 * Copyright (c) 2015 Rockchip Electronics Co. Ltd.
4 * Author: Jeffy Chen <jeffy.chen@rock-chips.com>
Kever Yang61ef0612017-06-23 17:17:51 +08005 */
6
7#ifndef _DT_BINDINGS_CLK_ROCKCHIP_RK3228_H
8#define _DT_BINDINGS_CLK_ROCKCHIP_RK3228_H
9
10/* core clocks */
11#define PLL_APLL 1
12#define PLL_DPLL 2
13#define PLL_CPLL 3
14#define PLL_GPLL 4
15#define ARMCLK 5
16
17/* sclk gates (special clocks) */
18#define SCLK_SPI0 65
19#define SCLK_NANDC 67
20#define SCLK_SDMMC 68
21#define SCLK_SDIO 69
22#define SCLK_EMMC 71
23#define SCLK_TSADC 72
24#define SCLK_UART0 77
25#define SCLK_UART1 78
26#define SCLK_UART2 79
27#define SCLK_I2S0 80
28#define SCLK_I2S1 81
29#define SCLK_I2S2 82
30#define SCLK_SPDIF 83
31#define SCLK_TIMER0 85
32#define SCLK_TIMER1 86
33#define SCLK_TIMER2 87
34#define SCLK_TIMER3 88
35#define SCLK_TIMER4 89
36#define SCLK_TIMER5 90
37#define SCLK_I2S_OUT 113
38#define SCLK_SDMMC_DRV 114
39#define SCLK_SDIO_DRV 115
40#define SCLK_EMMC_DRV 117
41#define SCLK_SDMMC_SAMPLE 118
42#define SCLK_SDIO_SAMPLE 119
Johan Jonker28aecdb2022-04-15 23:21:33 +020043#define SCLK_SDIO_SRC 120
Kever Yang61ef0612017-06-23 17:17:51 +080044#define SCLK_EMMC_SAMPLE 121
45#define SCLK_VOP 122
46#define SCLK_HDMI_HDCP 123
47#define SCLK_MAC_SRC 124
48#define SCLK_MAC_EXTCLK 125
49#define SCLK_MAC 126
50#define SCLK_MAC_REFOUT 127
51#define SCLK_MAC_REF 128
52#define SCLK_MAC_RX 129
53#define SCLK_MAC_TX 130
54#define SCLK_MAC_PHY 131
55#define SCLK_MAC_OUT 132
Johan Jonker28aecdb2022-04-15 23:21:33 +020056#define SCLK_VDEC_CABAC 133
57#define SCLK_VDEC_CORE 134
58#define SCLK_RGA 135
59#define SCLK_HDCP 136
60#define SCLK_HDMI_CEC 137
61#define SCLK_CRYPTO 138
62#define SCLK_TSP 139
63#define SCLK_HSADC 140
64#define SCLK_WIFI 141
65#define SCLK_OTGPHY0 142
66#define SCLK_OTGPHY1 143
67#define SCLK_HDMI_PHY 144
Kever Yang61ef0612017-06-23 17:17:51 +080068
69/* dclk gates */
70#define DCLK_VOP 190
71#define DCLK_HDMI_PHY 191
72
73/* aclk gates */
74#define ACLK_DMAC 194
Johan Jonker28aecdb2022-04-15 23:21:33 +020075#define ACLK_CPU 195
76#define ACLK_VPU_PRE 196
77#define ACLK_RKVDEC_PRE 197
78#define ACLK_RGA_PRE 198
79#define ACLK_IEP_PRE 199
80#define ACLK_HDCP_PRE 200
81#define ACLK_VOP_PRE 201
82#define ACLK_VPU 202
83#define ACLK_RKVDEC 203
84#define ACLK_IEP 204
85#define ACLK_RGA 205
86#define ACLK_HDCP 206
Kever Yang61ef0612017-06-23 17:17:51 +080087#define ACLK_PERI 210
88#define ACLK_VOP 211
89#define ACLK_GMAC 212
Johan Jonker28aecdb2022-04-15 23:21:33 +020090#define ACLK_GPU 213
Kever Yang61ef0612017-06-23 17:17:51 +080091
92/* pclk gates */
93#define PCLK_GPIO0 320
94#define PCLK_GPIO1 321
95#define PCLK_GPIO2 322
96#define PCLK_GPIO3 323
Johan Jonker28aecdb2022-04-15 23:21:33 +020097#define PCLK_VIO_H2P 324
98#define PCLK_HDCP 325
99#define PCLK_EFUSE_1024 326
100#define PCLK_EFUSE_256 327
Kever Yang61ef0612017-06-23 17:17:51 +0800101#define PCLK_GRF 329
102#define PCLK_I2C0 332
103#define PCLK_I2C1 333
104#define PCLK_I2C2 334
105#define PCLK_I2C3 335
106#define PCLK_SPI0 338
107#define PCLK_UART0 341
108#define PCLK_UART1 342
109#define PCLK_UART2 343
110#define PCLK_TSADC 344
111#define PCLK_PWM 350
112#define PCLK_TIMER 353
Johan Jonker28aecdb2022-04-15 23:21:33 +0200113#define PCLK_CPU 354
Kever Yang61ef0612017-06-23 17:17:51 +0800114#define PCLK_PERI 363
115#define PCLK_HDMI_CTRL 364
116#define PCLK_HDMI_PHY 365
117#define PCLK_GMAC 367
118
119/* hclk gates */
120#define HCLK_I2S0_8CH 442
121#define HCLK_I2S1_8CH 443
122#define HCLK_I2S2_2CH 444
123#define HCLK_SPDIF_8CH 445
124#define HCLK_VOP 452
125#define HCLK_NANDC 453
126#define HCLK_SDMMC 456
127#define HCLK_SDIO 457
128#define HCLK_EMMC 459
Johan Jonker28aecdb2022-04-15 23:21:33 +0200129#define HCLK_CPU 460
130#define HCLK_VPU_PRE 461
131#define HCLK_RKVDEC_PRE 462
132#define HCLK_VIO_PRE 463
133#define HCLK_VPU 464
134#define HCLK_RKVDEC 465
135#define HCLK_VIO 466
136#define HCLK_RGA 467
137#define HCLK_IEP 468
138#define HCLK_VIO_H2P 469
139#define HCLK_HDCP_MMU 470
140#define HCLK_HOST0 471
141#define HCLK_HOST1 472
142#define HCLK_HOST2 473
143#define HCLK_OTG 474
144#define HCLK_TSP 475
145#define HCLK_M_CRYPTO 476
146#define HCLK_S_CRYPTO 477
Kever Yang61ef0612017-06-23 17:17:51 +0800147#define HCLK_PERI 478
148
149#define CLK_NR_CLKS (HCLK_PERI + 1)
150
151/* soft-reset indices */
152#define SRST_CORE0_PO 0
153#define SRST_CORE1_PO 1
154#define SRST_CORE2_PO 2
155#define SRST_CORE3_PO 3
156#define SRST_CORE0 4
157#define SRST_CORE1 5
158#define SRST_CORE2 6
159#define SRST_CORE3 7
160#define SRST_CORE0_DBG 8
161#define SRST_CORE1_DBG 9
162#define SRST_CORE2_DBG 10
163#define SRST_CORE3_DBG 11
164#define SRST_TOPDBG 12
165#define SRST_ACLK_CORE 13
166#define SRST_NOC 14
167#define SRST_L2C 15
168
169#define SRST_CPUSYS_H 18
170#define SRST_BUSSYS_H 19
171#define SRST_SPDIF 20
172#define SRST_INTMEM 21
173#define SRST_ROM 22
174#define SRST_OTG_ADP 23
175#define SRST_I2S0 24
176#define SRST_I2S1 25
177#define SRST_I2S2 26
178#define SRST_ACODEC_P 27
179#define SRST_DFIMON 28
180#define SRST_MSCH 29
181#define SRST_EFUSE1024 30
182#define SRST_EFUSE256 31
183
184#define SRST_GPIO0 32
185#define SRST_GPIO1 33
186#define SRST_GPIO2 34
187#define SRST_GPIO3 35
188#define SRST_PERIPH_NOC_A 36
189#define SRST_PERIPH_NOC_BUS_H 37
190#define SRST_PERIPH_NOC_P 38
191#define SRST_UART0 39
192#define SRST_UART1 40
193#define SRST_UART2 41
194#define SRST_PHYNOC 42
195#define SRST_I2C0 43
196#define SRST_I2C1 44
197#define SRST_I2C2 45
198#define SRST_I2C3 46
199
200#define SRST_PWM 48
201#define SRST_A53_GIC 49
202#define SRST_DAP 51
203#define SRST_DAP_NOC 52
204#define SRST_CRYPTO 53
205#define SRST_SGRF 54
206#define SRST_GRF 55
207#define SRST_GMAC 56
208#define SRST_PERIPH_NOC_H 58
209#define SRST_MACPHY 63
210
211#define SRST_DMA 64
212#define SRST_NANDC 68
213#define SRST_USBOTG 69
214#define SRST_OTGC 70
215#define SRST_USBHOST0 71
216#define SRST_HOST_CTRL0 72
217#define SRST_USBHOST1 73
218#define SRST_HOST_CTRL1 74
219#define SRST_USBHOST2 75
220#define SRST_HOST_CTRL2 76
221#define SRST_USBPOR0 77
222#define SRST_USBPOR1 78
223#define SRST_DDRMSCH 79
224
225#define SRST_SMART_CARD 80
226#define SRST_SDMMC 81
227#define SRST_SDIO 82
228#define SRST_EMMC 83
229#define SRST_SPI 84
230#define SRST_TSP_H 85
231#define SRST_TSP 86
232#define SRST_TSADC 87
233#define SRST_DDRPHY 88
234#define SRST_DDRPHY_P 89
235#define SRST_DDRCTRL 90
236#define SRST_DDRCTRL_P 91
237#define SRST_HOST0_ECHI 92
238#define SRST_HOST1_ECHI 93
239#define SRST_HOST2_ECHI 94
240#define SRST_VOP_NOC_A 95
241
242#define SRST_HDMI_P 96
243#define SRST_VIO_ARBI_H 97
244#define SRST_IEP_NOC_A 98
245#define SRST_VIO_NOC_H 99
246#define SRST_VOP_A 100
247#define SRST_VOP_H 101
248#define SRST_VOP_D 102
249#define SRST_UTMI0 103
250#define SRST_UTMI1 104
251#define SRST_UTMI2 105
252#define SRST_UTMI3 106
253#define SRST_RGA 107
254#define SRST_RGA_NOC_A 108
255#define SRST_RGA_A 109
256#define SRST_RGA_H 110
257#define SRST_HDCP_A 111
258
259#define SRST_VPU_A 112
260#define SRST_VPU_H 113
261#define SRST_VPU_NOC_A 116
262#define SRST_VPU_NOC_H 117
263#define SRST_RKVDEC_A 118
264#define SRST_RKVDEC_NOC_A 119
265#define SRST_RKVDEC_H 120
266#define SRST_RKVDEC_NOC_H 121
267#define SRST_RKVDEC_CORE 122
268#define SRST_RKVDEC_CABAC 123
269#define SRST_IEP_A 124
270#define SRST_IEP_H 125
271#define SRST_GPU_A 126
272#define SRST_GPU_NOC_A 127
273
274#define SRST_CORE_DBG 128
275#define SRST_DBG_P 129
276#define SRST_TIMER0 130
277#define SRST_TIMER1 131
278#define SRST_TIMER2 132
279#define SRST_TIMER3 133
280#define SRST_TIMER4 134
281#define SRST_TIMER5 135
282#define SRST_VIO_H2P 136
283#define SRST_HDMIPHY 139
284#define SRST_VDAC 140
285#define SRST_TIMER_6CH_P 141
286
287#endif