HPM SDK
HPMicro Software Development Kit
hpm_soc.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2021-2025 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 #include "hpm_soc_irq.h"
14 #include "hpm_common.h"
15 
16 #include "hpm_gpio_regs.h"
17 /* Address of GPIO instances */
18 /* FGPIO base address */
19 #define HPM_FGPIO_BASE (0x300000UL)
20 /* FGPIO base pointer */
21 #define HPM_FGPIO ((GPIO_Type *) HPM_FGPIO_BASE)
22 /* GPIO0 base address */
23 #define HPM_GPIO0_BASE (0xF00D0000UL)
24 /* GPIO0 base pointer */
25 #define HPM_GPIO0 ((GPIO_Type *) HPM_GPIO0_BASE)
26 /* GPIO1 base address */
27 #define HPM_GPIO1_BASE (0xF00D4000UL)
28 /* GPIO1 base pointer */
29 #define HPM_GPIO1 ((GPIO_Type *) HPM_GPIO1_BASE)
30 /* PGPIO base address */
31 #define HPM_PGPIO_BASE (0xF411C000UL)
32 /* PGPIO base pointer */
33 #define HPM_PGPIO ((GPIO_Type *) HPM_PGPIO_BASE)
34 /* BGPIO base address */
35 #define HPM_BGPIO_BASE (0xF4214000UL)
36 /* BGPIO base pointer */
37 #define HPM_BGPIO ((GPIO_Type *) HPM_BGPIO_BASE)
38 
39 /* Address of DM instances */
40 /* DM base address */
41 #define HPM_DM_BASE (0x30000000UL)
42 
43 #include "hpm_plic_regs.h"
44 /* Address of PLIC instances */
45 /* PLIC base address */
46 #define HPM_PLIC_BASE (0xE4000000UL)
47 /* PLIC base pointer */
48 #define HPM_PLIC ((PLIC_Type *) HPM_PLIC_BASE)
49 
50 #include "hpm_mchtmr_regs.h"
51 /* Address of MCHTMR instances */
52 /* MCHTMR base address */
53 #define HPM_MCHTMR_BASE (0xE6000000UL)
54 /* MCHTMR base pointer */
55 #define HPM_MCHTMR ((MCHTMR_Type *) HPM_MCHTMR_BASE)
56 
57 #include "hpm_plic_sw_regs.h"
58 /* Address of PLICSW instances */
59 /* PLICSW base address */
60 #define HPM_PLICSW_BASE (0xE6400000UL)
61 /* PLICSW base pointer */
62 #define HPM_PLICSW ((PLIC_SW_Type *) HPM_PLICSW_BASE)
63 
64 #include "hpm_gptmr_regs.h"
65 /* Address of GPTMR instances */
66 /* GPTMR0 base address */
67 #define HPM_GPTMR0_BASE (0xF0000000UL)
68 /* GPTMR0 base pointer */
69 #define HPM_GPTMR0 ((GPTMR_Type *) HPM_GPTMR0_BASE)
70 /* GPTMR1 base address */
71 #define HPM_GPTMR1_BASE (0xF0004000UL)
72 /* GPTMR1 base pointer */
73 #define HPM_GPTMR1 ((GPTMR_Type *) HPM_GPTMR1_BASE)
74 /* GPTMR2 base address */
75 #define HPM_GPTMR2_BASE (0xF0008000UL)
76 /* GPTMR2 base pointer */
77 #define HPM_GPTMR2 ((GPTMR_Type *) HPM_GPTMR2_BASE)
78 /* GPTMR3 base address */
79 #define HPM_GPTMR3_BASE (0xF000C000UL)
80 /* GPTMR3 base pointer */
81 #define HPM_GPTMR3 ((GPTMR_Type *) HPM_GPTMR3_BASE)
82 /* GPTMR4 base address */
83 #define HPM_GPTMR4_BASE (0xF0010000UL)
84 /* GPTMR4 base pointer */
85 #define HPM_GPTMR4 ((GPTMR_Type *) HPM_GPTMR4_BASE)
86 /* GPTMR5 base address */
87 #define HPM_GPTMR5_BASE (0xF0014000UL)
88 /* GPTMR5 base pointer */
89 #define HPM_GPTMR5 ((GPTMR_Type *) HPM_GPTMR5_BASE)
90 /* GPTMR6 base address */
91 #define HPM_GPTMR6_BASE (0xF0018000UL)
92 /* GPTMR6 base pointer */
93 #define HPM_GPTMR6 ((GPTMR_Type *) HPM_GPTMR6_BASE)
94 /* GPTMR7 base address */
95 #define HPM_GPTMR7_BASE (0xF001C000UL)
96 /* GPTMR7 base pointer */
97 #define HPM_GPTMR7 ((GPTMR_Type *) HPM_GPTMR7_BASE)
98 /* NTMR0 base address */
99 #define HPM_NTMR0_BASE (0xF1410000UL)
100 /* NTMR0 base pointer */
101 #define HPM_NTMR0 ((GPTMR_Type *) HPM_NTMR0_BASE)
102 /* PTMR base address */
103 #define HPM_PTMR_BASE (0xF4120000UL)
104 /* PTMR base pointer */
105 #define HPM_PTMR ((GPTMR_Type *) HPM_PTMR_BASE)
106 
107 #include "hpm_uart_regs.h"
108 /* Address of UART instances */
109 /* UART0 base address */
110 #define HPM_UART0_BASE (0xF0040000UL)
111 /* UART0 base pointer */
112 #define HPM_UART0 ((UART_Type *) HPM_UART0_BASE)
113 /* UART1 base address */
114 #define HPM_UART1_BASE (0xF0044000UL)
115 /* UART1 base pointer */
116 #define HPM_UART1 ((UART_Type *) HPM_UART1_BASE)
117 /* UART2 base address */
118 #define HPM_UART2_BASE (0xF0048000UL)
119 /* UART2 base pointer */
120 #define HPM_UART2 ((UART_Type *) HPM_UART2_BASE)
121 /* UART3 base address */
122 #define HPM_UART3_BASE (0xF004C000UL)
123 /* UART3 base pointer */
124 #define HPM_UART3 ((UART_Type *) HPM_UART3_BASE)
125 /* UART4 base address */
126 #define HPM_UART4_BASE (0xF0050000UL)
127 /* UART4 base pointer */
128 #define HPM_UART4 ((UART_Type *) HPM_UART4_BASE)
129 /* UART5 base address */
130 #define HPM_UART5_BASE (0xF0054000UL)
131 /* UART5 base pointer */
132 #define HPM_UART5 ((UART_Type *) HPM_UART5_BASE)
133 /* UART6 base address */
134 #define HPM_UART6_BASE (0xF0058000UL)
135 /* UART6 base pointer */
136 #define HPM_UART6 ((UART_Type *) HPM_UART6_BASE)
137 /* UART7 base address */
138 #define HPM_UART7_BASE (0xF005C000UL)
139 /* UART7 base pointer */
140 #define HPM_UART7 ((UART_Type *) HPM_UART7_BASE)
141 /* UART8 base address */
142 #define HPM_UART8_BASE (0xF0180000UL)
143 /* UART8 base pointer */
144 #define HPM_UART8 ((UART_Type *) HPM_UART8_BASE)
145 /* UART9 base address */
146 #define HPM_UART9_BASE (0xF0184000UL)
147 /* UART9 base pointer */
148 #define HPM_UART9 ((UART_Type *) HPM_UART9_BASE)
149 /* UART10 base address */
150 #define HPM_UART10_BASE (0xF0188000UL)
151 /* UART10 base pointer */
152 #define HPM_UART10 ((UART_Type *) HPM_UART10_BASE)
153 /* UART11 base address */
154 #define HPM_UART11_BASE (0xF018C000UL)
155 /* UART11 base pointer */
156 #define HPM_UART11 ((UART_Type *) HPM_UART11_BASE)
157 /* UART12 base address */
158 #define HPM_UART12_BASE (0xF0190000UL)
159 /* UART12 base pointer */
160 #define HPM_UART12 ((UART_Type *) HPM_UART12_BASE)
161 /* UART13 base address */
162 #define HPM_UART13_BASE (0xF0194000UL)
163 /* UART13 base pointer */
164 #define HPM_UART13 ((UART_Type *) HPM_UART13_BASE)
165 /* UART14 base address */
166 #define HPM_UART14_BASE (0xF0198000UL)
167 /* UART14 base pointer */
168 #define HPM_UART14 ((UART_Type *) HPM_UART14_BASE)
169 /* UART15 base address */
170 #define HPM_UART15_BASE (0xF019C000UL)
171 /* UART15 base pointer */
172 #define HPM_UART15 ((UART_Type *) HPM_UART15_BASE)
173 /* PUART base address */
174 #define HPM_PUART_BASE (0xF4124000UL)
175 /* PUART base pointer */
176 #define HPM_PUART ((UART_Type *) HPM_PUART_BASE)
177 
178 #include "hpm_i2c_regs.h"
179 /* Address of I2C instances */
180 /* I2C0 base address */
181 #define HPM_I2C0_BASE (0xF0060000UL)
182 /* I2C0 base pointer */
183 #define HPM_I2C0 ((I2C_Type *) HPM_I2C0_BASE)
184 /* I2C1 base address */
185 #define HPM_I2C1_BASE (0xF0064000UL)
186 /* I2C1 base pointer */
187 #define HPM_I2C1 ((I2C_Type *) HPM_I2C1_BASE)
188 /* I2C2 base address */
189 #define HPM_I2C2_BASE (0xF0068000UL)
190 /* I2C2 base pointer */
191 #define HPM_I2C2 ((I2C_Type *) HPM_I2C2_BASE)
192 /* I2C3 base address */
193 #define HPM_I2C3_BASE (0xF006C000UL)
194 /* I2C3 base pointer */
195 #define HPM_I2C3 ((I2C_Type *) HPM_I2C3_BASE)
196 /* I2C4 base address */
197 #define HPM_I2C4_BASE (0xF01A0000UL)
198 /* I2C4 base pointer */
199 #define HPM_I2C4 ((I2C_Type *) HPM_I2C4_BASE)
200 /* I2C5 base address */
201 #define HPM_I2C5_BASE (0xF01A4000UL)
202 /* I2C5 base pointer */
203 #define HPM_I2C5 ((I2C_Type *) HPM_I2C5_BASE)
204 /* I2C6 base address */
205 #define HPM_I2C6_BASE (0xF01A8000UL)
206 /* I2C6 base pointer */
207 #define HPM_I2C6 ((I2C_Type *) HPM_I2C6_BASE)
208 /* I2C7 base address */
209 #define HPM_I2C7_BASE (0xF01AC000UL)
210 /* I2C7 base pointer */
211 #define HPM_I2C7 ((I2C_Type *) HPM_I2C7_BASE)
212 
213 #include "hpm_spi_regs.h"
214 /* Address of SPI instances */
215 /* SPI0 base address */
216 #define HPM_SPI0_BASE (0xF0070000UL)
217 /* SPI0 base pointer */
218 #define HPM_SPI0 ((SPI_Type *) HPM_SPI0_BASE)
219 /* SPI1 base address */
220 #define HPM_SPI1_BASE (0xF0074000UL)
221 /* SPI1 base pointer */
222 #define HPM_SPI1 ((SPI_Type *) HPM_SPI1_BASE)
223 /* SPI2 base address */
224 #define HPM_SPI2_BASE (0xF0078000UL)
225 /* SPI2 base pointer */
226 #define HPM_SPI2 ((SPI_Type *) HPM_SPI2_BASE)
227 /* SPI3 base address */
228 #define HPM_SPI3_BASE (0xF007C000UL)
229 /* SPI3 base pointer */
230 #define HPM_SPI3 ((SPI_Type *) HPM_SPI3_BASE)
231 /* SPI4 base address */
232 #define HPM_SPI4_BASE (0xF01B0000UL)
233 /* SPI4 base pointer */
234 #define HPM_SPI4 ((SPI_Type *) HPM_SPI4_BASE)
235 /* SPI5 base address */
236 #define HPM_SPI5_BASE (0xF01B4000UL)
237 /* SPI5 base pointer */
238 #define HPM_SPI5 ((SPI_Type *) HPM_SPI5_BASE)
239 /* SPI6 base address */
240 #define HPM_SPI6_BASE (0xF01B8000UL)
241 /* SPI6 base pointer */
242 #define HPM_SPI6 ((SPI_Type *) HPM_SPI6_BASE)
243 /* SPI7 base address */
244 #define HPM_SPI7_BASE (0xF01BC000UL)
245 /* SPI7 base pointer */
246 #define HPM_SPI7 ((SPI_Type *) HPM_SPI7_BASE)
247 
248 #include "hpm_crc_regs.h"
249 /* Address of CRC instances */
250 /* CRC base address */
251 #define HPM_CRC_BASE (0xF0080000UL)
252 /* CRC base pointer */
253 #define HPM_CRC ((CRC_Type *) HPM_CRC_BASE)
254 
255 #include "hpm_tsns_regs.h"
256 /* Address of TSNS instances */
257 /* TSNS base address */
258 #define HPM_TSNS_BASE (0xF0090000UL)
259 /* TSNS base pointer */
260 #define HPM_TSNS ((TSNS_Type *) HPM_TSNS_BASE)
261 
262 #include "hpm_mbx_regs.h"
263 /* Address of MBX instances */
264 /* MBX0A base address */
265 #define HPM_MBX0A_BASE (0xF00A0000UL)
266 /* MBX0A base pointer */
267 #define HPM_MBX0A ((MBX_Type *) HPM_MBX0A_BASE)
268 /* MBX0B base address */
269 #define HPM_MBX0B_BASE (0xF00A4000UL)
270 /* MBX0B base pointer */
271 #define HPM_MBX0B ((MBX_Type *) HPM_MBX0B_BASE)
272 /* MBX1A base address */
273 #define HPM_MBX1A_BASE (0xF00A8000UL)
274 /* MBX1A base pointer */
275 #define HPM_MBX1A ((MBX_Type *) HPM_MBX1A_BASE)
276 /* MBX1B base address */
277 #define HPM_MBX1B_BASE (0xF00AC000UL)
278 /* MBX1B base pointer */
279 #define HPM_MBX1B ((MBX_Type *) HPM_MBX1B_BASE)
280 
281 #include "hpm_ewdg_regs.h"
282 /* Address of EWDG instances */
283 /* EWDG0 base address */
284 #define HPM_EWDG0_BASE (0xF00B0000UL)
285 /* EWDG0 base pointer */
286 #define HPM_EWDG0 ((EWDG_Type *) HPM_EWDG0_BASE)
287 /* EWDG1 base address */
288 #define HPM_EWDG1_BASE (0xF00B4000UL)
289 /* EWDG1 base pointer */
290 #define HPM_EWDG1 ((EWDG_Type *) HPM_EWDG1_BASE)
291 /* EWDG2 base address */
292 #define HPM_EWDG2_BASE (0xF00B8000UL)
293 /* EWDG2 base pointer */
294 #define HPM_EWDG2 ((EWDG_Type *) HPM_EWDG2_BASE)
295 /* EWDG3 base address */
296 #define HPM_EWDG3_BASE (0xF00BC000UL)
297 /* EWDG3 base pointer */
298 #define HPM_EWDG3 ((EWDG_Type *) HPM_EWDG3_BASE)
299 /* PEWDG base address */
300 #define HPM_PEWDG_BASE (0xF4128000UL)
301 /* PEWDG base pointer */
302 #define HPM_PEWDG ((EWDG_Type *) HPM_PEWDG_BASE)
303 
304 #include "hpm_dmamux_regs.h"
305 /* Address of DMAMUX instances */
306 /* DMAMUX base address */
307 #define HPM_DMAMUX_BASE (0xF00C4000UL)
308 /* DMAMUX base pointer */
309 #define HPM_DMAMUX ((DMAMUX_Type *) HPM_DMAMUX_BASE)
310 
311 #include "hpm_dmav2_regs.h"
312 /* Address of DMAV2 instances */
313 /* HDMA base address */
314 #define HPM_HDMA_BASE (0xF00C8000UL)
315 /* HDMA base pointer */
316 #define HPM_HDMA ((DMAV2_Type *) HPM_HDMA_BASE)
317 /* XDMA base address */
318 #define HPM_XDMA_BASE (0xF3100000UL)
319 /* XDMA base pointer */
320 #define HPM_XDMA ((DMAV2_Type *) HPM_XDMA_BASE)
321 
322 #include "hpm_ppi_regs.h"
323 /* Address of PPI instances */
324 /* PPI base address */
325 #define HPM_PPI_BASE (0xF00CC000UL)
326 /* PPI base pointer */
327 #define HPM_PPI ((PPI_Type *) HPM_PPI_BASE)
328 
329 #include "hpm_gpiom_regs.h"
330 /* Address of GPIOM instances */
331 /* GPIOM base address */
332 #define HPM_GPIOM_BASE (0xF00D8000UL)
333 /* GPIOM base pointer */
334 #define HPM_GPIOM ((GPIOM_Type *) HPM_GPIOM_BASE)
335 
336 #include "hpm_lobs_regs.h"
337 /* Address of LOBS instances */
338 /* LOBS base address */
339 #define HPM_LOBS_BASE (0xF00DC000UL)
340 /* LOBS base pointer */
341 #define HPM_LOBS ((LOBS_Type *) HPM_LOBS_BASE)
342 
343 #include "hpm_adc16_regs.h"
344 /* Address of ADC16 instances */
345 /* ADC0 base address */
346 #define HPM_ADC0_BASE (0xF0100000UL)
347 /* ADC0 base pointer */
348 #define HPM_ADC0 ((ADC16_Type *) HPM_ADC0_BASE)
349 /* ADC1 base address */
350 #define HPM_ADC1_BASE (0xF0104000UL)
351 /* ADC1 base pointer */
352 #define HPM_ADC1 ((ADC16_Type *) HPM_ADC1_BASE)
353 /* ADC2 base address */
354 #define HPM_ADC2_BASE (0xF0108000UL)
355 /* ADC2 base pointer */
356 #define HPM_ADC2 ((ADC16_Type *) HPM_ADC2_BASE)
357 /* ADC3 base address */
358 #define HPM_ADC3_BASE (0xF010C000UL)
359 /* ADC3 base pointer */
360 #define HPM_ADC3 ((ADC16_Type *) HPM_ADC3_BASE)
361 
362 #include "hpm_acmp_regs.h"
363 /* Address of ACMP instances */
364 /* ACMP0 base address */
365 #define HPM_ACMP0_BASE (0xF0130000UL)
366 /* ACMP0 base pointer */
367 #define HPM_ACMP0 ((ACMP_Type *) HPM_ACMP0_BASE)
368 /* ACMP1 base address */
369 #define HPM_ACMP1_BASE (0xF0134000UL)
370 /* ACMP1 base pointer */
371 #define HPM_ACMP1 ((ACMP_Type *) HPM_ACMP1_BASE)
372 /* ACMP2 base address */
373 #define HPM_ACMP2_BASE (0xF0138000UL)
374 /* ACMP2 base pointer */
375 #define HPM_ACMP2 ((ACMP_Type *) HPM_ACMP2_BASE)
376 /* ACMP3 base address */
377 #define HPM_ACMP3_BASE (0xF013C000UL)
378 /* ACMP3 base pointer */
379 #define HPM_ACMP3 ((ACMP_Type *) HPM_ACMP3_BASE)
380 
381 #include "hpm_i2s_regs.h"
382 /* Address of I2S instances */
383 /* I2S0 base address */
384 #define HPM_I2S0_BASE (0xF0140000UL)
385 /* I2S0 base pointer */
386 #define HPM_I2S0 ((I2S_Type *) HPM_I2S0_BASE)
387 /* I2S1 base address */
388 #define HPM_I2S1_BASE (0xF0144000UL)
389 /* I2S1 base pointer */
390 #define HPM_I2S1 ((I2S_Type *) HPM_I2S1_BASE)
391 
392 #include "hpm_dao_regs.h"
393 /* Address of DAO instances */
394 /* DAO base address */
395 #define HPM_DAO_BASE (0xF0150000UL)
396 /* DAO base pointer */
397 #define HPM_DAO ((DAO_Type *) HPM_DAO_BASE)
398 
399 #include "hpm_pdm_regs.h"
400 /* Address of PDM instances */
401 /* PDM base address */
402 #define HPM_PDM_BASE (0xF0154000UL)
403 /* PDM base pointer */
404 #define HPM_PDM ((PDM_Type *) HPM_PDM_BASE)
405 
406 #include "hpm_mcan_regs.h"
407 /* Address of MCAN instances */
408 /* MCAN0 base address */
409 #define HPM_MCAN0_BASE (0xF0300000UL)
410 /* MCAN0 base pointer */
411 #define HPM_MCAN0 ((MCAN_Type *) HPM_MCAN0_BASE)
412 /* MCAN1 base address */
413 #define HPM_MCAN1_BASE (0xF0304000UL)
414 /* MCAN1 base pointer */
415 #define HPM_MCAN1 ((MCAN_Type *) HPM_MCAN1_BASE)
416 /* MCAN2 base address */
417 #define HPM_MCAN2_BASE (0xF0308000UL)
418 /* MCAN2 base pointer */
419 #define HPM_MCAN2 ((MCAN_Type *) HPM_MCAN2_BASE)
420 /* MCAN3 base address */
421 #define HPM_MCAN3_BASE (0xF030C000UL)
422 /* MCAN3 base pointer */
423 #define HPM_MCAN3 ((MCAN_Type *) HPM_MCAN3_BASE)
424 /* MCAN4 base address */
425 #define HPM_MCAN4_BASE (0xF0310000UL)
426 /* MCAN4 base pointer */
427 #define HPM_MCAN4 ((MCAN_Type *) HPM_MCAN4_BASE)
428 /* MCAN5 base address */
429 #define HPM_MCAN5_BASE (0xF0314000UL)
430 /* MCAN5 base pointer */
431 #define HPM_MCAN5 ((MCAN_Type *) HPM_MCAN5_BASE)
432 /* MCAN6 base address */
433 #define HPM_MCAN6_BASE (0xF0318000UL)
434 /* MCAN6 base pointer */
435 #define HPM_MCAN6 ((MCAN_Type *) HPM_MCAN6_BASE)
436 /* MCAN7 base address */
437 #define HPM_MCAN7_BASE (0xF031C000UL)
438 /* MCAN7 base pointer */
439 #define HPM_MCAN7 ((MCAN_Type *) HPM_MCAN7_BASE)
440 
441 #include "hpm_ptpc_regs.h"
442 /* Address of PTPC instances */
443 /* PTPC base address */
444 #define HPM_PTPC_BASE (0xF037C000UL)
445 /* PTPC base pointer */
446 #define HPM_PTPC ((PTPC_Type *) HPM_PTPC_BASE)
447 
448 #include "hpm_qeiv2_regs.h"
449 /* Address of QEIV2 instances */
450 /* QEI0 base address */
451 #define HPM_QEI0_BASE (0xF0400000UL)
452 /* QEI0 base pointer */
453 #define HPM_QEI0 ((QEIV2_Type *) HPM_QEI0_BASE)
454 /* QEI1 base address */
455 #define HPM_QEI1_BASE (0xF0404000UL)
456 /* QEI1 base pointer */
457 #define HPM_QEI1 ((QEIV2_Type *) HPM_QEI1_BASE)
458 /* QEI2 base address */
459 #define HPM_QEI2_BASE (0xF0408000UL)
460 /* QEI2 base pointer */
461 #define HPM_QEI2 ((QEIV2_Type *) HPM_QEI2_BASE)
462 /* QEI3 base address */
463 #define HPM_QEI3_BASE (0xF040C000UL)
464 /* QEI3 base pointer */
465 #define HPM_QEI3 ((QEIV2_Type *) HPM_QEI3_BASE)
466 
467 #include "hpm_qeov2_regs.h"
468 /* Address of QEOV2 instances */
469 /* QEO0 base address */
470 #define HPM_QEO0_BASE (0xF0410000UL)
471 /* QEO0 base pointer */
472 #define HPM_QEO0 ((QEOV2_Type *) HPM_QEO0_BASE)
473 /* QEO1 base address */
474 #define HPM_QEO1_BASE (0xF0414000UL)
475 /* QEO1 base pointer */
476 #define HPM_QEO1 ((QEOV2_Type *) HPM_QEO1_BASE)
477 /* QEO2 base address */
478 #define HPM_QEO2_BASE (0xF0418000UL)
479 /* QEO2 base pointer */
480 #define HPM_QEO2 ((QEOV2_Type *) HPM_QEO2_BASE)
481 /* QEO3 base address */
482 #define HPM_QEO3_BASE (0xF041C000UL)
483 /* QEO3 base pointer */
484 #define HPM_QEO3 ((QEOV2_Type *) HPM_QEO3_BASE)
485 
486 #include "hpm_pwmv2_regs.h"
487 /* Address of PWMV2 instances */
488 /* PWM0 base address */
489 #define HPM_PWM0_BASE (0xF0420000UL)
490 /* PWM0 base pointer */
491 #define HPM_PWM0 ((PWMV2_Type *) HPM_PWM0_BASE)
492 /* PWM1 base address */
493 #define HPM_PWM1_BASE (0xF0424000UL)
494 /* PWM1 base pointer */
495 #define HPM_PWM1 ((PWMV2_Type *) HPM_PWM1_BASE)
496 /* PWM2 base address */
497 #define HPM_PWM2_BASE (0xF0428000UL)
498 /* PWM2 base pointer */
499 #define HPM_PWM2 ((PWMV2_Type *) HPM_PWM2_BASE)
500 /* PWM3 base address */
501 #define HPM_PWM3_BASE (0xF042C000UL)
502 /* PWM3 base pointer */
503 #define HPM_PWM3 ((PWMV2_Type *) HPM_PWM3_BASE)
504 
505 #include "hpm_rdc_regs.h"
506 /* Address of RDC instances */
507 /* RDC0 base address */
508 #define HPM_RDC0_BASE (0xF0440000UL)
509 /* RDC0 base pointer */
510 #define HPM_RDC0 ((RDC_Type *) HPM_RDC0_BASE)
511 /* RDC1 base address */
512 #define HPM_RDC1_BASE (0xF0444000UL)
513 /* RDC1 base pointer */
514 #define HPM_RDC1 ((RDC_Type *) HPM_RDC1_BASE)
515 
516 #include "hpm_sdm_regs.h"
517 /* Address of SDM instances */
518 /* SDM0 base address */
519 #define HPM_SDM0_BASE (0xF0450000UL)
520 /* SDM0 base pointer */
521 #define HPM_SDM0 ((SDM_Type *) HPM_SDM0_BASE)
522 /* SDM1 base address */
523 #define HPM_SDM1_BASE (0xF0454000UL)
524 /* SDM1 base pointer */
525 #define HPM_SDM1 ((SDM_Type *) HPM_SDM1_BASE)
526 
527 #include "hpm_plb_regs.h"
528 /* Address of PLB instances */
529 /* PLB base address */
530 #define HPM_PLB_BASE (0xF0460000UL)
531 /* PLB base pointer */
532 #define HPM_PLB ((PLB_Type *) HPM_PLB_BASE)
533 
534 #include "hpm_synt_regs.h"
535 /* Address of SYNT instances */
536 /* SYNT base address */
537 #define HPM_SYNT_BASE (0xF0464000UL)
538 /* SYNT base pointer */
539 #define HPM_SYNT ((SYNT_Type *) HPM_SYNT_BASE)
540 
541 #include "hpm_sei_regs.h"
542 /* Address of SEI instances */
543 /* SEI base address */
544 #define HPM_SEI_BASE (0xF0470000UL)
545 /* SEI base pointer */
546 #define HPM_SEI ((SEI_Type *) HPM_SEI_BASE)
547 
548 #include "hpm_trgm_regs.h"
549 /* Address of TRGM instances */
550 /* TRGM0 base address */
551 #define HPM_TRGM0_BASE (0xF047C000UL)
552 /* TRGM0 base pointer */
553 #define HPM_TRGM0 ((TRGM_Type *) HPM_TRGM0_BASE)
554 
555 #include "hpm_mtg_regs.h"
556 /* Address of MTG instances */
557 /* MTG0 base address */
558 #define HPM_MTG0_BASE (0xF0490000UL)
559 /* MTG0 base pointer */
560 #define HPM_MTG0 ((MTG_Type *) HPM_MTG0_BASE)
561 /* MTG1 base address */
562 #define HPM_MTG1_BASE (0xF0494000UL)
563 /* MTG1 base pointer */
564 #define HPM_MTG1 ((MTG_Type *) HPM_MTG1_BASE)
565 
566 #include "hpm_vsc_regs.h"
567 /* Address of VSC instances */
568 /* VSC0 base address */
569 #define HPM_VSC0_BASE (0xF04A0000UL)
570 /* VSC0 base pointer */
571 #define HPM_VSC0 ((VSC_Type *) HPM_VSC0_BASE)
572 /* VSC1 base address */
573 #define HPM_VSC1_BASE (0xF04A4000UL)
574 /* VSC1 base pointer */
575 #define HPM_VSC1 ((VSC_Type *) HPM_VSC1_BASE)
576 
577 #include "hpm_clc_regs.h"
578 /* Address of CLC instances */
579 /* CLC0 base address */
580 #define HPM_CLC0_BASE (0xF04B0000UL)
581 /* CLC0 base pointer */
582 #define HPM_CLC0 ((CLC_Type *) HPM_CLC0_BASE)
583 /* CLC1 base address */
584 #define HPM_CLC1_BASE (0xF04B4000UL)
585 /* CLC1 base pointer */
586 #define HPM_CLC1 ((CLC_Type *) HPM_CLC1_BASE)
587 
588 #include "hpm_enet_regs.h"
589 /* Address of ENET instances */
590 /* ENET0 base address */
591 #define HPM_ENET0_BASE (0xF1400000UL)
592 /* ENET0 base pointer */
593 #define HPM_ENET0 ((ENET_Type *) HPM_ENET0_BASE)
594 
595 #include "hpm_usb_regs.h"
596 /* Address of USB instances */
597 /* USB0 base address */
598 #define HPM_USB0_BASE (0xF1420000UL)
599 /* USB0 base pointer */
600 #define HPM_USB0 ((USB_Type *) HPM_USB0_BASE)
601 
602 #include "hpm_esc_regs.h"
603 /* Address of ESC instances */
604 /* ESC base address */
605 #define HPM_ESC_BASE (0xF1700000UL)
606 /* ESC base pointer */
607 #define HPM_ESC ((ESC_Type *) HPM_ESC_BASE)
608 
609 #include "hpm_femc_regs.h"
610 /* Address of FEMC instances */
611 /* FEMC base address */
612 #define HPM_FEMC_BASE (0xF300C000UL)
613 /* FEMC base pointer */
614 #define HPM_FEMC ((FEMC_Type *) HPM_FEMC_BASE)
615 
616 #include "hpm_ffa_regs.h"
617 /* Address of FFA instances */
618 /* FFA base address */
619 #define HPM_FFA_BASE (0xF3108000UL)
620 /* FFA base pointer */
621 #define HPM_FFA ((FFA_Type *) HPM_FFA_BASE)
622 
623 #include "hpm_sdp_regs.h"
624 /* Address of SDP instances */
625 /* SDP base address */
626 #define HPM_SDP_BASE (0xF3140000UL)
627 /* SDP base pointer */
628 #define HPM_SDP ((SDP_Type *) HPM_SDP_BASE)
629 
630 #include "hpm_psec_regs.h"
631 /* Address of PSEC instances */
632 /* PSEC base address */
633 #define HPM_PSEC_BASE (0xF3144000UL)
634 /* PSEC base pointer */
635 #define HPM_PSEC ((PSEC_Type *) HPM_PSEC_BASE)
636 
637 #include "hpm_pmon_regs.h"
638 /* Address of PMON instances */
639 /* PMON base address */
640 #define HPM_PMON_BASE (0xF3148000UL)
641 /* PMON base pointer */
642 #define HPM_PMON ((PMON_Type *) HPM_PMON_BASE)
643 
644 #include "hpm_rng_regs.h"
645 /* Address of RNG instances */
646 /* RNG base address */
647 #define HPM_RNG_BASE (0xF314C000UL)
648 /* RNG base pointer */
649 #define HPM_RNG ((RNG_Type *) HPM_RNG_BASE)
650 
651 #include "hpm_keym_regs.h"
652 /* Address of KEYM instances */
653 /* KEYM base address */
654 #define HPM_KEYM_BASE (0xF3154000UL)
655 /* KEYM base pointer */
656 #define HPM_KEYM ((KEYM_Type *) HPM_KEYM_BASE)
657 
658 #include "hpm_otp_regs.h"
659 /* Address of OTP instances */
660 /* OTP base address */
661 #define HPM_OTP_BASE (0xF3158000UL)
662 /* OTP base pointer */
663 #define HPM_OTP ((OTP_Type *) HPM_OTP_BASE)
664 
665 #include "hpm_sysctl_regs.h"
666 /* Address of SYSCTL instances */
667 /* SYSCTL base address */
668 #define HPM_SYSCTL_BASE (0xF4000000UL)
669 /* SYSCTL base pointer */
670 #define HPM_SYSCTL ((SYSCTL_Type *) HPM_SYSCTL_BASE)
671 
672 #include "hpm_ioc_regs.h"
673 /* Address of IOC instances */
674 /* IOC base address */
675 #define HPM_IOC_BASE (0xF4040000UL)
676 /* IOC base pointer */
677 #define HPM_IOC ((IOC_Type *) HPM_IOC_BASE)
678 /* PIOC base address */
679 #define HPM_PIOC_BASE (0xF4118000UL)
680 /* PIOC base pointer */
681 #define HPM_PIOC ((IOC_Type *) HPM_PIOC_BASE)
682 /* BIOC base address */
683 #define HPM_BIOC_BASE (0xF4210000UL)
684 /* BIOC base pointer */
685 #define HPM_BIOC ((IOC_Type *) HPM_BIOC_BASE)
686 
687 #include "hpm_pllctlv2_regs.h"
688 /* Address of PLLCTLV2 instances */
689 /* PLLCTLV2 base address */
690 #define HPM_PLLCTLV2_BASE (0xF40C0000UL)
691 /* PLLCTLV2 base pointer */
692 #define HPM_PLLCTLV2 ((PLLCTLV2_Type *) HPM_PLLCTLV2_BASE)
693 
694 #include "hpm_ppor_regs.h"
695 /* Address of PPOR instances */
696 /* PPOR base address */
697 #define HPM_PPOR_BASE (0xF4100000UL)
698 /* PPOR base pointer */
699 #define HPM_PPOR ((PPOR_Type *) HPM_PPOR_BASE)
700 
701 #include "hpm_pcfg_regs.h"
702 /* Address of PCFG instances */
703 /* PCFG base address */
704 #define HPM_PCFG_BASE (0xF4104000UL)
705 /* PCFG base pointer */
706 #define HPM_PCFG ((PCFG_Type *) HPM_PCFG_BASE)
707 
708 #include "hpm_pdgo_regs.h"
709 /* Address of PDGO instances */
710 /* PDGO base address */
711 #define HPM_PDGO_BASE (0xF4134000UL)
712 /* PDGO base pointer */
713 #define HPM_PDGO ((PDGO_Type *) HPM_PDGO_BASE)
714 
715 #include "hpm_pgpr_regs.h"
716 /* Address of PGPR instances */
717 /* PGPR0 base address */
718 #define HPM_PGPR0_BASE (0xF4138000UL)
719 /* PGPR0 base pointer */
720 #define HPM_PGPR0 ((PGPR_Type *) HPM_PGPR0_BASE)
721 /* PGPR1 base address */
722 #define HPM_PGPR1_BASE (0xF413C000UL)
723 /* PGPR1 base pointer */
724 #define HPM_PGPR1 ((PGPR_Type *) HPM_PGPR1_BASE)
725 
726 #include "hpm_bacc_regs.h"
727 /* Address of BACC instances */
728 /* BACC base address */
729 #define HPM_BACC_BASE (0xF4200000UL)
730 /* BACC base pointer */
731 #define HPM_BACC ((BACC_Type *) HPM_BACC_BASE)
732 
733 #include "hpm_bpor_regs.h"
734 /* Address of BPOR instances */
735 /* BPOR base address */
736 #define HPM_BPOR_BASE (0xF4204000UL)
737 /* BPOR base pointer */
738 #define HPM_BPOR ((BPOR_Type *) HPM_BPOR_BASE)
739 
740 #include "hpm_bcfg_regs.h"
741 /* Address of BCFG instances */
742 /* BCFG base address */
743 #define HPM_BCFG_BASE (0xF4208000UL)
744 /* BCFG base pointer */
745 #define HPM_BCFG ((BCFG_Type *) HPM_BCFG_BASE)
746 
747 #include "hpm_bgpr_regs.h"
748 /* Address of BGPR instances */
749 /* BGPR0 base address */
750 #define HPM_BGPR0_BASE (0xF4218000UL)
751 /* BGPR0 base pointer */
752 #define HPM_BGPR0 ((BGPR_Type *) HPM_BGPR0_BASE)
753 /* BGPR1 base address */
754 #define HPM_BGPR1_BASE (0xF4220000UL)
755 /* BGPR1 base pointer */
756 #define HPM_BGPR1 ((BGPR_Type *) HPM_BGPR1_BASE)
757 
758 #include "hpm_bsec_regs.h"
759 /* Address of BSEC instances */
760 /* BSEC base address */
761 #define HPM_BSEC_BASE (0xF4240000UL)
762 /* BSEC base pointer */
763 #define HPM_BSEC ((BSEC_Type *) HPM_BSEC_BASE)
764 
765 #include "hpm_rtc_regs.h"
766 /* Address of RTC instances */
767 /* RTC base address */
768 #define HPM_RTC_BASE (0xF4244000UL)
769 /* RTC base pointer */
770 #define HPM_RTC ((RTC_Type *) HPM_RTC_BASE)
771 
772 #include "hpm_bkey_regs.h"
773 /* Address of BKEY instances */
774 /* BKEY base address */
775 #define HPM_BKEY_BASE (0xF4248000UL)
776 /* BKEY base pointer */
777 #define HPM_BKEY ((BKEY_Type *) HPM_BKEY_BASE)
778 
779 #include "hpm_bmon_regs.h"
780 /* Address of BMON instances */
781 /* BMON base address */
782 #define HPM_BMON_BASE (0xF424C000UL)
783 /* BMON base pointer */
784 #define HPM_BMON ((BMON_Type *) HPM_BMON_BASE)
785 
786 #include "hpm_tamp_regs.h"
787 /* Address of TAMP instances */
788 /* TAMP base address */
789 #define HPM_TAMP_BASE (0xF4250000UL)
790 /* TAMP base pointer */
791 #define HPM_TAMP ((TAMP_Type *) HPM_TAMP_BASE)
792 
793 #include "hpm_mono_regs.h"
794 /* Address of MONO instances */
795 /* MONO base address */
796 #define HPM_MONO_BASE (0xF4254000UL)
797 /* MONO base pointer */
798 #define HPM_MONO ((MONO_Type *) HPM_MONO_BASE)
799 
800 
801 #include "riscv/riscv_core.h"
802 #include "hpm_csr_regs.h"
803 #include "hpm_interrupt.h"
804 #include "hpm_misc.h"
805 #include "hpm_otp_table.h"
806 #include "hpm_dmamux_src.h"
807 #include "hpm_trgmmux_src.h"
808 #include "hpm_iomux.h"
809 #include "hpm_pmic_iomux.h"
810 #include "hpm_batt_iomux.h"
811 #endif /* HPM_SOC_H */