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
/* List of external IRQs */
14
#define IRQn_GPIO0_A 1
/* GPIO0_A IRQ */
15
#define IRQn_GPIO0_B 2
/* GPIO0_B IRQ */
16
#define IRQn_GPIO0_C 3
/* GPIO0_C IRQ */
17
#define IRQn_GPIO0_D 4
/* GPIO0_D IRQ */
18
#define IRQn_GPIO0_X 5
/* GPIO0_X IRQ */
19
#define IRQn_GPIO0_Y 6
/* GPIO0_Y IRQ */
20
#define IRQn_GPIO0_Z 7
/* GPIO0_Z IRQ */
21
#define IRQn_ADC0 8
/* ADC0 IRQ */
22
#define IRQn_ADC1 9
/* ADC1 IRQ */
23
#define IRQn_ADC2 10
/* ADC2 IRQ */
24
#define IRQn_DAC 11
/* DAC IRQ */
25
#define IRQn_ACMP_0 12
/* ACMP[0] IRQ */
26
#define IRQn_ACMP_1 13
/* ACMP[1] IRQ */
27
#define IRQn_SPI0 14
/* SPI0 IRQ */
28
#define IRQn_SPI1 15
/* SPI1 IRQ */
29
#define IRQn_SPI2 16
/* SPI2 IRQ */
30
#define IRQn_SPI3 17
/* SPI3 IRQ */
31
#define IRQn_UART0 18
/* UART0 IRQ */
32
#define IRQn_UART1 19
/* UART1 IRQ */
33
#define IRQn_UART2 20
/* UART2 IRQ */
34
#define IRQn_UART3 21
/* UART3 IRQ */
35
#define IRQn_UART4 22
/* UART4 IRQ */
36
#define IRQn_UART5 23
/* UART5 IRQ */
37
#define IRQn_UART6 24
/* UART6 IRQ */
38
#define IRQn_UART7 25
/* UART7 IRQ */
39
#define IRQn_CAN0 26
/* CAN0 IRQ */
40
#define IRQn_CAN1 27
/* CAN1 IRQ */
41
#define IRQn_PTPC 28
/* PTPC IRQ */
42
#define IRQn_WDG0 29
/* WDG0 IRQ */
43
#define IRQn_WDG1 30
/* WDG1 IRQ */
44
#define IRQn_TSNS 31
/* TSNS IRQ */
45
#define IRQn_MBX0A 32
/* MBX0A IRQ */
46
#define IRQn_MBX0B 33
/* MBX0B IRQ */
47
#define IRQn_GPTMR0 34
/* GPTMR0 IRQ */
48
#define IRQn_GPTMR1 35
/* GPTMR1 IRQ */
49
#define IRQn_GPTMR2 36
/* GPTMR2 IRQ */
50
#define IRQn_GPTMR3 37
/* GPTMR3 IRQ */
51
#define IRQn_I2C0 38
/* I2C0 IRQ */
52
#define IRQn_I2C1 39
/* I2C1 IRQ */
53
#define IRQn_I2C2 40
/* I2C2 IRQ */
54
#define IRQn_I2C3 41
/* I2C3 IRQ */
55
#define IRQn_PWM0 42
/* PWM0 IRQ */
56
#define IRQn_HALL0 43
/* HALL0 IRQ */
57
#define IRQn_QEI0 44
/* QEI0 IRQ */
58
#define IRQn_PWM1 45
/* PWM1 IRQ */
59
#define IRQn_HALL1 46
/* HALL1 IRQ */
60
#define IRQn_QEI1 47
/* QEI1 IRQ */
61
#define IRQn_SDP 48
/* SDP IRQ */
62
#define IRQn_XPI0 49
/* XPI0 IRQ */
63
#define IRQn_XPI1 50
/* XPI1 IRQ */
64
#define IRQn_XDMA 51
/* XDMA IRQ */
65
#define IRQn_HDMA 52
/* HDMA IRQ */
66
#define IRQn_FEMC 53
/* FEMC IRQ */
67
#define IRQn_RNG 54
/* RNG IRQ */
68
#define IRQn_I2S0 55
/* I2S0 IRQ */
69
#define IRQn_I2S1 56
/* I2S1 IRQ */
70
#define IRQn_DAO 57
/* DAO IRQ */
71
#define IRQn_PDM 58
/* PDM IRQ */
72
#define IRQn_FFA 59
/* FFA IRQ */
73
#define IRQn_NTMR0 60
/* NTMR0 IRQ */
74
#define IRQn_USB0 61
/* USB0 IRQ */
75
#define IRQn_ENET0 62
/* ENET0 IRQ */
76
#define IRQn_SDXC0 63
/* SDXC0 IRQ */
77
#define IRQn_PSEC 64
/* PSEC IRQ */
78
#define IRQn_PGPIO 65
/* PGPIO IRQ */
79
#define IRQn_PWDG 66
/* PWDG IRQ */
80
#define IRQn_PTMR 67
/* PTMR IRQ */
81
#define IRQn_PUART 68
/* PUART IRQ */
82
#define IRQn_FUSE 69
/* FUSE IRQ */
83
#define IRQn_SECMON 70
/* SECMON IRQ */
84
#define IRQn_RTC 71
/* RTC IRQ */
85
#define IRQn_BUTN 72
/* BUTN IRQ */
86
#define IRQn_BGPIO 73
/* BGPIO IRQ */
87
#define IRQn_BVIO 74
/* BVIO IRQ */
88
#define IRQn_BROWNOUT 75
/* BROWNOUT IRQ */
89
#define IRQn_SYSCTL 76
/* SYSCTL IRQ */
90
#define IRQn_DEBUG_0 77
/* DEBUG[0] IRQ */
91
#define IRQn_DEBUG_1 78
/* DEBUG[1] IRQ */
92
93
#include "
hpm_common.h
"
94
95
#include "hpm_gpio_regs.h"
96
/* Address of GPIO instances */
97
/* FGPIO base address */
98
#define HPM_FGPIO_BASE (0xC0000UL)
99
/* FGPIO base pointer */
100
#define HPM_FGPIO ((GPIO_Type *) HPM_FGPIO_BASE)
101
/* GPIO0 base address */
102
#define HPM_GPIO0_BASE (0xF0000000UL)
103
/* GPIO0 base pointer */
104
#define HPM_GPIO0 ((GPIO_Type *) HPM_GPIO0_BASE)
105
/* PGPIO base address */
106
#define HPM_PGPIO_BASE (0xF40DC000UL)
107
/* PGPIO base pointer */
108
#define HPM_PGPIO ((GPIO_Type *) HPM_PGPIO_BASE)
109
/* BGPIO base address */
110
#define HPM_BGPIO_BASE (0xF5014000UL)
111
/* BGPIO base pointer */
112
#define HPM_BGPIO ((GPIO_Type *) HPM_BGPIO_BASE)
113
114
/* Address of DM instances */
115
/* DM base address */
116
#define HPM_DM_BASE (0x30000000UL)
117
118
#include "hpm_plic_regs.h"
119
/* Address of PLIC instances */
120
/* PLIC base address */
121
#define HPM_PLIC_BASE (0xE4000000UL)
122
/* PLIC base pointer */
123
#define HPM_PLIC ((PLIC_Type *) HPM_PLIC_BASE)
124
125
#include "hpm_mchtmr_regs.h"
126
/* Address of MCHTMR instances */
127
/* MCHTMR base address */
128
#define HPM_MCHTMR_BASE (0xE6000000UL)
129
/* MCHTMR base pointer */
130
#define HPM_MCHTMR ((MCHTMR_Type *) HPM_MCHTMR_BASE)
131
132
#include "hpm_plic_sw_regs.h"
133
/* Address of PLICSW instances */
134
/* PLICSW base address */
135
#define HPM_PLICSW_BASE (0xE6400000UL)
136
/* PLICSW base pointer */
137
#define HPM_PLICSW ((PLIC_SW_Type *) HPM_PLICSW_BASE)
138
139
#include "hpm_gpiom_regs.h"
140
/* Address of GPIOM instances */
141
/* GPIOM base address */
142
#define HPM_GPIOM_BASE (0xF0008000UL)
143
/* GPIOM base pointer */
144
#define HPM_GPIOM ((GPIOM_Type *) HPM_GPIOM_BASE)
145
146
#include "hpm_adc16_regs.h"
147
/* Address of ADC16 instances */
148
/* ADC0 base address */
149
#define HPM_ADC0_BASE (0xF0010000UL)
150
/* ADC0 base pointer */
151
#define HPM_ADC0 ((ADC16_Type *) HPM_ADC0_BASE)
152
/* ADC1 base address */
153
#define HPM_ADC1_BASE (0xF0014000UL)
154
/* ADC1 base pointer */
155
#define HPM_ADC1 ((ADC16_Type *) HPM_ADC1_BASE)
156
/* ADC2 base address */
157
#define HPM_ADC2_BASE (0xF0018000UL)
158
/* ADC2 base pointer */
159
#define HPM_ADC2 ((ADC16_Type *) HPM_ADC2_BASE)
160
161
#include "hpm_acmp_regs.h"
162
/* Address of ACMP instances */
163
/* ACMP base address */
164
#define HPM_ACMP_BASE (0xF0020000UL)
165
/* ACMP base pointer */
166
#define HPM_ACMP ((ACMP_Type *) HPM_ACMP_BASE)
167
168
#include "hpm_dac_regs.h"
169
/* Address of DAC instances */
170
/* DAC base address */
171
#define HPM_DAC_BASE (0xF0024000UL)
172
/* DAC base pointer */
173
#define HPM_DAC ((DAC_Type *) HPM_DAC_BASE)
174
175
#include "hpm_spi_regs.h"
176
/* Address of SPI instances */
177
/* SPI0 base address */
178
#define HPM_SPI0_BASE (0xF0030000UL)
179
/* SPI0 base pointer */
180
#define HPM_SPI0 ((SPI_Type *) HPM_SPI0_BASE)
181
/* SPI1 base address */
182
#define HPM_SPI1_BASE (0xF0034000UL)
183
/* SPI1 base pointer */
184
#define HPM_SPI1 ((SPI_Type *) HPM_SPI1_BASE)
185
/* SPI2 base address */
186
#define HPM_SPI2_BASE (0xF0038000UL)
187
/* SPI2 base pointer */
188
#define HPM_SPI2 ((SPI_Type *) HPM_SPI2_BASE)
189
/* SPI3 base address */
190
#define HPM_SPI3_BASE (0xF003C000UL)
191
/* SPI3 base pointer */
192
#define HPM_SPI3 ((SPI_Type *) HPM_SPI3_BASE)
193
194
#include "hpm_uart_regs.h"
195
/* Address of UART instances */
196
/* UART0 base address */
197
#define HPM_UART0_BASE (0xF0040000UL)
198
/* UART0 base pointer */
199
#define HPM_UART0 ((UART_Type *) HPM_UART0_BASE)
200
/* UART1 base address */
201
#define HPM_UART1_BASE (0xF0044000UL)
202
/* UART1 base pointer */
203
#define HPM_UART1 ((UART_Type *) HPM_UART1_BASE)
204
/* UART2 base address */
205
#define HPM_UART2_BASE (0xF0048000UL)
206
/* UART2 base pointer */
207
#define HPM_UART2 ((UART_Type *) HPM_UART2_BASE)
208
/* UART3 base address */
209
#define HPM_UART3_BASE (0xF004C000UL)
210
/* UART3 base pointer */
211
#define HPM_UART3 ((UART_Type *) HPM_UART3_BASE)
212
/* UART4 base address */
213
#define HPM_UART4_BASE (0xF0050000UL)
214
/* UART4 base pointer */
215
#define HPM_UART4 ((UART_Type *) HPM_UART4_BASE)
216
/* UART5 base address */
217
#define HPM_UART5_BASE (0xF0054000UL)
218
/* UART5 base pointer */
219
#define HPM_UART5 ((UART_Type *) HPM_UART5_BASE)
220
/* UART6 base address */
221
#define HPM_UART6_BASE (0xF0058000UL)
222
/* UART6 base pointer */
223
#define HPM_UART6 ((UART_Type *) HPM_UART6_BASE)
224
/* UART7 base address */
225
#define HPM_UART7_BASE (0xF005C000UL)
226
/* UART7 base pointer */
227
#define HPM_UART7 ((UART_Type *) HPM_UART7_BASE)
228
/* PUART base address */
229
#define HPM_PUART_BASE (0xF40E4000UL)
230
/* PUART base pointer */
231
#define HPM_PUART ((UART_Type *) HPM_PUART_BASE)
232
233
#include "hpm_can_regs.h"
234
/* Address of CAN instances */
235
/* CAN0 base address */
236
#define HPM_CAN0_BASE (0xF0080000UL)
237
/* CAN0 base pointer */
238
#define HPM_CAN0 ((CAN_Type *) HPM_CAN0_BASE)
239
/* CAN1 base address */
240
#define HPM_CAN1_BASE (0xF0084000UL)
241
/* CAN1 base pointer */
242
#define HPM_CAN1 ((CAN_Type *) HPM_CAN1_BASE)
243
244
#include "hpm_wdg_regs.h"
245
/* Address of WDOG instances */
246
/* WDG0 base address */
247
#define HPM_WDG0_BASE (0xF0090000UL)
248
/* WDG0 base pointer */
249
#define HPM_WDG0 ((WDG_Type *) HPM_WDG0_BASE)
250
/* WDG1 base address */
251
#define HPM_WDG1_BASE (0xF0094000UL)
252
/* WDG1 base pointer */
253
#define HPM_WDG1 ((WDG_Type *) HPM_WDG1_BASE)
254
/* PWDG base address */
255
#define HPM_PWDG_BASE (0xF40E8000UL)
256
/* PWDG base pointer */
257
#define HPM_PWDG ((WDG_Type *) HPM_PWDG_BASE)
258
259
#include "hpm_mbx_regs.h"
260
/* Address of MBX instances */
261
/* MBX0A base address */
262
#define HPM_MBX0A_BASE (0xF00A0000UL)
263
/* MBX0A base pointer */
264
#define HPM_MBX0A ((MBX_Type *) HPM_MBX0A_BASE)
265
/* MBX0B base address */
266
#define HPM_MBX0B_BASE (0xF00A4000UL)
267
/* MBX0B base pointer */
268
#define HPM_MBX0B ((MBX_Type *) HPM_MBX0B_BASE)
269
270
#include "hpm_ptpc_regs.h"
271
/* Address of PTPC instances */
272
/* PTPC base address */
273
#define HPM_PTPC_BASE (0xF00B0000UL)
274
/* PTPC base pointer */
275
#define HPM_PTPC ((PTPC_Type *) HPM_PTPC_BASE)
276
277
#include "hpm_dmamux_regs.h"
278
/* Address of DMAMUX instances */
279
/* DMAMUX base address */
280
#define HPM_DMAMUX_BASE (0xF00C0000UL)
281
/* DMAMUX base pointer */
282
#define HPM_DMAMUX ((DMAMUX_Type *) HPM_DMAMUX_BASE)
283
284
#include "hpm_dma_regs.h"
285
/* Address of DMA instances */
286
/* HDMA base address */
287
#define HPM_HDMA_BASE (0xF00C4000UL)
288
/* HDMA base pointer */
289
#define HPM_HDMA ((DMA_Type *) HPM_HDMA_BASE)
290
/* XDMA base address */
291
#define HPM_XDMA_BASE (0xF3048000UL)
292
/* XDMA base pointer */
293
#define HPM_XDMA ((DMA_Type *) HPM_XDMA_BASE)
294
295
#include "hpm_rng_regs.h"
296
/* Address of RNG instances */
297
/* RNG base address */
298
#define HPM_RNG_BASE (0xF00C8000UL)
299
/* RNG base pointer */
300
#define HPM_RNG ((RNG_Type *) HPM_RNG_BASE)
301
302
#include "hpm_keym_regs.h"
303
/* Address of KEYM instances */
304
/* KEYM base address */
305
#define HPM_KEYM_BASE (0xF00CC000UL)
306
/* KEYM base pointer */
307
#define HPM_KEYM ((KEYM_Type *) HPM_KEYM_BASE)
308
309
#include "hpm_i2s_regs.h"
310
/* Address of I2S instances */
311
/* I2S0 base address */
312
#define HPM_I2S0_BASE (0xF0100000UL)
313
/* I2S0 base pointer */
314
#define HPM_I2S0 ((I2S_Type *) HPM_I2S0_BASE)
315
/* I2S1 base address */
316
#define HPM_I2S1_BASE (0xF0104000UL)
317
/* I2S1 base pointer */
318
#define HPM_I2S1 ((I2S_Type *) HPM_I2S1_BASE)
319
320
#include "hpm_dao_regs.h"
321
/* Address of DAO instances */
322
/* DAO base address */
323
#define HPM_DAO_BASE (0xF0110000UL)
324
/* DAO base pointer */
325
#define HPM_DAO ((DAO_Type *) HPM_DAO_BASE)
326
327
#include "hpm_pdm_regs.h"
328
/* Address of PDM instances */
329
/* PDM base address */
330
#define HPM_PDM_BASE (0xF0114000UL)
331
/* PDM base pointer */
332
#define HPM_PDM ((PDM_Type *) HPM_PDM_BASE)
333
334
#include "hpm_pwm_regs.h"
335
/* Address of PWM instances */
336
/* PWM0 base address */
337
#define HPM_PWM0_BASE (0xF0200000UL)
338
/* PWM0 base pointer */
339
#define HPM_PWM0 ((PWM_Type *) HPM_PWM0_BASE)
340
/* PWM1 base address */
341
#define HPM_PWM1_BASE (0xF0210000UL)
342
/* PWM1 base pointer */
343
#define HPM_PWM1 ((PWM_Type *) HPM_PWM1_BASE)
344
345
#include "hpm_hall_regs.h"
346
/* Address of HALL instances */
347
/* HALL0 base address */
348
#define HPM_HALL0_BASE (0xF0204000UL)
349
/* HALL0 base pointer */
350
#define HPM_HALL0 ((HALL_Type *) HPM_HALL0_BASE)
351
/* HALL1 base address */
352
#define HPM_HALL1_BASE (0xF0214000UL)
353
/* HALL1 base pointer */
354
#define HPM_HALL1 ((HALL_Type *) HPM_HALL1_BASE)
355
356
#include "hpm_qei_regs.h"
357
/* Address of QEI instances */
358
/* QEI0 base address */
359
#define HPM_QEI0_BASE (0xF0208000UL)
360
/* QEI0 base pointer */
361
#define HPM_QEI0 ((QEI_Type *) HPM_QEI0_BASE)
362
/* QEI1 base address */
363
#define HPM_QEI1_BASE (0xF0218000UL)
364
/* QEI1 base pointer */
365
#define HPM_QEI1 ((QEI_Type *) HPM_QEI1_BASE)
366
367
#include "hpm_trgm_regs.h"
368
/* Address of TRGM instances */
369
/* TRGM0 base address */
370
#define HPM_TRGM0_BASE (0xF020C000UL)
371
/* TRGM0 base pointer */
372
#define HPM_TRGM0 ((TRGM_Type *) HPM_TRGM0_BASE)
373
/* TRGM1 base address */
374
#define HPM_TRGM1_BASE (0xF021C000UL)
375
/* TRGM1 base pointer */
376
#define HPM_TRGM1 ((TRGM_Type *) HPM_TRGM1_BASE)
377
378
#include "hpm_synt_regs.h"
379
/* Address of SYNT instances */
380
/* SYNT base address */
381
#define HPM_SYNT_BASE (0xF0240000UL)
382
/* SYNT base pointer */
383
#define HPM_SYNT ((SYNT_Type *) HPM_SYNT_BASE)
384
385
#include "hpm_enet_regs.h"
386
/* Address of ENET instances */
387
/* ENET0 base address */
388
#define HPM_ENET0_BASE (0xF2000000UL)
389
/* ENET0 base pointer */
390
#define HPM_ENET0 ((ENET_Type *) HPM_ENET0_BASE)
391
392
#include "hpm_gptmr_regs.h"
393
/* Address of GPTMR instances */
394
/* NTMR0 base address */
395
#define HPM_NTMR0_BASE (0xF2010000UL)
396
/* NTMR0 base pointer */
397
#define HPM_NTMR0 ((GPTMR_Type *) HPM_NTMR0_BASE)
398
/* GPTMR0 base address */
399
#define HPM_GPTMR0_BASE (0xF3000000UL)
400
/* GPTMR0 base pointer */
401
#define HPM_GPTMR0 ((GPTMR_Type *) HPM_GPTMR0_BASE)
402
/* GPTMR1 base address */
403
#define HPM_GPTMR1_BASE (0xF3004000UL)
404
/* GPTMR1 base pointer */
405
#define HPM_GPTMR1 ((GPTMR_Type *) HPM_GPTMR1_BASE)
406
/* GPTMR2 base address */
407
#define HPM_GPTMR2_BASE (0xF3008000UL)
408
/* GPTMR2 base pointer */
409
#define HPM_GPTMR2 ((GPTMR_Type *) HPM_GPTMR2_BASE)
410
/* GPTMR3 base address */
411
#define HPM_GPTMR3_BASE (0xF300C000UL)
412
/* GPTMR3 base pointer */
413
#define HPM_GPTMR3 ((GPTMR_Type *) HPM_GPTMR3_BASE)
414
/* PTMR base address */
415
#define HPM_PTMR_BASE (0xF40E0000UL)
416
/* PTMR base pointer */
417
#define HPM_PTMR ((GPTMR_Type *) HPM_PTMR_BASE)
418
419
#include "hpm_usb_regs.h"
420
/* Address of USB instances */
421
/* USB0 base address */
422
#define HPM_USB0_BASE (0xF2020000UL)
423
/* USB0 base pointer */
424
#define HPM_USB0 ((USB_Type *) HPM_USB0_BASE)
425
426
#include "hpm_sdxc_regs.h"
427
/* Address of SDXC instances */
428
/* SDXC0 base address */
429
#define HPM_SDXC0_BASE (0xF2030000UL)
430
/* SDXC0 base pointer */
431
#define HPM_SDXC0 ((SDXC_Type *) HPM_SDXC0_BASE)
432
433
#include "hpm_i2c_regs.h"
434
/* Address of I2C instances */
435
/* I2C0 base address */
436
#define HPM_I2C0_BASE (0xF3020000UL)
437
/* I2C0 base pointer */
438
#define HPM_I2C0 ((I2C_Type *) HPM_I2C0_BASE)
439
/* I2C1 base address */
440
#define HPM_I2C1_BASE (0xF3024000UL)
441
/* I2C1 base pointer */
442
#define HPM_I2C1 ((I2C_Type *) HPM_I2C1_BASE)
443
/* I2C2 base address */
444
#define HPM_I2C2_BASE (0xF3028000UL)
445
/* I2C2 base pointer */
446
#define HPM_I2C2 ((I2C_Type *) HPM_I2C2_BASE)
447
/* I2C3 base address */
448
#define HPM_I2C3_BASE (0xF302C000UL)
449
/* I2C3 base pointer */
450
#define HPM_I2C3 ((I2C_Type *) HPM_I2C3_BASE)
451
452
#include "hpm_sdp_regs.h"
453
/* Address of SDP instances */
454
/* SDP base address */
455
#define HPM_SDP_BASE (0xF304C000UL)
456
/* SDP base pointer */
457
#define HPM_SDP ((SDP_Type *) HPM_SDP_BASE)
458
459
#include "hpm_femc_regs.h"
460
/* Address of FEMC instances */
461
/* FEMC base address */
462
#define HPM_FEMC_BASE (0xF3050000UL)
463
/* FEMC base pointer */
464
#define HPM_FEMC ((FEMC_Type *) HPM_FEMC_BASE)
465
466
/* Address of ROMC instances */
467
/* ROMC base address */
468
#define HPM_ROMC_BASE (0xF3054000UL)
469
470
#include "hpm_ffa_regs.h"
471
/* Address of FFA instances */
472
/* FFA base address */
473
#define HPM_FFA_BASE (0xF3058000UL)
474
/* FFA base pointer */
475
#define HPM_FFA ((FFA_Type *) HPM_FFA_BASE)
476
477
#include "hpm_sysctl_regs.h"
478
/* Address of SYSCTL instances */
479
/* SYSCTL base address */
480
#define HPM_SYSCTL_BASE (0xF4000000UL)
481
/* SYSCTL base pointer */
482
#define HPM_SYSCTL ((SYSCTL_Type *) HPM_SYSCTL_BASE)
483
484
#include "hpm_ioc_regs.h"
485
/* Address of IOC instances */
486
/* IOC base address */
487
#define HPM_IOC_BASE (0xF4040000UL)
488
/* IOC base pointer */
489
#define HPM_IOC ((IOC_Type *) HPM_IOC_BASE)
490
/* PIOC base address */
491
#define HPM_PIOC_BASE (0xF40D8000UL)
492
/* PIOC base pointer */
493
#define HPM_PIOC ((IOC_Type *) HPM_PIOC_BASE)
494
/* BIOC base address */
495
#define HPM_BIOC_BASE (0xF5010000UL)
496
/* BIOC base pointer */
497
#define HPM_BIOC ((IOC_Type *) HPM_BIOC_BASE)
498
499
#include "hpm_otp_regs.h"
500
/* Address of OTP instances */
501
/* OTPSHW base address */
502
#define HPM_OTPSHW_BASE (0xF4080000UL)
503
/* OTPSHW base pointer */
504
#define HPM_OTPSHW ((OTP_Type *) HPM_OTPSHW_BASE)
505
/* OTP base address */
506
#define HPM_OTP_BASE (0xF40C8000UL)
507
/* OTP base pointer */
508
#define HPM_OTP ((OTP_Type *) HPM_OTP_BASE)
509
510
#include "hpm_ppor_regs.h"
511
/* Address of PPOR instances */
512
/* PPOR base address */
513
#define HPM_PPOR_BASE (0xF40C0000UL)
514
/* PPOR base pointer */
515
#define HPM_PPOR ((PPOR_Type *) HPM_PPOR_BASE)
516
517
#include "hpm_pcfg_regs.h"
518
/* Address of PCFG instances */
519
/* PCFG base address */
520
#define HPM_PCFG_BASE (0xF40C4000UL)
521
/* PCFG base pointer */
522
#define HPM_PCFG ((PCFG_Type *) HPM_PCFG_BASE)
523
524
#include "hpm_psec_regs.h"
525
/* Address of PSEC instances */
526
/* PSEC base address */
527
#define HPM_PSEC_BASE (0xF40CC000UL)
528
/* PSEC base pointer */
529
#define HPM_PSEC ((PSEC_Type *) HPM_PSEC_BASE)
530
531
#include "hpm_pmon_regs.h"
532
/* Address of PMON instances */
533
/* PMON base address */
534
#define HPM_PMON_BASE (0xF40D0000UL)
535
/* PMON base pointer */
536
#define HPM_PMON ((PMON_Type *) HPM_PMON_BASE)
537
538
#include "hpm_pgpr_regs.h"
539
/* Address of PGPR instances */
540
/* PGPR base address */
541
#define HPM_PGPR_BASE (0xF40D4000UL)
542
/* PGPR base pointer */
543
#define HPM_PGPR ((PGPR_Type *) HPM_PGPR_BASE)
544
545
#include "hpm_pllctlv2_regs.h"
546
/* Address of PLLCTLV2 instances */
547
/* PLLCTLV2 base address */
548
#define HPM_PLLCTLV2_BASE (0xF4100000UL)
549
/* PLLCTLV2 base pointer */
550
#define HPM_PLLCTLV2 ((PLLCTLV2_Type *) HPM_PLLCTLV2_BASE)
551
552
#include "hpm_tsns_regs.h"
553
/* Address of TSNS instances */
554
/* TSNS base address */
555
#define HPM_TSNS_BASE (0xF4104000UL)
556
/* TSNS base pointer */
557
#define HPM_TSNS ((TSNS_Type *) HPM_TSNS_BASE)
558
559
#include "hpm_bacc_regs.h"
560
/* Address of BACC instances */
561
/* BACC base address */
562
#define HPM_BACC_BASE (0xF5000000UL)
563
/* BACC base pointer */
564
#define HPM_BACC ((BACC_Type *) HPM_BACC_BASE)
565
566
#include "hpm_bpor_regs.h"
567
/* Address of BPOR instances */
568
/* BPOR base address */
569
#define HPM_BPOR_BASE (0xF5004000UL)
570
/* BPOR base pointer */
571
#define HPM_BPOR ((BPOR_Type *) HPM_BPOR_BASE)
572
573
#include "hpm_bcfg_regs.h"
574
/* Address of BCFG instances */
575
/* BCFG base address */
576
#define HPM_BCFG_BASE (0xF5008000UL)
577
/* BCFG base pointer */
578
#define HPM_BCFG ((BCFG_Type *) HPM_BCFG_BASE)
579
580
#include "hpm_butn_regs.h"
581
/* Address of BUTN instances */
582
/* BUTN base address */
583
#define HPM_BUTN_BASE (0xF500C000UL)
584
/* BUTN base pointer */
585
#define HPM_BUTN ((BUTN_Type *) HPM_BUTN_BASE)
586
587
#include "hpm_bgpr_regs.h"
588
/* Address of BGPR instances */
589
/* BGPR base address */
590
#define HPM_BGPR_BASE (0xF5018000UL)
591
/* BGPR base pointer */
592
#define HPM_BGPR ((BGPR_Type *) HPM_BGPR_BASE)
593
594
#include "hpm_bsec_regs.h"
595
/* Address of BSEC instances */
596
/* BSEC base address */
597
#define HPM_BSEC_BASE (0xF5040000UL)
598
/* BSEC base pointer */
599
#define HPM_BSEC ((BSEC_Type *) HPM_BSEC_BASE)
600
601
#include "hpm_rtc_regs.h"
602
/* Address of RTC instances */
603
/* RTC base address */
604
#define HPM_RTC_BASE (0xF5044000UL)
605
/* RTC base pointer */
606
#define HPM_RTC ((RTC_Type *) HPM_RTC_BASE)
607
608
#include "hpm_bkey_regs.h"
609
/* Address of BKEY instances */
610
/* BKEY base address */
611
#define HPM_BKEY_BASE (0xF5048000UL)
612
/* BKEY base pointer */
613
#define HPM_BKEY ((BKEY_Type *) HPM_BKEY_BASE)
614
615
#include "hpm_bmon_regs.h"
616
/* Address of BMON instances */
617
/* BMON base address */
618
#define HPM_BMON_BASE (0xF504C000UL)
619
/* BMON base pointer */
620
#define HPM_BMON ((BMON_Type *) HPM_BMON_BASE)
621
622
#include "hpm_tamp_regs.h"
623
/* Address of TAMP instances */
624
/* TAMP base address */
625
#define HPM_TAMP_BASE (0xF5050000UL)
626
/* TAMP base pointer */
627
#define HPM_TAMP ((TAMP_Type *) HPM_TAMP_BASE)
628
629
#include "hpm_mono_regs.h"
630
/* Address of MONO instances */
631
/* MONO base address */
632
#define HPM_MONO_BASE (0xF5054000UL)
633
/* MONO base pointer */
634
#define HPM_MONO ((MONO_Type *) HPM_MONO_BASE)
635
636
637
#include "
riscv/riscv_core.h
"
638
#include "
hpm_csr_regs.h
"
639
#include "
hpm_interrupt.h
"
640
#include "
hpm_misc.h
"
641
#include "
hpm_otp_table.h
"
642
#include "
hpm_dmamux_src.h
"
643
#include "
hpm_trgmmux_src.h
"
644
#include "
hpm_iomux.h
"
645
#include "
hpm_pmic_iomux.h
"
646
#include "
hpm_batt_iomux.h
"
647
#endif
/* HPM_SOC_H */
hpm_batt_iomux.h
hpm_csr_regs.h
hpm_dmamux_src.h
hpm_interrupt.h
hpm_iomux.h
hpm_misc.h
hpm_otp_table.h
hpm_pmic_iomux.h
hpm_trgmmux_src.h
hpm_common.h
riscv_core.h
soc
HPM6300
HPM6360
hpm_soc.h
Generated on Tue Oct 8 2024 00:59:02 for HPM SDK by
1.9.1