Home | History | Annotate | Line # | Download | only in clock
      1 /*	$NetBSD: rk3308-cru.h,v 1.1.1.1 2020/01/03 14:33:05 skrll Exp $	*/
      2 
      3 /* SPDX-License-Identifier: GPL-2.0 */
      4 /*
      5  * Copyright (c) 2019 Rockchip Electronics Co. Ltd.
      6  * Author: Finley Xiao <finley.xiao (at) rock-chips.com>
      7  */
      8 
      9 #ifndef _DT_BINDINGS_CLK_ROCKCHIP_RK3308_H
     10 #define _DT_BINDINGS_CLK_ROCKCHIP_RK3308_H
     11 
     12 /* core clocks */
     13 #define PLL_APLL		1
     14 #define PLL_DPLL		2
     15 #define PLL_VPLL0		3
     16 #define PLL_VPLL1		4
     17 #define ARMCLK			5
     18 
     19 /* sclk (special clocks) */
     20 #define USB480M			14
     21 #define SCLK_RTC32K		15
     22 #define SCLK_PVTM_CORE		16
     23 #define SCLK_UART0		17
     24 #define SCLK_UART1		18
     25 #define SCLK_UART2		19
     26 #define SCLK_UART3		20
     27 #define SCLK_UART4		21
     28 #define SCLK_I2C0		22
     29 #define SCLK_I2C1		23
     30 #define SCLK_I2C2		24
     31 #define SCLK_I2C3		25
     32 #define SCLK_PWM0		26
     33 #define SCLK_SPI0		27
     34 #define SCLK_SPI1		28
     35 #define SCLK_SPI2		29
     36 #define SCLK_TIMER0		30
     37 #define SCLK_TIMER1		31
     38 #define SCLK_TIMER2		32
     39 #define SCLK_TIMER3		33
     40 #define SCLK_TIMER4		34
     41 #define SCLK_TIMER5		35
     42 #define SCLK_TSADC		36
     43 #define SCLK_SARADC		37
     44 #define SCLK_OTP		38
     45 #define SCLK_OTP_USR		39
     46 #define SCLK_CPU_BOOST		40
     47 #define SCLK_CRYPTO		41
     48 #define SCLK_CRYPTO_APK		42
     49 #define SCLK_NANDC_DIV		43
     50 #define SCLK_NANDC_DIV50	44
     51 #define SCLK_NANDC		45
     52 #define SCLK_SDMMC_DIV		46
     53 #define SCLK_SDMMC_DIV50	47
     54 #define SCLK_SDMMC		48
     55 #define SCLK_SDMMC_DRV		49
     56 #define SCLK_SDMMC_SAMPLE	50
     57 #define SCLK_SDIO_DIV		51
     58 #define SCLK_SDIO_DIV50		52
     59 #define SCLK_SDIO		53
     60 #define SCLK_SDIO_DRV		54
     61 #define SCLK_SDIO_SAMPLE	55
     62 #define SCLK_EMMC_DIV		56
     63 #define SCLK_EMMC_DIV50		57
     64 #define SCLK_EMMC		58
     65 #define SCLK_EMMC_DRV		59
     66 #define SCLK_EMMC_SAMPLE	60
     67 #define SCLK_SFC		61
     68 #define SCLK_OTG_ADP		62
     69 #define SCLK_MAC_SRC		63
     70 #define SCLK_MAC		64
     71 #define SCLK_MAC_REF		65
     72 #define SCLK_MAC_RX_TX		66
     73 #define SCLK_MAC_RMII		67
     74 #define SCLK_DDR_MON_TIMER	68
     75 #define SCLK_DDR_MON		69
     76 #define SCLK_DDRCLK		70
     77 #define SCLK_PMU		71
     78 #define SCLK_USBPHY_REF		72
     79 #define SCLK_WIFI		73
     80 #define SCLK_PVTM_PMU		74
     81 #define SCLK_PDM		75
     82 #define SCLK_I2S0_8CH_TX	76
     83 #define SCLK_I2S0_8CH_TX_OUT	77
     84 #define SCLK_I2S0_8CH_RX	78
     85 #define SCLK_I2S0_8CH_RX_OUT	79
     86 #define SCLK_I2S1_8CH_TX	80
     87 #define SCLK_I2S1_8CH_TX_OUT	81
     88 #define SCLK_I2S1_8CH_RX	82
     89 #define SCLK_I2S1_8CH_RX_OUT	83
     90 #define SCLK_I2S2_8CH_TX	84
     91 #define SCLK_I2S2_8CH_TX_OUT	85
     92 #define SCLK_I2S2_8CH_RX	86
     93 #define SCLK_I2S2_8CH_RX_OUT	87
     94 #define SCLK_I2S3_8CH_TX	88
     95 #define SCLK_I2S3_8CH_TX_OUT	89
     96 #define SCLK_I2S3_8CH_RX	90
     97 #define SCLK_I2S3_8CH_RX_OUT	91
     98 #define SCLK_I2S0_2CH		92
     99 #define SCLK_I2S0_2CH_OUT	93
    100 #define SCLK_I2S1_2CH		94
    101 #define SCLK_I2S1_2CH_OUT	95
    102 #define SCLK_SPDIF_TX_DIV	96
    103 #define SCLK_SPDIF_TX_DIV50	97
    104 #define SCLK_SPDIF_TX		98
    105 #define SCLK_SPDIF_RX_DIV	99
    106 #define SCLK_SPDIF_RX_DIV50	100
    107 #define SCLK_SPDIF_RX		101
    108 #define SCLK_I2S0_8CH_TX_MUX	102
    109 #define SCLK_I2S0_8CH_RX_MUX	103
    110 #define SCLK_I2S1_8CH_TX_MUX	104
    111 #define SCLK_I2S1_8CH_RX_MUX	105
    112 #define SCLK_I2S2_8CH_TX_MUX	106
    113 #define SCLK_I2S2_8CH_RX_MUX	107
    114 #define SCLK_I2S3_8CH_TX_MUX	108
    115 #define SCLK_I2S3_8CH_RX_MUX	109
    116 #define SCLK_I2S0_8CH_TX_SRC	110
    117 #define SCLK_I2S0_8CH_RX_SRC	111
    118 #define SCLK_I2S1_8CH_TX_SRC	112
    119 #define SCLK_I2S1_8CH_RX_SRC	113
    120 #define SCLK_I2S2_8CH_TX_SRC	114
    121 #define SCLK_I2S2_8CH_RX_SRC	115
    122 #define SCLK_I2S3_8CH_TX_SRC	116
    123 #define SCLK_I2S3_8CH_RX_SRC	117
    124 #define SCLK_I2S0_2CH_SRC	118
    125 #define SCLK_I2S1_2CH_SRC	119
    126 #define SCLK_PWM1		120
    127 #define SCLK_PWM2		121
    128 #define SCLK_OWIRE		122
    129 
    130 /* dclk */
    131 #define DCLK_VOP		125
    132 
    133 /* aclk */
    134 #define ACLK_BUS_SRC		130
    135 #define ACLK_BUS		131
    136 #define ACLK_PERI_SRC		132
    137 #define ACLK_PERI		133
    138 #define ACLK_MAC		134
    139 #define ACLK_CRYPTO		135
    140 #define ACLK_VOP		136
    141 #define ACLK_GIC		137
    142 #define ACLK_DMAC0		138
    143 #define ACLK_DMAC1		139
    144 
    145 /* hclk */
    146 #define HCLK_BUS		150
    147 #define HCLK_PERI		151
    148 #define HCLK_AUDIO		152
    149 #define HCLK_NANDC		153
    150 #define HCLK_SDMMC		154
    151 #define HCLK_SDIO		155
    152 #define HCLK_EMMC		156
    153 #define HCLK_SFC		157
    154 #define HCLK_OTG		158
    155 #define HCLK_HOST		159
    156 #define HCLK_HOST_ARB		160
    157 #define HCLK_PDM		161
    158 #define HCLK_SPDIFTX		162
    159 #define HCLK_SPDIFRX		163
    160 #define HCLK_I2S0_8CH		164
    161 #define HCLK_I2S1_8CH		165
    162 #define HCLK_I2S2_8CH		166
    163 #define HCLK_I2S3_8CH		167
    164 #define HCLK_I2S0_2CH		168
    165 #define HCLK_I2S1_2CH		169
    166 #define HCLK_VAD		170
    167 #define HCLK_CRYPTO		171
    168 #define HCLK_VOP		172
    169 
    170 /* pclk */
    171 #define PCLK_BUS		190
    172 #define PCLK_DDR		191
    173 #define PCLK_PERI		192
    174 #define PCLK_PMU		193
    175 #define PCLK_AUDIO		194
    176 #define PCLK_MAC		195
    177 #define PCLK_ACODEC		196
    178 #define PCLK_UART0		197
    179 #define PCLK_UART1		198
    180 #define PCLK_UART2		199
    181 #define PCLK_UART3		200
    182 #define PCLK_UART4		201
    183 #define PCLK_I2C0		202
    184 #define PCLK_I2C1		203
    185 #define PCLK_I2C2		204
    186 #define PCLK_I2C3		205
    187 #define PCLK_PWM0		206
    188 #define PCLK_SPI0		207
    189 #define PCLK_SPI1		208
    190 #define PCLK_SPI2		209
    191 #define PCLK_SARADC		210
    192 #define PCLK_TSADC		211
    193 #define PCLK_TIMER		212
    194 #define PCLK_OTP_NS		213
    195 #define PCLK_WDT		214
    196 #define PCLK_GPIO0		215
    197 #define PCLK_GPIO1		216
    198 #define PCLK_GPIO2		217
    199 #define PCLK_GPIO3		218
    200 #define PCLK_GPIO4		219
    201 #define PCLK_SGRF		220
    202 #define PCLK_GRF		221
    203 #define PCLK_USBSD_DET		222
    204 #define PCLK_DDR_UPCTL		223
    205 #define PCLK_DDR_MON		224
    206 #define PCLK_DDRPHY		225
    207 #define PCLK_DDR_STDBY		226
    208 #define PCLK_USB_GRF		227
    209 #define PCLK_CRU		228
    210 #define PCLK_OTP_PHY		229
    211 #define PCLK_CPU_BOOST		230
    212 #define PCLK_PWM1		231
    213 #define PCLK_PWM2		232
    214 #define PCLK_CAN		233
    215 #define PCLK_OWIRE		234
    216 
    217 #define CLK_NR_CLKS		(PCLK_OWIRE + 1)
    218 
    219 /* soft-reset indices */
    220 
    221 /* cru_softrst_con0 */
    222 #define SRST_CORE0_PO		0
    223 #define SRST_CORE1_PO		1
    224 #define SRST_CORE2_PO		2
    225 #define SRST_CORE3_PO		3
    226 #define SRST_CORE0		4
    227 #define SRST_CORE1		5
    228 #define SRST_CORE2		6
    229 #define SRST_CORE3		7
    230 #define SRST_CORE0_DBG		8
    231 #define SRST_CORE1_DBG		9
    232 #define SRST_CORE2_DBG		10
    233 #define SRST_CORE3_DBG		11
    234 #define SRST_TOPDBG		12
    235 #define SRST_CORE_NOC		13
    236 #define SRST_STRC_A		14
    237 #define SRST_L2C		15
    238 
    239 /* cru_softrst_con1 */
    240 #define SRST_DAP		16
    241 #define SRST_CORE_PVTM		17
    242 #define SRST_CORE_PRF		18
    243 #define SRST_CORE_GRF		19
    244 #define SRST_DDRUPCTL		20
    245 #define SRST_DDRUPCTL_P		22
    246 #define SRST_MSCH		23
    247 #define SRST_DDRMON_P		25
    248 #define SRST_DDRSTDBY_P		26
    249 #define SRST_DDRSTDBY		27
    250 #define SRST_DDRPHY		28
    251 #define SRST_DDRPHY_DIV		29
    252 #define SRST_DDRPHY_P		30
    253 
    254 /* cru_softrst_con2 */
    255 #define SRST_BUS_NIU_H		32
    256 #define SRST_USB_NIU_P		33
    257 #define SRST_CRYPTO_A		34
    258 #define SRST_CRYPTO_H		35
    259 #define SRST_CRYPTO		36
    260 #define SRST_CRYPTO_APK		37
    261 #define SRST_VOP_A		38
    262 #define SRST_VOP_H		39
    263 #define SRST_VOP_D		40
    264 #define SRST_INTMEM_A		41
    265 #define SRST_ROM_H		42
    266 #define SRST_GIC_A		43
    267 #define SRST_UART0_P		44
    268 #define SRST_UART0		45
    269 #define SRST_UART1_P		46
    270 #define SRST_UART1		47
    271 
    272 /* cru_softrst_con3 */
    273 #define SRST_UART2_P		48
    274 #define SRST_UART2		49
    275 #define SRST_UART3_P		50
    276 #define SRST_UART3		51
    277 #define SRST_UART4_P		52
    278 #define SRST_UART4		53
    279 #define SRST_I2C0_P		54
    280 #define SRST_I2C0		55
    281 #define SRST_I2C1_P		56
    282 #define SRST_I2C1		57
    283 #define SRST_I2C2_P		58
    284 #define SRST_I2C2		59
    285 #define SRST_I2C3_P		60
    286 #define SRST_I2C3		61
    287 #define SRST_PWM0_P		62
    288 #define SRST_PWM0		63
    289 
    290 /* cru_softrst_con4 */
    291 #define SRST_SPI0_P		64
    292 #define SRST_SPI0		65
    293 #define SRST_SPI1_P		66
    294 #define SRST_SPI1		67
    295 #define SRST_SPI2_P		68
    296 #define SRST_SPI2		69
    297 #define SRST_SARADC_P		70
    298 #define SRST_TSADC_P		71
    299 #define SRST_TSADC		72
    300 #define SRST_TIMER0_P		73
    301 #define SRST_TIMER0		74
    302 #define SRST_TIMER1		75
    303 #define SRST_TIMER2		76
    304 #define SRST_TIMER3		77
    305 #define SRST_TIMER4		78
    306 #define SRST_TIMER5		79
    307 
    308 /* cru_softrst_con5 */
    309 #define SRST_OTP_NS_P		80
    310 #define SRST_OTP_NS_SBPI	81
    311 #define SRST_OTP_NS_USR		82
    312 #define SRST_OTP_PHY_P		83
    313 #define SRST_OTP_PHY		84
    314 #define SRST_GPIO0_P		86
    315 #define SRST_GPIO1_P		87
    316 #define SRST_GPIO2_P		88
    317 #define SRST_GPIO3_P		89
    318 #define SRST_GPIO4_P		90
    319 #define SRST_GRF_P		91
    320 #define SRST_USBSD_DET_P	92
    321 #define SRST_PMU		93
    322 #define SRST_PMU_PVTM		94
    323 #define SRST_USB_GRF_P		95
    324 
    325 /* cru_softrst_con6 */
    326 #define SRST_CPU_BOOST		96
    327 #define SRST_CPU_BOOST_P	97
    328 #define SRST_PWM1_P		98
    329 #define SRST_PWM1		99
    330 #define SRST_PWM2_P		100
    331 #define SRST_PWM2		101
    332 #define SRST_PERI_NIU_A		104
    333 #define SRST_PERI_NIU_H		105
    334 #define SRST_PERI_NIU_p		106
    335 #define SRST_USB2OTG_H		107
    336 #define SRST_USB2OTG		108
    337 #define SRST_USB2OTG_ADP	109
    338 #define SRST_USB2HOST_H		110
    339 #define SRST_USB2HOST_ARB_H	111
    340 
    341 /* cru_softrst_con7 */
    342 #define SRST_USB2HOST_AUX_H	112
    343 #define SRST_USB2HOST_EHCI	113
    344 #define SRST_USB2HOST		114
    345 #define SRST_USBPHYPOR		115
    346 #define SRST_UTMI0		116
    347 #define SRST_UTMI1		117
    348 #define SRST_SDIO_H		118
    349 #define SRST_EMMC_H		119
    350 #define SRST_SFC_H		120
    351 #define SRST_SFC		121
    352 #define SRST_SD_H		122
    353 #define SRST_NANDC_H		123
    354 #define SRST_NANDC_N		124
    355 #define SRST_MAC_A		125
    356 #define SRST_CAN_P		126
    357 #define SRST_OWIRE_P		127
    358 
    359 /* cru_softrst_con8 */
    360 #define SRST_AUDIO_NIU_H	128
    361 #define SRST_AUDIO_NIU_P	129
    362 #define SRST_PDM_H		130
    363 #define SRST_PDM_M		131
    364 #define SRST_SPDIFTX_H		132
    365 #define SRST_SPDIFTX_M		133
    366 #define SRST_SPDIFRX_H		134
    367 #define SRST_SPDIFRX_M		135
    368 #define SRST_I2S0_8CH_H		136
    369 #define SRST_I2S0_8CH_TX_M	137
    370 #define SRST_I2S0_8CH_RX_M	138
    371 #define SRST_I2S1_8CH_H		139
    372 #define SRST_I2S1_8CH_TX_M	140
    373 #define SRST_I2S1_8CH_RX_M	141
    374 #define SRST_I2S2_8CH_H		142
    375 #define SRST_I2S2_8CH_TX_M	143
    376 
    377 /* cru_softrst_con9 */
    378 #define SRST_I2S2_8CH_RX_M	144
    379 #define SRST_I2S3_8CH_H		145
    380 #define SRST_I2S3_8CH_TX_M	146
    381 #define SRST_I2S3_8CH_RX_M	147
    382 #define SRST_I2S0_2CH_H		148
    383 #define SRST_I2S0_2CH_M		149
    384 #define SRST_I2S1_2CH_H		150
    385 #define SRST_I2S1_2CH_M		151
    386 #define SRST_VAD_H		152
    387 #define SRST_ACODEC_P		153
    388 
    389 #endif
    390