1 /* 2 * Copyright (c) 2014 MundoReader S.L. 3 * Author: Heiko Stuebner <heiko@sntech.de> 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 /* core clocks from */ 17 #define PLL_APLL 1 18 #define PLL_DPLL 2 19 #define PLL_CPLL 3 20 #define PLL_GPLL 4 21 #define CORE_PERI 5 22 #define CORE_L2C 6 23 #define ARMCLK 7 24 25 /* sclk gates (special clocks) */ 26 #define SCLK_UART0 64 27 #define SCLK_UART1 65 28 #define SCLK_UART2 66 29 #define SCLK_UART3 67 30 #define SCLK_MAC 68 31 #define SCLK_SPI0 69 32 #define SCLK_SPI1 70 33 #define SCLK_SARADC 71 34 #define SCLK_SDMMC 72 35 #define SCLK_SDIO 73 36 #define SCLK_EMMC 74 37 #define SCLK_I2S0 75 38 #define SCLK_I2S1 76 39 #define SCLK_I2S2 77 40 #define SCLK_SPDIF 78 41 #define SCLK_CIF0 79 42 #define SCLK_CIF1 80 43 #define SCLK_OTGPHY0 81 44 #define SCLK_OTGPHY1 82 45 #define SCLK_HSADC 83 46 #define SCLK_TIMER0 84 47 #define SCLK_TIMER1 85 48 #define SCLK_TIMER2 86 49 #define SCLK_TIMER3 87 50 #define SCLK_TIMER4 88 51 #define SCLK_TIMER5 89 52 #define SCLK_TIMER6 90 53 #define SCLK_JTAG 91 54 #define SCLK_SMC 92 55 56 #define DCLK_LCDC0 190 57 #define DCLK_LCDC1 191 58 59 /* aclk gates */ 60 #define ACLK_DMA1 192 61 #define ACLK_DMA2 193 62 #define ACLK_GPS 194 63 #define ACLK_LCDC0 195 64 #define ACLK_LCDC1 196 65 #define ACLK_GPU 197 66 #define ACLK_SMC 198 67 #define ACLK_CIF 199 68 #define ACLK_IPP 200 69 #define ACLK_RGA 201 70 #define ACLK_CIF0 202 71 72 /* pclk gates */ 73 #define PCLK_GRF 320 74 #define PCLK_PMU 321 75 #define PCLK_TIMER0 322 76 #define PCLK_TIMER1 323 77 #define PCLK_TIMER2 324 78 #define PCLK_TIMER3 325 79 #define PCLK_PWM01 326 80 #define PCLK_PWM23 327 81 #define PCLK_SPI0 328 82 #define PCLK_SPI1 329 83 #define PCLK_SARADC 330 84 #define PCLK_WDT 331 85 #define PCLK_UART0 332 86 #define PCLK_UART1 333 87 #define PCLK_UART2 334 88 #define PCLK_UART3 335 89 #define PCLK_I2C0 336 90 #define PCLK_I2C1 337 91 #define PCLK_I2C2 338 92 #define PCLK_I2C3 339 93 #define PCLK_I2C4 340 94 #define PCLK_GPIO0 341 95 #define PCLK_GPIO1 342 96 #define PCLK_GPIO2 343 97 #define PCLK_GPIO3 344 98 #define PCLK_GPIO4 345 99 #define PCLK_GPIO6 346 100 #define PCLK_EFUSE 347 101 #define PCLK_TZPC 348 102 #define PCLK_TSADC 349 103 104 /* hclk gates */ 105 #define HCLK_SDMMC 448 106 #define HCLK_SDIO 449 107 #define HCLK_EMMC 450 108 #define HCLK_OTG0 451 109 #define HCLK_EMAC 452 110 #define HCLK_SPDIF 453 111 #define HCLK_I2S0 454 112 #define HCLK_I2S1 455 113 #define HCLK_I2S2 456 114 #define HCLK_OTG1 457 115 #define HCLK_HSIC 458 116 #define HCLK_HSADC 459 117 #define HCLK_PIDF 460 118 #define HCLK_LCDC0 461 119 #define HCLK_LCDC1 462 120 #define HCLK_ROM 463 121 #define HCLK_CIF0 464 122 #define HCLK_IPP 465 123 #define HCLK_RGA 466 124 #define HCLK_NANDC0 467 125 126 #define CLK_NR_CLKS (HCLK_NANDC0 + 1) 127 128 /* soft-reset indices */ 129 #define SRST_MCORE 2 130 #define SRST_CORE0 3 131 #define SRST_CORE1 4 132 #define SRST_MCORE_DBG 7 133 #define SRST_CORE0_DBG 8 134 #define SRST_CORE1_DBG 9 135 #define SRST_CORE0_WDT 12 136 #define SRST_CORE1_WDT 13 137 #define SRST_STRC_SYS 14 138 #define SRST_L2C 15 139 140 #define SRST_CPU_AHB 17 141 #define SRST_AHB2APB 19 142 #define SRST_DMA1 20 143 #define SRST_INTMEM 21 144 #define SRST_ROM 22 145 #define SRST_SPDIF 26 146 #define SRST_TIMER0 27 147 #define SRST_TIMER1 28 148 #define SRST_EFUSE 30 149 150 #define SRST_GPIO0 32 151 #define SRST_GPIO1 33 152 #define SRST_GPIO2 34 153 #define SRST_GPIO3 35 154 155 #define SRST_UART0 39 156 #define SRST_UART1 40 157 #define SRST_UART2 41 158 #define SRST_UART3 42 159 #define SRST_I2C0 43 160 #define SRST_I2C1 44 161 #define SRST_I2C2 45 162 #define SRST_I2C3 46 163 #define SRST_I2C4 47 164 165 #define SRST_PWM0 48 166 #define SRST_PWM1 49 167 #define SRST_DAP_PO 50 168 #define SRST_DAP 51 169 #define SRST_DAP_SYS 52 170 #define SRST_TPIU_ATB 53 171 #define SRST_PMU_APB 54 172 #define SRST_GRF 55 173 #define SRST_PMU 56 174 #define SRST_PERI_AXI 57 175 #define SRST_PERI_AHB 58 176 #define SRST_PERI_APB 59 177 #define SRST_PERI_NIU 60 178 #define SRST_CPU_PERI 61 179 #define SRST_EMEM_PERI 62 180 #define SRST_USB_PERI 63 181 182 #define SRST_DMA2 64 183 #define SRST_SMC 65 184 #define SRST_MAC 66 185 #define SRST_NANC0 68 186 #define SRST_USBOTG0 69 187 #define SRST_USBPHY0 70 188 #define SRST_OTGC0 71 189 #define SRST_USBOTG1 72 190 #define SRST_USBPHY1 73 191 #define SRST_OTGC1 74 192 #define SRST_HSADC 76 193 #define SRST_PIDFILTER 77 194 #define SRST_DDR_MSCH 79 195 196 #define SRST_TZPC 80 197 #define SRST_SDMMC 81 198 #define SRST_SDIO 82 199 #define SRST_EMMC 83 200 #define SRST_SPI0 84 201 #define SRST_SPI1 85 202 #define SRST_WDT 86 203 #define SRST_SARADC 87 204 #define SRST_DDRPHY 88 205 #define SRST_DDRPHY_APB 89 206 #define SRST_DDRCTL 90 207 #define SRST_DDRCTL_APB 91 208 #define SRST_DDRPUB 93 209 210 #define SRST_VIO0_AXI 98 211 #define SRST_VIO0_AHB 99 212 #define SRST_LCDC0_AXI 100 213 #define SRST_LCDC0_AHB 101 214 #define SRST_LCDC0_DCLK 102 215 #define SRST_LCDC1_AXI 103 216 #define SRST_LCDC1_AHB 104 217 #define SRST_LCDC1_DCLK 105 218 #define SRST_IPP_AXI 106 219 #define SRST_IPP_AHB 107 220 #define SRST_RGA_AXI 108 221 #define SRST_RGA_AHB 109 222 #define SRST_CIF0 110 223 224 #define SRST_VCODEC_AXI 112 225 #define SRST_VCODEC_AHB 113 226 #define SRST_VIO1_AXI 114 227 #define SRST_VCODEC_CPU 115 228 #define SRST_VCODEC_NIU 116 229 #define SRST_GPU 120 230 #define SRST_GPU_NIU 122 231 #define SRST_TFUN_ATB 125 232 #define SRST_TFUN_APB 126 233 #define SRST_CTI4_APB 127 234 235 #define SRST_TPIU_APB 128 236 #define SRST_TRACE 129 237 #define SRST_CORE_DBG 130 238 #define SRST_DBG_APB 131 239 #define SRST_CTI0 132 240 #define SRST_CTI0_APB 133 241 #define SRST_CTI1 134 242 #define SRST_CTI1_APB 135 243 #define SRST_PTM_CORE0 136 244 #define SRST_PTM_CORE1 137 245 #define SRST_PTM0 138 246 #define SRST_PTM0_ATB 139 247 #define SRST_PTM1 140 248 #define SRST_PTM1_ATB 141 249 #define SRST_CTM 142 250 #define SRST_TS 143 251