HPM SDK
HPMicro Software Development Kit
hpm_soc.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2021-2024 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 (0xC0000UL)
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 /* PGPIO base address */
27 #define HPM_PGPIO_BASE (0xF411C000UL)
28 /* PGPIO base pointer */
29 #define HPM_PGPIO ((GPIO_Type *) HPM_PGPIO_BASE)
30 /* BGPIO base address */
31 #define HPM_BGPIO_BASE (0xF4214000UL)
32 /* BGPIO base pointer */
33 #define HPM_BGPIO ((GPIO_Type *) HPM_BGPIO_BASE)
34 
35 /* Address of DM instances */
36 /* DM base address */
37 #define HPM_DM_BASE (0x30000000UL)
38 
39 #include "hpm_plic_regs.h"
40 /* Address of PLIC instances */
41 /* PLIC base address */
42 #define HPM_PLIC_BASE (0xE4000000UL)
43 /* PLIC base pointer */
44 #define HPM_PLIC ((PLIC_Type *) HPM_PLIC_BASE)
45 
46 #include "hpm_mchtmr_regs.h"
47 /* Address of MCHTMR instances */
48 /* MCHTMR base address */
49 #define HPM_MCHTMR_BASE (0xE6000000UL)
50 /* MCHTMR base pointer */
51 #define HPM_MCHTMR ((MCHTMR_Type *) HPM_MCHTMR_BASE)
52 
53 #include "hpm_plic_sw_regs.h"
54 /* Address of PLICSW instances */
55 /* PLICSW base address */
56 #define HPM_PLICSW_BASE (0xE6400000UL)
57 /* PLICSW base pointer */
58 #define HPM_PLICSW ((PLIC_SW_Type *) HPM_PLICSW_BASE)
59 
60 #include "hpm_crc_regs.h"
61 /* Address of CRC instances */
62 /* CRC base address */
63 #define HPM_CRC_BASE (0xF000C000UL)
64 /* CRC base pointer */
65 #define HPM_CRC ((CRC_Type *) HPM_CRC_BASE)
66 
67 #include "hpm_sdadc_regs.h"
68 /* Address of SDADC instances */
69 /* SDADC base address */
70 #define HPM_SDADC_BASE (0xF0018000UL)
71 /* SDADC base pointer */
72 #define HPM_SDADC ((SDADC_Type *) HPM_SDADC_BASE)
73 
74 #include "hpm_uart_regs.h"
75 /* Address of UART instances */
76 /* UART0 base address */
77 #define HPM_UART0_BASE (0xF0040000UL)
78 /* UART0 base pointer */
79 #define HPM_UART0 ((UART_Type *) HPM_UART0_BASE)
80 /* UART1 base address */
81 #define HPM_UART1_BASE (0xF0044000UL)
82 /* UART1 base pointer */
83 #define HPM_UART1 ((UART_Type *) HPM_UART1_BASE)
84 /* UART2 base address */
85 #define HPM_UART2_BASE (0xF0048000UL)
86 /* UART2 base pointer */
87 #define HPM_UART2 ((UART_Type *) HPM_UART2_BASE)
88 /* UART3 base address */
89 #define HPM_UART3_BASE (0xF004C000UL)
90 /* UART3 base pointer */
91 #define HPM_UART3 ((UART_Type *) HPM_UART3_BASE)
92 /* UART4 base address */
93 #define HPM_UART4_BASE (0xF0050000UL)
94 /* UART4 base pointer */
95 #define HPM_UART4 ((UART_Type *) HPM_UART4_BASE)
96 /* UART5 base address */
97 #define HPM_UART5_BASE (0xF0054000UL)
98 /* UART5 base pointer */
99 #define HPM_UART5 ((UART_Type *) HPM_UART5_BASE)
100 /* UART6 base address */
101 #define HPM_UART6_BASE (0xF0058000UL)
102 /* UART6 base pointer */
103 #define HPM_UART6 ((UART_Type *) HPM_UART6_BASE)
104 /* UART7 base address */
105 #define HPM_UART7_BASE (0xF005C000UL)
106 /* UART7 base pointer */
107 #define HPM_UART7 ((UART_Type *) HPM_UART7_BASE)
108 /* PUART base address */
109 #define HPM_PUART_BASE (0xF4124000UL)
110 /* PUART base pointer */
111 #define HPM_PUART ((UART_Type *) HPM_PUART_BASE)
112 
113 #include "hpm_i2c_regs.h"
114 /* Address of I2C instances */
115 /* I2C0 base address */
116 #define HPM_I2C0_BASE (0xF0060000UL)
117 /* I2C0 base pointer */
118 #define HPM_I2C0 ((I2C_Type *) HPM_I2C0_BASE)
119 /* I2C1 base address */
120 #define HPM_I2C1_BASE (0xF0064000UL)
121 /* I2C1 base pointer */
122 #define HPM_I2C1 ((I2C_Type *) HPM_I2C1_BASE)
123 /* I2C2 base address */
124 #define HPM_I2C2_BASE (0xF0068000UL)
125 /* I2C2 base pointer */
126 #define HPM_I2C2 ((I2C_Type *) HPM_I2C2_BASE)
127 /* I2C3 base address */
128 #define HPM_I2C3_BASE (0xF006C000UL)
129 /* I2C3 base pointer */
130 #define HPM_I2C3 ((I2C_Type *) HPM_I2C3_BASE)
131 
132 #include "hpm_spi_regs.h"
133 /* Address of SPI instances */
134 /* SPI0 base address */
135 #define HPM_SPI0_BASE (0xF0070000UL)
136 /* SPI0 base pointer */
137 #define HPM_SPI0 ((SPI_Type *) HPM_SPI0_BASE)
138 /* SPI1 base address */
139 #define HPM_SPI1_BASE (0xF0074000UL)
140 /* SPI1 base pointer */
141 #define HPM_SPI1 ((SPI_Type *) HPM_SPI1_BASE)
142 /* SPI2 base address */
143 #define HPM_SPI2_BASE (0xF0078000UL)
144 /* SPI2 base pointer */
145 #define HPM_SPI2 ((SPI_Type *) HPM_SPI2_BASE)
146 /* SPI3 base address */
147 #define HPM_SPI3_BASE (0xF007C000UL)
148 /* SPI3 base pointer */
149 #define HPM_SPI3 ((SPI_Type *) HPM_SPI3_BASE)
150 
151 #include "hpm_gptmr_regs.h"
152 /* Address of GPTMR instances */
153 /* GPTMR0 base address */
154 #define HPM_GPTMR0_BASE (0xF0080000UL)
155 /* GPTMR0 base pointer */
156 #define HPM_GPTMR0 ((GPTMR_Type *) HPM_GPTMR0_BASE)
157 /* GPTMR1 base address */
158 #define HPM_GPTMR1_BASE (0xF0084000UL)
159 /* GPTMR1 base pointer */
160 #define HPM_GPTMR1 ((GPTMR_Type *) HPM_GPTMR1_BASE)
161 /* GPTMR2 base address */
162 #define HPM_GPTMR2_BASE (0xF0088000UL)
163 /* GPTMR2 base pointer */
164 #define HPM_GPTMR2 ((GPTMR_Type *) HPM_GPTMR2_BASE)
165 /* GPTMR3 base address */
166 #define HPM_GPTMR3_BASE (0xF008C000UL)
167 /* GPTMR3 base pointer */
168 #define HPM_GPTMR3 ((GPTMR_Type *) HPM_GPTMR3_BASE)
169 /* GPTMR4 base address */
170 #define HPM_GPTMR4_BASE (0xF0090000UL)
171 /* GPTMR4 base pointer */
172 #define HPM_GPTMR4 ((GPTMR_Type *) HPM_GPTMR4_BASE)
173 /* GPTMR5 base address */
174 #define HPM_GPTMR5_BASE (0xF0094000UL)
175 /* GPTMR5 base pointer */
176 #define HPM_GPTMR5 ((GPTMR_Type *) HPM_GPTMR5_BASE)
177 /* GPTMR6 base address */
178 #define HPM_GPTMR6_BASE (0xF0098000UL)
179 /* GPTMR6 base pointer */
180 #define HPM_GPTMR6 ((GPTMR_Type *) HPM_GPTMR6_BASE)
181 /* GPTMR7 base address */
182 #define HPM_GPTMR7_BASE (0xF009C000UL)
183 /* GPTMR7 base pointer */
184 #define HPM_GPTMR7 ((GPTMR_Type *) HPM_GPTMR7_BASE)
185 /* NTMR0 base address */
186 #define HPM_NTMR0_BASE (0xF1110000UL)
187 /* NTMR0 base pointer */
188 #define HPM_NTMR0 ((GPTMR_Type *) HPM_NTMR0_BASE)
189 /* PTMR base address */
190 #define HPM_PTMR_BASE (0xF4120000UL)
191 /* PTMR base pointer */
192 #define HPM_PTMR ((GPTMR_Type *) HPM_PTMR_BASE)
193 
194 #include "hpm_mbx_regs.h"
195 /* Address of MBX instances */
196 /* MBX0A base address */
197 #define HPM_MBX0A_BASE (0xF00A0000UL)
198 /* MBX0A base pointer */
199 #define HPM_MBX0A ((MBX_Type *) HPM_MBX0A_BASE)
200 /* MBX0B base address */
201 #define HPM_MBX0B_BASE (0xF00A4000UL)
202 /* MBX0B base pointer */
203 #define HPM_MBX0B ((MBX_Type *) HPM_MBX0B_BASE)
204 /* MBX1A base address */
205 #define HPM_MBX1A_BASE (0xF00A8000UL)
206 /* MBX1A base pointer */
207 #define HPM_MBX1A ((MBX_Type *) HPM_MBX1A_BASE)
208 /* MBX1B base address */
209 #define HPM_MBX1B_BASE (0xF00AC000UL)
210 /* MBX1B base pointer */
211 #define HPM_MBX1B ((MBX_Type *) HPM_MBX1B_BASE)
212 
213 #include "hpm_ewdg_regs.h"
214 /* Address of EWDG instances */
215 /* EWDG0 base address */
216 #define HPM_EWDG0_BASE (0xF00B0000UL)
217 /* EWDG0 base pointer */
218 #define HPM_EWDG0 ((EWDG_Type *) HPM_EWDG0_BASE)
219 /* EWDG1 base address */
220 #define HPM_EWDG1_BASE (0xF00B4000UL)
221 /* EWDG1 base pointer */
222 #define HPM_EWDG1 ((EWDG_Type *) HPM_EWDG1_BASE)
223 /* PEWDG base address */
224 #define HPM_PEWDG_BASE (0xF4128000UL)
225 /* PEWDG base pointer */
226 #define HPM_PEWDG ((EWDG_Type *) HPM_PEWDG_BASE)
227 
228 #include "hpm_dmamux_regs.h"
229 /* Address of DMAMUX instances */
230 /* DMAMUX base address */
231 #define HPM_DMAMUX_BASE (0xF00C4000UL)
232 /* DMAMUX base pointer */
233 #define HPM_DMAMUX ((DMAMUX_Type *) HPM_DMAMUX_BASE)
234 
235 #include "hpm_dmav2_regs.h"
236 /* Address of DMAV2 instances */
237 /* HDMA base address */
238 #define HPM_HDMA_BASE (0xF00C8000UL)
239 /* HDMA base pointer */
240 #define HPM_HDMA ((DMAV2_Type *) HPM_HDMA_BASE)
241 /* XDMA base address */
242 #define HPM_XDMA_BASE (0xF3008000UL)
243 /* XDMA base pointer */
244 #define HPM_XDMA ((DMAV2_Type *) HPM_XDMA_BASE)
245 
246 #include "hpm_gpiom_regs.h"
247 /* Address of GPIOM instances */
248 /* GPIOM base address */
249 #define HPM_GPIOM_BASE (0xF00D8000UL)
250 /* GPIOM base pointer */
251 #define HPM_GPIOM ((GPIOM_Type *) HPM_GPIOM_BASE)
252 
253 #include "hpm_adc16_regs.h"
254 /* Address of ADC16 instances */
255 /* ADC0 base address */
256 #define HPM_ADC0_BASE (0xF00E0000UL)
257 /* ADC0 base pointer */
258 #define HPM_ADC0 ((ADC16_Type *) HPM_ADC0_BASE)
259 
260 #include "hpm_i2s_regs.h"
261 /* Address of I2S instances */
262 /* I2S0 base address */
263 #define HPM_I2S0_BASE (0xF0200000UL)
264 /* I2S0 base pointer */
265 #define HPM_I2S0 ((I2S_Type *) HPM_I2S0_BASE)
266 /* I2S1 base address */
267 #define HPM_I2S1_BASE (0xF0204000UL)
268 /* I2S1 base pointer */
269 #define HPM_I2S1 ((I2S_Type *) HPM_I2S1_BASE)
270 /* I2S2 base address */
271 #define HPM_I2S2_BASE (0xF0208000UL)
272 /* I2S2 base pointer */
273 #define HPM_I2S2 ((I2S_Type *) HPM_I2S2_BASE)
274 /* I2S3 base address */
275 #define HPM_I2S3_BASE (0xF020C000UL)
276 /* I2S3 base pointer */
277 #define HPM_I2S3 ((I2S_Type *) HPM_I2S3_BASE)
278 
279 #include "hpm_dao_regs.h"
280 /* Address of DAO instances */
281 /* DAO base address */
282 #define HPM_DAO_BASE (0xF0210000UL)
283 /* DAO base pointer */
284 #define HPM_DAO ((DAO_Type *) HPM_DAO_BASE)
285 
286 #include "hpm_pdm_regs.h"
287 /* Address of PDM instances */
288 /* PDM base address */
289 #define HPM_PDM_BASE (0xF0214000UL)
290 /* PDM base pointer */
291 #define HPM_PDM ((PDM_Type *) HPM_PDM_BASE)
292 
293 #include "hpm_smix_regs.h"
294 /* Address of SMIX instances */
295 /* SMIX base address */
296 #define HPM_SMIX_BASE (0xF0218000UL)
297 /* SMIX base pointer */
298 #define HPM_SMIX ((SMIX_Type *) HPM_SMIX_BASE)
299 
300 #include "hpm_mcan_regs.h"
301 /* Address of MCAN instances */
302 /* MCAN0 base address */
303 #define HPM_MCAN0_BASE (0xF0280000UL)
304 /* MCAN0 base pointer */
305 #define HPM_MCAN0 ((MCAN_Type *) HPM_MCAN0_BASE)
306 /* MCAN1 base address */
307 #define HPM_MCAN1_BASE (0xF0284000UL)
308 /* MCAN1 base pointer */
309 #define HPM_MCAN1 ((MCAN_Type *) HPM_MCAN1_BASE)
310 /* MCAN2 base address */
311 #define HPM_MCAN2_BASE (0xF0288000UL)
312 /* MCAN2 base pointer */
313 #define HPM_MCAN2 ((MCAN_Type *) HPM_MCAN2_BASE)
314 /* MCAN3 base address */
315 #define HPM_MCAN3_BASE (0xF028C000UL)
316 /* MCAN3 base pointer */
317 #define HPM_MCAN3 ((MCAN_Type *) HPM_MCAN3_BASE)
318 /* MCAN4 base address */
319 #define HPM_MCAN4_BASE (0xF0290000UL)
320 /* MCAN4 base pointer */
321 #define HPM_MCAN4 ((MCAN_Type *) HPM_MCAN4_BASE)
322 /* MCAN5 base address */
323 #define HPM_MCAN5_BASE (0xF0294000UL)
324 /* MCAN5 base pointer */
325 #define HPM_MCAN5 ((MCAN_Type *) HPM_MCAN5_BASE)
326 /* MCAN6 base address */
327 #define HPM_MCAN6_BASE (0xF0298000UL)
328 /* MCAN6 base pointer */
329 #define HPM_MCAN6 ((MCAN_Type *) HPM_MCAN6_BASE)
330 /* MCAN7 base address */
331 #define HPM_MCAN7_BASE (0xF029C000UL)
332 /* MCAN7 base pointer */
333 #define HPM_MCAN7 ((MCAN_Type *) HPM_MCAN7_BASE)
334 
335 #include "hpm_ptpc_regs.h"
336 /* Address of PTPC instances */
337 /* PTPC base address */
338 #define HPM_PTPC_BASE (0xF02FC000UL)
339 /* PTPC base pointer */
340 #define HPM_PTPC ((PTPC_Type *) HPM_PTPC_BASE)
341 
342 #include "hpm_lcdc_regs.h"
343 /* Address of LCDC instances */
344 /* LCDC base address */
345 #define HPM_LCDC_BASE (0xF1000000UL)
346 /* LCDC base pointer */
347 #define HPM_LCDC ((LCDC_Type *) HPM_LCDC_BASE)
348 /* LCDC1 base address */
349 #define HPM_LCDC1_BASE (0xF1004000UL)
350 /* LCDC1 base pointer */
351 #define HPM_LCDC1 ((LCDC_Type *) HPM_LCDC1_BASE)
352 
353 #include "hpm_cam_regs.h"
354 /* Address of CAM instances */
355 /* CAM0 base address */
356 #define HPM_CAM0_BASE (0xF1008000UL)
357 /* CAM0 base pointer */
358 #define HPM_CAM0 ((CAM_Type *) HPM_CAM0_BASE)
359 /* CAM1 base address */
360 #define HPM_CAM1_BASE (0xF100C000UL)
361 /* CAM1 base pointer */
362 #define HPM_CAM1 ((CAM_Type *) HPM_CAM1_BASE)
363 
364 #include "hpm_pdma_regs.h"
365 /* Address of PDMA instances */
366 /* PDMA base address */
367 #define HPM_PDMA_BASE (0xF1010000UL)
368 /* PDMA base pointer */
369 #define HPM_PDMA ((PDMA_Type *) HPM_PDMA_BASE)
370 
371 #include "hpm_jpeg_regs.h"
372 /* Address of JPEG instances */
373 /* JPEG base address */
374 #define HPM_JPEG_BASE (0xF1014000UL)
375 /* JPEG base pointer */
376 #define HPM_JPEG ((JPEG_Type *) HPM_JPEG_BASE)
377 
378 #include "hpm_gwc_regs.h"
379 /* Address of GWC instances */
380 /* GWC0 base address */
381 #define HPM_GWC0_BASE (0xF1018000UL)
382 /* GWC0 base pointer */
383 #define HPM_GWC0 ((GWC_Type *) HPM_GWC0_BASE)
384 /* GWC1 base address */
385 #define HPM_GWC1_BASE (0xF101C000UL)
386 /* GWC1 base pointer */
387 #define HPM_GWC1 ((GWC_Type *) HPM_GWC1_BASE)
388 
389 #include "hpm_mipi_dsi_regs.h"
390 /* Address of MIPI_DSI instances */
391 /* MIPI_DSI0 base address */
392 #define HPM_MIPI_DSI0_BASE (0xF1020000UL)
393 /* MIPI_DSI0 base pointer */
394 #define HPM_MIPI_DSI0 ((MIPI_DSI_Type *) HPM_MIPI_DSI0_BASE)
395 /* MIPI_DSI1 base address */
396 #define HPM_MIPI_DSI1_BASE (0xF1024000UL)
397 /* MIPI_DSI1 base pointer */
398 #define HPM_MIPI_DSI1 ((MIPI_DSI_Type *) HPM_MIPI_DSI1_BASE)
399 
400 #include "hpm_mipi_csi_regs.h"
401 /* Address of MIPI_CSI instances */
402 /* MIPI_CSI0 base address */
403 #define HPM_MIPI_CSI0_BASE (0xF1028000UL)
404 /* MIPI_CSI0 base pointer */
405 #define HPM_MIPI_CSI0 ((MIPI_CSI_Type *) HPM_MIPI_CSI0_BASE)
406 /* MIPI_CSI1 base address */
407 #define HPM_MIPI_CSI1_BASE (0xF102C000UL)
408 /* MIPI_CSI1 base pointer */
409 #define HPM_MIPI_CSI1 ((MIPI_CSI_Type *) HPM_MIPI_CSI1_BASE)
410 
411 #include "hpm_lvb_regs.h"
412 /* Address of LVB instances */
413 /* LVB base address */
414 #define HPM_LVB_BASE (0xF1030000UL)
415 /* LVB base pointer */
416 #define HPM_LVB ((LVB_Type *) HPM_LVB_BASE)
417 
418 #include "hpm_pixelmux_regs.h"
419 /* Address of PIXELMUX instances */
420 /* PIXEL_MUX base address */
421 #define HPM_PIXEL_MUX_BASE (0xF1034000UL)
422 /* PIXEL_MUX base pointer */
423 #define HPM_PIXEL_MUX ((PIXELMUX_Type *) HPM_PIXEL_MUX_BASE)
424 
425 #include "hpm_lcb_regs.h"
426 /* Address of LCB instances */
427 /* LCB base address */
428 #define HPM_LCB_BASE (0xF1038000UL)
429 /* LCB base pointer */
430 #define HPM_LCB ((LCB_Type *) HPM_LCB_BASE)
431 
432 #include "hpm_gpu_regs.h"
433 /* Address of GPU instances */
434 /* GPU base address */
435 #define HPM_GPU_BASE (0xF1080000UL)
436 /* GPU base pointer */
437 #define HPM_GPU ((GPU_Type *) HPM_GPU_BASE)
438 
439 #include "hpm_enet_regs.h"
440 /* Address of ENET instances */
441 /* ENET0 base address */
442 #define HPM_ENET0_BASE (0xF1100000UL)
443 /* ENET0 base pointer */
444 #define HPM_ENET0 ((ENET_Type *) HPM_ENET0_BASE)
445 
446 #include "hpm_usb_regs.h"
447 /* Address of USB instances */
448 /* USB0 base address */
449 #define HPM_USB0_BASE (0xF1120000UL)
450 /* USB0 base pointer */
451 #define HPM_USB0 ((USB_Type *) HPM_USB0_BASE)
452 
453 #include "hpm_sdxc_regs.h"
454 /* Address of SDXC instances */
455 /* SDXC0 base address */
456 #define HPM_SDXC0_BASE (0xF1130000UL)
457 /* SDXC0 base pointer */
458 #define HPM_SDXC0 ((SDXC_Type *) HPM_SDXC0_BASE)
459 /* SDXC1 base address */
460 #define HPM_SDXC1_BASE (0xF1134000UL)
461 /* SDXC1 base pointer */
462 #define HPM_SDXC1 ((SDXC_Type *) HPM_SDXC1_BASE)
463 
464 #include "hpm_ddrctl_regs.h"
465 /* Address of DDRCTL instances */
466 /* DDRCTL base address */
467 #define HPM_DDRCTL_BASE (0xF3010000UL)
468 /* DDRCTL base pointer */
469 #define HPM_DDRCTL ((DDRCTL_Type *) HPM_DDRCTL_BASE)
470 
471 /* Address of ROMC instances */
472 /* ROMC base address */
473 #define HPM_ROMC_BASE (0xF3014000UL)
474 
475 #include "hpm_ffa_regs.h"
476 /* Address of FFA instances */
477 /* FFA base address */
478 #define HPM_FFA_BASE (0xF3018000UL)
479 /* FFA base pointer */
480 #define HPM_FFA ((FFA_Type *) HPM_FFA_BASE)
481 
482 #include "hpm_sdp_regs.h"
483 /* Address of SDP instances */
484 /* SDP base address */
485 #define HPM_SDP_BASE (0xF3040000UL)
486 /* SDP base pointer */
487 #define HPM_SDP ((SDP_Type *) HPM_SDP_BASE)
488 
489 #include "hpm_sec_regs.h"
490 /* Address of SEC instances */
491 /* SEC base address */
492 #define HPM_SEC_BASE (0xF3044000UL)
493 /* SEC base pointer */
494 #define HPM_SEC ((SEC_Type *) HPM_SEC_BASE)
495 
496 #include "hpm_mon_regs.h"
497 /* Address of MON instances */
498 /* MON base address */
499 #define HPM_MON_BASE (0xF3048000UL)
500 /* MON base pointer */
501 #define HPM_MON ((MON_Type *) HPM_MON_BASE)
502 
503 #include "hpm_rng_regs.h"
504 /* Address of RNG instances */
505 /* RNG base address */
506 #define HPM_RNG_BASE (0xF304C000UL)
507 /* RNG base pointer */
508 #define HPM_RNG ((RNG_Type *) HPM_RNG_BASE)
509 
510 #include "hpm_otp_regs.h"
511 /* Address of OTP instances */
512 /* OTP base address */
513 #define HPM_OTP_BASE (0xF3050000UL)
514 /* OTP base pointer */
515 #define HPM_OTP ((OTP_Type *) HPM_OTP_BASE)
516 
517 #include "hpm_keym_regs.h"
518 /* Address of KEYM instances */
519 /* KEYM base address */
520 #define HPM_KEYM_BASE (0xF3054000UL)
521 /* KEYM base pointer */
522 #define HPM_KEYM ((KEYM_Type *) HPM_KEYM_BASE)
523 
524 #include "hpm_sysctl_regs.h"
525 /* Address of SYSCTL instances */
526 /* SYSCTL base address */
527 #define HPM_SYSCTL_BASE (0xF4000000UL)
528 /* SYSCTL base pointer */
529 #define HPM_SYSCTL ((SYSCTL_Type *) HPM_SYSCTL_BASE)
530 
531 #include "hpm_ioc_regs.h"
532 /* Address of IOC instances */
533 /* IOC base address */
534 #define HPM_IOC_BASE (0xF4040000UL)
535 /* IOC base pointer */
536 #define HPM_IOC ((IOC_Type *) HPM_IOC_BASE)
537 /* PIOC base address */
538 #define HPM_PIOC_BASE (0xF4118000UL)
539 /* PIOC base pointer */
540 #define HPM_PIOC ((IOC_Type *) HPM_PIOC_BASE)
541 /* BIOC base address */
542 #define HPM_BIOC_BASE (0xF4210000UL)
543 /* BIOC base pointer */
544 #define HPM_BIOC ((IOC_Type *) HPM_BIOC_BASE)
545 
546 #include "hpm_pllctlv2_regs.h"
547 /* Address of PLLCTLV2 instances */
548 /* PLLCTLV2 base address */
549 #define HPM_PLLCTLV2_BASE (0xF40C0000UL)
550 /* PLLCTLV2 base pointer */
551 #define HPM_PLLCTLV2 ((PLLCTLV2_Type *) HPM_PLLCTLV2_BASE)
552 
553 #include "hpm_ppor_regs.h"
554 /* Address of PPOR instances */
555 /* PPOR base address */
556 #define HPM_PPOR_BASE (0xF4100000UL)
557 /* PPOR base pointer */
558 #define HPM_PPOR ((PPOR_Type *) HPM_PPOR_BASE)
559 
560 #include "hpm_pcfg_regs.h"
561 /* Address of PCFG instances */
562 /* PCFG base address */
563 #define HPM_PCFG_BASE (0xF4104000UL)
564 /* PCFG base pointer */
565 #define HPM_PCFG ((PCFG_Type *) HPM_PCFG_BASE)
566 
567 #include "hpm_pgpr_regs.h"
568 /* Address of PGPR instances */
569 /* PGPR0 base address */
570 #define HPM_PGPR0_BASE (0xF4110000UL)
571 /* PGPR0 base pointer */
572 #define HPM_PGPR0 ((PGPR_Type *) HPM_PGPR0_BASE)
573 /* PGPR1 base address */
574 #define HPM_PGPR1_BASE (0xF4114000UL)
575 /* PGPR1 base pointer */
576 #define HPM_PGPR1 ((PGPR_Type *) HPM_PGPR1_BASE)
577 
578 #include "hpm_vad_regs.h"
579 /* Address of VAD instances */
580 /* VAD base address */
581 #define HPM_VAD_BASE (0xF412C000UL)
582 /* VAD base pointer */
583 #define HPM_VAD ((VAD_Type *) HPM_VAD_BASE)
584 
585 #include "hpm_mipi_dsi_phy_regs.h"
586 /* Address of MIPI_DSI_PHY instances */
587 /* MIPI_DSI_PHY0 base address */
588 #define HPM_MIPI_DSI_PHY0_BASE (0xF4140000UL)
589 /* MIPI_DSI_PHY0 base pointer */
590 #define HPM_MIPI_DSI_PHY0 ((MIPI_DSI_PHY_Type *) HPM_MIPI_DSI_PHY0_BASE)
591 /* MIPI_DSI_PHY1 base address */
592 #define HPM_MIPI_DSI_PHY1_BASE (0xF4144000UL)
593 /* MIPI_DSI_PHY1 base pointer */
594 #define HPM_MIPI_DSI_PHY1 ((MIPI_DSI_PHY_Type *) HPM_MIPI_DSI_PHY1_BASE)
595 
596 #include "hpm_mipi_csi_phy_regs.h"
597 /* Address of MIPI_CSI_PHY instances */
598 /* MIPI_CSI_PHY0 base address */
599 #define HPM_MIPI_CSI_PHY0_BASE (0xF4148000UL)
600 /* MIPI_CSI_PHY0 base pointer */
601 #define HPM_MIPI_CSI_PHY0 ((MIPI_CSI_PHY_Type *) HPM_MIPI_CSI_PHY0_BASE)
602 /* MIPI_CSI_PHY1 base address */
603 #define HPM_MIPI_CSI_PHY1_BASE (0xF414C000UL)
604 /* MIPI_CSI_PHY1 base pointer */
605 #define HPM_MIPI_CSI_PHY1 ((MIPI_CSI_PHY_Type *) HPM_MIPI_CSI_PHY1_BASE)
606 
607 #include "hpm_ddrphy_regs.h"
608 /* Address of DDRPHY instances */
609 /* DDRPHY base address */
610 #define HPM_DDRPHY_BASE (0xF4150000UL)
611 /* DDRPHY base pointer */
612 #define HPM_DDRPHY ((DDRPHY_Type *) HPM_DDRPHY_BASE)
613 
614 #include "hpm_tsns_regs.h"
615 /* Address of TSNS instances */
616 /* TSNS base address */
617 #define HPM_TSNS_BASE (0xF4154000UL)
618 /* TSNS base pointer */
619 #define HPM_TSNS ((TSNS_Type *) HPM_TSNS_BASE)
620 
621 #include "hpm_bacc_regs.h"
622 /* Address of BACC instances */
623 /* BACC base address */
624 #define HPM_BACC_BASE (0xF4200000UL)
625 /* BACC base pointer */
626 #define HPM_BACC ((BACC_Type *) HPM_BACC_BASE)
627 
628 #include "hpm_bpor_regs.h"
629 /* Address of BPOR instances */
630 /* BPOR base address */
631 #define HPM_BPOR_BASE (0xF4204000UL)
632 /* BPOR base pointer */
633 #define HPM_BPOR ((BPOR_Type *) HPM_BPOR_BASE)
634 
635 #include "hpm_bcfg_regs.h"
636 /* Address of BCFG instances */
637 /* BCFG base address */
638 #define HPM_BCFG_BASE (0xF4208000UL)
639 /* BCFG base pointer */
640 #define HPM_BCFG ((BCFG_Type *) HPM_BCFG_BASE)
641 
642 #include "hpm_butn_regs.h"
643 /* Address of BUTN instances */
644 /* BUTN base address */
645 #define HPM_BUTN_BASE (0xF420C000UL)
646 /* BUTN base pointer */
647 #define HPM_BUTN ((BUTN_Type *) HPM_BUTN_BASE)
648 
649 #include "hpm_bgpr_regs.h"
650 /* Address of BGPR instances */
651 /* BGPR base address */
652 #define HPM_BGPR_BASE (0xF4218000UL)
653 /* BGPR base pointer */
654 #define HPM_BGPR ((BGPR_Type *) HPM_BGPR_BASE)
655 
656 #include "hpm_rtc_regs.h"
657 /* Address of RTC instances */
658 /* RTCSHW base address */
659 #define HPM_RTCSHW_BASE (0xF421C000UL)
660 /* RTCSHW base pointer */
661 #define HPM_RTCSHW ((RTC_Type *) HPM_RTCSHW_BASE)
662 /* RTC base address */
663 #define HPM_RTC_BASE (0xF4244000UL)
664 /* RTC base pointer */
665 #define HPM_RTC ((RTC_Type *) HPM_RTC_BASE)
666 
667 #include "hpm_bsec_regs.h"
668 /* Address of BSEC instances */
669 /* BSEC base address */
670 #define HPM_BSEC_BASE (0xF4240000UL)
671 /* BSEC base pointer */
672 #define HPM_BSEC ((BSEC_Type *) HPM_BSEC_BASE)
673 
674 #include "hpm_bkey_regs.h"
675 /* Address of BKEY instances */
676 /* BKEY base address */
677 #define HPM_BKEY_BASE (0xF4248000UL)
678 /* BKEY base pointer */
679 #define HPM_BKEY ((BKEY_Type *) HPM_BKEY_BASE)
680 
681 #include "hpm_bmon_regs.h"
682 /* Address of BMON instances */
683 /* BMON base address */
684 #define HPM_BMON_BASE (0xF424C000UL)
685 /* BMON base pointer */
686 #define HPM_BMON ((BMON_Type *) HPM_BMON_BASE)
687 
688 #include "hpm_tamp_regs.h"
689 /* Address of TAMP instances */
690 /* TAMP base address */
691 #define HPM_TAMP_BASE (0xF4250000UL)
692 /* TAMP base pointer */
693 #define HPM_TAMP ((TAMP_Type *) HPM_TAMP_BASE)
694 
695 #include "hpm_mono_regs.h"
696 /* Address of MONO instances */
697 /* MONO base address */
698 #define HPM_MONO_BASE (0xF4254000UL)
699 /* MONO base pointer */
700 #define HPM_MONO ((MONO_Type *) HPM_MONO_BASE)
701 
702 
703 #include "riscv/riscv_core.h"
704 #include "hpm_csr_regs.h"
705 #include "hpm_interrupt.h"
706 #include "hpm_misc.h"
707 #include "hpm_otp_table.h"
708 #include "hpm_dmamux_src.h"
709 #include "hpm_iomux.h"
710 #include "hpm_pmic_iomux.h"
711 #include "hpm_batt_iomux.h"
712 #endif /* HPM_SOC_H */