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_X 5 /* GPIO0_X IRQ */ 19 #define IRQn_GPIO0_Y 6 /* GPIO0_Y IRQ */ 20 #define IRQn_GPIO0_Z 7 /* GPIO0_Z IRQ */ 21 #define IRQn_ADC0 8 /* ADC0 IRQ */ 22 #define IRQn_ADC1 9 /* ADC1 IRQ */ 23 #define IRQn_ADC2 10 /* ADC2 IRQ */ 24 #define IRQn_DAC 11 /* DAC IRQ */ 25 #define IRQn_ACMP_0 12 /* ACMP[0] IRQ */ 26 #define IRQn_ACMP_1 13 /* ACMP[1] IRQ */ 27 #define IRQn_SPI0 14 /* SPI0 IRQ */ 28 #define IRQn_SPI1 15 /* SPI1 IRQ */ 29 #define IRQn_SPI2 16 /* SPI2 IRQ */ 30 #define IRQn_SPI3 17 /* SPI3 IRQ */ 31 #define IRQn_UART0 18 /* UART0 IRQ */ 32 #define IRQn_UART1 19 /* UART1 IRQ */ 33 #define IRQn_UART2 20 /* UART2 IRQ */ 34 #define IRQn_UART3 21 /* UART3 IRQ */ 35 #define IRQn_UART4 22 /* UART4 IRQ */ 36 #define IRQn_UART5 23 /* UART5 IRQ */ 37 #define IRQn_UART6 24 /* UART6 IRQ */ 38 #define IRQn_UART7 25 /* UART7 IRQ */ 39 #define IRQn_CAN0 26 /* CAN0 IRQ */ 40 #define IRQn_CAN1 27 /* CAN1 IRQ */ 41 #define IRQn_PTPC 28 /* PTPC IRQ */ 42 #define IRQn_WDG0 29 /* WDG0 IRQ */ 43 #define IRQn_WDG1 30 /* WDG1 IRQ */ 44 #define IRQn_TSNS 31 /* TSNS IRQ */ 45 #define IRQn_MBX0A 32 /* MBX0A IRQ */ 46 #define IRQn_MBX0B 33 /* MBX0B IRQ */ 47 #define IRQn_GPTMR0 34 /* GPTMR0 IRQ */ 48 #define IRQn_GPTMR1 35 /* GPTMR1 IRQ */ 49 #define IRQn_GPTMR2 36 /* GPTMR2 IRQ */ 50 #define IRQn_GPTMR3 37 /* GPTMR3 IRQ */ 51 #define IRQn_I2C0 38 /* I2C0 IRQ */ 52 #define IRQn_I2C1 39 /* I2C1 IRQ */ 53 #define IRQn_I2C2 40 /* I2C2 IRQ */ 54 #define IRQn_I2C3 41 /* I2C3 IRQ */ 55 #define IRQn_PWM0 42 /* PWM0 IRQ */ 56 #define IRQn_HALL0 43 /* HALL0 IRQ */ 57 #define IRQn_QEI0 44 /* QEI0 IRQ */ 58 #define IRQn_PWM1 45 /* PWM1 IRQ */ 59 #define IRQn_HALL1 46 /* HALL1 IRQ */ 60 #define IRQn_QEI1 47 /* QEI1 IRQ */ 61 #define IRQn_SDP 48 /* SDP IRQ */ 62 #define IRQn_XPI0 49 /* XPI0 IRQ */ 63 #define IRQn_XPI1 50 /* XPI1 IRQ */ 64 #define IRQn_XDMA 51 /* XDMA IRQ */ 65 #define IRQn_HDMA 52 /* HDMA IRQ */ 66 #define IRQn_FEMC 53 /* FEMC IRQ */ 67 #define IRQn_RNG 54 /* RNG IRQ */ 68 #define IRQn_I2S0 55 /* I2S0 IRQ */ 69 #define IRQn_I2S1 56 /* I2S1 IRQ */ 70 #define IRQn_DAO 57 /* DAO IRQ */ 71 #define IRQn_PDM 58 /* PDM IRQ */ 72 #define IRQn_FFA 59 /* FFA IRQ */ 73 #define IRQn_NTMR0 60 /* NTMR0 IRQ */ 74 #define IRQn_USB0 61 /* USB0 IRQ */ 75 #define IRQn_ENET0 62 /* ENET0 IRQ */ 76 #define IRQn_SDXC0 63 /* SDXC0 IRQ */ 77 #define IRQn_PSEC 64 /* PSEC IRQ */ 78 #define IRQn_PGPIO 65 /* PGPIO IRQ */ 79 #define IRQn_PWDG 66 /* PWDG IRQ */ 80 #define IRQn_PTMR 67 /* PTMR IRQ */ 81 #define IRQn_PUART 68 /* PUART IRQ */ 82 #define IRQn_FUSE 69 /* FUSE IRQ */ 83 #define IRQn_SECMON 70 /* SECMON IRQ */ 84 #define IRQn_RTC 71 /* RTC IRQ */ 85 #define IRQn_BUTN 72 /* BUTN IRQ */ 86 #define IRQn_BGPIO 73 /* BGPIO IRQ */ 87 #define IRQn_BVIO 74 /* BVIO IRQ */ 88 #define IRQn_BROWNOUT 75 /* BROWNOUT IRQ */ 89 #define IRQn_SYSCTL 76 /* SYSCTL IRQ */ 90 #define IRQn_DEBUG_0 77 /* DEBUG[0] IRQ */ 91 #define IRQn_DEBUG_1 78 /* DEBUG[1] IRQ */ 92 93 #include "hpm_common.h" 94 95 #include "hpm_gpio_regs.h" 96 /* Address of GPIO instances */ 97 /* FGPIO base address */ 98 #define HPM_FGPIO_BASE (0xC0000UL) 99 /* FGPIO base pointer */ 100 #define HPM_FGPIO ((GPIO_Type *) HPM_FGPIO_BASE) 101 /* GPIO0 base address */ 102 #define HPM_GPIO0_BASE (0xF0000000UL) 103 /* GPIO0 base pointer */ 104 #define HPM_GPIO0 ((GPIO_Type *) HPM_GPIO0_BASE) 105 /* PGPIO base address */ 106 #define HPM_PGPIO_BASE (0xF40DC000UL) 107 /* PGPIO base pointer */ 108 #define HPM_PGPIO ((GPIO_Type *) HPM_PGPIO_BASE) 109 /* BGPIO base address */ 110 #define HPM_BGPIO_BASE (0xF5014000UL) 111 /* BGPIO base pointer */ 112 #define HPM_BGPIO ((GPIO_Type *) HPM_BGPIO_BASE) 113 114 /* Address of DM instances */ 115 /* DM base address */ 116 #define HPM_DM_BASE (0x30000000UL) 117 118 #include "hpm_plic_regs.h" 119 /* Address of PLIC instances */ 120 /* PLIC base address */ 121 #define HPM_PLIC_BASE (0xE4000000UL) 122 /* PLIC base pointer */ 123 #define HPM_PLIC ((PLIC_Type *) HPM_PLIC_BASE) 124 125 #include "hpm_mchtmr_regs.h" 126 /* Address of MCHTMR instances */ 127 /* MCHTMR base address */ 128 #define HPM_MCHTMR_BASE (0xE6000000UL) 129 /* MCHTMR base pointer */ 130 #define HPM_MCHTMR ((MCHTMR_Type *) HPM_MCHTMR_BASE) 131 132 #include "hpm_plic_sw_regs.h" 133 /* Address of PLICSW instances */ 134 /* PLICSW base address */ 135 #define HPM_PLICSW_BASE (0xE6400000UL) 136 /* PLICSW base pointer */ 137 #define HPM_PLICSW ((PLIC_SW_Type *) HPM_PLICSW_BASE) 138 139 #include "hpm_gpiom_regs.h" 140 /* Address of GPIOM instances */ 141 /* GPIOM base address */ 142 #define HPM_GPIOM_BASE (0xF0008000UL) 143 /* GPIOM base pointer */ 144 #define HPM_GPIOM ((GPIOM_Type *) HPM_GPIOM_BASE) 145 146 #include "hpm_adc16_regs.h" 147 /* Address of ADC16 instances */ 148 /* ADC0 base address */ 149 #define HPM_ADC0_BASE (0xF0010000UL) 150 /* ADC0 base pointer */ 151 #define HPM_ADC0 ((ADC16_Type *) HPM_ADC0_BASE) 152 /* ADC1 base address */ 153 #define HPM_ADC1_BASE (0xF0014000UL) 154 /* ADC1 base pointer */ 155 #define HPM_ADC1 ((ADC16_Type *) HPM_ADC1_BASE) 156 /* ADC2 base address */ 157 #define HPM_ADC2_BASE (0xF0018000UL) 158 /* ADC2 base pointer */ 159 #define HPM_ADC2 ((ADC16_Type *) HPM_ADC2_BASE) 160 161 #include "hpm_acmp_regs.h" 162 /* Address of ACMP instances */ 163 /* ACMP base address */ 164 #define HPM_ACMP_BASE (0xF0020000UL) 165 /* ACMP base pointer */ 166 #define HPM_ACMP ((ACMP_Type *) HPM_ACMP_BASE) 167 168 #include "hpm_dac_regs.h" 169 /* Address of DAC instances */ 170 /* DAC base address */ 171 #define HPM_DAC_BASE (0xF0024000UL) 172 /* DAC base pointer */ 173 #define HPM_DAC ((DAC_Type *) HPM_DAC_BASE) 174 175 #include "hpm_spi_regs.h" 176 /* Address of SPI instances */ 177 /* SPI0 base address */ 178 #define HPM_SPI0_BASE (0xF0030000UL) 179 /* SPI0 base pointer */ 180 #define HPM_SPI0 ((SPI_Type *) HPM_SPI0_BASE) 181 /* SPI1 base address */ 182 #define HPM_SPI1_BASE (0xF0034000UL) 183 /* SPI1 base pointer */ 184 #define HPM_SPI1 ((SPI_Type *) HPM_SPI1_BASE) 185 /* SPI2 base address */ 186 #define HPM_SPI2_BASE (0xF0038000UL) 187 /* SPI2 base pointer */ 188 #define HPM_SPI2 ((SPI_Type *) HPM_SPI2_BASE) 189 /* SPI3 base address */ 190 #define HPM_SPI3_BASE (0xF003C000UL) 191 /* SPI3 base pointer */ 192 #define HPM_SPI3 ((SPI_Type *) HPM_SPI3_BASE) 193 194 #include "hpm_uart_regs.h" 195 /* Address of UART instances */ 196 /* UART0 base address */ 197 #define HPM_UART0_BASE (0xF0040000UL) 198 /* UART0 base pointer */ 199 #define HPM_UART0 ((UART_Type *) HPM_UART0_BASE) 200 /* UART1 base address */ 201 #define HPM_UART1_BASE (0xF0044000UL) 202 /* UART1 base pointer */ 203 #define HPM_UART1 ((UART_Type *) HPM_UART1_BASE) 204 /* UART2 base address */ 205 #define HPM_UART2_BASE (0xF0048000UL) 206 /* UART2 base pointer */ 207 #define HPM_UART2 ((UART_Type *) HPM_UART2_BASE) 208 /* UART3 base address */ 209 #define HPM_UART3_BASE (0xF004C000UL) 210 /* UART3 base pointer */ 211 #define HPM_UART3 ((UART_Type *) HPM_UART3_BASE) 212 /* UART4 base address */ 213 #define HPM_UART4_BASE (0xF0050000UL) 214 /* UART4 base pointer */ 215 #define HPM_UART4 ((UART_Type *) HPM_UART4_BASE) 216 /* UART5 base address */ 217 #define HPM_UART5_BASE (0xF0054000UL) 218 /* UART5 base pointer */ 219 #define HPM_UART5 ((UART_Type *) HPM_UART5_BASE) 220 /* UART6 base address */ 221 #define HPM_UART6_BASE (0xF0058000UL) 222 /* UART6 base pointer */ 223 #define HPM_UART6 ((UART_Type *) HPM_UART6_BASE) 224 /* UART7 base address */ 225 #define HPM_UART7_BASE (0xF005C000UL) 226 /* UART7 base pointer */ 227 #define HPM_UART7 ((UART_Type *) HPM_UART7_BASE) 228 /* PUART base address */ 229 #define HPM_PUART_BASE (0xF40E4000UL) 230 /* PUART base pointer */ 231 #define HPM_PUART ((UART_Type *) HPM_PUART_BASE) 232 233 #include "hpm_can_regs.h" 234 /* Address of CAN instances */ 235 /* CAN0 base address */ 236 #define HPM_CAN0_BASE (0xF0080000UL) 237 /* CAN0 base pointer */ 238 #define HPM_CAN0 ((CAN_Type *) HPM_CAN0_BASE) 239 /* CAN1 base address */ 240 #define HPM_CAN1_BASE (0xF0084000UL) 241 /* CAN1 base pointer */ 242 #define HPM_CAN1 ((CAN_Type *) HPM_CAN1_BASE) 243 244 #include "hpm_wdg_regs.h" 245 /* Address of WDOG instances */ 246 /* WDG0 base address */ 247 #define HPM_WDG0_BASE (0xF0090000UL) 248 /* WDG0 base pointer */ 249 #define HPM_WDG0 ((WDG_Type *) HPM_WDG0_BASE) 250 /* WDG1 base address */ 251 #define HPM_WDG1_BASE (0xF0094000UL) 252 /* WDG1 base pointer */ 253 #define HPM_WDG1 ((WDG_Type *) HPM_WDG1_BASE) 254 /* PWDG base address */ 255 #define HPM_PWDG_BASE (0xF40E8000UL) 256 /* PWDG base pointer */ 257 #define HPM_PWDG ((WDG_Type *) HPM_PWDG_BASE) 258 259 #include "hpm_mbx_regs.h" 260 /* Address of MBX instances */ 261 /* MBX0A base address */ 262 #define HPM_MBX0A_BASE (0xF00A0000UL) 263 /* MBX0A base pointer */ 264 #define HPM_MBX0A ((MBX_Type *) HPM_MBX0A_BASE) 265 /* MBX0B base address */ 266 #define HPM_MBX0B_BASE (0xF00A4000UL) 267 /* MBX0B base pointer */ 268 #define HPM_MBX0B ((MBX_Type *) HPM_MBX0B_BASE) 269 270 #include "hpm_ptpc_regs.h" 271 /* Address of PTPC instances */ 272 /* PTPC base address */ 273 #define HPM_PTPC_BASE (0xF00B0000UL) 274 /* PTPC base pointer */ 275 #define HPM_PTPC ((PTPC_Type *) HPM_PTPC_BASE) 276 277 #include "hpm_dmamux_regs.h" 278 /* Address of DMAMUX instances */ 279 /* DMAMUX base address */ 280 #define HPM_DMAMUX_BASE (0xF00C0000UL) 281 /* DMAMUX base pointer */ 282 #define HPM_DMAMUX ((DMAMUX_Type *) HPM_DMAMUX_BASE) 283 284 #include "hpm_dma_regs.h" 285 /* Address of DMA instances */ 286 /* HDMA base address */ 287 #define HPM_HDMA_BASE (0xF00C4000UL) 288 /* HDMA base pointer */ 289 #define HPM_HDMA ((DMA_Type *) HPM_HDMA_BASE) 290 /* XDMA base address */ 291 #define HPM_XDMA_BASE (0xF3048000UL) 292 /* XDMA base pointer */ 293 #define HPM_XDMA ((DMA_Type *) HPM_XDMA_BASE) 294 295 #include "hpm_rng_regs.h" 296 /* Address of RNG instances */ 297 /* RNG base address */ 298 #define HPM_RNG_BASE (0xF00C8000UL) 299 /* RNG base pointer */ 300 #define HPM_RNG ((RNG_Type *) HPM_RNG_BASE) 301 302 #include "hpm_keym_regs.h" 303 /* Address of KEYM instances */ 304 /* KEYM base address */ 305 #define HPM_KEYM_BASE (0xF00CC000UL) 306 /* KEYM base pointer */ 307 #define HPM_KEYM ((KEYM_Type *) HPM_KEYM_BASE) 308 309 #include "hpm_i2s_regs.h" 310 /* Address of I2S instances */ 311 /* I2S0 base address */ 312 #define HPM_I2S0_BASE (0xF0100000UL) 313 /* I2S0 base pointer */ 314 #define HPM_I2S0 ((I2S_Type *) HPM_I2S0_BASE) 315 /* I2S1 base address */ 316 #define HPM_I2S1_BASE (0xF0104000UL) 317 /* I2S1 base pointer */ 318 #define HPM_I2S1 ((I2S_Type *) HPM_I2S1_BASE) 319 320 #include "hpm_dao_regs.h" 321 /* Address of DAO instances */ 322 /* DAO base address */ 323 #define HPM_DAO_BASE (0xF0110000UL) 324 /* DAO base pointer */ 325 #define HPM_DAO ((DAO_Type *) HPM_DAO_BASE) 326 327 #include "hpm_pdm_regs.h" 328 /* Address of PDM instances */ 329 /* PDM base address */ 330 #define HPM_PDM_BASE (0xF0114000UL) 331 /* PDM base pointer */ 332 #define HPM_PDM ((PDM_Type *) HPM_PDM_BASE) 333 334 #include "hpm_pwm_regs.h" 335 /* Address of PWM instances */ 336 /* PWM0 base address */ 337 #define HPM_PWM0_BASE (0xF0200000UL) 338 /* PWM0 base pointer */ 339 #define HPM_PWM0 ((PWM_Type *) HPM_PWM0_BASE) 340 /* PWM1 base address */ 341 #define HPM_PWM1_BASE (0xF0210000UL) 342 /* PWM1 base pointer */ 343 #define HPM_PWM1 ((PWM_Type *) HPM_PWM1_BASE) 344 345 #include "hpm_hall_regs.h" 346 /* Address of HALL instances */ 347 /* HALL0 base address */ 348 #define HPM_HALL0_BASE (0xF0204000UL) 349 /* HALL0 base pointer */ 350 #define HPM_HALL0 ((HALL_Type *) HPM_HALL0_BASE) 351 /* HALL1 base address */ 352 #define HPM_HALL1_BASE (0xF0214000UL) 353 /* HALL1 base pointer */ 354 #define HPM_HALL1 ((HALL_Type *) HPM_HALL1_BASE) 355 356 #include "hpm_qei_regs.h" 357 /* Address of QEI instances */ 358 /* QEI0 base address */ 359 #define HPM_QEI0_BASE (0xF0208000UL) 360 /* QEI0 base pointer */ 361 #define HPM_QEI0 ((QEI_Type *) HPM_QEI0_BASE) 362 /* QEI1 base address */ 363 #define HPM_QEI1_BASE (0xF0218000UL) 364 /* QEI1 base pointer */ 365 #define HPM_QEI1 ((QEI_Type *) HPM_QEI1_BASE) 366 367 #include "hpm_trgm_regs.h" 368 /* Address of TRGM instances */ 369 /* TRGM0 base address */ 370 #define HPM_TRGM0_BASE (0xF020C000UL) 371 /* TRGM0 base pointer */ 372 #define HPM_TRGM0 ((TRGM_Type *) HPM_TRGM0_BASE) 373 /* TRGM1 base address */ 374 #define HPM_TRGM1_BASE (0xF021C000UL) 375 /* TRGM1 base pointer */ 376 #define HPM_TRGM1 ((TRGM_Type *) HPM_TRGM1_BASE) 377 378 #include "hpm_synt_regs.h" 379 /* Address of SYNT instances */ 380 /* SYNT base address */ 381 #define HPM_SYNT_BASE (0xF0240000UL) 382 /* SYNT base pointer */ 383 #define HPM_SYNT ((SYNT_Type *) HPM_SYNT_BASE) 384 385 #include "hpm_enet_regs.h" 386 /* Address of ENET instances */ 387 /* ENET0 base address */ 388 #define HPM_ENET0_BASE (0xF2000000UL) 389 /* ENET0 base pointer */ 390 #define HPM_ENET0 ((ENET_Type *) HPM_ENET0_BASE) 391 392 #include "hpm_gptmr_regs.h" 393 /* Address of TMR instances */ 394 /* NTMR0 base address */ 395 #define HPM_NTMR0_BASE (0xF2010000UL) 396 /* NTMR0 base pointer */ 397 #define HPM_NTMR0 ((GPTMR_Type *) HPM_NTMR0_BASE) 398 /* GPTMR0 base address */ 399 #define HPM_GPTMR0_BASE (0xF3000000UL) 400 /* GPTMR0 base pointer */ 401 #define HPM_GPTMR0 ((GPTMR_Type *) HPM_GPTMR0_BASE) 402 /* GPTMR1 base address */ 403 #define HPM_GPTMR1_BASE (0xF3004000UL) 404 /* GPTMR1 base pointer */ 405 #define HPM_GPTMR1 ((GPTMR_Type *) HPM_GPTMR1_BASE) 406 /* GPTMR2 base address */ 407 #define HPM_GPTMR2_BASE (0xF3008000UL) 408 /* GPTMR2 base pointer */ 409 #define HPM_GPTMR2 ((GPTMR_Type *) HPM_GPTMR2_BASE) 410 /* GPTMR3 base address */ 411 #define HPM_GPTMR3_BASE (0xF300C000UL) 412 /* GPTMR3 base pointer */ 413 #define HPM_GPTMR3 ((GPTMR_Type *) HPM_GPTMR3_BASE) 414 /* PTMR base address */ 415 #define HPM_PTMR_BASE (0xF40E0000UL) 416 /* PTMR base pointer */ 417 #define HPM_PTMR ((GPTMR_Type *) HPM_PTMR_BASE) 418 419 #include "hpm_usb_regs.h" 420 /* Address of USB instances */ 421 /* USB0 base address */ 422 #define HPM_USB0_BASE (0xF2020000UL) 423 /* USB0 base pointer */ 424 #define HPM_USB0 ((USB_Type *) HPM_USB0_BASE) 425 426 #include "hpm_sdxc_regs.h" 427 /* Address of SDXC instances */ 428 /* SDXC0 base address */ 429 #define HPM_SDXC0_BASE (0xF2030000UL) 430 /* SDXC0 base pointer */ 431 #define HPM_SDXC0 ((SDXC_Type *) HPM_SDXC0_BASE) 432 433 #include "hpm_i2c_regs.h" 434 /* Address of I2C instances */ 435 /* I2C0 base address */ 436 #define HPM_I2C0_BASE (0xF3020000UL) 437 /* I2C0 base pointer */ 438 #define HPM_I2C0 ((I2C_Type *) HPM_I2C0_BASE) 439 /* I2C1 base address */ 440 #define HPM_I2C1_BASE (0xF3024000UL) 441 /* I2C1 base pointer */ 442 #define HPM_I2C1 ((I2C_Type *) HPM_I2C1_BASE) 443 /* I2C2 base address */ 444 #define HPM_I2C2_BASE (0xF3028000UL) 445 /* I2C2 base pointer */ 446 #define HPM_I2C2 ((I2C_Type *) HPM_I2C2_BASE) 447 /* I2C3 base address */ 448 #define HPM_I2C3_BASE (0xF302C000UL) 449 /* I2C3 base pointer */ 450 #define HPM_I2C3 ((I2C_Type *) HPM_I2C3_BASE) 451 452 #include "hpm_sdp_regs.h" 453 /* Address of SDP instances */ 454 /* SDP base address */ 455 #define HPM_SDP_BASE (0xF304C000UL) 456 /* SDP base pointer */ 457 #define HPM_SDP ((SDP_Type *) HPM_SDP_BASE) 458 459 #include "hpm_femc_regs.h" 460 /* Address of FEMC instances */ 461 /* FEMC base address */ 462 #define HPM_FEMC_BASE (0xF3050000UL) 463 /* FEMC base pointer */ 464 #define HPM_FEMC ((FEMC_Type *) HPM_FEMC_BASE) 465 466 /* Address of ROMC instances */ 467 /* ROMC base address */ 468 #define HPM_ROMC_BASE (0xF3054000UL) 469 470 #include "hpm_ffa_regs.h" 471 /* Address of FFA instances */ 472 /* FFA base address */ 473 #define HPM_FFA_BASE (0xF3058000UL) 474 /* FFA base pointer */ 475 #define HPM_FFA ((FFA_Type *) HPM_FFA_BASE) 476 477 #include "hpm_sysctl_regs.h" 478 /* Address of SYSCTL instances */ 479 /* SYSCTL base address */ 480 #define HPM_SYSCTL_BASE (0xF4000000UL) 481 /* SYSCTL base pointer */ 482 #define HPM_SYSCTL ((SYSCTL_Type *) HPM_SYSCTL_BASE) 483 484 #include "hpm_ioc_regs.h" 485 /* Address of IOC instances */ 486 /* IOC base address */ 487 #define HPM_IOC_BASE (0xF4040000UL) 488 /* IOC base pointer */ 489 #define HPM_IOC ((IOC_Type *) HPM_IOC_BASE) 490 /* PIOC base address */ 491 #define HPM_PIOC_BASE (0xF40D8000UL) 492 /* PIOC base pointer */ 493 #define HPM_PIOC ((IOC_Type *) HPM_PIOC_BASE) 494 /* BIOC base address */ 495 #define HPM_BIOC_BASE (0xF5010000UL) 496 /* BIOC base pointer */ 497 #define HPM_BIOC ((IOC_Type *) HPM_BIOC_BASE) 498 499 #include "hpm_otp_regs.h" 500 /* Address of OTP instances */ 501 /* OTPSHW base address */ 502 #define HPM_OTPSHW_BASE (0xF4080000UL) 503 /* OTPSHW base pointer */ 504 #define HPM_OTPSHW ((OTP_Type *) HPM_OTPSHW_BASE) 505 /* OTP base address */ 506 #define HPM_OTP_BASE (0xF40C8000UL) 507 /* OTP base pointer */ 508 #define HPM_OTP ((OTP_Type *) HPM_OTP_BASE) 509 510 #include "hpm_ppor_regs.h" 511 /* Address of PPOR instances */ 512 /* PPOR base address */ 513 #define HPM_PPOR_BASE (0xF40C0000UL) 514 /* PPOR base pointer */ 515 #define HPM_PPOR ((PPOR_Type *) HPM_PPOR_BASE) 516 517 #include "hpm_pcfg_regs.h" 518 /* Address of PCFG instances */ 519 /* PCFG base address */ 520 #define HPM_PCFG_BASE (0xF40C4000UL) 521 /* PCFG base pointer */ 522 #define HPM_PCFG ((PCFG_Type *) HPM_PCFG_BASE) 523 524 #include "hpm_psec_regs.h" 525 /* Address of PSEC instances */ 526 /* PSEC base address */ 527 #define HPM_PSEC_BASE (0xF40CC000UL) 528 /* PSEC base pointer */ 529 #define HPM_PSEC ((PSEC_Type *) HPM_PSEC_BASE) 530 531 #include "hpm_pmon_regs.h" 532 /* Address of PMON instances */ 533 /* PMON base address */ 534 #define HPM_PMON_BASE (0xF40D0000UL) 535 /* PMON base pointer */ 536 #define HPM_PMON ((PMON_Type *) HPM_PMON_BASE) 537 538 #include "hpm_pgpr_regs.h" 539 /* Address of PGPR instances */ 540 /* PGPR base address */ 541 #define HPM_PGPR_BASE (0xF40D4000UL) 542 /* PGPR base pointer */ 543 #define HPM_PGPR ((PGPR_Type *) HPM_PGPR_BASE) 544 545 #include "hpm_pllctlv2_regs.h" 546 /* Address of PLLCTLV2 instances */ 547 /* PLLCTLV2 base address */ 548 #define HPM_PLLCTLV2_BASE (0xF4100000UL) 549 /* PLLCTLV2 base pointer */ 550 #define HPM_PLLCTLV2 ((PLLCTLV2_Type *) HPM_PLLCTLV2_BASE) 551 552 #include "hpm_tsns_regs.h" 553 /* Address of TSNS instances */ 554 /* TSNS base address */ 555 #define HPM_TSNS_BASE (0xF4104000UL) 556 /* TSNS base pointer */ 557 #define HPM_TSNS ((TSNS_Type *) HPM_TSNS_BASE) 558 559 #include "hpm_bacc_regs.h" 560 /* Address of BACC instances */ 561 /* BACC base address */ 562 #define HPM_BACC_BASE (0xF5000000UL) 563 /* BACC base pointer */ 564 #define HPM_BACC ((BACC_Type *) HPM_BACC_BASE) 565 566 #include "hpm_bpor_regs.h" 567 /* Address of BPOR instances */ 568 /* BPOR base address */ 569 #define HPM_BPOR_BASE (0xF5004000UL) 570 /* BPOR base pointer */ 571 #define HPM_BPOR ((BPOR_Type *) HPM_BPOR_BASE) 572 573 #include "hpm_bcfg_regs.h" 574 /* Address of BCFG instances */ 575 /* BCFG base address */ 576 #define HPM_BCFG_BASE (0xF5008000UL) 577 /* BCFG base pointer */ 578 #define HPM_BCFG ((BCFG_Type *) HPM_BCFG_BASE) 579 580 #include "hpm_butn_regs.h" 581 /* Address of BUTN instances */ 582 /* BUTN base address */ 583 #define HPM_BUTN_BASE (0xF500C000UL) 584 /* BUTN base pointer */ 585 #define HPM_BUTN ((BUTN_Type *) HPM_BUTN_BASE) 586 587 #include "hpm_bgpr_regs.h" 588 /* Address of BGPR instances */ 589 /* BGPR base address */ 590 #define HPM_BGPR_BASE (0xF5018000UL) 591 /* BGPR base pointer */ 592 #define HPM_BGPR ((BGPR_Type *) HPM_BGPR_BASE) 593 594 #include "hpm_bsec_regs.h" 595 /* Address of BSEC instances */ 596 /* BSEC base address */ 597 #define HPM_BSEC_BASE (0xF5040000UL) 598 /* BSEC base pointer */ 599 #define HPM_BSEC ((BSEC_Type *) HPM_BSEC_BASE) 600 601 #include "hpm_rtc_regs.h" 602 /* Address of RTC instances */ 603 /* RTC base address */ 604 #define HPM_RTC_BASE (0xF5044000UL) 605 /* RTC base pointer */ 606 #define HPM_RTC ((RTC_Type *) HPM_RTC_BASE) 607 608 #include "hpm_bkey_regs.h" 609 /* Address of BKEY instances */ 610 /* BKEY base address */ 611 #define HPM_BKEY_BASE (0xF5048000UL) 612 /* BKEY base pointer */ 613 #define HPM_BKEY ((BKEY_Type *) HPM_BKEY_BASE) 614 615 #include "hpm_bmon_regs.h" 616 /* Address of BMON instances */ 617 /* BMON base address */ 618 #define HPM_BMON_BASE (0xF504C000UL) 619 /* BMON base pointer */ 620 #define HPM_BMON ((BMON_Type *) HPM_BMON_BASE) 621 622 #include "hpm_tamp_regs.h" 623 /* Address of TAMP instances */ 624 /* TAMP base address */ 625 #define HPM_TAMP_BASE (0xF5050000UL) 626 /* TAMP base pointer */ 627 #define HPM_TAMP ((TAMP_Type *) HPM_TAMP_BASE) 628 629 #include "hpm_mono_regs.h" 630 /* Address of MONO instances */ 631 /* MONO base address */ 632 #define HPM_MONO_BASE (0xF5054000UL) 633 /* MONO base pointer */ 634 #define HPM_MONO ((MONO_Type *) HPM_MONO_BASE) 635 636 637 #include "riscv/riscv_core.h" 638 #include "hpm_csr_regs.h" 639 #include "hpm_interrupt.h" 640 #include "hpm_misc.h" 641 #include "hpm_dmamux_src.h" 642 #include "hpm_trgmmux_src.h" 643 #include "hpm_iomux.h" 644 #include "hpm_pmic_iomux.h" 645 #include "hpm_batt_iomux.h" 646 #endif /* HPM_SOC_H */ 647