Home | History | Annotate | Line # | Download | only in rockchip
      1 /* $NetBSD: rk3399_cru.h,v 1.1 2018/08/12 16:48:05 jmcneill Exp $ */
      2 
      3 /*-
      4  * Copyright (c) 2018 Jared McNeill <jmcneill (at) invisible.ca>
      5  * All rights reserved.
      6  *
      7  * Redistribution and use in source and binary forms, with or without
      8  * modification, are permitted provided that the following conditions
      9  * are met:
     10  * 1. Redistributions of source code must retain the above copyright
     11  *    notice, this list of conditions and the following disclaimer.
     12  * 2. Redistributions in binary form must reproduce the above copyright
     13  *    notice, this list of conditions and the following disclaimer in the
     14  *    documentation and/or other materials provided with the distribution.
     15  *
     16  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
     17  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
     18  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     19  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
     20  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
     21  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
     22  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
     23  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
     24  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     25  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     26  * SUCH DAMAGE.
     27  */
     28 
     29 #ifndef _RK3399_CRU_H
     30 #define _RK3399_CRU_H
     31 
     32 /*
     33  * Clocks
     34  */
     35 
     36 #define	RK3399_PLL_APLLL			1
     37 #define	RK3399_PLL_APLLB			2
     38 #define	RK3399_PLL_DPLL				3
     39 #define	RK3399_PLL_CPLL				4
     40 #define	RK3399_PLL_GPLL				5
     41 #define	RK3399_PLL_NPLL				6
     42 #define	RK3399_PLL_VPLL				7
     43 #define	RK3399_ARMCLKL				8
     44 #define	RK3399_ARMCLKB				9
     45 #define	RK3399_SCLK_I2C1			65
     46 #define	RK3399_SCLK_I2C2			66
     47 #define	RK3399_SCLK_I2C3			67
     48 #define	RK3399_SCLK_I2C5			68
     49 #define	RK3399_SCLK_I2C6			69
     50 #define	RK3399_SCLK_I2C7			70
     51 #define	RK3399_SCLK_SPI0			71
     52 #define	RK3399_SCLK_SPI1			72
     53 #define	RK3399_SCLK_SPI2			73
     54 #define	RK3399_SCLK_SPI4			74
     55 #define	RK3399_SCLK_SPI5			75
     56 #define	RK3399_SCLK_SDMMC			76
     57 #define	RK3399_SCLK_SDIO			77
     58 #define	RK3399_SCLK_EMMC			78
     59 #define	RK3399_SCLK_TSADC			79
     60 #define	RK3399_SCLK_SARADC			80
     61 #define	RK3399_SCLK_UART0			81
     62 #define	RK3399_SCLK_UART1			82
     63 #define	RK3399_SCLK_UART2			83
     64 #define	RK3399_SCLK_UART3			84
     65 #define	RK3399_SCLK_SPDIF_8CH			85
     66 #define	RK3399_SCLK_I2S0_8CH			86
     67 #define	RK3399_SCLK_I2S1_8CH			87
     68 #define	RK3399_SCLK_I2S2_8CH			88
     69 #define	RK3399_SCLK_I2S_8CH_OUT			89
     70 #define	RK3399_SCLK_TIMER00			90
     71 #define	RK3399_SCLK_TIMER01			91
     72 #define	RK3399_SCLK_TIMER02			92
     73 #define	RK3399_SCLK_TIMER03			93
     74 #define	RK3399_SCLK_TIMER04			94
     75 #define	RK3399_SCLK_TIMER05			95
     76 #define	RK3399_SCLK_TIMER06			96
     77 #define	RK3399_SCLK_TIMER07			97
     78 #define	RK3399_SCLK_TIMER08			98
     79 #define	RK3399_SCLK_TIMER09			99
     80 #define	RK3399_SCLK_TIMER10			100
     81 #define	RK3399_SCLK_TIMER11			101
     82 #define	RK3399_SCLK_MACREF			102
     83 #define	RK3399_SCLK_MAC_RX			103
     84 #define	RK3399_SCLK_MAC_TX			104
     85 #define	RK3399_SCLK_MAC				105
     86 #define	RK3399_SCLK_MACREF_OUT			106
     87 #define	RK3399_SCLK_VOP0_PWM			107
     88 #define	RK3399_SCLK_VOP1_PWM			108
     89 #define	RK3399_SCLK_RGA_CORE			109
     90 #define	RK3399_SCLK_ISP0			110
     91 #define	RK3399_SCLK_ISP1			111
     92 #define	RK3399_SCLK_HDMI_CEC			112
     93 #define	RK3399_SCLK_HDMI_SFR			113
     94 #define	RK3399_SCLK_DP_CORE			114
     95 #define	RK3399_SCLK_PVTM_CORE_L			115
     96 #define	RK3399_SCLK_PVTM_CORE_B			116
     97 #define	RK3399_SCLK_PVTM_GPU			117
     98 #define	RK3399_SCLK_PVTM_DDR			118
     99 #define	RK3399_SCLK_MIPIDPHY_REF		119
    100 #define	RK3399_SCLK_MIPIDPHY_CFG		120
    101 #define	RK3399_SCLK_HSICPHY			121
    102 #define	RK3399_SCLK_USBPHY480M			122
    103 #define	RK3399_SCLK_USB2PHY0_REF		123
    104 #define	RK3399_SCLK_USB2PHY1_REF		124
    105 #define	RK3399_SCLK_UPHY0_TCPDPHY_REF		125
    106 #define	RK3399_SCLK_UPHY0_TCPDCORE		126
    107 #define	RK3399_SCLK_UPHY1_TCPDPHY_REF		127
    108 #define	RK3399_SCLK_UPHY1_TCPDCORE		128
    109 #define	RK3399_SCLK_USB3OTG0_REF		129
    110 #define	RK3399_SCLK_USB3OTG1_REF		130
    111 #define	RK3399_SCLK_USB3OTG0_SUSPEND		131
    112 #define	RK3399_SCLK_USB3OTG1_SUSPEND		132
    113 #define	RK3399_SCLK_CRYPTO0			133
    114 #define	RK3399_SCLK_CRYPTO1			134
    115 #define	RK3399_SCLK_CCI_TRACE			135
    116 #define	RK3399_SCLK_CS				136
    117 #define	RK3399_SCLK_CIF_OUT			137
    118 #define	RK3399_SCLK_PCIEPHY_REF			138
    119 #define	RK3399_SCLK_PCIE_CORE			139
    120 #define	RK3399_SCLK_M0_PERILP			140
    121 #define	RK3399_SCLK_M0_PERILP_DEC		141
    122 #define	RK3399_SCLK_CM0S			142
    123 #define	RK3399_SCLK_DBG_NOC			143
    124 #define	RK3399_SCLK_DBG_PD_CORE_B		144
    125 #define	RK3399_SCLK_DBG_PD_CORE_L		145
    126 #define	RK3399_SCLK_DFIMON0_TIMER		146
    127 #define	RK3399_SCLK_DFIMON1_TIMER		147
    128 #define	RK3399_SCLK_INTMEM0			148
    129 #define	RK3399_SCLK_INTMEM1			149
    130 #define	RK3399_SCLK_INTMEM2			150
    131 #define	RK3399_SCLK_INTMEM3			151
    132 #define	RK3399_SCLK_INTMEM4			152
    133 #define	RK3399_SCLK_INTMEM5			153
    134 #define	RK3399_SCLK_SDMMC_DRV			154
    135 #define	RK3399_SCLK_SDMMC_SAMPLE		155
    136 #define	RK3399_SCLK_SDIO_DRV			156
    137 #define	RK3399_SCLK_SDIO_SAMPLE			157
    138 #define	RK3399_SCLK_VDU_CORE			158
    139 #define	RK3399_SCLK_VDU_CA			159
    140 #define	RK3399_SCLK_PCIE_PM			160
    141 #define	RK3399_SCLK_SPDIF_REC_DPTX		161
    142 #define	RK3399_SCLK_DPHY_PLL			162
    143 #define	RK3399_SCLK_DPHY_TX0_CFG		163
    144 #define	RK3399_SCLK_DPHY_TX1RX1_CFG		164
    145 #define	RK3399_SCLK_DPHY_RX0_CFG		165
    146 #define	RK3399_SCLK_RMII_SRC			166
    147 #define	RK3399_SCLK_PCIEPHY_REF100M		167
    148 #define	RK3399_SCLK_DDRC			168
    149 #define	RK3399_SCLK_TESTCLKOUT1			169
    150 #define	RK3399_SCLK_TESTCLKOUT2			170
    151 #define	RK3399_DCLK_VOP0			180
    152 #define	RK3399_DCLK_VOP1			181
    153 #define	RK3399_DCLK_VOP0_DIV			182
    154 #define	RK3399_DCLK_VOP1_DIV			183
    155 #define	RK3399_DCLK_M0_PERILP			184
    156 #define	RK3399_DCLK_VOP0_FRAC			185
    157 #define	RK3399_DCLK_VOP1_FRAC			186
    158 #define	RK3399_FCLK_CM0S			190
    159 #define	RK3399_ACLK_PERIHP			192
    160 #define	RK3399_ACLK_PERIHP_NOC			193
    161 #define	RK3399_ACLK_PERILP0			194
    162 #define	RK3399_ACLK_PERILP0_NOC			195
    163 #define	RK3399_ACLK_PERF_PCIE			196
    164 #define	RK3399_ACLK_PCIE			197
    165 #define	RK3399_ACLK_INTMEM			198
    166 #define	RK3399_ACLK_TZMA			199
    167 #define	RK3399_ACLK_DCF				200
    168 #define	RK3399_ACLK_CCI				201
    169 #define	RK3399_ACLK_CCI_NOC0			202
    170 #define	RK3399_ACLK_CCI_NOC1			203
    171 #define	RK3399_ACLK_CCI_GRF			204
    172 #define	RK3399_ACLK_CENTER			205
    173 #define	RK3399_ACLK_CENTER_MAIN_NOC		206
    174 #define	RK3399_ACLK_CENTER_PERI_NOC		207
    175 #define	RK3399_ACLK_GPU				208
    176 #define	RK3399_ACLK_PERF_GPU			209
    177 #define	RK3399_ACLK_GPU_GRF			210
    178 #define	RK3399_ACLK_DMAC0_PERILP		211
    179 #define	RK3399_ACLK_DMAC1_PERILP		212
    180 #define	RK3399_ACLK_GMAC			213
    181 #define	RK3399_ACLK_GMAC_NOC			214
    182 #define	RK3399_ACLK_PERF_GMAC			215
    183 #define	RK3399_ACLK_VOP0_NOC			216
    184 #define	RK3399_ACLK_VOP0			217
    185 #define	RK3399_ACLK_VOP1_NOC			218
    186 #define	RK3399_ACLK_VOP1			219
    187 #define	RK3399_ACLK_RGA				220
    188 #define	RK3399_ACLK_RGA_NOC			221
    189 #define	RK3399_ACLK_HDCP			222
    190 #define	RK3399_ACLK_HDCP_NOC			223
    191 #define	RK3399_ACLK_HDCP22			224
    192 #define	RK3399_ACLK_IEP				225
    193 #define	RK3399_ACLK_IEP_NOC			226
    194 #define	RK3399_ACLK_VIO				227
    195 #define	RK3399_ACLK_VIO_NOC			228
    196 #define	RK3399_ACLK_ISP0			229
    197 #define	RK3399_ACLK_ISP1			230
    198 #define	RK3399_ACLK_ISP0_NOC			231
    199 #define	RK3399_ACLK_ISP1_NOC			232
    200 #define	RK3399_ACLK_ISP0_WRAPPER		233
    201 #define	RK3399_ACLK_ISP1_WRAPPER		234
    202 #define	RK3399_ACLK_VCODEC			235
    203 #define	RK3399_ACLK_VCODEC_NOC			236
    204 #define	RK3399_ACLK_VDU				237
    205 #define	RK3399_ACLK_VDU_NOC			238
    206 #define	RK3399_ACLK_PERI			239
    207 #define	RK3399_ACLK_EMMC			240
    208 #define	RK3399_ACLK_EMMC_CORE			241
    209 #define	RK3399_ACLK_EMMC_NOC			242
    210 #define	RK3399_ACLK_EMMC_GRF			243
    211 #define	RK3399_ACLK_USB3			244
    212 #define	RK3399_ACLK_USB3_NOC			245
    213 #define	RK3399_ACLK_USB3OTG0			246
    214 #define	RK3399_ACLK_USB3OTG1			247
    215 #define	RK3399_ACLK_USB3_RKSOC_AXI_PERF		248
    216 #define	RK3399_ACLK_USB3_GRF			249
    217 #define	RK3399_ACLK_GIC				250
    218 #define	RK3399_ACLK_GIC_NOC			251
    219 #define	RK3399_ACLK_GIC_ADB400_CORE_L_2_GIC	252
    220 #define	RK3399_ACLK_GIC_ADB400_CORE_B_2_GIC	253
    221 #define	RK3399_ACLK_GIC_ADB400_GIC_2_CORE_L	254
    222 #define	RK3399_ACLK_GIC_ADB400_GIC_2_CORE_B	255
    223 #define	RK3399_ACLK_CORE_ADB400_CORE_L_2_CCI500 256
    224 #define	RK3399_ACLK_CORE_ADB400_CORE_B_2_CCI500 257
    225 #define	RK3399_ACLK_ADB400M_PD_CORE_L		258
    226 #define	RK3399_ACLK_ADB400M_PD_CORE_B		259
    227 #define	RK3399_ACLK_PERF_CORE_L			260
    228 #define	RK3399_ACLK_PERF_CORE_B			261
    229 #define	RK3399_ACLK_GIC_PRE			262
    230 #define	RK3399_ACLK_VOP0_PRE			263
    231 #define	RK3399_ACLK_VOP1_PRE			264
    232 #define	RK3399_PCLK_PERIHP			320
    233 #define	RK3399_PCLK_PERIHP_NOC			321
    234 #define	RK3399_PCLK_PERILP0			322
    235 #define	RK3399_PCLK_PERILP1			323
    236 #define	RK3399_PCLK_PERILP1_NOC			324
    237 #define	RK3399_PCLK_PERILP_SGRF			325
    238 #define	RK3399_PCLK_PERIHP_GRF			326
    239 #define	RK3399_PCLK_PCIE			327
    240 #define	RK3399_PCLK_SGRF			328
    241 #define	RK3399_PCLK_INTR_ARB			329
    242 #define	RK3399_PCLK_CENTER_MAIN_NOC		330
    243 #define	RK3399_PCLK_CIC				331
    244 #define	RK3399_PCLK_COREDBG_B			332
    245 #define	RK3399_PCLK_COREDBG_L			333
    246 #define	RK3399_PCLK_DBG_CXCS_PD_CORE_B		334
    247 #define	RK3399_PCLK_DCF				335
    248 #define	RK3399_PCLK_GPIO2			336
    249 #define	RK3399_PCLK_GPIO3			337
    250 #define	RK3399_PCLK_GPIO4			338
    251 #define	RK3399_PCLK_GRF				339
    252 #define	RK3399_PCLK_HSICPHY			340
    253 #define	RK3399_PCLK_I2C1			341
    254 #define	RK3399_PCLK_I2C2			342
    255 #define	RK3399_PCLK_I2C3			343
    256 #define	RK3399_PCLK_I2C5			344
    257 #define	RK3399_PCLK_I2C6			345
    258 #define	RK3399_PCLK_I2C7			346
    259 #define	RK3399_PCLK_SPI0			347
    260 #define	RK3399_PCLK_SPI1			348
    261 #define	RK3399_PCLK_SPI2			349
    262 #define	RK3399_PCLK_SPI4			350
    263 #define	RK3399_PCLK_SPI5			351
    264 #define	RK3399_PCLK_UART0			352
    265 #define	RK3399_PCLK_UART1			353
    266 #define	RK3399_PCLK_UART2			354
    267 #define	RK3399_PCLK_UART3			355
    268 #define	RK3399_PCLK_TSADC			356
    269 #define	RK3399_PCLK_SARADC			357
    270 #define	RK3399_PCLK_GMAC			358
    271 #define	RK3399_PCLK_GMAC_NOC			359
    272 #define	RK3399_PCLK_TIMER0			360
    273 #define	RK3399_PCLK_TIMER1			361
    274 #define	RK3399_PCLK_EDP				362
    275 #define	RK3399_PCLK_EDP_NOC			363
    276 #define	RK3399_PCLK_EDP_CTRL			364
    277 #define	RK3399_PCLK_VIO				365
    278 #define	RK3399_PCLK_VIO_NOC			366
    279 #define	RK3399_PCLK_VIO_GRF			367
    280 #define	RK3399_PCLK_MIPI_DSI0			368
    281 #define	RK3399_PCLK_MIPI_DSI1			369
    282 #define	RK3399_PCLK_HDCP			370
    283 #define	RK3399_PCLK_HDCP_NOC			371
    284 #define	RK3399_PCLK_HDMI_CTRL			372
    285 #define	RK3399_PCLK_DP_CTRL			373
    286 #define	RK3399_PCLK_HDCP22			374
    287 #define	RK3399_PCLK_GASKET			375
    288 #define	RK3399_PCLK_DDR				376
    289 #define	RK3399_PCLK_DDR_MON			377
    290 #define	RK3399_PCLK_DDR_SGRF			378
    291 #define	RK3399_PCLK_ISP1_WRAPPER		379
    292 #define	RK3399_PCLK_WDT				380
    293 #define	RK3399_PCLK_EFUSE1024NS			381
    294 #define	RK3399_PCLK_EFUSE1024S			382
    295 #define	RK3399_PCLK_PMU_INTR_ARB		383
    296 #define	RK3399_PCLK_MAILBOX0			384
    297 #define	RK3399_PCLK_USBPHY_MUX_G		385
    298 #define	RK3399_PCLK_UPHY0_TCPHY_G		386
    299 #define	RK3399_PCLK_UPHY0_TCPD_G		387
    300 #define	RK3399_PCLK_UPHY1_TCPHY_G		388
    301 #define	RK3399_PCLK_UPHY1_TCPD_G		389
    302 #define	RK3399_PCLK_ALIVE			390
    303 #define	RK3399_HCLK_PERIHP			448
    304 #define	RK3399_HCLK_PERILP0			449
    305 #define	RK3399_HCLK_PERILP1			450
    306 #define	RK3399_HCLK_PERILP0_NOC			451
    307 #define	RK3399_HCLK_PERILP1_NOC			452
    308 #define	RK3399_HCLK_M0_PERILP			453
    309 #define	RK3399_HCLK_M0_PERILP_NOC		454
    310 #define	RK3399_HCLK_AHB1TOM			455
    311 #define	RK3399_HCLK_HOST0			456
    312 #define	RK3399_HCLK_HOST0_ARB			457
    313 #define	RK3399_HCLK_HOST1			458
    314 #define	RK3399_HCLK_HOST1_ARB			459
    315 #define	RK3399_HCLK_HSIC			460
    316 #define	RK3399_HCLK_SD				461
    317 #define	RK3399_HCLK_SDMMC			462
    318 #define	RK3399_HCLK_SDMMC_NOC			463
    319 #define	RK3399_HCLK_M_CRYPTO0			464
    320 #define	RK3399_HCLK_M_CRYPTO1			465
    321 #define	RK3399_HCLK_S_CRYPTO0			466
    322 #define	RK3399_HCLK_S_CRYPTO1			467
    323 #define	RK3399_HCLK_I2S0_8CH			468
    324 #define	RK3399_HCLK_I2S1_8CH			469
    325 #define	RK3399_HCLK_I2S2_8CH			470
    326 #define	RK3399_HCLK_SPDIF			471
    327 #define	RK3399_HCLK_VOP0_NOC			472
    328 #define	RK3399_HCLK_VOP0			473
    329 #define	RK3399_HCLK_VOP1_NOC			474
    330 #define	RK3399_HCLK_VOP1			475
    331 #define	RK3399_HCLK_ROM				476
    332 #define	RK3399_HCLK_IEP				477
    333 #define	RK3399_HCLK_IEP_NOC			478
    334 #define	RK3399_HCLK_ISP0			479
    335 #define	RK3399_HCLK_ISP1			480
    336 #define	RK3399_HCLK_ISP0_NOC			481
    337 #define	RK3399_HCLK_ISP1_NOC			482
    338 #define	RK3399_HCLK_ISP0_WRAPPER		483
    339 #define	RK3399_HCLK_ISP1_WRAPPER		484
    340 #define	RK3399_HCLK_RGA				485
    341 #define	RK3399_HCLK_RGA_NOC			486
    342 #define	RK3399_HCLK_HDCP			487
    343 #define	RK3399_HCLK_HDCP_NOC			488
    344 #define	RK3399_HCLK_HDCP22			489
    345 #define	RK3399_HCLK_VCODEC			490
    346 #define	RK3399_HCLK_VCODEC_NOC			491
    347 #define	RK3399_HCLK_VDU				492
    348 #define	RK3399_HCLK_VDU_NOC			493
    349 #define	RK3399_HCLK_SDIO			494
    350 #define	RK3399_HCLK_SDIO_NOC			495
    351 #define	RK3399_HCLK_SDIOAUDIO_NOC		496
    352 
    353 #endif /* !_RK3399_CRU_H */
    354