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
hpm_common.h
soc
HPM5300
HPM5301
hpm_soc_ip.h
Generated on Tue Jan 13 2026 09:59:11 for HPM SDK by
1.9.1