1 /* 2 * Copyright (c) 2021-2023 HPMicro 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 * 6 */ 7 8 9 #ifndef HPM_SOC_H 10 #define HPM_SOC_H 11 12 13 /* List of external IRQs */ 14 #define IRQn_GPIO0_A 1 /* GPIO0_A IRQ */ 15 #define IRQn_GPIO0_B 2 /* GPIO0_B IRQ */ 16 #define IRQn_GPIO0_C 3 /* GPIO0_C IRQ */ 17 #define IRQn_GPIO0_D 4 /* GPIO0_D IRQ */ 18 #define IRQn_GPIO0_E 5 /* GPIO0_E IRQ */ 19 #define IRQn_GPIO0_F 6 /* GPIO0_F IRQ */ 20 #define IRQn_GPIO0_X 7 /* GPIO0_X IRQ */ 21 #define IRQn_GPIO0_Y 8 /* GPIO0_Y IRQ */ 22 #define IRQn_GPIO0_Z 9 /* GPIO0_Z IRQ */ 23 #define IRQn_CAN0 10 /* CAN0 IRQ */ 24 #define IRQn_CAN1 11 /* CAN1 IRQ */ 25 #define IRQn_CAN2 12 /* CAN2 IRQ */ 26 #define IRQn_CAN3 13 /* CAN3 IRQ */ 27 #define IRQn_CAN4 14 /* CAN4 IRQ */ 28 #define IRQn_CAN5 15 /* CAN5 IRQ */ 29 #define IRQn_CAN6 16 /* CAN6 IRQ */ 30 #define IRQn_CAN7 17 /* CAN7 IRQ */ 31 #define IRQn_PTPC 18 /* PTPC IRQ */ 32 #define IRQn_UART0 27 /* UART0 IRQ */ 33 #define IRQn_UART1 28 /* UART1 IRQ */ 34 #define IRQn_UART2 29 /* UART2 IRQ */ 35 #define IRQn_UART3 30 /* UART3 IRQ */ 36 #define IRQn_UART4 31 /* UART4 IRQ */ 37 #define IRQn_UART5 32 /* UART5 IRQ */ 38 #define IRQn_UART6 33 /* UART6 IRQ */ 39 #define IRQn_UART7 34 /* UART7 IRQ */ 40 #define IRQn_I2C0 35 /* I2C0 IRQ */ 41 #define IRQn_I2C1 36 /* I2C1 IRQ */ 42 #define IRQn_I2C2 37 /* I2C2 IRQ */ 43 #define IRQn_I2C3 38 /* I2C3 IRQ */ 44 #define IRQn_SPI0 39 /* SPI0 IRQ */ 45 #define IRQn_SPI1 40 /* SPI1 IRQ */ 46 #define IRQn_SPI2 41 /* SPI2 IRQ */ 47 #define IRQn_SPI3 42 /* SPI3 IRQ */ 48 #define IRQn_GPTMR0 43 /* GPTMR0 IRQ */ 49 #define IRQn_GPTMR1 44 /* GPTMR1 IRQ */ 50 #define IRQn_GPTMR2 45 /* GPTMR2 IRQ */ 51 #define IRQn_GPTMR3 46 /* GPTMR3 IRQ */ 52 #define IRQn_GPTMR4 47 /* GPTMR4 IRQ */ 53 #define IRQn_GPTMR5 48 /* GPTMR5 IRQ */ 54 #define IRQn_GPTMR6 49 /* GPTMR6 IRQ */ 55 #define IRQn_GPTMR7 50 /* GPTMR7 IRQ */ 56 #define IRQn_WDG0 51 /* WDG0 IRQ */ 57 #define IRQn_WDG1 52 /* WDG1 IRQ */ 58 #define IRQn_MBX0A 53 /* MBX0A IRQ */ 59 #define IRQn_MBX0B 54 /* MBX0B IRQ */ 60 #define IRQn_MBX1A 55 /* MBX1A IRQ */ 61 #define IRQn_MBX1B 56 /* MBX1B IRQ */ 62 #define IRQn_RNG 57 /* RNG IRQ */ 63 #define IRQn_HDMA 58 /* HDMA IRQ */ 64 #define IRQn_ADC0 59 /* ADC0 IRQ */ 65 #define IRQn_ADC1 60 /* ADC1 IRQ */ 66 #define IRQn_SDM 61 /* SDM IRQ */ 67 #define IRQn_OPAMP 62 /* OPAMP IRQ */ 68 #define IRQn_I2S0 63 /* I2S0 IRQ */ 69 #define IRQn_I2S1 64 /* I2S1 IRQ */ 70 #define IRQn_I2S2 65 /* I2S2 IRQ */ 71 #define IRQn_I2S3 66 /* I2S3 IRQ */ 72 #define IRQn_DAO 67 /* DAO IRQ */ 73 #define IRQn_PDM 68 /* PDM IRQ */ 74 #define IRQn_SMIX_DMA 69 /* SMIX_DMA IRQ */ 75 #define IRQn_SMIX_ASRC 70 /* SMIX_ASRC IRQ */ 76 #define IRQn_CAM0 71 /* CAM0 IRQ */ 77 #define IRQn_CAM1 72 /* CAM1 IRQ */ 78 #define IRQn_LCDC 73 /* LCDC IRQ */ 79 #define IRQn_LCDC1 74 /* LCDC1 IRQ */ 80 #define IRQn_PDMA 75 /* PDMA IRQ */ 81 #define IRQn_JPEG 76 /* JPEG IRQ */ 82 #define IRQn_GWCK0_FUNC 77 /* GWCK0_FUNC IRQ */ 83 #define IRQn_GWCK0_ERR 78 /* GWCK0_ERR IRQ */ 84 #define IRQn_GWCK1_FUNC 79 /* GWCK1_FUNC IRQ */ 85 #define IRQn_GWCK1_ERR 80 /* GWCK1_ERR IRQ */ 86 #define IRQn_MIPI_DSI0 81 /* MIPI_DSI0 IRQ */ 87 #define IRQn_MIPI_DSI1 82 /* MIPI_DSI1 IRQ */ 88 #define IRQn_MIPI_CSI0 83 /* MIPI_CSI0 IRQ */ 89 #define IRQn_MIPI_CSI0_AP 84 /* MIPI_CSI0_AP IRQ */ 90 #define IRQn_MIPI_CSI0_DIAG 85 /* MIPI_CSI0_DIAG IRQ */ 91 #define IRQn_MIPI_CSI1_AP 86 /* MIPI_CSI1_AP IRQ */ 92 #define IRQn_MIPI_CSI1_DIAG 87 /* MIPI_CSI1_DIAG IRQ */ 93 #define IRQn_MIPI_CSI1 88 /* MIPI_CSI1 IRQ */ 94 #define IRQn_LCB0 89 /* LCB0 IRQ */ 95 #define IRQn_LCB1 90 /* LCB1 IRQ */ 96 #define IRQn_GPU 91 /* GPU IRQ */ 97 #define IRQn_ENET0 92 /* ENET0 IRQ */ 98 #define IRQn_NTMR0 93 /* NTMR0 IRQ */ 99 #define IRQn_USB0 94 /* USB0 IRQ */ 100 #define IRQn_SDXC0 95 /* SDXC0 IRQ */ 101 #define IRQn_SDXC1 96 /* SDXC1 IRQ */ 102 #define IRQn_SDP 97 /* SDP IRQ */ 103 #define IRQn_XPI0 98 /* XPI0 IRQ */ 104 #define IRQn_XDMA 99 /* XDMA IRQ */ 105 #define IRQn_DDR 100 /* DDR IRQ */ 106 #define IRQn_FFA 101 /* FFA IRQ */ 107 #define IRQn_PSEC 102 /* PSEC IRQ */ 108 #define IRQn_TSNS 103 /* TSNS IRQ */ 109 #define IRQn_VAD 104 /* VAD IRQ */ 110 #define IRQn_PGPIO 105 /* PGPIO IRQ */ 111 #define IRQn_PWDG 106 /* PWDG IRQ */ 112 #define IRQn_PTMR 107 /* PTMR IRQ */ 113 #define IRQn_PUART 108 /* PUART IRQ */ 114 #define IRQn_FUSE 109 /* FUSE IRQ */ 115 #define IRQn_SECMON 110 /* SECMON IRQ */ 116 #define IRQn_RTC 111 /* RTC IRQ */ 117 #define IRQn_BGPIO 112 /* BGPIO IRQ */ 118 #define IRQn_BVIO 113 /* BVIO IRQ */ 119 #define IRQn_BROWNOUT 114 /* BROWNOUT IRQ */ 120 #define IRQn_SYSCTL 115 /* SYSCTL IRQ */ 121 #define IRQn_DEBUG0 116 /* DEBUG0 IRQ */ 122 #define IRQn_DEBUG1 117 /* DEBUG1 IRQ */ 123 124 #include "hpm_common.h" 125 126 #include "hpm_gpio_regs.h" 127 /* Address of GPIO instances */ 128 /* FGPIO base address */ 129 #define HPM_FGPIO_BASE (0xC0000UL) 130 /* FGPIO base pointer */ 131 #define HPM_FGPIO ((GPIO_Type *) HPM_FGPIO_BASE) 132 /* GPIO0 base address */ 133 #define HPM_GPIO0_BASE (0xF00D0000UL) 134 /* GPIO0 base pointer */ 135 #define HPM_GPIO0 ((GPIO_Type *) HPM_GPIO0_BASE) 136 /* PGPIO base address */ 137 #define HPM_PGPIO_BASE (0xF411C000UL) 138 /* PGPIO base pointer */ 139 #define HPM_PGPIO ((GPIO_Type *) HPM_PGPIO_BASE) 140 /* BGPIO base address */ 141 #define HPM_BGPIO_BASE (0xF4214000UL) 142 /* BGPIO base pointer */ 143 #define HPM_BGPIO ((GPIO_Type *) HPM_BGPIO_BASE) 144 145 /* Address of DM instances */ 146 /* DM base address */ 147 #define HPM_DM_BASE (0x30000000UL) 148 149 #include "hpm_plic_regs.h" 150 /* Address of PLIC instances */ 151 /* PLIC base address */ 152 #define HPM_PLIC_BASE (0xE4000000UL) 153 /* PLIC base pointer */ 154 #define HPM_PLIC ((PLIC_Type *) HPM_PLIC_BASE) 155 156 #include "hpm_mchtmr_regs.h" 157 /* Address of MCHTMR instances */ 158 /* MCHTMR base address */ 159 #define HPM_MCHTMR_BASE (0xE6000000UL) 160 /* MCHTMR base pointer */ 161 #define HPM_MCHTMR ((MCHTMR_Type *) HPM_MCHTMR_BASE) 162 163 #include "hpm_plic_sw_regs.h" 164 /* Address of PLICSW instances */ 165 /* PLICSW base address */ 166 #define HPM_PLICSW_BASE (0xE6400000UL) 167 /* PLICSW base pointer */ 168 #define HPM_PLICSW ((PLIC_SW_Type *) HPM_PLICSW_BASE) 169 170 #include "hpm_crc_regs.h" 171 /* Address of CRC instances */ 172 /* CRC base address */ 173 #define HPM_CRC_BASE (0xF000C000UL) 174 /* CRC base pointer */ 175 #define HPM_CRC ((CRC_Type *) HPM_CRC_BASE) 176 177 #include "hpm_opamp_regs.h" 178 /* Address of OPAMP instances */ 179 /* OPAMP base address */ 180 #define HPM_OPAMP_BASE (0xF0014000UL) 181 /* OPAMP base pointer */ 182 #define HPM_OPAMP ((OPAMP_Type *) HPM_OPAMP_BASE) 183 184 #include "hpm_sdadc_regs.h" 185 /* Address of SDADC instances */ 186 /* ADC1 base address */ 187 #define HPM_ADC1_BASE (0xF0018000UL) 188 /* ADC1 base pointer */ 189 #define HPM_ADC1 ((SDADC_Type *) HPM_ADC1_BASE) 190 191 #include "hpm_sdmv2_regs.h" 192 /* Address of SDMV2 instances */ 193 /* SDMV2 base address */ 194 #define HPM_SDMV2_BASE (0xF001C000UL) 195 /* SDMV2 base pointer */ 196 #define HPM_SDMV2 ((SDMV2_Type *) HPM_SDMV2_BASE) 197 198 #include "hpm_uart_regs.h" 199 /* Address of UART instances */ 200 /* UART0 base address */ 201 #define HPM_UART0_BASE (0xF0040000UL) 202 /* UART0 base pointer */ 203 #define HPM_UART0 ((UART_Type *) HPM_UART0_BASE) 204 /* UART1 base address */ 205 #define HPM_UART1_BASE (0xF0044000UL) 206 /* UART1 base pointer */ 207 #define HPM_UART1 ((UART_Type *) HPM_UART1_BASE) 208 /* UART2 base address */ 209 #define HPM_UART2_BASE (0xF0048000UL) 210 /* UART2 base pointer */ 211 #define HPM_UART2 ((UART_Type *) HPM_UART2_BASE) 212 /* UART3 base address */ 213 #define HPM_UART3_BASE (0xF004C000UL) 214 /* UART3 base pointer */ 215 #define HPM_UART3 ((UART_Type *) HPM_UART3_BASE) 216 /* UART4 base address */ 217 #define HPM_UART4_BASE (0xF0050000UL) 218 /* UART4 base pointer */ 219 #define HPM_UART4 ((UART_Type *) HPM_UART4_BASE) 220 /* UART5 base address */ 221 #define HPM_UART5_BASE (0xF0054000UL) 222 /* UART5 base pointer */ 223 #define HPM_UART5 ((UART_Type *) HPM_UART5_BASE) 224 /* UART6 base address */ 225 #define HPM_UART6_BASE (0xF0058000UL) 226 /* UART6 base pointer */ 227 #define HPM_UART6 ((UART_Type *) HPM_UART6_BASE) 228 /* UART7 base address */ 229 #define HPM_UART7_BASE (0xF005C000UL) 230 /* UART7 base pointer */ 231 #define HPM_UART7 ((UART_Type *) HPM_UART7_BASE) 232 /* PUART base address */ 233 #define HPM_PUART_BASE (0xF4124000UL) 234 /* PUART base pointer */ 235 #define HPM_PUART ((UART_Type *) HPM_PUART_BASE) 236 237 #include "hpm_i2c_regs.h" 238 /* Address of I2C instances */ 239 /* I2C0 base address */ 240 #define HPM_I2C0_BASE (0xF0060000UL) 241 /* I2C0 base pointer */ 242 #define HPM_I2C0 ((I2C_Type *) HPM_I2C0_BASE) 243 /* I2C1 base address */ 244 #define HPM_I2C1_BASE (0xF0064000UL) 245 /* I2C1 base pointer */ 246 #define HPM_I2C1 ((I2C_Type *) HPM_I2C1_BASE) 247 /* I2C2 base address */ 248 #define HPM_I2C2_BASE (0xF0068000UL) 249 /* I2C2 base pointer */ 250 #define HPM_I2C2 ((I2C_Type *) HPM_I2C2_BASE) 251 /* I2C3 base address */ 252 #define HPM_I2C3_BASE (0xF006C000UL) 253 /* I2C3 base pointer */ 254 #define HPM_I2C3 ((I2C_Type *) HPM_I2C3_BASE) 255 256 #include "hpm_spi_regs.h" 257 /* Address of SPI instances */ 258 /* SPI0 base address */ 259 #define HPM_SPI0_BASE (0xF0070000UL) 260 /* SPI0 base pointer */ 261 #define HPM_SPI0 ((SPI_Type *) HPM_SPI0_BASE) 262 /* SPI1 base address */ 263 #define HPM_SPI1_BASE (0xF0074000UL) 264 /* SPI1 base pointer */ 265 #define HPM_SPI1 ((SPI_Type *) HPM_SPI1_BASE) 266 /* SPI2 base address */ 267 #define HPM_SPI2_BASE (0xF0078000UL) 268 /* SPI2 base pointer */ 269 #define HPM_SPI2 ((SPI_Type *) HPM_SPI2_BASE) 270 /* SPI3 base address */ 271 #define HPM_SPI3_BASE (0xF007C000UL) 272 /* SPI3 base pointer */ 273 #define HPM_SPI3 ((SPI_Type *) HPM_SPI3_BASE) 274 275 #include "hpm_gptmr_regs.h" 276 /* Address of TMR instances */ 277 /* GPTMR0 base address */ 278 #define HPM_GPTMR0_BASE (0xF0080000UL) 279 /* GPTMR0 base pointer */ 280 #define HPM_GPTMR0 ((GPTMR_Type *) HPM_GPTMR0_BASE) 281 /* GPTMR1 base address */ 282 #define HPM_GPTMR1_BASE (0xF0084000UL) 283 /* GPTMR1 base pointer */ 284 #define HPM_GPTMR1 ((GPTMR_Type *) HPM_GPTMR1_BASE) 285 /* GPTMR2 base address */ 286 #define HPM_GPTMR2_BASE (0xF0088000UL) 287 /* GPTMR2 base pointer */ 288 #define HPM_GPTMR2 ((GPTMR_Type *) HPM_GPTMR2_BASE) 289 /* GPTMR3 base address */ 290 #define HPM_GPTMR3_BASE (0xF008C000UL) 291 /* GPTMR3 base pointer */ 292 #define HPM_GPTMR3 ((GPTMR_Type *) HPM_GPTMR3_BASE) 293 /* GPTMR4 base address */ 294 #define HPM_GPTMR4_BASE (0xF0090000UL) 295 /* GPTMR4 base pointer */ 296 #define HPM_GPTMR4 ((GPTMR_Type *) HPM_GPTMR4_BASE) 297 /* GPTMR5 base address */ 298 #define HPM_GPTMR5_BASE (0xF0094000UL) 299 /* GPTMR5 base pointer */ 300 #define HPM_GPTMR5 ((GPTMR_Type *) HPM_GPTMR5_BASE) 301 /* GPTMR6 base address */ 302 #define HPM_GPTMR6_BASE (0xF0098000UL) 303 /* GPTMR6 base pointer */ 304 #define HPM_GPTMR6 ((GPTMR_Type *) HPM_GPTMR6_BASE) 305 /* GPTMR7 base address */ 306 #define HPM_GPTMR7_BASE (0xF009C000UL) 307 /* GPTMR7 base pointer */ 308 #define HPM_GPTMR7 ((GPTMR_Type *) HPM_GPTMR7_BASE) 309 /* NTMR0 base address */ 310 #define HPM_NTMR0_BASE (0xF1110000UL) 311 /* NTMR0 base pointer */ 312 #define HPM_NTMR0 ((GPTMR_Type *) HPM_NTMR0_BASE) 313 /* PTMR base address */ 314 #define HPM_PTMR_BASE (0xF4120000UL) 315 /* PTMR base pointer */ 316 #define HPM_PTMR ((GPTMR_Type *) HPM_PTMR_BASE) 317 318 #include "hpm_mbx_regs.h" 319 /* Address of MBX instances */ 320 /* MBX0A base address */ 321 #define HPM_MBX0A_BASE (0xF00A0000UL) 322 /* MBX0A base pointer */ 323 #define HPM_MBX0A ((MBX_Type *) HPM_MBX0A_BASE) 324 /* MBX0B base address */ 325 #define HPM_MBX0B_BASE (0xF00A4000UL) 326 /* MBX0B base pointer */ 327 #define HPM_MBX0B ((MBX_Type *) HPM_MBX0B_BASE) 328 /* MBX1A base address */ 329 #define HPM_MBX1A_BASE (0xF00A8000UL) 330 /* MBX1A base pointer */ 331 #define HPM_MBX1A ((MBX_Type *) HPM_MBX1A_BASE) 332 /* MBX1B base address */ 333 #define HPM_MBX1B_BASE (0xF00AC000UL) 334 /* MBX1B base pointer */ 335 #define HPM_MBX1B ((MBX_Type *) HPM_MBX1B_BASE) 336 337 #include "hpm_ewdg_regs.h" 338 /* Address of EWDG instances */ 339 /* WDG0 base address */ 340 #define HPM_WDG0_BASE (0xF00B0000UL) 341 /* WDG0 base pointer */ 342 #define HPM_WDG0 ((EWDG_Type *) HPM_WDG0_BASE) 343 /* WDG1 base address */ 344 #define HPM_WDG1_BASE (0xF00B4000UL) 345 /* WDG1 base pointer */ 346 #define HPM_WDG1 ((EWDG_Type *) HPM_WDG1_BASE) 347 /* PWDG base address */ 348 #define HPM_PWDG_BASE (0xF4128000UL) 349 /* PWDG base pointer */ 350 #define HPM_PWDG ((EWDG_Type *) HPM_PWDG_BASE) 351 352 #include "hpm_dmamux_regs.h" 353 /* Address of DMAMUX instances */ 354 /* DMAMUX base address */ 355 #define HPM_DMAMUX_BASE (0xF00C4000UL) 356 /* DMAMUX base pointer */ 357 #define HPM_DMAMUX ((DMAMUX_Type *) HPM_DMAMUX_BASE) 358 359 #include "hpm_dmav2_regs.h" 360 /* Address of DMAV2 instances */ 361 /* HDMA base address */ 362 #define HPM_HDMA_BASE (0xF00C8000UL) 363 /* HDMA base pointer */ 364 #define HPM_HDMA ((DMAV2_Type *) HPM_HDMA_BASE) 365 /* XDMA base address */ 366 #define HPM_XDMA_BASE (0xF3008000UL) 367 /* XDMA base pointer */ 368 #define HPM_XDMA ((DMAV2_Type *) HPM_XDMA_BASE) 369 370 #include "hpm_gpiom_regs.h" 371 /* Address of GPIOM instances */ 372 /* GPIOM base address */ 373 #define HPM_GPIOM_BASE (0xF00D8000UL) 374 /* GPIOM base pointer */ 375 #define HPM_GPIOM ((GPIOM_Type *) HPM_GPIOM_BASE) 376 377 #include "hpm_adc16_regs.h" 378 /* Address of ADC16 instances */ 379 /* ADC0 base address */ 380 #define HPM_ADC0_BASE (0xF00E0000UL) 381 /* ADC0 base pointer */ 382 #define HPM_ADC0 ((ADC16_Type *) HPM_ADC0_BASE) 383 384 #include "hpm_i2s_regs.h" 385 /* Address of I2S instances */ 386 /* I2S0 base address */ 387 #define HPM_I2S0_BASE (0xF0200000UL) 388 /* I2S0 base pointer */ 389 #define HPM_I2S0 ((I2S_Type *) HPM_I2S0_BASE) 390 /* I2S1 base address */ 391 #define HPM_I2S1_BASE (0xF0204000UL) 392 /* I2S1 base pointer */ 393 #define HPM_I2S1 ((I2S_Type *) HPM_I2S1_BASE) 394 /* I2S2 base address */ 395 #define HPM_I2S2_BASE (0xF0208000UL) 396 /* I2S2 base pointer */ 397 #define HPM_I2S2 ((I2S_Type *) HPM_I2S2_BASE) 398 /* I2S3 base address */ 399 #define HPM_I2S3_BASE (0xF020C000UL) 400 /* I2S3 base pointer */ 401 #define HPM_I2S3 ((I2S_Type *) HPM_I2S3_BASE) 402 403 #include "hpm_dao_regs.h" 404 /* Address of DAO instances */ 405 /* DAO base address */ 406 #define HPM_DAO_BASE (0xF0210000UL) 407 /* DAO base pointer */ 408 #define HPM_DAO ((DAO_Type *) HPM_DAO_BASE) 409 410 #include "hpm_pdm_regs.h" 411 /* Address of PDM instances */ 412 /* PDM base address */ 413 #define HPM_PDM_BASE (0xF0214000UL) 414 /* PDM base pointer */ 415 #define HPM_PDM ((PDM_Type *) HPM_PDM_BASE) 416 417 #include "hpm_smix_regs.h" 418 /* Address of SMIX instances */ 419 /* SMIX base address */ 420 #define HPM_SMIX_BASE (0xF0218000UL) 421 /* SMIX base pointer */ 422 #define HPM_SMIX ((SMIX_Type *) HPM_SMIX_BASE) 423 424 #include "hpm_mcan_regs.h" 425 /* Address of MCAN instances */ 426 /* MCAN0 base address */ 427 #define HPM_MCAN0_BASE (0xF0280000UL) 428 /* MCAN0 base pointer */ 429 #define HPM_MCAN0 ((MCAN_Type *) HPM_MCAN0_BASE) 430 /* MCAN1 base address */ 431 #define HPM_MCAN1_BASE (0xF0284000UL) 432 /* MCAN1 base pointer */ 433 #define HPM_MCAN1 ((MCAN_Type *) HPM_MCAN1_BASE) 434 /* MCAN2 base address */ 435 #define HPM_MCAN2_BASE (0xF0288000UL) 436 /* MCAN2 base pointer */ 437 #define HPM_MCAN2 ((MCAN_Type *) HPM_MCAN2_BASE) 438 /* MCAN3 base address */ 439 #define HPM_MCAN3_BASE (0xF028C000UL) 440 /* MCAN3 base pointer */ 441 #define HPM_MCAN3 ((MCAN_Type *) HPM_MCAN3_BASE) 442 /* MCAN4 base address */ 443 #define HPM_MCAN4_BASE (0xF0290000UL) 444 /* MCAN4 base pointer */ 445 #define HPM_MCAN4 ((MCAN_Type *) HPM_MCAN4_BASE) 446 /* MCAN5 base address */ 447 #define HPM_MCAN5_BASE (0xF0294000UL) 448 /* MCAN5 base pointer */ 449 #define HPM_MCAN5 ((MCAN_Type *) HPM_MCAN5_BASE) 450 /* MCAN6 base address */ 451 #define HPM_MCAN6_BASE (0xF0298000UL) 452 /* MCAN6 base pointer */ 453 #define HPM_MCAN6 ((MCAN_Type *) HPM_MCAN6_BASE) 454 /* MCAN7 base address */ 455 #define HPM_MCAN7_BASE (0xF029C000UL) 456 /* MCAN7 base pointer */ 457 #define HPM_MCAN7 ((MCAN_Type *) HPM_MCAN7_BASE) 458 459 #include "hpm_ptpc_regs.h" 460 /* Address of PTPC instances */ 461 /* PTPC base address */ 462 #define HPM_PTPC_BASE (0xF02FC000UL) 463 /* PTPC base pointer */ 464 #define HPM_PTPC ((PTPC_Type *) HPM_PTPC_BASE) 465 466 #include "hpm_lcdc_regs.h" 467 /* Address of LCDC instances */ 468 /* LCDC base address */ 469 #define HPM_LCDC_BASE (0xF1000000UL) 470 /* LCDC base pointer */ 471 #define HPM_LCDC ((LCDC_Type *) HPM_LCDC_BASE) 472 /* LCDC1 base address */ 473 #define HPM_LCDC1_BASE (0xF1004000UL) 474 /* LCDC1 base pointer */ 475 #define HPM_LCDC1 ((LCDC_Type *) HPM_LCDC1_BASE) 476 477 #include "hpm_cam_regs.h" 478 /* Address of CAM instances */ 479 /* CAM0 base address */ 480 #define HPM_CAM0_BASE (0xF1008000UL) 481 /* CAM0 base pointer */ 482 #define HPM_CAM0 ((CAM_Type *) HPM_CAM0_BASE) 483 /* CAM1 base address */ 484 #define HPM_CAM1_BASE (0xF100C000UL) 485 /* CAM1 base pointer */ 486 #define HPM_CAM1 ((CAM_Type *) HPM_CAM1_BASE) 487 488 #include "hpm_pdma_regs.h" 489 /* Address of PDMA instances */ 490 /* PDMA base address */ 491 #define HPM_PDMA_BASE (0xF1010000UL) 492 /* PDMA base pointer */ 493 #define HPM_PDMA ((PDMA_Type *) HPM_PDMA_BASE) 494 495 #include "hpm_jpeg_regs.h" 496 /* Address of JPEG instances */ 497 /* JPEG base address */ 498 #define HPM_JPEG_BASE (0xF1014000UL) 499 /* JPEG base pointer */ 500 #define HPM_JPEG ((JPEG_Type *) HPM_JPEG_BASE) 501 502 #include "hpm_gwc_regs.h" 503 /* Address of GWC instances */ 504 /* GWC0 base address */ 505 #define HPM_GWC0_BASE (0xF1018000UL) 506 /* GWC0 base pointer */ 507 #define HPM_GWC0 ((GWC_Type *) HPM_GWC0_BASE) 508 /* GWC1 base address */ 509 #define HPM_GWC1_BASE (0xF101C000UL) 510 /* GWC1 base pointer */ 511 #define HPM_GWC1 ((GWC_Type *) HPM_GWC1_BASE) 512 513 #include "hpm_mipi_dsi_regs.h" 514 /* Address of MIPI_DSI instances */ 515 /* MIPI_DSI0 base address */ 516 #define HPM_MIPI_DSI0_BASE (0xF1020000UL) 517 /* MIPI_DSI0 base pointer */ 518 #define HPM_MIPI_DSI0 ((MIPI_DSI_Type *) HPM_MIPI_DSI0_BASE) 519 /* MIPI_DSI1 base address */ 520 #define HPM_MIPI_DSI1_BASE (0xF1024000UL) 521 /* MIPI_DSI1 base pointer */ 522 #define HPM_MIPI_DSI1 ((MIPI_DSI_Type *) HPM_MIPI_DSI1_BASE) 523 524 #include "hpm_mipi_csi_regs.h" 525 /* Address of MIPI_CSI instances */ 526 /* MIPI_CSI0 base address */ 527 #define HPM_MIPI_CSI0_BASE (0xF1028000UL) 528 /* MIPI_CSI0 base pointer */ 529 #define HPM_MIPI_CSI0 ((MIPI_CSI_Type *) HPM_MIPI_CSI0_BASE) 530 /* MIPI_CSI1 base address */ 531 #define HPM_MIPI_CSI1_BASE (0xF102C000UL) 532 /* MIPI_CSI1 base pointer */ 533 #define HPM_MIPI_CSI1 ((MIPI_CSI_Type *) HPM_MIPI_CSI1_BASE) 534 535 #include "hpm_lvb_regs.h" 536 /* Address of LVB instances */ 537 /* LVB base address */ 538 #define HPM_LVB_BASE (0xF1030000UL) 539 /* LVB base pointer */ 540 #define HPM_LVB ((LVB_Type *) HPM_LVB_BASE) 541 542 #include "hpm_pixelmux_regs.h" 543 /* Address of PIXELMUX instances */ 544 /* PIXEL_MUX base address */ 545 #define HPM_PIXEL_MUX_BASE (0xF1034000UL) 546 /* PIXEL_MUX base pointer */ 547 #define HPM_PIXEL_MUX ((PIXELMUX_Type *) HPM_PIXEL_MUX_BASE) 548 549 #include "hpm_lcb_regs.h" 550 /* Address of LCB instances */ 551 /* LCB base address */ 552 #define HPM_LCB_BASE (0xF1038000UL) 553 /* LCB base pointer */ 554 #define HPM_LCB ((LCB_Type *) HPM_LCB_BASE) 555 556 #include "hpm_gpu_regs.h" 557 /* Address of GPU instances */ 558 /* GPU base address */ 559 #define HPM_GPU_BASE (0xF1080000UL) 560 /* GPU base pointer */ 561 #define HPM_GPU ((GPU_Type *) HPM_GPU_BASE) 562 563 #include "hpm_enet_regs.h" 564 /* Address of ENET instances */ 565 /* ENET0 base address */ 566 #define HPM_ENET0_BASE (0xF1100000UL) 567 /* ENET0 base pointer */ 568 #define HPM_ENET0 ((ENET_Type *) HPM_ENET0_BASE) 569 570 #include "hpm_usb_regs.h" 571 /* Address of USB instances */ 572 /* USB0 base address */ 573 #define HPM_USB0_BASE (0xF1120000UL) 574 /* USB0 base pointer */ 575 #define HPM_USB0 ((USB_Type *) HPM_USB0_BASE) 576 577 #include "hpm_sdxc_regs.h" 578 /* Address of SDXC instances */ 579 /* SDXC0 base address */ 580 #define HPM_SDXC0_BASE (0xF1130000UL) 581 /* SDXC0 base pointer */ 582 #define HPM_SDXC0 ((SDXC_Type *) HPM_SDXC0_BASE) 583 /* SDXC1 base address */ 584 #define HPM_SDXC1_BASE (0xF1134000UL) 585 /* SDXC1 base pointer */ 586 #define HPM_SDXC1 ((SDXC_Type *) HPM_SDXC1_BASE) 587 588 #include "hpm_ddrctl_regs.h" 589 /* Address of DDRCTL instances */ 590 /* DDRCTL base address */ 591 #define HPM_DDRCTL_BASE (0xF3010000UL) 592 /* DDRCTL base pointer */ 593 #define HPM_DDRCTL ((DDRCTL_Type *) HPM_DDRCTL_BASE) 594 595 /* Address of ROMC instances */ 596 /* ROMC base address */ 597 #define HPM_ROMC_BASE (0xF3014000UL) 598 599 #include "hpm_ffa_regs.h" 600 /* Address of FFA instances */ 601 /* FFA base address */ 602 #define HPM_FFA_BASE (0xF3018000UL) 603 /* FFA base pointer */ 604 #define HPM_FFA ((FFA_Type *) HPM_FFA_BASE) 605 606 #include "hpm_sdp_regs.h" 607 /* Address of SDP instances */ 608 /* SDP base address */ 609 #define HPM_SDP_BASE (0xF3040000UL) 610 /* SDP base pointer */ 611 #define HPM_SDP ((SDP_Type *) HPM_SDP_BASE) 612 613 #include "hpm_sec_regs.h" 614 /* Address of SEC instances */ 615 /* SEC base address */ 616 #define HPM_SEC_BASE (0xF3044000UL) 617 /* SEC base pointer */ 618 #define HPM_SEC ((SEC_Type *) HPM_SEC_BASE) 619 620 #include "hpm_mon_regs.h" 621 /* Address of MON instances */ 622 /* MON base address */ 623 #define HPM_MON_BASE (0xF3048000UL) 624 /* MON base pointer */ 625 #define HPM_MON ((MON_Type *) HPM_MON_BASE) 626 627 #include "hpm_rng_regs.h" 628 /* Address of RNG instances */ 629 /* RNG base address */ 630 #define HPM_RNG_BASE (0xF304C000UL) 631 /* RNG base pointer */ 632 #define HPM_RNG ((RNG_Type *) HPM_RNG_BASE) 633 634 #include "hpm_otp_regs.h" 635 /* Address of OTP instances */ 636 /* OTP base address */ 637 #define HPM_OTP_BASE (0xF3050000UL) 638 /* OTP base pointer */ 639 #define HPM_OTP ((OTP_Type *) HPM_OTP_BASE) 640 641 #include "hpm_keym_regs.h" 642 /* Address of KEYM instances */ 643 /* KEYM base address */ 644 #define HPM_KEYM_BASE (0xF3054000UL) 645 /* KEYM base pointer */ 646 #define HPM_KEYM ((KEYM_Type *) HPM_KEYM_BASE) 647 648 #include "hpm_sysctl_regs.h" 649 /* Address of SYSCTL instances */ 650 /* SYSCTL base address */ 651 #define HPM_SYSCTL_BASE (0xF4000000UL) 652 /* SYSCTL base pointer */ 653 #define HPM_SYSCTL ((SYSCTL_Type *) HPM_SYSCTL_BASE) 654 655 #include "hpm_ioc_regs.h" 656 /* Address of IOC instances */ 657 /* IOC base address */ 658 #define HPM_IOC_BASE (0xF4040000UL) 659 /* IOC base pointer */ 660 #define HPM_IOC ((IOC_Type *) HPM_IOC_BASE) 661 /* PIOC base address */ 662 #define HPM_PIOC_BASE (0xF4118000UL) 663 /* PIOC base pointer */ 664 #define HPM_PIOC ((IOC_Type *) HPM_PIOC_BASE) 665 /* BIOC base address */ 666 #define HPM_BIOC_BASE (0xF4210000UL) 667 /* BIOC base pointer */ 668 #define HPM_BIOC ((IOC_Type *) HPM_BIOC_BASE) 669 670 #include "hpm_pllctlv2_regs.h" 671 /* Address of PLLCTLV2 instances */ 672 /* PLLCTLV2 base address */ 673 #define HPM_PLLCTLV2_BASE (0xF40C0000UL) 674 /* PLLCTLV2 base pointer */ 675 #define HPM_PLLCTLV2 ((PLLCTLV2_Type *) HPM_PLLCTLV2_BASE) 676 677 #include "hpm_ppor_regs.h" 678 /* Address of PPOR instances */ 679 /* PPOR base address */ 680 #define HPM_PPOR_BASE (0xF4100000UL) 681 /* PPOR base pointer */ 682 #define HPM_PPOR ((PPOR_Type *) HPM_PPOR_BASE) 683 684 #include "hpm_pcfg_regs.h" 685 /* Address of PCFG instances */ 686 /* PCFG base address */ 687 #define HPM_PCFG_BASE (0xF4104000UL) 688 /* PCFG base pointer */ 689 #define HPM_PCFG ((PCFG_Type *) HPM_PCFG_BASE) 690 691 #include "hpm_pgpr_regs.h" 692 /* Address of PGPR instances */ 693 /* PGPR0 base address */ 694 #define HPM_PGPR0_BASE (0xF4110000UL) 695 /* PGPR0 base pointer */ 696 #define HPM_PGPR0 ((PGPR_Type *) HPM_PGPR0_BASE) 697 /* PGPR1 base address */ 698 #define HPM_PGPR1_BASE (0xF4114000UL) 699 /* PGPR1 base pointer */ 700 #define HPM_PGPR1 ((PGPR_Type *) HPM_PGPR1_BASE) 701 702 #include "hpm_vad_regs.h" 703 /* Address of VAD instances */ 704 /* VAD base address */ 705 #define HPM_VAD_BASE (0xF412C000UL) 706 /* VAD base pointer */ 707 #define HPM_VAD ((VAD_Type *) HPM_VAD_BASE) 708 709 #include "hpm_mipi_dsi_phy_regs.h" 710 /* Address of MIPI_DSI_PHY instances */ 711 /* MIPI_DSI_PHY0 base address */ 712 #define HPM_MIPI_DSI_PHY0_BASE (0xF4140000UL) 713 /* MIPI_DSI_PHY0 base pointer */ 714 #define HPM_MIPI_DSI_PHY0 ((MIPI_DSI_PHY_Type *) HPM_MIPI_DSI_PHY0_BASE) 715 /* MIPI_DSI_PHY1 base address */ 716 #define HPM_MIPI_DSI_PHY1_BASE (0xF4144000UL) 717 /* MIPI_DSI_PHY1 base pointer */ 718 #define HPM_MIPI_DSI_PHY1 ((MIPI_DSI_PHY_Type *) HPM_MIPI_DSI_PHY1_BASE) 719 720 #include "hpm_mipi_csi_phy_regs.h" 721 /* Address of MIPI_CSI_PHY instances */ 722 /* MIPI_CSI_PHY0 base address */ 723 #define HPM_MIPI_CSI_PHY0_BASE (0xF4148000UL) 724 /* MIPI_CSI_PHY0 base pointer */ 725 #define HPM_MIPI_CSI_PHY0 ((MIPI_CSI_PHY_Type *) HPM_MIPI_CSI_PHY0_BASE) 726 /* MIPI_CSI_PHY1 base address */ 727 #define HPM_MIPI_CSI_PHY1_BASE (0xF414C000UL) 728 /* MIPI_CSI_PHY1 base pointer */ 729 #define HPM_MIPI_CSI_PHY1 ((MIPI_CSI_PHY_Type *) HPM_MIPI_CSI_PHY1_BASE) 730 731 #include "hpm_ddrphy_regs.h" 732 /* Address of DDRPHY instances */ 733 /* DDRPHY base address */ 734 #define HPM_DDRPHY_BASE (0xF4150000UL) 735 /* DDRPHY base pointer */ 736 #define HPM_DDRPHY ((DDRPHY_Type *) HPM_DDRPHY_BASE) 737 738 #include "hpm_tsns_regs.h" 739 /* Address of TSNS instances */ 740 /* TSNS base address */ 741 #define HPM_TSNS_BASE (0xF4154000UL) 742 /* TSNS base pointer */ 743 #define HPM_TSNS ((TSNS_Type *) HPM_TSNS_BASE) 744 745 #include "hpm_bacc_regs.h" 746 /* Address of BACC instances */ 747 /* BACC base address */ 748 #define HPM_BACC_BASE (0xF4200000UL) 749 /* BACC base pointer */ 750 #define HPM_BACC ((BACC_Type *) HPM_BACC_BASE) 751 752 #include "hpm_bpor_regs.h" 753 /* Address of BPOR instances */ 754 /* BPOR base address */ 755 #define HPM_BPOR_BASE (0xF4204000UL) 756 /* BPOR base pointer */ 757 #define HPM_BPOR ((BPOR_Type *) HPM_BPOR_BASE) 758 759 #include "hpm_bcfg_regs.h" 760 /* Address of BCFG instances */ 761 /* BCFG base address */ 762 #define HPM_BCFG_BASE (0xF4208000UL) 763 /* BCFG base pointer */ 764 #define HPM_BCFG ((BCFG_Type *) HPM_BCFG_BASE) 765 766 #include "hpm_butn_regs.h" 767 /* Address of BUTN instances */ 768 /* BUTN base address */ 769 #define HPM_BUTN_BASE (0xF420C000UL) 770 /* BUTN base pointer */ 771 #define HPM_BUTN ((BUTN_Type *) HPM_BUTN_BASE) 772 773 #include "hpm_bgpr_regs.h" 774 /* Address of BGPR instances */ 775 /* BGPR base address */ 776 #define HPM_BGPR_BASE (0xF4218000UL) 777 /* BGPR base pointer */ 778 #define HPM_BGPR ((BGPR_Type *) HPM_BGPR_BASE) 779 780 #include "hpm_rtc_regs.h" 781 /* Address of RTC instances */ 782 /* RTCSHW base address */ 783 #define HPM_RTCSHW_BASE (0xF421C000UL) 784 /* RTCSHW base pointer */ 785 #define HPM_RTCSHW ((RTC_Type *) HPM_RTCSHW_BASE) 786 /* RTC base address */ 787 #define HPM_RTC_BASE (0xF4244000UL) 788 /* RTC base pointer */ 789 #define HPM_RTC ((RTC_Type *) HPM_RTC_BASE) 790 791 #include "hpm_bsec_regs.h" 792 /* Address of BSEC instances */ 793 /* BSEC base address */ 794 #define HPM_BSEC_BASE (0xF4240000UL) 795 /* BSEC base pointer */ 796 #define HPM_BSEC ((BSEC_Type *) HPM_BSEC_BASE) 797 798 #include "hpm_bkey_regs.h" 799 /* Address of BKEY instances */ 800 /* BKEY base address */ 801 #define HPM_BKEY_BASE (0xF4248000UL) 802 /* BKEY base pointer */ 803 #define HPM_BKEY ((BKEY_Type *) HPM_BKEY_BASE) 804 805 #include "hpm_bmon_regs.h" 806 /* Address of BMON instances */ 807 /* BMON base address */ 808 #define HPM_BMON_BASE (0xF424C000UL) 809 /* BMON base pointer */ 810 #define HPM_BMON ((BMON_Type *) HPM_BMON_BASE) 811 812 #include "hpm_tamp_regs.h" 813 /* Address of TAMP instances */ 814 /* TAMP base address */ 815 #define HPM_TAMP_BASE (0xF4250000UL) 816 /* TAMP base pointer */ 817 #define HPM_TAMP ((TAMP_Type *) HPM_TAMP_BASE) 818 819 #include "hpm_mono_regs.h" 820 /* Address of MONO instances */ 821 /* MONO base address */ 822 #define HPM_MONO_BASE (0xF4254000UL) 823 /* MONO base pointer */ 824 #define HPM_MONO ((MONO_Type *) HPM_MONO_BASE) 825 826 827 #include "riscv/riscv_core.h" 828 #include "hpm_csr_regs.h" 829 #include "hpm_interrupt.h" 830 #include "hpm_misc.h" 831 #include "hpm_dmamux_src.h" 832 #include "hpm_iomux.h" 833 #include "hpm_pmic_iomux.h" 834 #include "hpm_batt_iomux.h" 835 #endif /* HPM_SOC_H */ 836