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 */
hpm_batt_iomux.h
hpm_csr_regs.h
hpm_dmamux_src.h
hpm_iomux.h
hpm_otp_table.h
hpm_pmic_iomux.h
hpm_soc_irq.h
hpm_trgmmux_src.h
hpm_common.h
hpm_esc_regs.h
hpm_mtg_regs.h
riscv_core.h
soc
HPM6E00
HPM6E6Y
hpm_soc.h
Generated on Tue Apr 1 2025 05:30:26 for HPM SDK by
1.9.1