HPM SDK
HPMicro Software Development Kit
hpm_soc_ip.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_IP_H
10 #define HPM_SOC_IP_H
11 
12 
13 #include "hpm_common.h"
14 
15 #include "hpm_gpio_regs.h"
16 /* Address of GPIO instances */
17 /* FGPIO base address */
18 #define HPM_FGPIO_BASE (0xC0000UL)
19 /* FGPIO base pointer */
20 #define HPM_FGPIO ((GPIO_Type *) HPM_FGPIO_BASE)
21 /* GPIO0 base address */
22 #define HPM_GPIO0_BASE (0xF00D0000UL)
23 /* GPIO0 base pointer */
24 #define HPM_GPIO0 ((GPIO_Type *) HPM_GPIO0_BASE)
25 /* PGPIO base address */
26 #define HPM_PGPIO_BASE (0xF411C000UL)
27 /* PGPIO base pointer */
28 #define HPM_PGPIO ((GPIO_Type *) HPM_PGPIO_BASE)
29 
30 /* Address of DM instances */
31 /* DM base address */
32 #define HPM_DM_BASE (0x30000000UL)
33 
34 #include "hpm_plic_regs.h"
35 /* Address of PLIC instances */
36 /* PLIC base address */
37 #define HPM_PLIC_BASE (0xE4000000UL)
38 /* PLIC base pointer */
39 #define HPM_PLIC ((PLIC_Type *) HPM_PLIC_BASE)
40 
41 #include "hpm_mchtmr_regs.h"
42 /* Address of MCHTMR instances */
43 /* MCHTMR base address */
44 #define HPM_MCHTMR_BASE (0xE6000000UL)
45 /* MCHTMR base pointer */
46 #define HPM_MCHTMR ((MCHTMR_Type *) HPM_MCHTMR_BASE)
47 
48 #include "hpm_plic_sw_regs.h"
49 /* Address of PLICSW instances */
50 /* PLICSW base address */
51 #define HPM_PLICSW_BASE (0xE6400000UL)
52 /* PLICSW base pointer */
53 #define HPM_PLICSW ((PLIC_SW_Type *) HPM_PLICSW_BASE)
54 
55 #include "hpm_gptmr_regs.h"
56 /* Address of GPTMR instances */
57 /* GPTMR0 base address */
58 #define HPM_GPTMR0_BASE (0xF0000000UL)
59 /* GPTMR0 base pointer */
60 #define HPM_GPTMR0 ((GPTMR_Type *) HPM_GPTMR0_BASE)
61 /* GPTMR1 base address */
62 #define HPM_GPTMR1_BASE (0xF0004000UL)
63 /* GPTMR1 base pointer */
64 #define HPM_GPTMR1 ((GPTMR_Type *) HPM_GPTMR1_BASE)
65 /* PTMR base address */
66 #define HPM_PTMR_BASE (0xF4120000UL)
67 /* PTMR base pointer */
68 #define HPM_PTMR ((GPTMR_Type *) HPM_PTMR_BASE)
69 
70 #include "hpm_uart_regs.h"
71 /* Address of UART instances */
72 /* UART0 base address */
73 #define HPM_UART0_BASE (0xF0040000UL)
74 /* UART0 base pointer */
75 #define HPM_UART0 ((UART_Type *) HPM_UART0_BASE)
76 /* UART1 base address */
77 #define HPM_UART1_BASE (0xF0044000UL)
78 /* UART1 base pointer */
79 #define HPM_UART1 ((UART_Type *) HPM_UART1_BASE)
80 /* UART2 base address */
81 #define HPM_UART2_BASE (0xF0048000UL)
82 /* UART2 base pointer */
83 #define HPM_UART2 ((UART_Type *) HPM_UART2_BASE)
84 /* UART3 base address */
85 #define HPM_UART3_BASE (0xF004C000UL)
86 /* UART3 base pointer */
87 #define HPM_UART3 ((UART_Type *) HPM_UART3_BASE)
88 /* PUART base address */
89 #define HPM_PUART_BASE (0xF4124000UL)
90 /* PUART base pointer */
91 #define HPM_PUART ((UART_Type *) HPM_PUART_BASE)
92 
93 #include "hpm_i2c_regs.h"
94 /* Address of I2C instances */
95 /* I2C0 base address */
96 #define HPM_I2C0_BASE (0xF0060000UL)
97 /* I2C0 base pointer */
98 #define HPM_I2C0 ((I2C_Type *) HPM_I2C0_BASE)
99 /* I2C1 base address */
100 #define HPM_I2C1_BASE (0xF0064000UL)
101 /* I2C1 base pointer */
102 #define HPM_I2C1 ((I2C_Type *) HPM_I2C1_BASE)
103 /* I2C2 base address */
104 #define HPM_I2C2_BASE (0xF0068000UL)
105 /* I2C2 base pointer */
106 #define HPM_I2C2 ((I2C_Type *) HPM_I2C2_BASE)
107 /* I2C3 base address */
108 #define HPM_I2C3_BASE (0xF006C000UL)
109 /* I2C3 base pointer */
110 #define HPM_I2C3 ((I2C_Type *) HPM_I2C3_BASE)
111 
112 #include "hpm_spi_regs.h"
113 /* Address of SPI instances */
114 /* SPI0 base address */
115 #define HPM_SPI0_BASE (0xF0070000UL)
116 /* SPI0 base pointer */
117 #define HPM_SPI0 ((SPI_Type *) HPM_SPI0_BASE)
118 /* SPI1 base address */
119 #define HPM_SPI1_BASE (0xF0074000UL)
120 /* SPI1 base pointer */
121 #define HPM_SPI1 ((SPI_Type *) HPM_SPI1_BASE)
122 /* SPI2 base address */
123 #define HPM_SPI2_BASE (0xF0078000UL)
124 /* SPI2 base pointer */
125 #define HPM_SPI2 ((SPI_Type *) HPM_SPI2_BASE)
126 /* SPI3 base address */
127 #define HPM_SPI3_BASE (0xF007C000UL)
128 /* SPI3 base pointer */
129 #define HPM_SPI3 ((SPI_Type *) HPM_SPI3_BASE)
130 
131 #include "hpm_crc_regs.h"
132 /* Address of CRC instances */
133 /* CRC base address */
134 #define HPM_CRC_BASE (0xF0080000UL)
135 /* CRC base pointer */
136 #define HPM_CRC ((CRC_Type *) HPM_CRC_BASE)
137 
138 #include "hpm_tsns_regs.h"
139 /* Address of TSNS instances */
140 /* TSNS base address */
141 #define HPM_TSNS_BASE (0xF0090000UL)
142 /* TSNS base pointer */
143 #define HPM_TSNS ((TSNS_Type *) HPM_TSNS_BASE)
144 
145 #include "hpm_mbx_regs.h"
146 /* Address of MBX instances */
147 /* MBX0A base address */
148 #define HPM_MBX0A_BASE (0xF00A0000UL)
149 /* MBX0A base pointer */
150 #define HPM_MBX0A ((MBX_Type *) HPM_MBX0A_BASE)
151 /* MBX0B base address */
152 #define HPM_MBX0B_BASE (0xF00A4000UL)
153 /* MBX0B base pointer */
154 #define HPM_MBX0B ((MBX_Type *) HPM_MBX0B_BASE)
155 
156 #include "hpm_ewdg_regs.h"
157 /* Address of EWDG instances */
158 /* EWDG0 base address */
159 #define HPM_EWDG0_BASE (0xF00B0000UL)
160 /* EWDG0 base pointer */
161 #define HPM_EWDG0 ((EWDG_Type *) HPM_EWDG0_BASE)
162 /* EWDG1 base address */
163 #define HPM_EWDG1_BASE (0xF00B4000UL)
164 /* EWDG1 base pointer */
165 #define HPM_EWDG1 ((EWDG_Type *) HPM_EWDG1_BASE)
166 /* PEWDG base address */
167 #define HPM_PEWDG_BASE (0xF4128000UL)
168 /* PEWDG base pointer */
169 #define HPM_PEWDG ((EWDG_Type *) HPM_PEWDG_BASE)
170 
171 #include "hpm_dmamux_regs.h"
172 /* Address of DMAMUX instances */
173 /* DMAMUX base address */
174 #define HPM_DMAMUX_BASE (0xF00C4000UL)
175 /* DMAMUX base pointer */
176 #define HPM_DMAMUX ((DMAMUX_Type *) HPM_DMAMUX_BASE)
177 
178 #include "hpm_dmav2_regs.h"
179 /* Address of DMAV2 instances */
180 /* HDMA base address */
181 #define HPM_HDMA_BASE (0xF00C8000UL)
182 /* HDMA base pointer */
183 #define HPM_HDMA ((DMAV2_Type *) HPM_HDMA_BASE)
184 
185 #include "hpm_gpiom_regs.h"
186 /* Address of GPIOM instances */
187 /* GPIOM base address */
188 #define HPM_GPIOM_BASE (0xF00D8000UL)
189 /* GPIOM base pointer */
190 #define HPM_GPIOM ((GPIOM_Type *) HPM_GPIOM_BASE)
191 
192 #include "hpm_synt_regs.h"
193 /* Address of SYNT instances */
194 /* SYNT base address */
195 #define HPM_SYNT_BASE (0xF0328000UL)
196 /* SYNT base pointer */
197 #define HPM_SYNT ((SYNT_Type *) HPM_SYNT_BASE)
198 
199 #include "hpm_trgm_regs.h"
200 /* Address of TRGM instances */
201 /* TRGM0 base address */
202 #define HPM_TRGM0_BASE (0xF033C000UL)
203 /* TRGM0 base pointer */
204 #define HPM_TRGM0 ((TRGM_Type *) HPM_TRGM0_BASE)
205 
206 #include "hpm_usb_regs.h"
207 /* Address of USB instances */
208 /* USB0 base address */
209 #define HPM_USB0_BASE (0xF300C000UL)
210 /* USB0 base pointer */
211 #define HPM_USB0 ((USB_Type *) HPM_USB0_BASE)
212 
213 #include "hpm_sec_regs.h"
214 /* Address of SEC instances */
215 /* SEC base address */
216 #define HPM_SEC_BASE (0xF3044000UL)
217 /* SEC base pointer */
218 #define HPM_SEC ((SEC_Type *) HPM_SEC_BASE)
219 
220 #include "hpm_mon_regs.h"
221 /* Address of MON instances */
222 /* MON base address */
223 #define HPM_MON_BASE (0xF3048000UL)
224 /* MON base pointer */
225 #define HPM_MON ((MON_Type *) HPM_MON_BASE)
226 
227 #include "hpm_otp_regs.h"
228 /* Address of OTP instances */
229 /* OTP base address */
230 #define HPM_OTP_BASE (0xF3050000UL)
231 /* OTP base pointer */
232 #define HPM_OTP ((OTP_Type *) HPM_OTP_BASE)
233 
234 #include "hpm_keym_regs.h"
235 /* Address of KEYM instances */
236 /* KEYM base address */
237 #define HPM_KEYM_BASE (0xF3054000UL)
238 /* KEYM base pointer */
239 #define HPM_KEYM ((KEYM_Type *) HPM_KEYM_BASE)
240 
241 #include "hpm_adc16_regs.h"
242 /* Address of ADC16 instances */
243 /* ADC0 base address */
244 #define HPM_ADC0_BASE (0xF3080000UL)
245 /* ADC0 base pointer */
246 #define HPM_ADC0 ((ADC16_Type *) HPM_ADC0_BASE)
247 
248 #include "hpm_acmp_regs.h"
249 /* Address of ACMP instances */
250 /* ACMP base address */
251 #define HPM_ACMP_BASE (0xF30B0000UL)
252 /* ACMP base pointer */
253 #define HPM_ACMP ((ACMP_Type *) HPM_ACMP_BASE)
254 
255 #include "hpm_sysctl_regs.h"
256 /* Address of SYSCTL instances */
257 /* SYSCTL base address */
258 #define HPM_SYSCTL_BASE (0xF4000000UL)
259 /* SYSCTL base pointer */
260 #define HPM_SYSCTL ((SYSCTL_Type *) HPM_SYSCTL_BASE)
261 
262 #include "hpm_ioc_regs.h"
263 /* Address of IOC instances */
264 /* IOC base address */
265 #define HPM_IOC_BASE (0xF4040000UL)
266 /* IOC base pointer */
267 #define HPM_IOC ((IOC_Type *) HPM_IOC_BASE)
268 /* PIOC base address */
269 #define HPM_PIOC_BASE (0xF4118000UL)
270 /* PIOC base pointer */
271 #define HPM_PIOC ((IOC_Type *) HPM_PIOC_BASE)
272 
273 #include "hpm_pllctlv2_regs.h"
274 /* Address of PLLCTLV2 instances */
275 /* PLLCTLV2 base address */
276 #define HPM_PLLCTLV2_BASE (0xF40C0000UL)
277 /* PLLCTLV2 base pointer */
278 #define HPM_PLLCTLV2 ((PLLCTLV2_Type *) HPM_PLLCTLV2_BASE)
279 
280 #include "hpm_ppor_regs.h"
281 /* Address of PPOR instances */
282 /* PPOR base address */
283 #define HPM_PPOR_BASE (0xF4100000UL)
284 /* PPOR base pointer */
285 #define HPM_PPOR ((PPOR_Type *) HPM_PPOR_BASE)
286 
287 #include "hpm_pcfg_regs.h"
288 /* Address of PCFG instances */
289 /* PCFG base address */
290 #define HPM_PCFG_BASE (0xF4104000UL)
291 /* PCFG base pointer */
292 #define HPM_PCFG ((PCFG_Type *) HPM_PCFG_BASE)
293 
294 #include "hpm_pgpr_regs.h"
295 /* Address of PGPR instances */
296 /* PGPR0 base address */
297 #define HPM_PGPR0_BASE (0xF4110000UL)
298 /* PGPR0 base pointer */
299 #define HPM_PGPR0 ((PGPR_Type *) HPM_PGPR0_BASE)
300 /* PGPR1 base address */
301 #define HPM_PGPR1_BASE (0xF4114000UL)
302 /* PGPR1 base pointer */
303 #define HPM_PGPR1 ((PGPR_Type *) HPM_PGPR1_BASE)
304 
305 #include "hpm_pdgo_regs.h"
306 /* Address of PDGO instances */
307 /* PDGO base address */
308 #define HPM_PDGO_BASE (0xF4134000UL)
309 /* PDGO base pointer */
310 #define HPM_PDGO ((PDGO_Type *) HPM_PDGO_BASE)
311 
312 
313 #endif /* HPM_SOC_IP_H */
314