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 (0x300000UL)
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 TFA instances */
31
/* TFA base address */
32
#define HPM_TFA_BASE (0x400000UL)
33
34
/* Address of DM instances */
35
/* DM base address */
36
#define HPM_DM_BASE (0x30000000UL)
37
38
#include "hpm_plic_regs.h"
39
/* Address of PLIC instances */
40
/* PLIC base address */
41
#define HPM_PLIC_BASE (0xE4000000UL)
42
/* PLIC base pointer */
43
#define HPM_PLIC ((PLIC_Type *) HPM_PLIC_BASE)
44
45
#include "hpm_mchtmr_regs.h"
46
/* Address of MCHTMR instances */
47
/* MCHTMR base address */
48
#define HPM_MCHTMR_BASE (0xE6000000UL)
49
/* MCHTMR base pointer */
50
#define HPM_MCHTMR ((MCHTMR_Type *) HPM_MCHTMR_BASE)
51
52
#include "hpm_plic_sw_regs.h"
53
/* Address of PLICSW instances */
54
/* PLICSW base address */
55
#define HPM_PLICSW_BASE (0xE6400000UL)
56
/* PLICSW base pointer */
57
#define HPM_PLICSW ((PLIC_SW_Type *) HPM_PLICSW_BASE)
58
59
#include "hpm_gptmr_regs.h"
60
/* Address of GPTMR instances */
61
/* GPTMR0 base address */
62
#define HPM_GPTMR0_BASE (0xF0000000UL)
63
/* GPTMR0 base pointer */
64
#define HPM_GPTMR0 ((GPTMR_Type *) HPM_GPTMR0_BASE)
65
/* GPTMR1 base address */
66
#define HPM_GPTMR1_BASE (0xF0004000UL)
67
/* GPTMR1 base pointer */
68
#define HPM_GPTMR1 ((GPTMR_Type *) HPM_GPTMR1_BASE)
69
/* GPTMR2 base address */
70
#define HPM_GPTMR2_BASE (0xF0008000UL)
71
/* GPTMR2 base pointer */
72
#define HPM_GPTMR2 ((GPTMR_Type *) HPM_GPTMR2_BASE)
73
/* GPTMR3 base address */
74
#define HPM_GPTMR3_BASE (0xF000C000UL)
75
/* GPTMR3 base pointer */
76
#define HPM_GPTMR3 ((GPTMR_Type *) HPM_GPTMR3_BASE)
77
/* NTMR0 base address */
78
#define HPM_NTMR0_BASE (0xF1410000UL)
79
/* NTMR0 base pointer */
80
#define HPM_NTMR0 ((GPTMR_Type *) HPM_NTMR0_BASE)
81
/* PTMR base address */
82
#define HPM_PTMR_BASE (0xF4120000UL)
83
/* PTMR base pointer */
84
#define HPM_PTMR ((GPTMR_Type *) HPM_PTMR_BASE)
85
86
#include "
hpm_owr_regs.h
"
87
/* Address of OWR instances */
88
/* OWR0 base address */
89
#define HPM_OWR0_BASE (0xF0030000UL)
90
/* OWR0 base pointer */
91
#define HPM_OWR0 ((OWR_Type *) HPM_OWR0_BASE)
92
/* OWR1 base address */
93
#define HPM_OWR1_BASE (0xF0034000UL)
94
/* OWR1 base pointer */
95
#define HPM_OWR1 ((OWR_Type *) HPM_OWR1_BASE)
96
97
#include "
hpm_eui_regs.h
"
98
/* Address of EUI instances */
99
/* EUI0 base address */
100
#define HPM_EUI0_BASE (0xF0038000UL)
101
/* EUI0 base pointer */
102
#define HPM_EUI0 ((EUI_Type *) HPM_EUI0_BASE)
103
/* EUI1 base address */
104
#define HPM_EUI1_BASE (0xF003C000UL)
105
/* EUI1 base pointer */
106
#define HPM_EUI1 ((EUI_Type *) HPM_EUI1_BASE)
107
108
#include "hpm_uart_regs.h"
109
/* Address of UART instances */
110
/* UART0 base address */
111
#define HPM_UART0_BASE (0xF0040000UL)
112
/* UART0 base pointer */
113
#define HPM_UART0 ((UART_Type *) HPM_UART0_BASE)
114
/* UART1 base address */
115
#define HPM_UART1_BASE (0xF0044000UL)
116
/* UART1 base pointer */
117
#define HPM_UART1 ((UART_Type *) HPM_UART1_BASE)
118
/* UART2 base address */
119
#define HPM_UART2_BASE (0xF0048000UL)
120
/* UART2 base pointer */
121
#define HPM_UART2 ((UART_Type *) HPM_UART2_BASE)
122
/* UART3 base address */
123
#define HPM_UART3_BASE (0xF004C000UL)
124
/* UART3 base pointer */
125
#define HPM_UART3 ((UART_Type *) HPM_UART3_BASE)
126
/* UART4 base address */
127
#define HPM_UART4_BASE (0xF0050000UL)
128
/* UART4 base pointer */
129
#define HPM_UART4 ((UART_Type *) HPM_UART4_BASE)
130
/* UART5 base address */
131
#define HPM_UART5_BASE (0xF0054000UL)
132
/* UART5 base pointer */
133
#define HPM_UART5 ((UART_Type *) HPM_UART5_BASE)
134
/* UART6 base address */
135
#define HPM_UART6_BASE (0xF0058000UL)
136
/* UART6 base pointer */
137
#define HPM_UART6 ((UART_Type *) HPM_UART6_BASE)
138
/* UART7 base address */
139
#define HPM_UART7_BASE (0xF005C000UL)
140
/* UART7 base pointer */
141
#define HPM_UART7 ((UART_Type *) HPM_UART7_BASE)
142
/* PUART base address */
143
#define HPM_PUART_BASE (0xF4124000UL)
144
/* PUART base pointer */
145
#define HPM_PUART ((UART_Type *) HPM_PUART_BASE)
146
147
#include "hpm_i2c_regs.h"
148
/* Address of I2C instances */
149
/* I2C0 base address */
150
#define HPM_I2C0_BASE (0xF0060000UL)
151
/* I2C0 base pointer */
152
#define HPM_I2C0 ((I2C_Type *) HPM_I2C0_BASE)
153
/* I2C1 base address */
154
#define HPM_I2C1_BASE (0xF0064000UL)
155
/* I2C1 base pointer */
156
#define HPM_I2C1 ((I2C_Type *) HPM_I2C1_BASE)
157
/* I2C2 base address */
158
#define HPM_I2C2_BASE (0xF0068000UL)
159
/* I2C2 base pointer */
160
#define HPM_I2C2 ((I2C_Type *) HPM_I2C2_BASE)
161
/* I2C3 base address */
162
#define HPM_I2C3_BASE (0xF006C000UL)
163
/* I2C3 base pointer */
164
#define HPM_I2C3 ((I2C_Type *) HPM_I2C3_BASE)
165
166
#include "hpm_spi_regs.h"
167
/* Address of SPI instances */
168
/* SPI0 base address */
169
#define HPM_SPI0_BASE (0xF0070000UL)
170
/* SPI0 base pointer */
171
#define HPM_SPI0 ((SPI_Type *) HPM_SPI0_BASE)
172
/* SPI1 base address */
173
#define HPM_SPI1_BASE (0xF0074000UL)
174
/* SPI1 base pointer */
175
#define HPM_SPI1 ((SPI_Type *) HPM_SPI1_BASE)
176
/* SPI2 base address */
177
#define HPM_SPI2_BASE (0xF0078000UL)
178
/* SPI2 base pointer */
179
#define HPM_SPI2 ((SPI_Type *) HPM_SPI2_BASE)
180
/* SPI3 base address */
181
#define HPM_SPI3_BASE (0xF007C000UL)
182
/* SPI3 base pointer */
183
#define HPM_SPI3 ((SPI_Type *) HPM_SPI3_BASE)
184
185
#include "hpm_crc_regs.h"
186
/* Address of CRC instances */
187
/* CRC base address */
188
#define HPM_CRC_BASE (0xF0080000UL)
189
/* CRC base pointer */
190
#define HPM_CRC ((CRC_Type *) HPM_CRC_BASE)
191
192
#include "hpm_tsns_regs.h"
193
/* Address of TSNS instances */
194
/* TSNS base address */
195
#define HPM_TSNS_BASE (0xF0090000UL)
196
/* TSNS base pointer */
197
#define HPM_TSNS ((TSNS_Type *) HPM_TSNS_BASE)
198
199
#include "hpm_mbx_regs.h"
200
/* Address of MBX instances */
201
/* MBX0A base address */
202
#define HPM_MBX0A_BASE (0xF00A0000UL)
203
/* MBX0A base pointer */
204
#define HPM_MBX0A ((MBX_Type *) HPM_MBX0A_BASE)
205
/* MBX0B base address */
206
#define HPM_MBX0B_BASE (0xF00A4000UL)
207
/* MBX0B base pointer */
208
#define HPM_MBX0B ((MBX_Type *) HPM_MBX0B_BASE)
209
210
#include "hpm_ewdg_regs.h"
211
/* Address of EWDG instances */
212
/* EWDG0 base address */
213
#define HPM_EWDG0_BASE (0xF00B0000UL)
214
/* EWDG0 base pointer */
215
#define HPM_EWDG0 ((EWDG_Type *) HPM_EWDG0_BASE)
216
/* EWDG1 base address */
217
#define HPM_EWDG1_BASE (0xF00B4000UL)
218
/* EWDG1 base pointer */
219
#define HPM_EWDG1 ((EWDG_Type *) HPM_EWDG1_BASE)
220
/* PEWDG base address */
221
#define HPM_PEWDG_BASE (0xF4128000UL)
222
/* PEWDG base pointer */
223
#define HPM_PEWDG ((EWDG_Type *) HPM_PEWDG_BASE)
224
225
#include "hpm_dmamux_regs.h"
226
/* Address of DMAMUX instances */
227
/* DMAMUX base address */
228
#define HPM_DMAMUX_BASE (0xF00C4000UL)
229
/* DMAMUX base pointer */
230
#define HPM_DMAMUX ((DMAMUX_Type *) HPM_DMAMUX_BASE)
231
232
#include "hpm_dmav2_regs.h"
233
/* Address of DMAV2 instances */
234
/* HDMA base address */
235
#define HPM_HDMA_BASE (0xF00C8000UL)
236
/* HDMA base pointer */
237
#define HPM_HDMA ((DMAV2_Type *) HPM_HDMA_BASE)
238
/* XDMA base address */
239
#define HPM_XDMA_BASE (0xF3100000UL)
240
/* XDMA base pointer */
241
#define HPM_XDMA ((DMAV2_Type *) HPM_XDMA_BASE)
242
243
#include "hpm_ppi_regs.h"
244
/* Address of PPI instances */
245
/* PPI base address */
246
#define HPM_PPI_BASE (0xF00CC000UL)
247
/* PPI base pointer */
248
#define HPM_PPI ((PPI_Type *) HPM_PPI_BASE)
249
250
#include "hpm_gpiom_regs.h"
251
/* Address of GPIOM instances */
252
/* GPIOM base address */
253
#define HPM_GPIOM_BASE (0xF00D8000UL)
254
/* GPIOM base pointer */
255
#define HPM_GPIOM ((GPIOM_Type *) HPM_GPIOM_BASE)
256
257
#include "hpm_lobs_regs.h"
258
/* Address of LOBS instances */
259
/* LOBS base address */
260
#define HPM_LOBS_BASE (0xF00DC000UL)
261
/* LOBS base pointer */
262
#define HPM_LOBS ((LOBS_Type *) HPM_LOBS_BASE)
263
264
#include "hpm_adc16_regs.h"
265
/* Address of ADC16 instances */
266
/* ADC0 base address */
267
#define HPM_ADC0_BASE (0xF0100000UL)
268
/* ADC0 base pointer */
269
#define HPM_ADC0 ((ADC16_Type *) HPM_ADC0_BASE)
270
/* ADC1 base address */
271
#define HPM_ADC1_BASE (0xF0104000UL)
272
/* ADC1 base pointer */
273
#define HPM_ADC1 ((ADC16_Type *) HPM_ADC1_BASE)
274
275
#include "hpm_acmp_regs.h"
276
/* Address of ACMP instances */
277
/* ACMP0 base address */
278
#define HPM_ACMP0_BASE (0xF0130000UL)
279
/* ACMP0 base pointer */
280
#define HPM_ACMP0 ((ACMP_Type *) HPM_ACMP0_BASE)
281
282
#include "hpm_mcan_regs.h"
283
/* Address of MCAN instances */
284
/* MCAN0 base address */
285
#define HPM_MCAN0_BASE (0xF0300000UL)
286
/* MCAN0 base pointer */
287
#define HPM_MCAN0 ((MCAN_Type *) HPM_MCAN0_BASE)
288
/* MCAN1 base address */
289
#define HPM_MCAN1_BASE (0xF0304000UL)
290
/* MCAN1 base pointer */
291
#define HPM_MCAN1 ((MCAN_Type *) HPM_MCAN1_BASE)
292
/* MCAN2 base address */
293
#define HPM_MCAN2_BASE (0xF0308000UL)
294
/* MCAN2 base pointer */
295
#define HPM_MCAN2 ((MCAN_Type *) HPM_MCAN2_BASE)
296
/* MCAN3 base address */
297
#define HPM_MCAN3_BASE (0xF030C000UL)
298
/* MCAN3 base pointer */
299
#define HPM_MCAN3 ((MCAN_Type *) HPM_MCAN3_BASE)
300
301
#include "hpm_ptpc_regs.h"
302
/* Address of PTPC instances */
303
/* PTPC base address */
304
#define HPM_PTPC_BASE (0xF037C000UL)
305
/* PTPC base pointer */
306
#define HPM_PTPC ((PTPC_Type *) HPM_PTPC_BASE)
307
308
#include "hpm_qeiv2_regs.h"
309
/* Address of QEIV2 instances */
310
/* QEI0 base address */
311
#define HPM_QEI0_BASE (0xF0400000UL)
312
/* QEI0 base pointer */
313
#define HPM_QEI0 ((QEIV2_Type *) HPM_QEI0_BASE)
314
/* QEI1 base address */
315
#define HPM_QEI1_BASE (0xF0404000UL)
316
/* QEI1 base pointer */
317
#define HPM_QEI1 ((QEIV2_Type *) HPM_QEI1_BASE)
318
319
#include "hpm_qeov2_regs.h"
320
/* Address of QEOV2 instances */
321
/* QEO0 base address */
322
#define HPM_QEO0_BASE (0xF0410000UL)
323
/* QEO0 base pointer */
324
#define HPM_QEO0 ((QEOV2_Type *) HPM_QEO0_BASE)
325
/* QEO1 base address */
326
#define HPM_QEO1_BASE (0xF0414000UL)
327
/* QEO1 base pointer */
328
#define HPM_QEO1 ((QEOV2_Type *) HPM_QEO1_BASE)
329
330
#include "hpm_pwmv2_regs.h"
331
/* Address of PWMV2 instances */
332
/* PWM0 base address */
333
#define HPM_PWM0_BASE (0xF0420000UL)
334
/* PWM0 base pointer */
335
#define HPM_PWM0 ((PWMV2_Type *) HPM_PWM0_BASE)
336
/* PWM1 base address */
337
#define HPM_PWM1_BASE (0xF0424000UL)
338
/* PWM1 base pointer */
339
#define HPM_PWM1 ((PWMV2_Type *) HPM_PWM1_BASE)
340
341
#include "hpm_sdm_regs.h"
342
/* Address of SDM instances */
343
/* SDM0 base address */
344
#define HPM_SDM0_BASE (0xF0450000UL)
345
/* SDM0 base pointer */
346
#define HPM_SDM0 ((SDM_Type *) HPM_SDM0_BASE)
347
348
#include "hpm_plb_regs.h"
349
/* Address of PLB instances */
350
/* PLB base address */
351
#define HPM_PLB_BASE (0xF0460000UL)
352
/* PLB base pointer */
353
#define HPM_PLB ((PLB_Type *) HPM_PLB_BASE)
354
355
#include "hpm_synt_regs.h"
356
/* Address of SYNT instances */
357
/* SYNT base address */
358
#define HPM_SYNT_BASE (0xF0464000UL)
359
/* SYNT base pointer */
360
#define HPM_SYNT ((SYNT_Type *) HPM_SYNT_BASE)
361
362
#include "hpm_trgm_regs.h"
363
/* Address of TRGM instances */
364
/* TRGM0 base address */
365
#define HPM_TRGM0_BASE (0xF047C000UL)
366
/* TRGM0 base pointer */
367
#define HPM_TRGM0 ((TRGM_Type *) HPM_TRGM0_BASE)
368
369
#include "hpm_enet_regs.h"
370
/* Address of ENET instances */
371
/* ENET0 base address */
372
#define HPM_ENET0_BASE (0xF1400000UL)
373
/* ENET0 base pointer */
374
#define HPM_ENET0 ((ENET_Type *) HPM_ENET0_BASE)
375
376
#include "hpm_usb_regs.h"
377
/* Address of USB instances */
378
/* USB0 base address */
379
#define HPM_USB0_BASE (0xF1420000UL)
380
/* USB0 base pointer */
381
#define HPM_USB0 ((USB_Type *) HPM_USB0_BASE)
382
383
#include "hpm_esc_regs.h"
384
/* Address of ESC instances */
385
/* ESC base address */
386
#define HPM_ESC_BASE (0xF1700000UL)
387
/* ESC base pointer */
388
#define HPM_ESC ((ESC_Type *) HPM_ESC_BASE)
389
390
#include "hpm_otp_regs.h"
391
/* Address of OTP instances */
392
/* OTP base address */
393
#define HPM_OTP_BASE (0xF3158000UL)
394
/* OTP base pointer */
395
#define HPM_OTP ((OTP_Type *) HPM_OTP_BASE)
396
397
#include "hpm_sysctl_regs.h"
398
/* Address of SYSCTL instances */
399
/* SYSCTL base address */
400
#define HPM_SYSCTL_BASE (0xF4000000UL)
401
/* SYSCTL base pointer */
402
#define HPM_SYSCTL ((SYSCTL_Type *) HPM_SYSCTL_BASE)
403
404
#include "hpm_ioc_regs.h"
405
/* Address of IOC instances */
406
/* IOC base address */
407
#define HPM_IOC_BASE (0xF4040000UL)
408
/* IOC base pointer */
409
#define HPM_IOC ((IOC_Type *) HPM_IOC_BASE)
410
/* PIOC base address */
411
#define HPM_PIOC_BASE (0xF4118000UL)
412
/* PIOC base pointer */
413
#define HPM_PIOC ((IOC_Type *) HPM_PIOC_BASE)
414
415
#include "hpm_pllctlv2_regs.h"
416
/* Address of PLLCTLV2 instances */
417
/* PLLCTLV2 base address */
418
#define HPM_PLLCTLV2_BASE (0xF40C0000UL)
419
/* PLLCTLV2 base pointer */
420
#define HPM_PLLCTLV2 ((PLLCTLV2_Type *) HPM_PLLCTLV2_BASE)
421
422
#include "hpm_ppor_regs.h"
423
/* Address of PPOR instances */
424
/* PPOR base address */
425
#define HPM_PPOR_BASE (0xF4100000UL)
426
/* PPOR base pointer */
427
#define HPM_PPOR ((PPOR_Type *) HPM_PPOR_BASE)
428
429
#include "hpm_pcfg_regs.h"
430
/* Address of PCFG instances */
431
/* PCFG base address */
432
#define HPM_PCFG_BASE (0xF4104000UL)
433
/* PCFG base pointer */
434
#define HPM_PCFG ((PCFG_Type *) HPM_PCFG_BASE)
435
436
#include "hpm_pdgo_regs.h"
437
/* Address of PDGO instances */
438
/* PDGO base address */
439
#define HPM_PDGO_BASE (0xF4134000UL)
440
/* PDGO base pointer */
441
#define HPM_PDGO ((PDGO_Type *) HPM_PDGO_BASE)
442
443
#include "hpm_pgpr_regs.h"
444
/* Address of PGPR instances */
445
/* PGPR0 base address */
446
#define HPM_PGPR0_BASE (0xF4138000UL)
447
/* PGPR0 base pointer */
448
#define HPM_PGPR0 ((PGPR_Type *) HPM_PGPR0_BASE)
449
/* PGPR1 base address */
450
#define HPM_PGPR1_BASE (0xF413C000UL)
451
/* PGPR1 base pointer */
452
#define HPM_PGPR1 ((PGPR_Type *) HPM_PGPR1_BASE)
453
454
455
#endif
/* HPM_SOC_IP_H */
456
hpm_common.h
hpm_eui_regs.h
hpm_owr_regs.h
soc
HPM5E00
HPM5E3Y
hpm_soc_ip.h
Generated on Tue Jan 13 2026 09:59:11 for HPM SDK by
1.9.1