1*b9e4ba54SHeiko Stübner /* 2*b9e4ba54SHeiko Stübner * Copyright (c) 2014 MundoReader S.L. 3*b9e4ba54SHeiko Stübner * Author: Heiko Stuebner <heiko@sntech.de> 4*b9e4ba54SHeiko Stübner * 5*b9e4ba54SHeiko Stübner * This program is free software; you can redistribute it and/or modify 6*b9e4ba54SHeiko Stübner * it under the terms of the GNU General Public License as published by 7*b9e4ba54SHeiko Stübner * the Free Software Foundation; either version 2 of the License, or 8*b9e4ba54SHeiko Stübner * (at your option) any later version. 9*b9e4ba54SHeiko Stübner * 10*b9e4ba54SHeiko Stübner * This program is distributed in the hope that it will be useful, 11*b9e4ba54SHeiko Stübner * but WITHOUT ANY WARRANTY; without even the implied warranty of 12*b9e4ba54SHeiko Stübner * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13*b9e4ba54SHeiko Stübner * GNU General Public License for more details. 14*b9e4ba54SHeiko Stübner */ 15*b9e4ba54SHeiko Stübner 16*b9e4ba54SHeiko Stübner /* core clocks */ 17*b9e4ba54SHeiko Stübner #define PLL_APLL 1 18*b9e4ba54SHeiko Stübner #define PLL_DPLL 2 19*b9e4ba54SHeiko Stübner #define PLL_CPLL 3 20*b9e4ba54SHeiko Stübner #define PLL_GPLL 4 21*b9e4ba54SHeiko Stübner #define PLL_NPLL 5 22*b9e4ba54SHeiko Stübner 23*b9e4ba54SHeiko Stübner /* sclk gates (special clocks) */ 24*b9e4ba54SHeiko Stübner #define SCLK_GPU 64 25*b9e4ba54SHeiko Stübner #define SCLK_SPI0 65 26*b9e4ba54SHeiko Stübner #define SCLK_SPI1 66 27*b9e4ba54SHeiko Stübner #define SCLK_SPI2 67 28*b9e4ba54SHeiko Stübner #define SCLK_SDMMC 68 29*b9e4ba54SHeiko Stübner #define SCLK_SDIO0 69 30*b9e4ba54SHeiko Stübner #define SCLK_SDIO1 70 31*b9e4ba54SHeiko Stübner #define SCLK_EMMC 71 32*b9e4ba54SHeiko Stübner #define SCLK_TSADC 72 33*b9e4ba54SHeiko Stübner #define SCLK_SARADC 73 34*b9e4ba54SHeiko Stübner #define SCLK_PS2C 74 35*b9e4ba54SHeiko Stübner #define SCLK_NANDC0 75 36*b9e4ba54SHeiko Stübner #define SCLK_NANDC1 76 37*b9e4ba54SHeiko Stübner #define SCLK_UART0 77 38*b9e4ba54SHeiko Stübner #define SCLK_UART1 78 39*b9e4ba54SHeiko Stübner #define SCLK_UART2 79 40*b9e4ba54SHeiko Stübner #define SCLK_UART3 80 41*b9e4ba54SHeiko Stübner #define SCLK_UART4 81 42*b9e4ba54SHeiko Stübner #define SCLK_I2S0 82 43*b9e4ba54SHeiko Stübner #define SCLK_SPDIF 83 44*b9e4ba54SHeiko Stübner #define SCLK_SPDIF8CH 84 45*b9e4ba54SHeiko Stübner #define SCLK_TIMER0 85 46*b9e4ba54SHeiko Stübner #define SCLK_TIMER1 86 47*b9e4ba54SHeiko Stübner #define SCLK_TIMER2 87 48*b9e4ba54SHeiko Stübner #define SCLK_TIMER3 88 49*b9e4ba54SHeiko Stübner #define SCLK_TIMER4 89 50*b9e4ba54SHeiko Stübner #define SCLK_TIMER5 90 51*b9e4ba54SHeiko Stübner #define SCLK_TIMER6 91 52*b9e4ba54SHeiko Stübner #define SCLK_HSADC 92 53*b9e4ba54SHeiko Stübner #define SCLK_OTGPHY0 93 54*b9e4ba54SHeiko Stübner #define SCLK_OTGPHY1 94 55*b9e4ba54SHeiko Stübner #define SCLK_OTGPHY2 95 56*b9e4ba54SHeiko Stübner #define SCLK_OTG_ADP 96 57*b9e4ba54SHeiko Stübner #define SCLK_HSICPHY480M 97 58*b9e4ba54SHeiko Stübner #define SCLK_HSICPHY12M 98 59*b9e4ba54SHeiko Stübner #define SCLK_MACREF 99 60*b9e4ba54SHeiko Stübner #define SCLK_LCDC_PWM0 100 61*b9e4ba54SHeiko Stübner #define SCLK_LCDC_PWM1 101 62*b9e4ba54SHeiko Stübner #define SCLK_MAC_RX 102 63*b9e4ba54SHeiko Stübner #define SCLK_MAC_TX 103 64*b9e4ba54SHeiko Stübner 65*b9e4ba54SHeiko Stübner #define DCLK_VOP0 190 66*b9e4ba54SHeiko Stübner #define DCLK_VOP1 191 67*b9e4ba54SHeiko Stübner 68*b9e4ba54SHeiko Stübner /* aclk gates */ 69*b9e4ba54SHeiko Stübner #define ACLK_GPU 192 70*b9e4ba54SHeiko Stübner #define ACLK_DMAC1 193 71*b9e4ba54SHeiko Stübner #define ACLK_DMAC2 194 72*b9e4ba54SHeiko Stübner #define ACLK_MMU 195 73*b9e4ba54SHeiko Stübner #define ACLK_GMAC 196 74*b9e4ba54SHeiko Stübner #define ACLK_VOP0 197 75*b9e4ba54SHeiko Stübner #define ACLK_VOP1 198 76*b9e4ba54SHeiko Stübner #define ACLK_CRYPTO 199 77*b9e4ba54SHeiko Stübner #define ACLK_RGA 200 78*b9e4ba54SHeiko Stübner 79*b9e4ba54SHeiko Stübner /* pclk gates */ 80*b9e4ba54SHeiko Stübner #define PCLK_GPIO0 320 81*b9e4ba54SHeiko Stübner #define PCLK_GPIO1 321 82*b9e4ba54SHeiko Stübner #define PCLK_GPIO2 322 83*b9e4ba54SHeiko Stübner #define PCLK_GPIO3 323 84*b9e4ba54SHeiko Stübner #define PCLK_GPIO4 324 85*b9e4ba54SHeiko Stübner #define PCLK_GPIO5 325 86*b9e4ba54SHeiko Stübner #define PCLK_GPIO6 326 87*b9e4ba54SHeiko Stübner #define PCLK_GPIO7 327 88*b9e4ba54SHeiko Stübner #define PCLK_GPIO8 328 89*b9e4ba54SHeiko Stübner #define PCLK_GRF 329 90*b9e4ba54SHeiko Stübner #define PCLK_SGRF 330 91*b9e4ba54SHeiko Stübner #define PCLK_PMU 331 92*b9e4ba54SHeiko Stübner #define PCLK_I2C0 332 93*b9e4ba54SHeiko Stübner #define PCLK_I2C1 333 94*b9e4ba54SHeiko Stübner #define PCLK_I2C2 334 95*b9e4ba54SHeiko Stübner #define PCLK_I2C3 335 96*b9e4ba54SHeiko Stübner #define PCLK_I2C4 336 97*b9e4ba54SHeiko Stübner #define PCLK_I2C5 337 98*b9e4ba54SHeiko Stübner #define PCLK_SPI0 338 99*b9e4ba54SHeiko Stübner #define PCLK_SPI1 339 100*b9e4ba54SHeiko Stübner #define PCLK_SPI2 340 101*b9e4ba54SHeiko Stübner #define PCLK_UART0 341 102*b9e4ba54SHeiko Stübner #define PCLK_UART1 342 103*b9e4ba54SHeiko Stübner #define PCLK_UART2 343 104*b9e4ba54SHeiko Stübner #define PCLK_UART3 344 105*b9e4ba54SHeiko Stübner #define PCLK_UART4 345 106*b9e4ba54SHeiko Stübner #define PCLK_TSADC 346 107*b9e4ba54SHeiko Stübner #define PCLK_SARADC 347 108*b9e4ba54SHeiko Stübner #define PCLK_SIM 348 109*b9e4ba54SHeiko Stübner #define PCLK_GMAC 349 110*b9e4ba54SHeiko Stübner #define PCLK_PWM 350 111*b9e4ba54SHeiko Stübner #define PCLK_RKPWM 351 112*b9e4ba54SHeiko Stübner #define PCLK_PS2C 352 113*b9e4ba54SHeiko Stübner #define PCLK_TIMER 353 114*b9e4ba54SHeiko Stübner #define PCLK_TZPC 354 115*b9e4ba54SHeiko Stübner 116*b9e4ba54SHeiko Stübner /* hclk gates */ 117*b9e4ba54SHeiko Stübner #define HCLK_GPS 448 118*b9e4ba54SHeiko Stübner #define HCLK_OTG0 449 119*b9e4ba54SHeiko Stübner #define HCLK_USBHOST0 450 120*b9e4ba54SHeiko Stübner #define HCLK_USBHOST1 451 121*b9e4ba54SHeiko Stübner #define HCLK_HSIC 452 122*b9e4ba54SHeiko Stübner #define HCLK_NANDC0 453 123*b9e4ba54SHeiko Stübner #define HCLK_NANDC1 454 124*b9e4ba54SHeiko Stübner #define HCLK_TSP 455 125*b9e4ba54SHeiko Stübner #define HCLK_SDMMC 456 126*b9e4ba54SHeiko Stübner #define HCLK_SDIO0 457 127*b9e4ba54SHeiko Stübner #define HCLK_SDIO1 458 128*b9e4ba54SHeiko Stübner #define HCLK_EMMC 459 129*b9e4ba54SHeiko Stübner #define HCLK_HSADC 460 130*b9e4ba54SHeiko Stübner #define HCLK_CRYPTO 461 131*b9e4ba54SHeiko Stübner #define HCLK_I2S0 462 132*b9e4ba54SHeiko Stübner #define HCLK_SPDIF 463 133*b9e4ba54SHeiko Stübner #define HCLK_SPDIF8CH 464 134*b9e4ba54SHeiko Stübner #define HCLK_VOP0 465 135*b9e4ba54SHeiko Stübner #define HCLK_VOP1 466 136*b9e4ba54SHeiko Stübner #define HCLK_ROM 467 137*b9e4ba54SHeiko Stübner #define HCLK_IEP 468 138*b9e4ba54SHeiko Stübner #define HCLK_ISP 469 139*b9e4ba54SHeiko Stübner #define HCLK_RGA 470 140*b9e4ba54SHeiko Stübner 141*b9e4ba54SHeiko Stübner #define CLK_NR_CLKS (HCLK_RGA + 1) 142*b9e4ba54SHeiko Stübner 143*b9e4ba54SHeiko Stübner /* soft-reset indices */ 144*b9e4ba54SHeiko Stübner #define SRST_CORE0 0 145*b9e4ba54SHeiko Stübner #define SRST_CORE1 1 146*b9e4ba54SHeiko Stübner #define SRST_CORE2 2 147*b9e4ba54SHeiko Stübner #define SRST_CORE3 3 148*b9e4ba54SHeiko Stübner #define SRST_CORE0_PO 4 149*b9e4ba54SHeiko Stübner #define SRST_CORE1_PO 5 150*b9e4ba54SHeiko Stübner #define SRST_CORE2_PO 6 151*b9e4ba54SHeiko Stübner #define SRST_CORE3_PO 7 152*b9e4ba54SHeiko Stübner #define SRST_PDCORE_STRSYS 8 153*b9e4ba54SHeiko Stübner #define SRST_PDBUS_STRSYS 9 154*b9e4ba54SHeiko Stübner #define SRST_L2C 10 155*b9e4ba54SHeiko Stübner #define SRST_TOPDBG 11 156*b9e4ba54SHeiko Stübner #define SRST_CORE0_DBG 12 157*b9e4ba54SHeiko Stübner #define SRST_CORE1_DBG 13 158*b9e4ba54SHeiko Stübner #define SRST_CORE2_DBG 14 159*b9e4ba54SHeiko Stübner #define SRST_CORE3_DBG 15 160*b9e4ba54SHeiko Stübner 161*b9e4ba54SHeiko Stübner #define SRST_PDBUG_AHB_ARBITOR 16 162*b9e4ba54SHeiko Stübner #define SRST_EFUSE256 17 163*b9e4ba54SHeiko Stübner #define SRST_DMAC1 18 164*b9e4ba54SHeiko Stübner #define SRST_INTMEM 19 165*b9e4ba54SHeiko Stübner #define SRST_ROM 20 166*b9e4ba54SHeiko Stübner #define SRST_SPDIF8CH 21 167*b9e4ba54SHeiko Stübner #define SRST_TIMER 22 168*b9e4ba54SHeiko Stübner #define SRST_I2S0 23 169*b9e4ba54SHeiko Stübner #define SRST_SPDIF 24 170*b9e4ba54SHeiko Stübner #define SRST_TIMER0 25 171*b9e4ba54SHeiko Stübner #define SRST_TIMER1 26 172*b9e4ba54SHeiko Stübner #define SRST_TIMER2 27 173*b9e4ba54SHeiko Stübner #define SRST_TIMER3 28 174*b9e4ba54SHeiko Stübner #define SRST_TIMER4 29 175*b9e4ba54SHeiko Stübner #define SRST_TIMER5 30 176*b9e4ba54SHeiko Stübner #define SRST_EFUSE 31 177*b9e4ba54SHeiko Stübner 178*b9e4ba54SHeiko Stübner #define SRST_GPIO0 32 179*b9e4ba54SHeiko Stübner #define SRST_GPIO1 33 180*b9e4ba54SHeiko Stübner #define SRST_GPIO2 34 181*b9e4ba54SHeiko Stübner #define SRST_GPIO3 35 182*b9e4ba54SHeiko Stübner #define SRST_GPIO4 36 183*b9e4ba54SHeiko Stübner #define SRST_GPIO5 37 184*b9e4ba54SHeiko Stübner #define SRST_GPIO6 38 185*b9e4ba54SHeiko Stübner #define SRST_GPIO7 39 186*b9e4ba54SHeiko Stübner #define SRST_GPIO8 40 187*b9e4ba54SHeiko Stübner #define SRST_I2C0 42 188*b9e4ba54SHeiko Stübner #define SRST_I2C1 43 189*b9e4ba54SHeiko Stübner #define SRST_I2C2 44 190*b9e4ba54SHeiko Stübner #define SRST_I2C3 45 191*b9e4ba54SHeiko Stübner #define SRST_I2C4 46 192*b9e4ba54SHeiko Stübner #define SRST_I2C5 47 193*b9e4ba54SHeiko Stübner 194*b9e4ba54SHeiko Stübner #define SRST_DWPWM 48 195*b9e4ba54SHeiko Stübner #define SRST_MMC_PERI 49 196*b9e4ba54SHeiko Stübner #define SRST_PERIPH_MMU 50 197*b9e4ba54SHeiko Stübner #define SRST_DAP 51 198*b9e4ba54SHeiko Stübner #define SRST_DAP_SYS 52 199*b9e4ba54SHeiko Stübner #define SRST_TPIU 53 200*b9e4ba54SHeiko Stübner #define SRST_PMU_APB 54 201*b9e4ba54SHeiko Stübner #define SRST_GRF 55 202*b9e4ba54SHeiko Stübner #define SRST_PMU 56 203*b9e4ba54SHeiko Stübner #define SRST_PERIPH_AXI 57 204*b9e4ba54SHeiko Stübner #define SRST_PERIPH_AHB 58 205*b9e4ba54SHeiko Stübner #define SRST_PERIPH_APB 59 206*b9e4ba54SHeiko Stübner #define SRST_PERIPH_NIU 60 207*b9e4ba54SHeiko Stübner #define SRST_PDPERI_AHB_ARBI 61 208*b9e4ba54SHeiko Stübner #define SRST_EMEM 62 209*b9e4ba54SHeiko Stübner #define SRST_USB_PERI 63 210*b9e4ba54SHeiko Stübner 211*b9e4ba54SHeiko Stübner #define SRST_DMAC2 64 212*b9e4ba54SHeiko Stübner #define SRST_MAC 66 213*b9e4ba54SHeiko Stübner #define SRST_GPS 67 214*b9e4ba54SHeiko Stübner #define SRST_RKPWM 69 215*b9e4ba54SHeiko Stübner #define SRST_CCP 71 216*b9e4ba54SHeiko Stübner #define SRST_USBHOST0 72 217*b9e4ba54SHeiko Stübner #define SRST_HSIC 73 218*b9e4ba54SHeiko Stübner #define SRST_HSIC_AUX 74 219*b9e4ba54SHeiko Stübner #define SRST_HSIC_PHY 75 220*b9e4ba54SHeiko Stübner #define SRST_HSADC 76 221*b9e4ba54SHeiko Stübner #define SRST_NANDC0 77 222*b9e4ba54SHeiko Stübner #define SRST_NANDC1 78 223*b9e4ba54SHeiko Stübner 224*b9e4ba54SHeiko Stübner #define SRST_TZPC 80 225*b9e4ba54SHeiko Stübner #define SRST_SPI0 83 226*b9e4ba54SHeiko Stübner #define SRST_SPI1 84 227*b9e4ba54SHeiko Stübner #define SRST_SPI2 85 228*b9e4ba54SHeiko Stübner #define SRST_SARADC 87 229*b9e4ba54SHeiko Stübner #define SRST_PDALIVE_NIU 88 230*b9e4ba54SHeiko Stübner #define SRST_PDPMU_INTMEM 89 231*b9e4ba54SHeiko Stübner #define SRST_PDPMU_NIU 90 232*b9e4ba54SHeiko Stübner #define SRST_SGRF 91 233*b9e4ba54SHeiko Stübner 234*b9e4ba54SHeiko Stübner #define SRST_VIO_ARBI 96 235*b9e4ba54SHeiko Stübner #define SRST_RGA_NIU 97 236*b9e4ba54SHeiko Stübner #define SRST_VIO0_NIU_AXI 98 237*b9e4ba54SHeiko Stübner #define SRST_VIO_NIU_AHB 99 238*b9e4ba54SHeiko Stübner #define SRST_LCDC0_AXI 100 239*b9e4ba54SHeiko Stübner #define SRST_LCDC0_AHB 101 240*b9e4ba54SHeiko Stübner #define SRST_LCDC0_DCLK 102 241*b9e4ba54SHeiko Stübner #define SRST_VIO1_NIU_AXI 103 242*b9e4ba54SHeiko Stübner #define SRST_VIP 104 243*b9e4ba54SHeiko Stübner #define SRST_RGA_CORE 105 244*b9e4ba54SHeiko Stübner #define SRST_IEP_AXI 106 245*b9e4ba54SHeiko Stübner #define SRST_IEP_AHB 107 246*b9e4ba54SHeiko Stübner #define SRST_RGA_AXI 108 247*b9e4ba54SHeiko Stübner #define SRST_RGA_AHB 109 248*b9e4ba54SHeiko Stübner #define SRST_ISP 110 249*b9e4ba54SHeiko Stübner #define SRST_EDP 111 250*b9e4ba54SHeiko Stübner 251*b9e4ba54SHeiko Stübner #define SRST_VCODEC_AXI 112 252*b9e4ba54SHeiko Stübner #define SRST_VCODEC_AHB 113 253*b9e4ba54SHeiko Stübner #define SRST_VIO_H2P 114 254*b9e4ba54SHeiko Stübner #define SRST_MIPIDSI0 115 255*b9e4ba54SHeiko Stübner #define SRST_MIPIDSI1 116 256*b9e4ba54SHeiko Stübner #define SRST_MIPICSI 117 257*b9e4ba54SHeiko Stübner #define SRST_LVDS_PHY 118 258*b9e4ba54SHeiko Stübner #define SRST_LVDS_CON 119 259*b9e4ba54SHeiko Stübner #define SRST_GPU 120 260*b9e4ba54SHeiko Stübner #define SRST_HDMI 121 261*b9e4ba54SHeiko Stübner #define SRST_CORE_PVTM 124 262*b9e4ba54SHeiko Stübner #define SRST_GPU_PVTM 125 263*b9e4ba54SHeiko Stübner 264*b9e4ba54SHeiko Stübner #define SRST_MMC0 128 265*b9e4ba54SHeiko Stübner #define SRST_SDIO0 129 266*b9e4ba54SHeiko Stübner #define SRST_SDIO1 130 267*b9e4ba54SHeiko Stübner #define SRST_EMMC 131 268*b9e4ba54SHeiko Stübner #define SRST_USBOTG_AHB 132 269*b9e4ba54SHeiko Stübner #define SRST_USBOTG_PHY 133 270*b9e4ba54SHeiko Stübner #define SRST_USBOTG_CON 134 271*b9e4ba54SHeiko Stübner #define SRST_USBHOST0_AHB 135 272*b9e4ba54SHeiko Stübner #define SRST_USBHOST0_PHY 136 273*b9e4ba54SHeiko Stübner #define SRST_USBHOST0_CON 137 274*b9e4ba54SHeiko Stübner #define SRST_USBHOST1_AHB 138 275*b9e4ba54SHeiko Stübner #define SRST_USBHOST1_PHY 139 276*b9e4ba54SHeiko Stübner #define SRST_USBHOST1_CON 140 277*b9e4ba54SHeiko Stübner #define SRST_USB_ADP 141 278*b9e4ba54SHeiko Stübner #define SRST_ACC_EFUSE 142 279