1 /* 2 * Copyright (c) 2021-2022 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_GPIO1_A 10 /* GPIO1_A IRQ */ 24 #define IRQn_GPIO1_B 11 /* GPIO1_B IRQ */ 25 #define IRQn_GPIO1_C 12 /* GPIO1_C IRQ */ 26 #define IRQn_GPIO1_D 13 /* GPIO1_D IRQ */ 27 #define IRQn_GPIO1_E 14 /* GPIO1_E IRQ */ 28 #define IRQn_GPIO1_F 15 /* GPIO1_F IRQ */ 29 #define IRQn_GPIO1_X 16 /* GPIO1_X IRQ */ 30 #define IRQn_GPIO1_Y 17 /* GPIO1_Y IRQ */ 31 #define IRQn_GPIO1_Z 18 /* GPIO1_Z IRQ */ 32 #define IRQn_ADC0 19 /* ADC0 IRQ */ 33 #define IRQn_ADC1 20 /* ADC1 IRQ */ 34 #define IRQn_ADC2 21 /* ADC2 IRQ */ 35 #define IRQn_ADC3 22 /* ADC3 IRQ */ 36 #define IRQn_ACMP_0 23 /* ACMP[0] IRQ */ 37 #define IRQn_ACMP_1 24 /* ACMP[1] IRQ */ 38 #define IRQn_ACMP_2 25 /* ACMP[2] IRQ */ 39 #define IRQn_ACMP_3 26 /* ACMP[3] IRQ */ 40 #define IRQn_SPI0 27 /* SPI0 IRQ */ 41 #define IRQn_SPI1 28 /* SPI1 IRQ */ 42 #define IRQn_SPI2 29 /* SPI2 IRQ */ 43 #define IRQn_SPI3 30 /* SPI3 IRQ */ 44 #define IRQn_UART0 31 /* UART0 IRQ */ 45 #define IRQn_UART1 32 /* UART1 IRQ */ 46 #define IRQn_UART2 33 /* UART2 IRQ */ 47 #define IRQn_UART3 34 /* UART3 IRQ */ 48 #define IRQn_UART4 35 /* UART4 IRQ */ 49 #define IRQn_UART5 36 /* UART5 IRQ */ 50 #define IRQn_UART6 37 /* UART6 IRQ */ 51 #define IRQn_UART7 38 /* UART7 IRQ */ 52 #define IRQn_UART8 39 /* UART8 IRQ */ 53 #define IRQn_UART9 40 /* UART9 IRQ */ 54 #define IRQn_UART10 41 /* UART10 IRQ */ 55 #define IRQn_UART11 42 /* UART11 IRQ */ 56 #define IRQn_UART12 43 /* UART12 IRQ */ 57 #define IRQn_UART13 44 /* UART13 IRQ */ 58 #define IRQn_UART14 45 /* UART14 IRQ */ 59 #define IRQn_UART15 46 /* UART15 IRQ */ 60 #define IRQn_CAN0 47 /* CAN0 IRQ */ 61 #define IRQn_CAN1 48 /* CAN1 IRQ */ 62 #define IRQn_CAN2 49 /* CAN2 IRQ */ 63 #define IRQn_CAN3 50 /* CAN3 IRQ */ 64 #define IRQn_PTPC 51 /* PTPC IRQ */ 65 #define IRQn_WDG0 52 /* WDG0 IRQ */ 66 #define IRQn_WDG1 53 /* WDG1 IRQ */ 67 #define IRQn_WDG2 54 /* WDG2 IRQ */ 68 #define IRQn_WDG3 55 /* WDG3 IRQ */ 69 #define IRQn_MBX0A 56 /* MBX0A IRQ */ 70 #define IRQn_MBX0B 57 /* MBX0B IRQ */ 71 #define IRQn_MBX1A 58 /* MBX1A IRQ */ 72 #define IRQn_MBX1B 59 /* MBX1B IRQ */ 73 #define IRQn_GPTMR0 60 /* GPTMR0 IRQ */ 74 #define IRQn_GPTMR1 61 /* GPTMR1 IRQ */ 75 #define IRQn_GPTMR2 62 /* GPTMR2 IRQ */ 76 #define IRQn_GPTMR3 63 /* GPTMR3 IRQ */ 77 #define IRQn_GPTMR4 64 /* GPTMR4 IRQ */ 78 #define IRQn_GPTMR5 65 /* GPTMR5 IRQ */ 79 #define IRQn_GPTMR6 66 /* GPTMR6 IRQ */ 80 #define IRQn_GPTMR7 67 /* GPTMR7 IRQ */ 81 #define IRQn_I2C0 68 /* I2C0 IRQ */ 82 #define IRQn_I2C1 69 /* I2C1 IRQ */ 83 #define IRQn_I2C2 70 /* I2C2 IRQ */ 84 #define IRQn_I2C3 71 /* I2C3 IRQ */ 85 #define IRQn_PWM0 72 /* PWM0 IRQ */ 86 #define IRQn_HALL0 73 /* HALL0 IRQ */ 87 #define IRQn_QEI0 74 /* QEI0 IRQ */ 88 #define IRQn_PWM1 75 /* PWM1 IRQ */ 89 #define IRQn_HALL1 76 /* HALL1 IRQ */ 90 #define IRQn_QEI1 77 /* QEI1 IRQ */ 91 #define IRQn_PWM2 78 /* PWM2 IRQ */ 92 #define IRQn_HALL2 79 /* HALL2 IRQ */ 93 #define IRQn_QEI2 80 /* QEI2 IRQ */ 94 #define IRQn_PWM3 81 /* PWM3 IRQ */ 95 #define IRQn_HALL3 82 /* HALL3 IRQ */ 96 #define IRQn_QEI3 83 /* QEI3 IRQ */ 97 #define IRQn_SDP 84 /* SDP IRQ */ 98 #define IRQn_XPI0 85 /* XPI0 IRQ */ 99 #define IRQn_XPI1 86 /* XPI1 IRQ */ 100 #define IRQn_XDMA 87 /* XDMA IRQ */ 101 #define IRQn_HDMA 88 /* HDMA IRQ */ 102 #define IRQn_DRAM 89 /* DRAM IRQ */ 103 #define IRQn_RNG 90 /* RNG IRQ */ 104 #define IRQn_I2S0 91 /* I2S0 IRQ */ 105 #define IRQn_I2S1 92 /* I2S1 IRQ */ 106 #define IRQn_I2S2 93 /* I2S2 IRQ */ 107 #define IRQn_I2S3 94 /* I2S3 IRQ */ 108 #define IRQn_DAO 95 /* DAO IRQ */ 109 #define IRQn_PDM 96 /* PDM IRQ */ 110 #define IRQn_CAM0 97 /* CAM0 IRQ */ 111 #define IRQn_CAM1 98 /* CAM1 IRQ */ 112 #define IRQn_LCDC_D0 99 /* LCDC_D0 IRQ */ 113 #define IRQn_LCDC_D1 100 /* LCDC_D1 IRQ */ 114 #define IRQn_PDMA_D0 101 /* PDMA_D0 IRQ */ 115 #define IRQn_PDMA_D1 102 /* PDMA_D1 IRQ */ 116 #define IRQn_JPEG 103 /* JPEG IRQ */ 117 #define IRQn_NTMR0 104 /* NTMR0 IRQ */ 118 #define IRQn_NTMR1 105 /* NTMR1 IRQ */ 119 #define IRQn_USB0 106 /* USB0 IRQ */ 120 #define IRQn_USB1 107 /* USB1 IRQ */ 121 #define IRQn_ENET0 108 /* ENET0 IRQ */ 122 #define IRQn_ENET1 109 /* ENET1 IRQ */ 123 #define IRQn_SDXC0 110 /* SDXC0 IRQ */ 124 #define IRQn_SDXC1 111 /* SDXC1 IRQ */ 125 #define IRQn_PSEC 112 /* PSEC IRQ */ 126 #define IRQn_PGPIO 113 /* PGPIO IRQ */ 127 #define IRQn_PWDG 114 /* PWDG IRQ */ 128 #define IRQn_PTMR 115 /* PTMR IRQ */ 129 #define IRQn_PUART 116 /* PUART IRQ */ 130 #define IRQn_VAD 117 /* VAD IRQ */ 131 #define IRQn_FUSE 118 /* FUSE IRQ */ 132 #define IRQn_SECMON 119 /* SECMON IRQ */ 133 #define IRQn_RTC 120 /* RTC IRQ */ 134 #define IRQn_BUTN 121 /* BUTN IRQ */ 135 #define IRQn_BGPIO 122 /* BGPIO IRQ */ 136 #define IRQn_BVIO 123 /* BVIO IRQ */ 137 #define IRQn_BROWNOUT 124 /* BROWNOUT IRQ */ 138 #define IRQn_SYSCTL 125 /* SYSCTL IRQ */ 139 #define IRQn_DEBUG_0 126 /* DEBUG[0] IRQ */ 140 #define IRQn_DEBUG_1 127 /* DEBUG[1] IRQ */ 141 142 #include "hpm_common.h" 143 144 #include "hpm_gpio_regs.h" 145 /* Address of GPIO instances */ 146 /* FGPIO base address */ 147 #define HPM_FGPIO_BASE (0xC0000UL) 148 /* FGPIO base pointer */ 149 #define HPM_FGPIO ((GPIO_Type *) HPM_FGPIO_BASE) 150 /* GPIO0 base address */ 151 #define HPM_GPIO0_BASE (0xF0000000UL) 152 /* GPIO0 base pointer */ 153 #define HPM_GPIO0 ((GPIO_Type *) HPM_GPIO0_BASE) 154 /* GPIO1 base address */ 155 #define HPM_GPIO1_BASE (0xF0004000UL) 156 /* GPIO1 base pointer */ 157 #define HPM_GPIO1 ((GPIO_Type *) HPM_GPIO1_BASE) 158 /* PGPIO base address */ 159 #define HPM_PGPIO_BASE (0xF40DC000UL) 160 /* PGPIO base pointer */ 161 #define HPM_PGPIO ((GPIO_Type *) HPM_PGPIO_BASE) 162 /* BGPIO base address */ 163 #define HPM_BGPIO_BASE (0xF5014000UL) 164 /* BGPIO base pointer */ 165 #define HPM_BGPIO ((GPIO_Type *) HPM_BGPIO_BASE) 166 167 /* Address of DM instances */ 168 /* DM base address */ 169 #define HPM_DM_BASE (0x30000000UL) 170 171 #include "hpm_plic_regs.h" 172 /* Address of PLIC instances */ 173 /* PLIC base address */ 174 #define HPM_PLIC_BASE (0xE4000000UL) 175 /* PLIC base pointer */ 176 #define HPM_PLIC ((PLIC_Type *) HPM_PLIC_BASE) 177 178 #include "hpm_mchtmr_regs.h" 179 /* Address of MCHTMR instances */ 180 /* MCHTMR base address */ 181 #define HPM_MCHTMR_BASE (0xE6000000UL) 182 /* MCHTMR base pointer */ 183 #define HPM_MCHTMR ((MCHTMR_Type *) HPM_MCHTMR_BASE) 184 185 #include "hpm_plic_sw_regs.h" 186 /* Address of PLICSW instances */ 187 /* PLICSW base address */ 188 #define HPM_PLICSW_BASE (0xE6400000UL) 189 /* PLICSW base pointer */ 190 #define HPM_PLICSW ((PLIC_SW_Type *) HPM_PLICSW_BASE) 191 192 #include "hpm_gpiom_regs.h" 193 /* Address of GPIOM instances */ 194 /* GPIOM base address */ 195 #define HPM_GPIOM_BASE (0xF0008000UL) 196 /* GPIOM base pointer */ 197 #define HPM_GPIOM ((GPIOM_Type *) HPM_GPIOM_BASE) 198 199 #include "hpm_adc12_regs.h" 200 /* Address of ADC12 instances */ 201 /* ADC0 base address */ 202 #define HPM_ADC0_BASE (0xF0010000UL) 203 /* ADC0 base pointer */ 204 #define HPM_ADC0 ((ADC12_Type *) HPM_ADC0_BASE) 205 /* ADC1 base address */ 206 #define HPM_ADC1_BASE (0xF0014000UL) 207 /* ADC1 base pointer */ 208 #define HPM_ADC1 ((ADC12_Type *) HPM_ADC1_BASE) 209 /* ADC2 base address */ 210 #define HPM_ADC2_BASE (0xF0018000UL) 211 /* ADC2 base pointer */ 212 #define HPM_ADC2 ((ADC12_Type *) HPM_ADC2_BASE) 213 214 #include "hpm_adc16_regs.h" 215 /* Address of ADC16 instances */ 216 /* ADC3 base address */ 217 #define HPM_ADC3_BASE (0xF001C000UL) 218 /* ADC3 base pointer */ 219 #define HPM_ADC3 ((ADC16_Type *) HPM_ADC3_BASE) 220 221 #include "hpm_acmp_regs.h" 222 /* Address of ACMP instances */ 223 /* ACMP base address */ 224 #define HPM_ACMP_BASE (0xF0020000UL) 225 /* ACMP base pointer */ 226 #define HPM_ACMP ((ACMP_Type *) HPM_ACMP_BASE) 227 228 #include "hpm_spi_regs.h" 229 /* Address of SPI instances */ 230 /* SPI0 base address */ 231 #define HPM_SPI0_BASE (0xF0030000UL) 232 /* SPI0 base pointer */ 233 #define HPM_SPI0 ((SPI_Type *) HPM_SPI0_BASE) 234 /* SPI1 base address */ 235 #define HPM_SPI1_BASE (0xF0034000UL) 236 /* SPI1 base pointer */ 237 #define HPM_SPI1 ((SPI_Type *) HPM_SPI1_BASE) 238 /* SPI2 base address */ 239 #define HPM_SPI2_BASE (0xF0038000UL) 240 /* SPI2 base pointer */ 241 #define HPM_SPI2 ((SPI_Type *) HPM_SPI2_BASE) 242 /* SPI3 base address */ 243 #define HPM_SPI3_BASE (0xF003C000UL) 244 /* SPI3 base pointer */ 245 #define HPM_SPI3 ((SPI_Type *) HPM_SPI3_BASE) 246 247 #include "hpm_uart_regs.h" 248 /* Address of UART instances */ 249 /* UART0 base address */ 250 #define HPM_UART0_BASE (0xF0040000UL) 251 /* UART0 base pointer */ 252 #define HPM_UART0 ((UART_Type *) HPM_UART0_BASE) 253 /* UART1 base address */ 254 #define HPM_UART1_BASE (0xF0044000UL) 255 /* UART1 base pointer */ 256 #define HPM_UART1 ((UART_Type *) HPM_UART1_BASE) 257 /* UART2 base address */ 258 #define HPM_UART2_BASE (0xF0048000UL) 259 /* UART2 base pointer */ 260 #define HPM_UART2 ((UART_Type *) HPM_UART2_BASE) 261 /* UART3 base address */ 262 #define HPM_UART3_BASE (0xF004C000UL) 263 /* UART3 base pointer */ 264 #define HPM_UART3 ((UART_Type *) HPM_UART3_BASE) 265 /* UART4 base address */ 266 #define HPM_UART4_BASE (0xF0050000UL) 267 /* UART4 base pointer */ 268 #define HPM_UART4 ((UART_Type *) HPM_UART4_BASE) 269 /* UART5 base address */ 270 #define HPM_UART5_BASE (0xF0054000UL) 271 /* UART5 base pointer */ 272 #define HPM_UART5 ((UART_Type *) HPM_UART5_BASE) 273 /* UART6 base address */ 274 #define HPM_UART6_BASE (0xF0058000UL) 275 /* UART6 base pointer */ 276 #define HPM_UART6 ((UART_Type *) HPM_UART6_BASE) 277 /* UART7 base address */ 278 #define HPM_UART7_BASE (0xF005C000UL) 279 /* UART7 base pointer */ 280 #define HPM_UART7 ((UART_Type *) HPM_UART7_BASE) 281 /* UART8 base address */ 282 #define HPM_UART8_BASE (0xF0060000UL) 283 /* UART8 base pointer */ 284 #define HPM_UART8 ((UART_Type *) HPM_UART8_BASE) 285 /* UART9 base address */ 286 #define HPM_UART9_BASE (0xF0064000UL) 287 /* UART9 base pointer */ 288 #define HPM_UART9 ((UART_Type *) HPM_UART9_BASE) 289 /* UART10 base address */ 290 #define HPM_UART10_BASE (0xF0068000UL) 291 /* UART10 base pointer */ 292 #define HPM_UART10 ((UART_Type *) HPM_UART10_BASE) 293 /* UART11 base address */ 294 #define HPM_UART11_BASE (0xF006C000UL) 295 /* UART11 base pointer */ 296 #define HPM_UART11 ((UART_Type *) HPM_UART11_BASE) 297 /* UART12 base address */ 298 #define HPM_UART12_BASE (0xF0070000UL) 299 /* UART12 base pointer */ 300 #define HPM_UART12 ((UART_Type *) HPM_UART12_BASE) 301 /* UART13 base address */ 302 #define HPM_UART13_BASE (0xF0074000UL) 303 /* UART13 base pointer */ 304 #define HPM_UART13 ((UART_Type *) HPM_UART13_BASE) 305 /* UART14 base address */ 306 #define HPM_UART14_BASE (0xF0078000UL) 307 /* UART14 base pointer */ 308 #define HPM_UART14 ((UART_Type *) HPM_UART14_BASE) 309 /* UART15 base address */ 310 #define HPM_UART15_BASE (0xF007C000UL) 311 /* UART15 base pointer */ 312 #define HPM_UART15 ((UART_Type *) HPM_UART15_BASE) 313 /* PUART base address */ 314 #define HPM_PUART_BASE (0xF40E4000UL) 315 /* PUART base pointer */ 316 #define HPM_PUART ((UART_Type *) HPM_PUART_BASE) 317 318 #include "hpm_can_regs.h" 319 /* Address of CAN instances */ 320 /* CAN0 base address */ 321 #define HPM_CAN0_BASE (0xF0080000UL) 322 /* CAN0 base pointer */ 323 #define HPM_CAN0 ((CAN_Type *) HPM_CAN0_BASE) 324 /* CAN1 base address */ 325 #define HPM_CAN1_BASE (0xF0084000UL) 326 /* CAN1 base pointer */ 327 #define HPM_CAN1 ((CAN_Type *) HPM_CAN1_BASE) 328 /* CAN2 base address */ 329 #define HPM_CAN2_BASE (0xF0088000UL) 330 /* CAN2 base pointer */ 331 #define HPM_CAN2 ((CAN_Type *) HPM_CAN2_BASE) 332 /* CAN3 base address */ 333 #define HPM_CAN3_BASE (0xF008C000UL) 334 /* CAN3 base pointer */ 335 #define HPM_CAN3 ((CAN_Type *) HPM_CAN3_BASE) 336 337 #include "hpm_wdg_regs.h" 338 /* Address of WDOG instances */ 339 /* WDG0 base address */ 340 #define HPM_WDG0_BASE (0xF0090000UL) 341 /* WDG0 base pointer */ 342 #define HPM_WDG0 ((WDG_Type *) HPM_WDG0_BASE) 343 /* WDG1 base address */ 344 #define HPM_WDG1_BASE (0xF0094000UL) 345 /* WDG1 base pointer */ 346 #define HPM_WDG1 ((WDG_Type *) HPM_WDG1_BASE) 347 /* WDG2 base address */ 348 #define HPM_WDG2_BASE (0xF0098000UL) 349 /* WDG2 base pointer */ 350 #define HPM_WDG2 ((WDG_Type *) HPM_WDG2_BASE) 351 /* WDG3 base address */ 352 #define HPM_WDG3_BASE (0xF009C000UL) 353 /* WDG3 base pointer */ 354 #define HPM_WDG3 ((WDG_Type *) HPM_WDG3_BASE) 355 /* PWDG base address */ 356 #define HPM_PWDG_BASE (0xF40E8000UL) 357 /* PWDG base pointer */ 358 #define HPM_PWDG ((WDG_Type *) HPM_PWDG_BASE) 359 360 #include "hpm_mbx_regs.h" 361 /* Address of MBX instances */ 362 /* MBX0A base address */ 363 #define HPM_MBX0A_BASE (0xF00A0000UL) 364 /* MBX0A base pointer */ 365 #define HPM_MBX0A ((MBX_Type *) HPM_MBX0A_BASE) 366 /* MBX0B base address */ 367 #define HPM_MBX0B_BASE (0xF00A4000UL) 368 /* MBX0B base pointer */ 369 #define HPM_MBX0B ((MBX_Type *) HPM_MBX0B_BASE) 370 /* MBX1A base address */ 371 #define HPM_MBX1A_BASE (0xF00A8000UL) 372 /* MBX1A base pointer */ 373 #define HPM_MBX1A ((MBX_Type *) HPM_MBX1A_BASE) 374 /* MBX1B base address */ 375 #define HPM_MBX1B_BASE (0xF00AC000UL) 376 /* MBX1B base pointer */ 377 #define HPM_MBX1B ((MBX_Type *) HPM_MBX1B_BASE) 378 379 #include "hpm_ptpc_regs.h" 380 /* Address of PTPC instances */ 381 /* PTPC base address */ 382 #define HPM_PTPC_BASE (0xF00B0000UL) 383 /* PTPC base pointer */ 384 #define HPM_PTPC ((PTPC_Type *) HPM_PTPC_BASE) 385 386 #include "hpm_dmamux_regs.h" 387 /* Address of DMAMUX instances */ 388 /* DMAMUX base address */ 389 #define HPM_DMAMUX_BASE (0xF00C0000UL) 390 /* DMAMUX base pointer */ 391 #define HPM_DMAMUX ((DMAMUX_Type *) HPM_DMAMUX_BASE) 392 393 #include "hpm_dma_regs.h" 394 /* Address of DMA instances */ 395 /* HDMA base address */ 396 #define HPM_HDMA_BASE (0xF00C4000UL) 397 /* HDMA base pointer */ 398 #define HPM_HDMA ((DMA_Type *) HPM_HDMA_BASE) 399 /* XDMA base address */ 400 #define HPM_XDMA_BASE (0xF3048000UL) 401 /* XDMA base pointer */ 402 #define HPM_XDMA ((DMA_Type *) HPM_XDMA_BASE) 403 404 #include "hpm_rng_regs.h" 405 /* Address of RNG instances */ 406 /* RNG base address */ 407 #define HPM_RNG_BASE (0xF00C8000UL) 408 /* RNG base pointer */ 409 #define HPM_RNG ((RNG_Type *) HPM_RNG_BASE) 410 411 #include "hpm_keym_regs.h" 412 /* Address of KEYM instances */ 413 /* KEYM base address */ 414 #define HPM_KEYM_BASE (0xF00CC000UL) 415 /* KEYM base pointer */ 416 #define HPM_KEYM ((KEYM_Type *) HPM_KEYM_BASE) 417 418 #include "hpm_i2s_regs.h" 419 /* Address of I2S instances */ 420 /* I2S0 base address */ 421 #define HPM_I2S0_BASE (0xF0100000UL) 422 /* I2S0 base pointer */ 423 #define HPM_I2S0 ((I2S_Type *) HPM_I2S0_BASE) 424 /* I2S1 base address */ 425 #define HPM_I2S1_BASE (0xF0104000UL) 426 /* I2S1 base pointer */ 427 #define HPM_I2S1 ((I2S_Type *) HPM_I2S1_BASE) 428 /* I2S2 base address */ 429 #define HPM_I2S2_BASE (0xF0108000UL) 430 /* I2S2 base pointer */ 431 #define HPM_I2S2 ((I2S_Type *) HPM_I2S2_BASE) 432 /* I2S3 base address */ 433 #define HPM_I2S3_BASE (0xF010C000UL) 434 /* I2S3 base pointer */ 435 #define HPM_I2S3 ((I2S_Type *) HPM_I2S3_BASE) 436 437 #include "hpm_dao_regs.h" 438 /* Address of DAO instances */ 439 /* DAO base address */ 440 #define HPM_DAO_BASE (0xF0110000UL) 441 /* DAO base pointer */ 442 #define HPM_DAO ((DAO_Type *) HPM_DAO_BASE) 443 444 #include "hpm_pdm_regs.h" 445 /* Address of PDM instances */ 446 /* PDM base address */ 447 #define HPM_PDM_BASE (0xF0114000UL) 448 /* PDM base pointer */ 449 #define HPM_PDM ((PDM_Type *) HPM_PDM_BASE) 450 451 #include "hpm_pwm_regs.h" 452 /* Address of PWM instances */ 453 /* PWM0 base address */ 454 #define HPM_PWM0_BASE (0xF0200000UL) 455 /* PWM0 base pointer */ 456 #define HPM_PWM0 ((PWM_Type *) HPM_PWM0_BASE) 457 /* PWM1 base address */ 458 #define HPM_PWM1_BASE (0xF0210000UL) 459 /* PWM1 base pointer */ 460 #define HPM_PWM1 ((PWM_Type *) HPM_PWM1_BASE) 461 /* PWM2 base address */ 462 #define HPM_PWM2_BASE (0xF0220000UL) 463 /* PWM2 base pointer */ 464 #define HPM_PWM2 ((PWM_Type *) HPM_PWM2_BASE) 465 /* PWM3 base address */ 466 #define HPM_PWM3_BASE (0xF0230000UL) 467 /* PWM3 base pointer */ 468 #define HPM_PWM3 ((PWM_Type *) HPM_PWM3_BASE) 469 470 #include "hpm_hall_regs.h" 471 /* Address of HALL instances */ 472 /* HALL0 base address */ 473 #define HPM_HALL0_BASE (0xF0204000UL) 474 /* HALL0 base pointer */ 475 #define HPM_HALL0 ((HALL_Type *) HPM_HALL0_BASE) 476 /* HALL1 base address */ 477 #define HPM_HALL1_BASE (0xF0214000UL) 478 /* HALL1 base pointer */ 479 #define HPM_HALL1 ((HALL_Type *) HPM_HALL1_BASE) 480 /* HALL2 base address */ 481 #define HPM_HALL2_BASE (0xF0224000UL) 482 /* HALL2 base pointer */ 483 #define HPM_HALL2 ((HALL_Type *) HPM_HALL2_BASE) 484 /* HALL3 base address */ 485 #define HPM_HALL3_BASE (0xF0234000UL) 486 /* HALL3 base pointer */ 487 #define HPM_HALL3 ((HALL_Type *) HPM_HALL3_BASE) 488 489 #include "hpm_qei_regs.h" 490 /* Address of QEI instances */ 491 /* QEI0 base address */ 492 #define HPM_QEI0_BASE (0xF0208000UL) 493 /* QEI0 base pointer */ 494 #define HPM_QEI0 ((QEI_Type *) HPM_QEI0_BASE) 495 /* QEI1 base address */ 496 #define HPM_QEI1_BASE (0xF0218000UL) 497 /* QEI1 base pointer */ 498 #define HPM_QEI1 ((QEI_Type *) HPM_QEI1_BASE) 499 /* QEI2 base address */ 500 #define HPM_QEI2_BASE (0xF0228000UL) 501 /* QEI2 base pointer */ 502 #define HPM_QEI2 ((QEI_Type *) HPM_QEI2_BASE) 503 /* QEI3 base address */ 504 #define HPM_QEI3_BASE (0xF0238000UL) 505 /* QEI3 base pointer */ 506 #define HPM_QEI3 ((QEI_Type *) HPM_QEI3_BASE) 507 508 #include "hpm_trgm_regs.h" 509 /* Address of TRGM instances */ 510 /* TRGM0 base address */ 511 #define HPM_TRGM0_BASE (0xF020C000UL) 512 /* TRGM0 base pointer */ 513 #define HPM_TRGM0 ((TRGM_Type *) HPM_TRGM0_BASE) 514 /* TRGM1 base address */ 515 #define HPM_TRGM1_BASE (0xF021C000UL) 516 /* TRGM1 base pointer */ 517 #define HPM_TRGM1 ((TRGM_Type *) HPM_TRGM1_BASE) 518 /* TRGM2 base address */ 519 #define HPM_TRGM2_BASE (0xF022C000UL) 520 /* TRGM2 base pointer */ 521 #define HPM_TRGM2 ((TRGM_Type *) HPM_TRGM2_BASE) 522 /* TRGM3 base address */ 523 #define HPM_TRGM3_BASE (0xF023C000UL) 524 /* TRGM3 base pointer */ 525 #define HPM_TRGM3 ((TRGM_Type *) HPM_TRGM3_BASE) 526 527 #include "hpm_synt_regs.h" 528 /* Address of SYNT instances */ 529 /* SYNT base address */ 530 #define HPM_SYNT_BASE (0xF0240000UL) 531 /* SYNT base pointer */ 532 #define HPM_SYNT ((SYNT_Type *) HPM_SYNT_BASE) 533 534 #include "hpm_lcdc_regs.h" 535 /* Address of LCDC instances */ 536 /* LCDC base address */ 537 #define HPM_LCDC_BASE (0xF1000000UL) 538 /* LCDC base pointer */ 539 #define HPM_LCDC ((LCDC_Type *) HPM_LCDC_BASE) 540 541 #include "hpm_cam_regs.h" 542 /* Address of CAM instances */ 543 /* CAM0 base address */ 544 #define HPM_CAM0_BASE (0xF1008000UL) 545 /* CAM0 base pointer */ 546 #define HPM_CAM0 ((CAM_Type *) HPM_CAM0_BASE) 547 /* CAM1 base address */ 548 #define HPM_CAM1_BASE (0xF100C000UL) 549 /* CAM1 base pointer */ 550 #define HPM_CAM1 ((CAM_Type *) HPM_CAM1_BASE) 551 552 #include "hpm_pdma_regs.h" 553 /* Address of PDMA instances */ 554 /* PDMA base address */ 555 #define HPM_PDMA_BASE (0xF1010000UL) 556 /* PDMA base pointer */ 557 #define HPM_PDMA ((PDMA_Type *) HPM_PDMA_BASE) 558 559 #include "hpm_jpeg_regs.h" 560 /* Address of JPEG instances */ 561 /* JPEG base address */ 562 #define HPM_JPEG_BASE (0xF1014000UL) 563 /* JPEG base pointer */ 564 #define HPM_JPEG ((JPEG_Type *) HPM_JPEG_BASE) 565 566 #include "hpm_enet_regs.h" 567 /* Address of ENET instances */ 568 /* ENET0 base address */ 569 #define HPM_ENET0_BASE (0xF2000000UL) 570 /* ENET0 base pointer */ 571 #define HPM_ENET0 ((ENET_Type *) HPM_ENET0_BASE) 572 /* ENET1 base address */ 573 #define HPM_ENET1_BASE (0xF2004000UL) 574 /* ENET1 base pointer */ 575 #define HPM_ENET1 ((ENET_Type *) HPM_ENET1_BASE) 576 577 #include "hpm_gptmr_regs.h" 578 /* Address of TMR instances */ 579 /* NTMR0 base address */ 580 #define HPM_NTMR0_BASE (0xF2010000UL) 581 /* NTMR0 base pointer */ 582 #define HPM_NTMR0 ((GPTMR_Type *) HPM_NTMR0_BASE) 583 /* NTMR1 base address */ 584 #define HPM_NTMR1_BASE (0xF2014000UL) 585 /* NTMR1 base pointer */ 586 #define HPM_NTMR1 ((GPTMR_Type *) HPM_NTMR1_BASE) 587 /* GPTMR0 base address */ 588 #define HPM_GPTMR0_BASE (0xF3000000UL) 589 /* GPTMR0 base pointer */ 590 #define HPM_GPTMR0 ((GPTMR_Type *) HPM_GPTMR0_BASE) 591 /* GPTMR1 base address */ 592 #define HPM_GPTMR1_BASE (0xF3004000UL) 593 /* GPTMR1 base pointer */ 594 #define HPM_GPTMR1 ((GPTMR_Type *) HPM_GPTMR1_BASE) 595 /* GPTMR2 base address */ 596 #define HPM_GPTMR2_BASE (0xF3008000UL) 597 /* GPTMR2 base pointer */ 598 #define HPM_GPTMR2 ((GPTMR_Type *) HPM_GPTMR2_BASE) 599 /* GPTMR3 base address */ 600 #define HPM_GPTMR3_BASE (0xF300C000UL) 601 /* GPTMR3 base pointer */ 602 #define HPM_GPTMR3 ((GPTMR_Type *) HPM_GPTMR3_BASE) 603 /* GPTMR4 base address */ 604 #define HPM_GPTMR4_BASE (0xF3010000UL) 605 /* GPTMR4 base pointer */ 606 #define HPM_GPTMR4 ((GPTMR_Type *) HPM_GPTMR4_BASE) 607 /* GPTMR5 base address */ 608 #define HPM_GPTMR5_BASE (0xF3014000UL) 609 /* GPTMR5 base pointer */ 610 #define HPM_GPTMR5 ((GPTMR_Type *) HPM_GPTMR5_BASE) 611 /* GPTMR6 base address */ 612 #define HPM_GPTMR6_BASE (0xF3018000UL) 613 /* GPTMR6 base pointer */ 614 #define HPM_GPTMR6 ((GPTMR_Type *) HPM_GPTMR6_BASE) 615 /* GPTMR7 base address */ 616 #define HPM_GPTMR7_BASE (0xF301C000UL) 617 /* GPTMR7 base pointer */ 618 #define HPM_GPTMR7 ((GPTMR_Type *) HPM_GPTMR7_BASE) 619 /* PTMR base address */ 620 #define HPM_PTMR_BASE (0xF40E0000UL) 621 /* PTMR base pointer */ 622 #define HPM_PTMR ((GPTMR_Type *) HPM_PTMR_BASE) 623 624 #include "hpm_usb_regs.h" 625 /* Address of USB instances */ 626 /* USB0 base address */ 627 #define HPM_USB0_BASE (0xF2020000UL) 628 /* USB0 base pointer */ 629 #define HPM_USB0 ((USB_Type *) HPM_USB0_BASE) 630 /* USB1 base address */ 631 #define HPM_USB1_BASE (0xF2024000UL) 632 /* USB1 base pointer */ 633 #define HPM_USB1 ((USB_Type *) HPM_USB1_BASE) 634 635 #include "hpm_sdxc_regs.h" 636 /* Address of SDXC instances */ 637 /* SDXC0 base address */ 638 #define HPM_SDXC0_BASE (0xF2030000UL) 639 /* SDXC0 base pointer */ 640 #define HPM_SDXC0 ((SDXC_Type *) HPM_SDXC0_BASE) 641 /* SDXC1 base address */ 642 #define HPM_SDXC1_BASE (0xF2034000UL) 643 /* SDXC1 base pointer */ 644 #define HPM_SDXC1 ((SDXC_Type *) HPM_SDXC1_BASE) 645 646 #include "hpm_conctl_regs.h" 647 /* Address of CONCTL instances */ 648 /* CONCTL base address */ 649 #define HPM_CONCTL_BASE (0xF2040000UL) 650 /* CONCTL base pointer */ 651 #define HPM_CONCTL ((CONCTL_Type *) HPM_CONCTL_BASE) 652 653 #include "hpm_i2c_regs.h" 654 /* Address of I2C instances */ 655 /* I2C0 base address */ 656 #define HPM_I2C0_BASE (0xF3020000UL) 657 /* I2C0 base pointer */ 658 #define HPM_I2C0 ((I2C_Type *) HPM_I2C0_BASE) 659 /* I2C1 base address */ 660 #define HPM_I2C1_BASE (0xF3024000UL) 661 /* I2C1 base pointer */ 662 #define HPM_I2C1 ((I2C_Type *) HPM_I2C1_BASE) 663 /* I2C2 base address */ 664 #define HPM_I2C2_BASE (0xF3028000UL) 665 /* I2C2 base pointer */ 666 #define HPM_I2C2 ((I2C_Type *) HPM_I2C2_BASE) 667 /* I2C3 base address */ 668 #define HPM_I2C3_BASE (0xF302C000UL) 669 /* I2C3 base pointer */ 670 #define HPM_I2C3 ((I2C_Type *) HPM_I2C3_BASE) 671 672 #include "hpm_sdp_regs.h" 673 /* Address of SDP instances */ 674 /* SDP base address */ 675 #define HPM_SDP_BASE (0xF304C000UL) 676 /* SDP base pointer */ 677 #define HPM_SDP ((SDP_Type *) HPM_SDP_BASE) 678 679 #include "hpm_dram_regs.h" 680 /* Address of DRAM instances */ 681 /* DRAM base address */ 682 #define HPM_DRAM_BASE (0xF3050000UL) 683 /* DRAM base pointer */ 684 #define HPM_DRAM ((DRAM_Type *) HPM_DRAM_BASE) 685 686 #include "hpm_sysctl_regs.h" 687 /* Address of SYSCTL instances */ 688 /* SYSCTL base address */ 689 #define HPM_SYSCTL_BASE (0xF4000000UL) 690 /* SYSCTL base pointer */ 691 #define HPM_SYSCTL ((SYSCTL_Type *) HPM_SYSCTL_BASE) 692 693 #include "hpm_ioc_regs.h" 694 /* Address of IOC instances */ 695 /* IOC base address */ 696 #define HPM_IOC_BASE (0xF4040000UL) 697 /* IOC base pointer */ 698 #define HPM_IOC ((IOC_Type *) HPM_IOC_BASE) 699 /* PIOC base address */ 700 #define HPM_PIOC_BASE (0xF40D8000UL) 701 /* PIOC base pointer */ 702 #define HPM_PIOC ((IOC_Type *) HPM_PIOC_BASE) 703 /* BIOC base address */ 704 #define HPM_BIOC_BASE (0xF5010000UL) 705 /* BIOC base pointer */ 706 #define HPM_BIOC ((IOC_Type *) HPM_BIOC_BASE) 707 708 #include "hpm_otp_regs.h" 709 /* Address of OTP instances */ 710 /* OTPSHW base address */ 711 #define HPM_OTPSHW_BASE (0xF4080000UL) 712 /* OTPSHW base pointer */ 713 #define HPM_OTPSHW ((OTP_Type *) HPM_OTPSHW_BASE) 714 /* OTP base address */ 715 #define HPM_OTP_BASE (0xF40C8000UL) 716 /* OTP base pointer */ 717 #define HPM_OTP ((OTP_Type *) HPM_OTP_BASE) 718 719 #include "hpm_ppor_regs.h" 720 /* Address of PPOR instances */ 721 /* PPOR base address */ 722 #define HPM_PPOR_BASE (0xF40C0000UL) 723 /* PPOR base pointer */ 724 #define HPM_PPOR ((PPOR_Type *) HPM_PPOR_BASE) 725 726 #include "hpm_pcfg_regs.h" 727 /* Address of PCFG instances */ 728 /* PCFG base address */ 729 #define HPM_PCFG_BASE (0xF40C4000UL) 730 /* PCFG base pointer */ 731 #define HPM_PCFG ((PCFG_Type *) HPM_PCFG_BASE) 732 733 #include "hpm_psec_regs.h" 734 /* Address of PSEC instances */ 735 /* PSEC base address */ 736 #define HPM_PSEC_BASE (0xF40CC000UL) 737 /* PSEC base pointer */ 738 #define HPM_PSEC ((PSEC_Type *) HPM_PSEC_BASE) 739 740 #include "hpm_pmon_regs.h" 741 /* Address of PMON instances */ 742 /* PMON base address */ 743 #define HPM_PMON_BASE (0xF40D0000UL) 744 /* PMON base pointer */ 745 #define HPM_PMON ((PMON_Type *) HPM_PMON_BASE) 746 747 #include "hpm_pgpr_regs.h" 748 /* Address of PGPR instances */ 749 /* PGPR base address */ 750 #define HPM_PGPR_BASE (0xF40D4000UL) 751 /* PGPR base pointer */ 752 #define HPM_PGPR ((PGPR_Type *) HPM_PGPR_BASE) 753 754 #include "hpm_vad_regs.h" 755 /* Address of VAD instances */ 756 /* VAD base address */ 757 #define HPM_VAD_BASE (0xF40EC000UL) 758 /* VAD base pointer */ 759 #define HPM_VAD ((VAD_Type *) HPM_VAD_BASE) 760 761 #include "hpm_pllctl_regs.h" 762 /* Address of PLLCTL instances */ 763 /* PLLCTL base address */ 764 #define HPM_PLLCTL_BASE (0xF4100000UL) 765 /* PLLCTL base pointer */ 766 #define HPM_PLLCTL ((PLLCTL_Type *) HPM_PLLCTL_BASE) 767 768 #include "hpm_bpor_regs.h" 769 /* Address of BPOR instances */ 770 /* BPOR base address */ 771 #define HPM_BPOR_BASE (0xF5004000UL) 772 /* BPOR base pointer */ 773 #define HPM_BPOR ((BPOR_Type *) HPM_BPOR_BASE) 774 775 #include "hpm_bcfg_regs.h" 776 /* Address of BCFG instances */ 777 /* BCFG base address */ 778 #define HPM_BCFG_BASE (0xF5008000UL) 779 /* BCFG base pointer */ 780 #define HPM_BCFG ((BCFG_Type *) HPM_BCFG_BASE) 781 782 #include "hpm_butn_regs.h" 783 /* Address of BUTN instances */ 784 /* BUTN base address */ 785 #define HPM_BUTN_BASE (0xF500C000UL) 786 /* BUTN base pointer */ 787 #define HPM_BUTN ((BUTN_Type *) HPM_BUTN_BASE) 788 789 #include "hpm_bgpr_regs.h" 790 /* Address of BGPR instances */ 791 /* BGPR base address */ 792 #define HPM_BGPR_BASE (0xF5018000UL) 793 /* BGPR base pointer */ 794 #define HPM_BGPR ((BGPR_Type *) HPM_BGPR_BASE) 795 796 #include "hpm_rtc_regs.h" 797 /* Address of RTC instances */ 798 /* RTCSHW base address */ 799 #define HPM_RTCSHW_BASE (0xF501C000UL) 800 /* RTCSHW base pointer */ 801 #define HPM_RTCSHW ((RTC_Type *) HPM_RTCSHW_BASE) 802 /* RTC base address */ 803 #define HPM_RTC_BASE (0xF5044000UL) 804 /* RTC base pointer */ 805 #define HPM_RTC ((RTC_Type *) HPM_RTC_BASE) 806 807 #include "hpm_bsec_regs.h" 808 /* Address of BSEC instances */ 809 /* BSEC base address */ 810 #define HPM_BSEC_BASE (0xF5040000UL) 811 /* BSEC base pointer */ 812 #define HPM_BSEC ((BSEC_Type *) HPM_BSEC_BASE) 813 814 #include "hpm_bkey_regs.h" 815 /* Address of BKEY instances */ 816 /* BKEY base address */ 817 #define HPM_BKEY_BASE (0xF5048000UL) 818 /* BKEY base pointer */ 819 #define HPM_BKEY ((BKEY_Type *) HPM_BKEY_BASE) 820 821 #include "hpm_bmon_regs.h" 822 /* Address of BMON instances */ 823 /* BMON base address */ 824 #define HPM_BMON_BASE (0xF504C000UL) 825 /* BMON base pointer */ 826 #define HPM_BMON ((BMON_Type *) HPM_BMON_BASE) 827 828 #include "hpm_tamp_regs.h" 829 /* Address of TAMP instances */ 830 /* TAMP base address */ 831 #define HPM_TAMP_BASE (0xF5050000UL) 832 /* TAMP base pointer */ 833 #define HPM_TAMP ((TAMP_Type *) HPM_TAMP_BASE) 834 835 #include "hpm_mono_regs.h" 836 /* Address of MONO instances */ 837 /* MONO base address */ 838 #define HPM_MONO_BASE (0xF5054000UL) 839 /* MONO base pointer */ 840 #define HPM_MONO ((MONO_Type *) HPM_MONO_BASE) 841 842 843 #include "riscv/riscv_core.h" 844 #include "hpm_csr_regs.h" 845 #include "hpm_interrupt.h" 846 #include "hpm_misc.h" 847 #include "hpm_dmamux_src.h" 848 #include "hpm_trgmmux_src.h" 849 #include "hpm_iomux.h" 850 #include "hpm_pmic_iomux.h" 851 #include "hpm_batt_iomux.h" 852 #include "hpm_ioc_regs.h" 853 #include "hpm_gpiom_regs.h" 854 #include "hpm_sysctl_regs.h" 855 #include "hpm_trgm_regs.h" 856 #endif /* HPM_SOC_H */