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_E 5
/* GPIO0_E IRQ */
19
#define IRQn_GPIO0_F 6
/* GPIO0_F IRQ */
20
#define IRQn_GPIO0_X 7
/* GPIO0_X IRQ */
21
#define IRQn_GPIO0_Y 8
/* GPIO0_Y IRQ */
22
#define IRQn_GPIO0_Z 9
/* GPIO0_Z IRQ */
23
#define IRQn_GPIO1_A 10
/* GPIO1_A IRQ */
24
#define IRQn_GPIO1_B 11
/* GPIO1_B IRQ */
25
#define IRQn_GPIO1_C 12
/* GPIO1_C IRQ */
26
#define IRQn_GPIO1_D 13
/* GPIO1_D IRQ */
27
#define IRQn_GPIO1_E 14
/* GPIO1_E IRQ */
28
#define IRQn_GPIO1_F 15
/* GPIO1_F IRQ */
29
#define IRQn_GPIO1_X 16
/* GPIO1_X IRQ */
30
#define IRQn_GPIO1_Y 17
/* GPIO1_Y IRQ */
31
#define IRQn_GPIO1_Z 18
/* GPIO1_Z IRQ */
32
#define IRQn_ADC0 19
/* ADC0 IRQ */
33
#define IRQn_ADC1 20
/* ADC1 IRQ */
34
#define IRQn_ADC2 21
/* ADC2 IRQ */
35
#define IRQn_ADC3 22
/* ADC3 IRQ */
36
#define IRQn_ACMP_0 23
/* ACMP[0] IRQ */
37
#define IRQn_ACMP_1 24
/* ACMP[1] IRQ */
38
#define IRQn_ACMP_2 25
/* ACMP[2] IRQ */
39
#define IRQn_ACMP_3 26
/* ACMP[3] IRQ */
40
#define IRQn_SPI0 27
/* SPI0 IRQ */
41
#define IRQn_SPI1 28
/* SPI1 IRQ */
42
#define IRQn_SPI2 29
/* SPI2 IRQ */
43
#define IRQn_SPI3 30
/* SPI3 IRQ */
44
#define IRQn_UART0 31
/* UART0 IRQ */
45
#define IRQn_UART1 32
/* UART1 IRQ */
46
#define IRQn_UART2 33
/* UART2 IRQ */
47
#define IRQn_UART3 34
/* UART3 IRQ */
48
#define IRQn_UART4 35
/* UART4 IRQ */
49
#define IRQn_UART5 36
/* UART5 IRQ */
50
#define IRQn_UART6 37
/* UART6 IRQ */
51
#define IRQn_UART7 38
/* UART7 IRQ */
52
#define IRQn_UART8 39
/* UART8 IRQ */
53
#define IRQn_UART9 40
/* UART9 IRQ */
54
#define IRQn_UART10 41
/* UART10 IRQ */
55
#define IRQn_UART11 42
/* UART11 IRQ */
56
#define IRQn_UART12 43
/* UART12 IRQ */
57
#define IRQn_UART13 44
/* UART13 IRQ */
58
#define IRQn_UART14 45
/* UART14 IRQ */
59
#define IRQn_UART15 46
/* UART15 IRQ */
60
#define IRQn_CAN0 47
/* CAN0 IRQ */
61
#define IRQn_CAN1 48
/* CAN1 IRQ */
62
#define IRQn_CAN2 49
/* CAN2 IRQ */
63
#define IRQn_CAN3 50
/* CAN3 IRQ */
64
#define IRQn_PTPC 51
/* PTPC IRQ */
65
#define IRQn_WDG0 52
/* WDG0 IRQ */
66
#define IRQn_WDG1 53
/* WDG1 IRQ */
67
#define IRQn_WDG2 54
/* WDG2 IRQ */
68
#define IRQn_WDG3 55
/* WDG3 IRQ */
69
#define IRQn_MBX0A 56
/* MBX0A IRQ */
70
#define IRQn_MBX0B 57
/* MBX0B IRQ */
71
#define IRQn_MBX1A 58
/* MBX1A IRQ */
72
#define IRQn_MBX1B 59
/* MBX1B IRQ */
73
#define IRQn_GPTMR0 60
/* GPTMR0 IRQ */
74
#define IRQn_GPTMR1 61
/* GPTMR1 IRQ */
75
#define IRQn_GPTMR2 62
/* GPTMR2 IRQ */
76
#define IRQn_GPTMR3 63
/* GPTMR3 IRQ */
77
#define IRQn_GPTMR4 64
/* GPTMR4 IRQ */
78
#define IRQn_GPTMR5 65
/* GPTMR5 IRQ */
79
#define IRQn_GPTMR6 66
/* GPTMR6 IRQ */
80
#define IRQn_GPTMR7 67
/* GPTMR7 IRQ */
81
#define IRQn_I2C0 68
/* I2C0 IRQ */
82
#define IRQn_I2C1 69
/* I2C1 IRQ */
83
#define IRQn_I2C2 70
/* I2C2 IRQ */
84
#define IRQn_I2C3 71
/* I2C3 IRQ */
85
#define IRQn_PWM0 72
/* PWM0 IRQ */
86
#define IRQn_HALL0 73
/* HALL0 IRQ */
87
#define IRQn_QEI0 74
/* QEI0 IRQ */
88
#define IRQn_PWM1 75
/* PWM1 IRQ */
89
#define IRQn_HALL1 76
/* HALL1 IRQ */
90
#define IRQn_QEI1 77
/* QEI1 IRQ */
91
#define IRQn_PWM2 78
/* PWM2 IRQ */
92
#define IRQn_HALL2 79
/* HALL2 IRQ */
93
#define IRQn_QEI2 80
/* QEI2 IRQ */
94
#define IRQn_PWM3 81
/* PWM3 IRQ */
95
#define IRQn_HALL3 82
/* HALL3 IRQ */
96
#define IRQn_QEI3 83
/* QEI3 IRQ */
97
#define IRQn_SDP 84
/* SDP IRQ */
98
#define IRQn_XPI0 85
/* XPI0 IRQ */
99
#define IRQn_XPI1 86
/* XPI1 IRQ */
100
#define IRQn_XDMA 87
/* XDMA IRQ */
101
#define IRQn_HDMA 88
/* HDMA IRQ */
102
#define IRQn_FEMC 89
/* FEMC IRQ */
103
#define IRQn_RNG 90
/* RNG IRQ */
104
#define IRQn_I2S0 91
/* I2S0 IRQ */
105
#define IRQn_I2S1 92
/* I2S1 IRQ */
106
#define IRQn_I2S2 93
/* I2S2 IRQ */
107
#define IRQn_I2S3 94
/* I2S3 IRQ */
108
#define IRQn_DAO 95
/* DAO IRQ */
109
#define IRQn_PDM 96
/* PDM IRQ */
110
#define IRQn_CAM0 97
/* CAM0 IRQ */
111
#define IRQn_CAM1 98
/* CAM1 IRQ */
112
#define IRQn_LCDC_D0 99
/* LCDC_D0 IRQ */
113
#define IRQn_LCDC_D1 100
/* LCDC_D1 IRQ */
114
#define IRQn_PDMA_D0 101
/* PDMA_D0 IRQ */
115
#define IRQn_PDMA_D1 102
/* PDMA_D1 IRQ */
116
#define IRQn_JPEG 103
/* JPEG IRQ */
117
#define IRQn_NTMR0 104
/* NTMR0 IRQ */
118
#define IRQn_NTMR1 105
/* NTMR1 IRQ */
119
#define IRQn_USB0 106
/* USB0 IRQ */
120
#define IRQn_USB1 107
/* USB1 IRQ */
121
#define IRQn_ENET0 108
/* ENET0 IRQ */
122
#define IRQn_ENET1 109
/* ENET1 IRQ */
123
#define IRQn_SDXC0 110
/* SDXC0 IRQ */
124
#define IRQn_SDXC1 111
/* SDXC1 IRQ */
125
#define IRQn_PSEC 112
/* PSEC IRQ */
126
#define IRQn_PGPIO 113
/* PGPIO IRQ */
127
#define IRQn_PWDG 114
/* PWDG IRQ */
128
#define IRQn_PTMR 115
/* PTMR IRQ */
129
#define IRQn_PUART 116
/* PUART IRQ */
130
#define IRQn_VAD 117
/* VAD IRQ */
131
#define IRQn_FUSE 118
/* FUSE IRQ */
132
#define IRQn_SECMON 119
/* SECMON IRQ */
133
#define IRQn_RTC 120
/* RTC IRQ */
134
#define IRQn_BUTN 121
/* BUTN IRQ */
135
#define IRQn_BGPIO 122
/* BGPIO IRQ */
136
#define IRQn_BVIO 123
/* BVIO IRQ */
137
#define IRQn_BROWNOUT 124
/* BROWNOUT IRQ */
138
#define IRQn_SYSCTL 125
/* SYSCTL IRQ */
139
#define IRQn_DEBUG_0 126
/* DEBUG[0] IRQ */
140
#define IRQn_DEBUG_1 127
/* DEBUG[1] IRQ */
141
142
#include "
hpm_common.h
"
143
144
#include "hpm_gpio_regs.h"
145
/* Address of GPIO instances */
146
/* FGPIO base address */
147
#define HPM_FGPIO_BASE (0xC0000UL)
148
/* FGPIO base pointer */
149
#define HPM_FGPIO ((GPIO_Type *) HPM_FGPIO_BASE)
150
/* GPIO0 base address */
151
#define HPM_GPIO0_BASE (0xF0000000UL)
152
/* GPIO0 base pointer */
153
#define HPM_GPIO0 ((GPIO_Type *) HPM_GPIO0_BASE)
154
/* GPIO1 base address */
155
#define HPM_GPIO1_BASE (0xF0004000UL)
156
/* GPIO1 base pointer */
157
#define HPM_GPIO1 ((GPIO_Type *) HPM_GPIO1_BASE)
158
/* PGPIO base address */
159
#define HPM_PGPIO_BASE (0xF40DC000UL)
160
/* PGPIO base pointer */
161
#define HPM_PGPIO ((GPIO_Type *) HPM_PGPIO_BASE)
162
/* BGPIO base address */
163
#define HPM_BGPIO_BASE (0xF5014000UL)
164
/* BGPIO base pointer */
165
#define HPM_BGPIO ((GPIO_Type *) HPM_BGPIO_BASE)
166
167
/* Address of DM instances */
168
/* DM base address */
169
#define HPM_DM_BASE (0x30000000UL)
170
171
#include "hpm_plic_regs.h"
172
/* Address of PLIC instances */
173
/* PLIC base address */
174
#define HPM_PLIC_BASE (0xE4000000UL)
175
/* PLIC base pointer */
176
#define HPM_PLIC ((PLIC_Type *) HPM_PLIC_BASE)
177
178
#include "hpm_mchtmr_regs.h"
179
/* Address of MCHTMR instances */
180
/* MCHTMR base address */
181
#define HPM_MCHTMR_BASE (0xE6000000UL)
182
/* MCHTMR base pointer */
183
#define HPM_MCHTMR ((MCHTMR_Type *) HPM_MCHTMR_BASE)
184
185
#include "hpm_plic_sw_regs.h"
186
/* Address of PLICSW instances */
187
/* PLICSW base address */
188
#define HPM_PLICSW_BASE (0xE6400000UL)
189
/* PLICSW base pointer */
190
#define HPM_PLICSW ((PLIC_SW_Type *) HPM_PLICSW_BASE)
191
192
#include "hpm_gpiom_regs.h"
193
/* Address of GPIOM instances */
194
/* GPIOM base address */
195
#define HPM_GPIOM_BASE (0xF0008000UL)
196
/* GPIOM base pointer */
197
#define HPM_GPIOM ((GPIOM_Type *) HPM_GPIOM_BASE)
198
199
#include "
hpm_adc12_regs.h
"
200
/* Address of ADC12 instances */
201
/* ADC0 base address */
202
#define HPM_ADC0_BASE (0xF0010000UL)
203
/* ADC0 base pointer */
204
#define HPM_ADC0 ((ADC12_Type *) HPM_ADC0_BASE)
205
/* ADC1 base address */
206
#define HPM_ADC1_BASE (0xF0014000UL)
207
/* ADC1 base pointer */
208
#define HPM_ADC1 ((ADC12_Type *) HPM_ADC1_BASE)
209
/* ADC2 base address */
210
#define HPM_ADC2_BASE (0xF0018000UL)
211
/* ADC2 base pointer */
212
#define HPM_ADC2 ((ADC12_Type *) HPM_ADC2_BASE)
213
214
#include "hpm_adc16_regs.h"
215
/* Address of ADC16 instances */
216
/* ADC3 base address */
217
#define HPM_ADC3_BASE (0xF001C000UL)
218
/* ADC3 base pointer */
219
#define HPM_ADC3 ((ADC16_Type *) HPM_ADC3_BASE)
220
221
#include "hpm_acmp_regs.h"
222
/* Address of ACMP instances */
223
/* ACMP base address */
224
#define HPM_ACMP_BASE (0xF0020000UL)
225
/* ACMP base pointer */
226
#define HPM_ACMP ((ACMP_Type *) HPM_ACMP_BASE)
227
228
#include "hpm_spi_regs.h"
229
/* Address of SPI instances */
230
/* SPI0 base address */
231
#define HPM_SPI0_BASE (0xF0030000UL)
232
/* SPI0 base pointer */
233
#define HPM_SPI0 ((SPI_Type *) HPM_SPI0_BASE)
234
/* SPI1 base address */
235
#define HPM_SPI1_BASE (0xF0034000UL)
236
/* SPI1 base pointer */
237
#define HPM_SPI1 ((SPI_Type *) HPM_SPI1_BASE)
238
/* SPI2 base address */
239
#define HPM_SPI2_BASE (0xF0038000UL)
240
/* SPI2 base pointer */
241
#define HPM_SPI2 ((SPI_Type *) HPM_SPI2_BASE)
242
/* SPI3 base address */
243
#define HPM_SPI3_BASE (0xF003C000UL)
244
/* SPI3 base pointer */
245
#define HPM_SPI3 ((SPI_Type *) HPM_SPI3_BASE)
246
247
#include "hpm_uart_regs.h"
248
/* Address of UART instances */
249
/* UART0 base address */
250
#define HPM_UART0_BASE (0xF0040000UL)
251
/* UART0 base pointer */
252
#define HPM_UART0 ((UART_Type *) HPM_UART0_BASE)
253
/* UART1 base address */
254
#define HPM_UART1_BASE (0xF0044000UL)
255
/* UART1 base pointer */
256
#define HPM_UART1 ((UART_Type *) HPM_UART1_BASE)
257
/* UART2 base address */
258
#define HPM_UART2_BASE (0xF0048000UL)
259
/* UART2 base pointer */
260
#define HPM_UART2 ((UART_Type *) HPM_UART2_BASE)
261
/* UART3 base address */
262
#define HPM_UART3_BASE (0xF004C000UL)
263
/* UART3 base pointer */
264
#define HPM_UART3 ((UART_Type *) HPM_UART3_BASE)
265
/* UART4 base address */
266
#define HPM_UART4_BASE (0xF0050000UL)
267
/* UART4 base pointer */
268
#define HPM_UART4 ((UART_Type *) HPM_UART4_BASE)
269
/* UART5 base address */
270
#define HPM_UART5_BASE (0xF0054000UL)
271
/* UART5 base pointer */
272
#define HPM_UART5 ((UART_Type *) HPM_UART5_BASE)
273
/* UART6 base address */
274
#define HPM_UART6_BASE (0xF0058000UL)
275
/* UART6 base pointer */
276
#define HPM_UART6 ((UART_Type *) HPM_UART6_BASE)
277
/* UART7 base address */
278
#define HPM_UART7_BASE (0xF005C000UL)
279
/* UART7 base pointer */
280
#define HPM_UART7 ((UART_Type *) HPM_UART7_BASE)
281
/* UART8 base address */
282
#define HPM_UART8_BASE (0xF0060000UL)
283
/* UART8 base pointer */
284
#define HPM_UART8 ((UART_Type *) HPM_UART8_BASE)
285
/* UART9 base address */
286
#define HPM_UART9_BASE (0xF0064000UL)
287
/* UART9 base pointer */
288
#define HPM_UART9 ((UART_Type *) HPM_UART9_BASE)
289
/* UART10 base address */
290
#define HPM_UART10_BASE (0xF0068000UL)
291
/* UART10 base pointer */
292
#define HPM_UART10 ((UART_Type *) HPM_UART10_BASE)
293
/* UART11 base address */
294
#define HPM_UART11_BASE (0xF006C000UL)
295
/* UART11 base pointer */
296
#define HPM_UART11 ((UART_Type *) HPM_UART11_BASE)
297
/* UART12 base address */
298
#define HPM_UART12_BASE (0xF0070000UL)
299
/* UART12 base pointer */
300
#define HPM_UART12 ((UART_Type *) HPM_UART12_BASE)
301
/* UART13 base address */
302
#define HPM_UART13_BASE (0xF0074000UL)
303
/* UART13 base pointer */
304
#define HPM_UART13 ((UART_Type *) HPM_UART13_BASE)
305
/* UART14 base address */
306
#define HPM_UART14_BASE (0xF0078000UL)
307
/* UART14 base pointer */
308
#define HPM_UART14 ((UART_Type *) HPM_UART14_BASE)
309
/* UART15 base address */
310
#define HPM_UART15_BASE (0xF007C000UL)
311
/* UART15 base pointer */
312
#define HPM_UART15 ((UART_Type *) HPM_UART15_BASE)
313
/* PUART base address */
314
#define HPM_PUART_BASE (0xF40E4000UL)
315
/* PUART base pointer */
316
#define HPM_PUART ((UART_Type *) HPM_PUART_BASE)
317
318
#include "hpm_can_regs.h"
319
/* Address of CAN instances */
320
/* CAN0 base address */
321
#define HPM_CAN0_BASE (0xF0080000UL)
322
/* CAN0 base pointer */
323
#define HPM_CAN0 ((CAN_Type *) HPM_CAN0_BASE)
324
/* CAN1 base address */
325
#define HPM_CAN1_BASE (0xF0084000UL)
326
/* CAN1 base pointer */
327
#define HPM_CAN1 ((CAN_Type *) HPM_CAN1_BASE)
328
/* CAN2 base address */
329
#define HPM_CAN2_BASE (0xF0088000UL)
330
/* CAN2 base pointer */
331
#define HPM_CAN2 ((CAN_Type *) HPM_CAN2_BASE)
332
/* CAN3 base address */
333
#define HPM_CAN3_BASE (0xF008C000UL)
334
/* CAN3 base pointer */
335
#define HPM_CAN3 ((CAN_Type *) HPM_CAN3_BASE)
336
337
#include "hpm_wdg_regs.h"
338
/* Address of WDOG instances */
339
/* WDG0 base address */
340
#define HPM_WDG0_BASE (0xF0090000UL)
341
/* WDG0 base pointer */
342
#define HPM_WDG0 ((WDG_Type *) HPM_WDG0_BASE)
343
/* WDG1 base address */
344
#define HPM_WDG1_BASE (0xF0094000UL)
345
/* WDG1 base pointer */
346
#define HPM_WDG1 ((WDG_Type *) HPM_WDG1_BASE)
347
/* WDG2 base address */
348
#define HPM_WDG2_BASE (0xF0098000UL)
349
/* WDG2 base pointer */
350
#define HPM_WDG2 ((WDG_Type *) HPM_WDG2_BASE)
351
/* WDG3 base address */
352
#define HPM_WDG3_BASE (0xF009C000UL)
353
/* WDG3 base pointer */
354
#define HPM_WDG3 ((WDG_Type *) HPM_WDG3_BASE)
355
/* PWDG base address */
356
#define HPM_PWDG_BASE (0xF40E8000UL)
357
/* PWDG base pointer */
358
#define HPM_PWDG ((WDG_Type *) HPM_PWDG_BASE)
359
360
#include "hpm_mbx_regs.h"
361
/* Address of MBX instances */
362
/* MBX0A base address */
363
#define HPM_MBX0A_BASE (0xF00A0000UL)
364
/* MBX0A base pointer */
365
#define HPM_MBX0A ((MBX_Type *) HPM_MBX0A_BASE)
366
/* MBX0B base address */
367
#define HPM_MBX0B_BASE (0xF00A4000UL)
368
/* MBX0B base pointer */
369
#define HPM_MBX0B ((MBX_Type *) HPM_MBX0B_BASE)
370
/* MBX1A base address */
371
#define HPM_MBX1A_BASE (0xF00A8000UL)
372
/* MBX1A base pointer */
373
#define HPM_MBX1A ((MBX_Type *) HPM_MBX1A_BASE)
374
/* MBX1B base address */
375
#define HPM_MBX1B_BASE (0xF00AC000UL)
376
/* MBX1B base pointer */
377
#define HPM_MBX1B ((MBX_Type *) HPM_MBX1B_BASE)
378
379
#include "hpm_ptpc_regs.h"
380
/* Address of PTPC instances */
381
/* PTPC base address */
382
#define HPM_PTPC_BASE (0xF00B0000UL)
383
/* PTPC base pointer */
384
#define HPM_PTPC ((PTPC_Type *) HPM_PTPC_BASE)
385
386
#include "hpm_dmamux_regs.h"
387
/* Address of DMAMUX instances */
388
/* DMAMUX base address */
389
#define HPM_DMAMUX_BASE (0xF00C0000UL)
390
/* DMAMUX base pointer */
391
#define HPM_DMAMUX ((DMAMUX_Type *) HPM_DMAMUX_BASE)
392
393
#include "hpm_dma_regs.h"
394
/* Address of DMA instances */
395
/* HDMA base address */
396
#define HPM_HDMA_BASE (0xF00C4000UL)
397
/* HDMA base pointer */
398
#define HPM_HDMA ((DMA_Type *) HPM_HDMA_BASE)
399
/* XDMA base address */
400
#define HPM_XDMA_BASE (0xF3048000UL)
401
/* XDMA base pointer */
402
#define HPM_XDMA ((DMA_Type *) HPM_XDMA_BASE)
403
404
#include "hpm_rng_regs.h"
405
/* Address of RNG instances */
406
/* RNG base address */
407
#define HPM_RNG_BASE (0xF00C8000UL)
408
/* RNG base pointer */
409
#define HPM_RNG ((RNG_Type *) HPM_RNG_BASE)
410
411
#include "hpm_keym_regs.h"
412
/* Address of KEYM instances */
413
/* KEYM base address */
414
#define HPM_KEYM_BASE (0xF00CC000UL)
415
/* KEYM base pointer */
416
#define HPM_KEYM ((KEYM_Type *) HPM_KEYM_BASE)
417
418
#include "hpm_i2s_regs.h"
419
/* Address of I2S instances */
420
/* I2S0 base address */
421
#define HPM_I2S0_BASE (0xF0100000UL)
422
/* I2S0 base pointer */
423
#define HPM_I2S0 ((I2S_Type *) HPM_I2S0_BASE)
424
/* I2S1 base address */
425
#define HPM_I2S1_BASE (0xF0104000UL)
426
/* I2S1 base pointer */
427
#define HPM_I2S1 ((I2S_Type *) HPM_I2S1_BASE)
428
/* I2S2 base address */
429
#define HPM_I2S2_BASE (0xF0108000UL)
430
/* I2S2 base pointer */
431
#define HPM_I2S2 ((I2S_Type *) HPM_I2S2_BASE)
432
/* I2S3 base address */
433
#define HPM_I2S3_BASE (0xF010C000UL)
434
/* I2S3 base pointer */
435
#define HPM_I2S3 ((I2S_Type *) HPM_I2S3_BASE)
436
437
#include "hpm_dao_regs.h"
438
/* Address of DAO instances */
439
/* DAO base address */
440
#define HPM_DAO_BASE (0xF0110000UL)
441
/* DAO base pointer */
442
#define HPM_DAO ((DAO_Type *) HPM_DAO_BASE)
443
444
#include "hpm_pdm_regs.h"
445
/* Address of PDM instances */
446
/* PDM base address */
447
#define HPM_PDM_BASE (0xF0114000UL)
448
/* PDM base pointer */
449
#define HPM_PDM ((PDM_Type *) HPM_PDM_BASE)
450
451
#include "hpm_pwm_regs.h"
452
/* Address of PWM instances */
453
/* PWM0 base address */
454
#define HPM_PWM0_BASE (0xF0200000UL)
455
/* PWM0 base pointer */
456
#define HPM_PWM0 ((PWM_Type *) HPM_PWM0_BASE)
457
/* PWM1 base address */
458
#define HPM_PWM1_BASE (0xF0210000UL)
459
/* PWM1 base pointer */
460
#define HPM_PWM1 ((PWM_Type *) HPM_PWM1_BASE)
461
/* PWM2 base address */
462
#define HPM_PWM2_BASE (0xF0220000UL)
463
/* PWM2 base pointer */
464
#define HPM_PWM2 ((PWM_Type *) HPM_PWM2_BASE)
465
/* PWM3 base address */
466
#define HPM_PWM3_BASE (0xF0230000UL)
467
/* PWM3 base pointer */
468
#define HPM_PWM3 ((PWM_Type *) HPM_PWM3_BASE)
469
470
#include "hpm_hall_regs.h"
471
/* Address of HALL instances */
472
/* HALL0 base address */
473
#define HPM_HALL0_BASE (0xF0204000UL)
474
/* HALL0 base pointer */
475
#define HPM_HALL0 ((HALL_Type *) HPM_HALL0_BASE)
476
/* HALL1 base address */
477
#define HPM_HALL1_BASE (0xF0214000UL)
478
/* HALL1 base pointer */
479
#define HPM_HALL1 ((HALL_Type *) HPM_HALL1_BASE)
480
/* HALL2 base address */
481
#define HPM_HALL2_BASE (0xF0224000UL)
482
/* HALL2 base pointer */
483
#define HPM_HALL2 ((HALL_Type *) HPM_HALL2_BASE)
484
/* HALL3 base address */
485
#define HPM_HALL3_BASE (0xF0234000UL)
486
/* HALL3 base pointer */
487
#define HPM_HALL3 ((HALL_Type *) HPM_HALL3_BASE)
488
489
#include "hpm_qei_regs.h"
490
/* Address of QEI instances */
491
/* QEI0 base address */
492
#define HPM_QEI0_BASE (0xF0208000UL)
493
/* QEI0 base pointer */
494
#define HPM_QEI0 ((QEI_Type *) HPM_QEI0_BASE)
495
/* QEI1 base address */
496
#define HPM_QEI1_BASE (0xF0218000UL)
497
/* QEI1 base pointer */
498
#define HPM_QEI1 ((QEI_Type *) HPM_QEI1_BASE)
499
/* QEI2 base address */
500
#define HPM_QEI2_BASE (0xF0228000UL)
501
/* QEI2 base pointer */
502
#define HPM_QEI2 ((QEI_Type *) HPM_QEI2_BASE)
503
/* QEI3 base address */
504
#define HPM_QEI3_BASE (0xF0238000UL)
505
/* QEI3 base pointer */
506
#define HPM_QEI3 ((QEI_Type *) HPM_QEI3_BASE)
507
508
#include "hpm_trgm_regs.h"
509
/* Address of TRGM instances */
510
/* TRGM0 base address */
511
#define HPM_TRGM0_BASE (0xF020C000UL)
512
/* TRGM0 base pointer */
513
#define HPM_TRGM0 ((TRGM_Type *) HPM_TRGM0_BASE)
514
/* TRGM1 base address */
515
#define HPM_TRGM1_BASE (0xF021C000UL)
516
/* TRGM1 base pointer */
517
#define HPM_TRGM1 ((TRGM_Type *) HPM_TRGM1_BASE)
518
/* TRGM2 base address */
519
#define HPM_TRGM2_BASE (0xF022C000UL)
520
/* TRGM2 base pointer */
521
#define HPM_TRGM2 ((TRGM_Type *) HPM_TRGM2_BASE)
522
/* TRGM3 base address */
523
#define HPM_TRGM3_BASE (0xF023C000UL)
524
/* TRGM3 base pointer */
525
#define HPM_TRGM3 ((TRGM_Type *) HPM_TRGM3_BASE)
526
527
#include "hpm_synt_regs.h"
528
/* Address of SYNT instances */
529
/* SYNT base address */
530
#define HPM_SYNT_BASE (0xF0240000UL)
531
/* SYNT base pointer */
532
#define HPM_SYNT ((SYNT_Type *) HPM_SYNT_BASE)
533
534
#include "hpm_lcdc_regs.h"
535
/* Address of LCDC instances */
536
/* LCDC base address */
537
#define HPM_LCDC_BASE (0xF1000000UL)
538
/* LCDC base pointer */
539
#define HPM_LCDC ((LCDC_Type *) HPM_LCDC_BASE)
540
541
#include "hpm_cam_regs.h"
542
/* Address of CAM instances */
543
/* CAM0 base address */
544
#define HPM_CAM0_BASE (0xF1008000UL)
545
/* CAM0 base pointer */
546
#define HPM_CAM0 ((CAM_Type *) HPM_CAM0_BASE)
547
/* CAM1 base address */
548
#define HPM_CAM1_BASE (0xF100C000UL)
549
/* CAM1 base pointer */
550
#define HPM_CAM1 ((CAM_Type *) HPM_CAM1_BASE)
551
552
#include "hpm_pdma_regs.h"
553
/* Address of PDMA instances */
554
/* PDMA base address */
555
#define HPM_PDMA_BASE (0xF1010000UL)
556
/* PDMA base pointer */
557
#define HPM_PDMA ((PDMA_Type *) HPM_PDMA_BASE)
558
559
#include "hpm_jpeg_regs.h"
560
/* Address of JPEG instances */
561
/* JPEG base address */
562
#define HPM_JPEG_BASE (0xF1014000UL)
563
/* JPEG base pointer */
564
#define HPM_JPEG ((JPEG_Type *) HPM_JPEG_BASE)
565
566
#include "hpm_enet_regs.h"
567
/* Address of ENET instances */
568
/* ENET0 base address */
569
#define HPM_ENET0_BASE (0xF2000000UL)
570
/* ENET0 base pointer */
571
#define HPM_ENET0 ((ENET_Type *) HPM_ENET0_BASE)
572
/* ENET1 base address */
573
#define HPM_ENET1_BASE (0xF2004000UL)
574
/* ENET1 base pointer */
575
#define HPM_ENET1 ((ENET_Type *) HPM_ENET1_BASE)
576
577
#include "hpm_gptmr_regs.h"
578
/* Address of GPTMR instances */
579
/* NTMR0 base address */
580
#define HPM_NTMR0_BASE (0xF2010000UL)
581
/* NTMR0 base pointer */
582
#define HPM_NTMR0 ((GPTMR_Type *) HPM_NTMR0_BASE)
583
/* NTMR1 base address */
584
#define HPM_NTMR1_BASE (0xF2014000UL)
585
/* NTMR1 base pointer */
586
#define HPM_NTMR1 ((GPTMR_Type *) HPM_NTMR1_BASE)
587
/* GPTMR0 base address */
588
#define HPM_GPTMR0_BASE (0xF3000000UL)
589
/* GPTMR0 base pointer */
590
#define HPM_GPTMR0 ((GPTMR_Type *) HPM_GPTMR0_BASE)
591
/* GPTMR1 base address */
592
#define HPM_GPTMR1_BASE (0xF3004000UL)
593
/* GPTMR1 base pointer */
594
#define HPM_GPTMR1 ((GPTMR_Type *) HPM_GPTMR1_BASE)
595
/* GPTMR2 base address */
596
#define HPM_GPTMR2_BASE (0xF3008000UL)
597
/* GPTMR2 base pointer */
598
#define HPM_GPTMR2 ((GPTMR_Type *) HPM_GPTMR2_BASE)
599
/* GPTMR3 base address */
600
#define HPM_GPTMR3_BASE (0xF300C000UL)
601
/* GPTMR3 base pointer */
602
#define HPM_GPTMR3 ((GPTMR_Type *) HPM_GPTMR3_BASE)
603
/* GPTMR4 base address */
604
#define HPM_GPTMR4_BASE (0xF3010000UL)
605
/* GPTMR4 base pointer */
606
#define HPM_GPTMR4 ((GPTMR_Type *) HPM_GPTMR4_BASE)
607
/* GPTMR5 base address */
608
#define HPM_GPTMR5_BASE (0xF3014000UL)
609
/* GPTMR5 base pointer */
610
#define HPM_GPTMR5 ((GPTMR_Type *) HPM_GPTMR5_BASE)
611
/* GPTMR6 base address */
612
#define HPM_GPTMR6_BASE (0xF3018000UL)
613
/* GPTMR6 base pointer */
614
#define HPM_GPTMR6 ((GPTMR_Type *) HPM_GPTMR6_BASE)
615
/* GPTMR7 base address */
616
#define HPM_GPTMR7_BASE (0xF301C000UL)
617
/* GPTMR7 base pointer */
618
#define HPM_GPTMR7 ((GPTMR_Type *) HPM_GPTMR7_BASE)
619
/* PTMR base address */
620
#define HPM_PTMR_BASE (0xF40E0000UL)
621
/* PTMR base pointer */
622
#define HPM_PTMR ((GPTMR_Type *) HPM_PTMR_BASE)
623
624
#include "hpm_usb_regs.h"
625
/* Address of USB instances */
626
/* USB0 base address */
627
#define HPM_USB0_BASE (0xF2020000UL)
628
/* USB0 base pointer */
629
#define HPM_USB0 ((USB_Type *) HPM_USB0_BASE)
630
/* USB1 base address */
631
#define HPM_USB1_BASE (0xF2024000UL)
632
/* USB1 base pointer */
633
#define HPM_USB1 ((USB_Type *) HPM_USB1_BASE)
634
635
#include "hpm_sdxc_regs.h"
636
/* Address of SDXC instances */
637
/* SDXC0 base address */
638
#define HPM_SDXC0_BASE (0xF2030000UL)
639
/* SDXC0 base pointer */
640
#define HPM_SDXC0 ((SDXC_Type *) HPM_SDXC0_BASE)
641
/* SDXC1 base address */
642
#define HPM_SDXC1_BASE (0xF2034000UL)
643
/* SDXC1 base pointer */
644
#define HPM_SDXC1 ((SDXC_Type *) HPM_SDXC1_BASE)
645
646
#include "
hpm_conctl_regs.h
"
647
/* Address of CONCTL instances */
648
/* CONCTL base address */
649
#define HPM_CONCTL_BASE (0xF2040000UL)
650
/* CONCTL base pointer */
651
#define HPM_CONCTL ((CONCTL_Type *) HPM_CONCTL_BASE)
652
653
#include "hpm_i2c_regs.h"
654
/* Address of I2C instances */
655
/* I2C0 base address */
656
#define HPM_I2C0_BASE (0xF3020000UL)
657
/* I2C0 base pointer */
658
#define HPM_I2C0 ((I2C_Type *) HPM_I2C0_BASE)
659
/* I2C1 base address */
660
#define HPM_I2C1_BASE (0xF3024000UL)
661
/* I2C1 base pointer */
662
#define HPM_I2C1 ((I2C_Type *) HPM_I2C1_BASE)
663
/* I2C2 base address */
664
#define HPM_I2C2_BASE (0xF3028000UL)
665
/* I2C2 base pointer */
666
#define HPM_I2C2 ((I2C_Type *) HPM_I2C2_BASE)
667
/* I2C3 base address */
668
#define HPM_I2C3_BASE (0xF302C000UL)
669
/* I2C3 base pointer */
670
#define HPM_I2C3 ((I2C_Type *) HPM_I2C3_BASE)
671
672
#include "hpm_sdp_regs.h"
673
/* Address of SDP instances */
674
/* SDP base address */
675
#define HPM_SDP_BASE (0xF304C000UL)
676
/* SDP base pointer */
677
#define HPM_SDP ((SDP_Type *) HPM_SDP_BASE)
678
679
#include "hpm_femc_regs.h"
680
/* Address of FEMC instances */
681
/* FEMC base address */
682
#define HPM_FEMC_BASE (0xF3050000UL)
683
/* FEMC base pointer */
684
#define HPM_FEMC ((FEMC_Type *) HPM_FEMC_BASE)
685
686
#include "hpm_sysctl_regs.h"
687
/* Address of SYSCTL instances */
688
/* SYSCTL base address */
689
#define HPM_SYSCTL_BASE (0xF4000000UL)
690
/* SYSCTL base pointer */
691
#define HPM_SYSCTL ((SYSCTL_Type *) HPM_SYSCTL_BASE)
692
693
#include "hpm_ioc_regs.h"
694
/* Address of IOC instances */
695
/* IOC base address */
696
#define HPM_IOC_BASE (0xF4040000UL)
697
/* IOC base pointer */
698
#define HPM_IOC ((IOC_Type *) HPM_IOC_BASE)
699
/* PIOC base address */
700
#define HPM_PIOC_BASE (0xF40D8000UL)
701
/* PIOC base pointer */
702
#define HPM_PIOC ((IOC_Type *) HPM_PIOC_BASE)
703
/* BIOC base address */
704
#define HPM_BIOC_BASE (0xF5010000UL)
705
/* BIOC base pointer */
706
#define HPM_BIOC ((IOC_Type *) HPM_BIOC_BASE)
707
708
#include "hpm_otp_regs.h"
709
/* Address of OTP instances */
710
/* OTPSHW base address */
711
#define HPM_OTPSHW_BASE (0xF4080000UL)
712
/* OTPSHW base pointer */
713
#define HPM_OTPSHW ((OTP_Type *) HPM_OTPSHW_BASE)
714
/* OTP base address */
715
#define HPM_OTP_BASE (0xF40C8000UL)
716
/* OTP base pointer */
717
#define HPM_OTP ((OTP_Type *) HPM_OTP_BASE)
718
719
#include "hpm_ppor_regs.h"
720
/* Address of PPOR instances */
721
/* PPOR base address */
722
#define HPM_PPOR_BASE (0xF40C0000UL)
723
/* PPOR base pointer */
724
#define HPM_PPOR ((PPOR_Type *) HPM_PPOR_BASE)
725
726
#include "hpm_pcfg_regs.h"
727
/* Address of PCFG instances */
728
/* PCFG base address */
729
#define HPM_PCFG_BASE (0xF40C4000UL)
730
/* PCFG base pointer */
731
#define HPM_PCFG ((PCFG_Type *) HPM_PCFG_BASE)
732
733
#include "hpm_psec_regs.h"
734
/* Address of PSEC instances */
735
/* PSEC base address */
736
#define HPM_PSEC_BASE (0xF40CC000UL)
737
/* PSEC base pointer */
738
#define HPM_PSEC ((PSEC_Type *) HPM_PSEC_BASE)
739
740
#include "hpm_pmon_regs.h"
741
/* Address of PMON instances */
742
/* PMON base address */
743
#define HPM_PMON_BASE (0xF40D0000UL)
744
/* PMON base pointer */
745
#define HPM_PMON ((PMON_Type *) HPM_PMON_BASE)
746
747
#include "hpm_pgpr_regs.h"
748
/* Address of PGPR instances */
749
/* PGPR base address */
750
#define HPM_PGPR_BASE (0xF40D4000UL)
751
/* PGPR base pointer */
752
#define HPM_PGPR ((PGPR_Type *) HPM_PGPR_BASE)
753
754
#include "hpm_vad_regs.h"
755
/* Address of VAD instances */
756
/* VAD base address */
757
#define HPM_VAD_BASE (0xF40EC000UL)
758
/* VAD base pointer */
759
#define HPM_VAD ((VAD_Type *) HPM_VAD_BASE)
760
761
#include "
hpm_pllctl_regs.h
"
762
/* Address of PLLCTL instances */
763
/* PLLCTL base address */
764
#define HPM_PLLCTL_BASE (0xF4100000UL)
765
/* PLLCTL base pointer */
766
#define HPM_PLLCTL ((PLLCTL_Type *) HPM_PLLCTL_BASE)
767
768
#include "hpm_bpor_regs.h"
769
/* Address of BPOR instances */
770
/* BPOR base address */
771
#define HPM_BPOR_BASE (0xF5004000UL)
772
/* BPOR base pointer */
773
#define HPM_BPOR ((BPOR_Type *) HPM_BPOR_BASE)
774
775
#include "hpm_bcfg_regs.h"
776
/* Address of BCFG instances */
777
/* BCFG base address */
778
#define HPM_BCFG_BASE (0xF5008000UL)
779
/* BCFG base pointer */
780
#define HPM_BCFG ((BCFG_Type *) HPM_BCFG_BASE)
781
782
#include "hpm_butn_regs.h"
783
/* Address of BUTN instances */
784
/* BUTN base address */
785
#define HPM_BUTN_BASE (0xF500C000UL)
786
/* BUTN base pointer */
787
#define HPM_BUTN ((BUTN_Type *) HPM_BUTN_BASE)
788
789
#include "hpm_bgpr_regs.h"
790
/* Address of BGPR instances */
791
/* BGPR base address */
792
#define HPM_BGPR_BASE (0xF5018000UL)
793
/* BGPR base pointer */
794
#define HPM_BGPR ((BGPR_Type *) HPM_BGPR_BASE)
795
796
#include "hpm_rtc_regs.h"
797
/* Address of RTC instances */
798
/* RTCSHW base address */
799
#define HPM_RTCSHW_BASE (0xF501C000UL)
800
/* RTCSHW base pointer */
801
#define HPM_RTCSHW ((RTC_Type *) HPM_RTCSHW_BASE)
802
/* RTC base address */
803
#define HPM_RTC_BASE (0xF5044000UL)
804
/* RTC base pointer */
805
#define HPM_RTC ((RTC_Type *) HPM_RTC_BASE)
806
807
#include "hpm_bsec_regs.h"
808
/* Address of BSEC instances */
809
/* BSEC base address */
810
#define HPM_BSEC_BASE (0xF5040000UL)
811
/* BSEC base pointer */
812
#define HPM_BSEC ((BSEC_Type *) HPM_BSEC_BASE)
813
814
#include "hpm_bkey_regs.h"
815
/* Address of BKEY instances */
816
/* BKEY base address */
817
#define HPM_BKEY_BASE (0xF5048000UL)
818
/* BKEY base pointer */
819
#define HPM_BKEY ((BKEY_Type *) HPM_BKEY_BASE)
820
821
#include "hpm_bmon_regs.h"
822
/* Address of BMON instances */
823
/* BMON base address */
824
#define HPM_BMON_BASE (0xF504C000UL)
825
/* BMON base pointer */
826
#define HPM_BMON ((BMON_Type *) HPM_BMON_BASE)
827
828
#include "hpm_tamp_regs.h"
829
/* Address of TAMP instances */
830
/* TAMP base address */
831
#define HPM_TAMP_BASE (0xF5050000UL)
832
/* TAMP base pointer */
833
#define HPM_TAMP ((TAMP_Type *) HPM_TAMP_BASE)
834
835
#include "hpm_mono_regs.h"
836
/* Address of MONO instances */
837
/* MONO base address */
838
#define HPM_MONO_BASE (0xF5054000UL)
839
/* MONO base pointer */
840
#define HPM_MONO ((MONO_Type *) HPM_MONO_BASE)
841
842
843
#include "
riscv/riscv_core.h
"
844
#include "
hpm_csr_regs.h
"
845
#include "
hpm_interrupt.h
"
846
#include "
hpm_misc.h
"
847
#include "
hpm_otp_table.h
"
848
#include "
hpm_dmamux_src.h
"
849
#include "
hpm_trgmmux_src.h
"
850
#include "
hpm_iomux.h
"
851
#include "
hpm_pmic_iomux.h
"
852
#include "
hpm_batt_iomux.h
"
853
#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_adc12_regs.h
hpm_common.h
hpm_conctl_regs.h
hpm_pllctl_regs.h
riscv_core.h
soc
HPM6700
HPM6750
hpm_soc.h
Generated on Tue Oct 8 2024 00:59:02 for HPM SDK by
1.9.1