• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 */