blob: 203fb957d72f54aea937e9338f59d333201d04ba (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
|
/*
* SPDX-FileCopyrightText: Copyright 2024 Arm Limited and/or its affiliates
* <open-source-office@arm.com> SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef PERIPHERAL_MEMMAP_H
#define PERIPHERAL_MEMMAP_H
#include "mem_regions.h"
#define DESIGN_NAME "Arm Corstone-315"
/** Non-Secure subsystem peripheral region */
#define DMA_350_BASE_NS 0x40002000 /* DMA350 register block Non-Secure base address */
#define NPU0_APB_BASE_NS 0x40004000 /* NPU0 APB Non-Secure base address */
#define CPU0_PWRCTRL_BASE_NS 0x40012000 /* CPU 0 Power Control Block Non-Secure base address */
#define CPU0_IDENTITY_BASE_NS 0x4001F000 /* CPU 0 Identity Block Non-Secure base address */
#define CORSTONE315_NSACFG_BASE_NS 0x40080000 /* Corstone-315 Non-Secure Access Configuration Register Block Non-Secure base address */
/** Non-Secure MSTEXPPILL peripheral region */
#define GPIO0_CMSDK_BASE_NS 0x40100000 /* GPIO 0 Non-Secure base address */
#define GPIO1_CMSDK_BASE_NS 0x40101000 /* GPIO 1 Non-Secure base address */
#define GPIO2_CMSDK_BASE_NS 0x40102000 /* GPIO 2 Non-Secure base address */
#define GPIO3_CMSDK_BASE_NS 0x40103000 /* GPIO 3 Non-Secure base address */
#define AHB_USER_0_BASE_NS 0x40104000 /* AHB USER 0 Non-Secure base address */
#define AHB_USER_1_BASE_NS 0x40105000 /* AHB USER 1 Non-Secure base address */
#define AHB_USER_2_BASE_NS 0x40106000 /* AHB USER 2 Non-Secure base address */
#define AHB_USER_3_BASE_NS 0x40107000 /* AHB USER 3 Non-Secure base address */
#define HDLCD_BASE_NS 0x40310000 /* HDLCD Non-Secure base address */
#define ETHERNET_BASE_NS 0x40400000 /* Ethernet Non-Secure base address */
#define USB_BASE_NS 0x40500000 /* USB Non-Secure base address */
#define USER_APB0_BASE_NS 0x40700000 /* User APB 0 Non-Secure base address */
#define USER_APB1_BASE_NS 0x40701000 /* User APB 1 Non-Secure base address */
#define USER_APB2_BASE_NS 0x40702000 /* User APB 2 Non-Secure base address */
#define USER_APB3_BASE_NS 0x40703000 /* User APB 3 Non-Secure base address */
#define QSPI_CONFIG_BASE_NS 0x40800000 /* QSPI Config Non-Secure base address */
#define QSPI_WRITE_BASE_NS 0x40801000 /* QSPI Write Non-Secure base address */
/** Non-Secure subsystem peripheral region */
#define SYSTIMER0_ARMV8_M_BASE_NS 0x48000000 /* System Timer 0 Non-Secure base address */
#define SYSTIMER1_ARMV8_M_BASE_NS 0x48001000 /* System Timer 1 Non-Secure base address */
#define SYSTIMER2_ARMV8_M_BASE_NS 0x48002000 /* System Timer 2 Non-Secure base address */
#define SYSTIMER3_ARMV8_M_BASE_NS 0x48003000 /* System Timer 3 Non-Secure base address */
#define CORSTONE315_SYSINFO_BASE_NS 0x48020000 /* Corstone-315 System info Block Non-Secure base address */
#define SLOWCLK_TIMER_CMSDK_BASE_NS 0x4802F000 /* CMSDK based SLOWCLK Timer Non-Secure base address */
#define SYSWDOG_ARMV8_M_CNTRL_BASE_NS 0x48040000 /* Non-Secure Watchdog Timer control frame Non-Secure base address */
#define SYSWDOG_ARMV8_M_REFRESH_BASE_NS 0x48041000 /* Non-Secure Watchdog Timer refresh frame Non-Secure base address */
#define SYSCNTR_READ_BASE_NS 0x48101000 /* System Counter Read Secure base address */
/** Non-Secure MSTEXPPIHL peripheral region */
#define FPGA_SBCon_I2C_TOUCH_BASE_NS 0x48100000 /* FPGA - SBCon I2C (Touch) Non-Secure base address */
#define FPGA_SBCon_I2C_AUDIO_BASE_NS 0x48101000 /* FPGA - SBCon I2C (Audio Conf) Non-Secure base address */
#define FPGA_SPI_ADC_BASE_NS 0x48102000 /* FPGA - PL022 (SPI ADC) Non-Secure base address */
#define FPGA_SPI_SHIELD0_BASE_NS 0x48103000 /* FPGA - PL022 (SPI Shield0) Non-Secure base address */
#define FPGA_SPI_SHIELD1_BASE_NS 0x48104000 /* FPGA - PL022 (SPI Shield1) Non-Secure base address */
#define SBCon_I2C_SHIELD0_BASE_NS 0x48105000 /* SBCon (I2C - Shield0) Non-Secure base address */
#define SBCon_I2C_SHIELD1_BASE_NS 0x48106000 /* SBCon (I2C – Shield1) Non-Secure base address */
#define USER_APB_BASE_NS 0x48107000 /* USER APB Non-Secure base address */
#define FPGA_DDR4_EEPROM_BASE_NS 0x48108000 /* FPGA - SBCon I2C (DDR4 EEPROM) Non-Secure base address */
#define FPGA_SCC_BASE_NS 0x48200000 /* FPGA - SCC registers Non-Secure base address */
#define FPGA_I2S_BASE_NS 0x48201000 /* FPGA - I2S (Audio) Non-Secure base address */
#define FPGA_IO_BASE_NS 0x48202000 /* FPGA - IO (System Ctrl + I/O) Non-Secure base address */
#define UART0_BASE_NS 0x48203000 /* UART 0 Non-Secure base address */
#define UART1_BASE_NS 0x48204000 /* UART 1 Non-Secure base address */
#define UART2_BASE_NS 0x48205000 /* UART 2 Non-Secure base address */
#define UART3_BASE_NS 0x48206000 /* UART 3 Non-Secure base address */
#define UART4_BASE_NS 0x48207000 /* UART 4 Non-Secure base address */
#define UART5_BASE_NS 0x48208000 /* UART 5 Non-Secure base address */
#define RTC_BASE_NS 0x4820B000 /* RTC Non-Secure base address */
#define ISP_BASE_NS 0x48300000 /* ISP SOC base address */
#define ISP_VIRTUAL_CAMERA_BASE_NS 0x48400000 /* ISP Virtual Camera base address */
#define VSOCKET_BASE_NS 0x4FEE0000 /*!< VSOCKET Non-Secure base address */
#define VIO_BASE_NS 0x4FEF0000 /*!< VIO Non-Secure base address */
#define VSI0_BASE_NS 0x4FF00000 /*!< VSI 0 Non-Secure base address */
#define VSI1_BASE_NS 0x4FF10000 /*!< VSI 1 Non-Secure base address */
#define VSI2_BASE_NS 0x4FF20000 /*!< VSI 2 Non-Secure base address */
#define VSI3_BASE_NS 0x4FF30000 /*!< VSI 3 Non-Secure base address */
#define VSI4_BASE_NS 0x4FF40000 /*!< VSI 4 Non-Secure base address */
#define VSI5_BASE_NS 0x4FF50000 /*!< VSI 5 Non-Secure base address */
#define VSI6_BASE_NS 0x4FF60000 /*!< VSI 6 Non-Secure base address */
#define VSI7_BASE_NS 0x4FF70000 /*!< VSI 7 Non-Secure base address */
/** Secure subsystem peripheral region */
#define DMA_350_BASE_S 0x50002000 /* DMA350 register block Secure base address */
#define NPU0_APB_BASE_S 0x50004000 /* NPU0 APB Secure base address */
#define CPU0_SECCTRL_BASE_S 0x50011000 /* CPU 0 Local Security Control Block Secure base address */
#define CPU0_PWRCTRL_BASE_S 0x50012000 /* CPU 0 Power Control Block Secure base address */
#define CPU0_IDENTITY_BASE_S 0x5001F000 /* CPU 0 Identity Block Secure base address */
#define CORSTONE315_SACFG_BASE_S 0x50080000 /* Corstone-315 Secure Access Configuration Register Secure base address */
#define MPC_ISRAM0_BASE_S 0x50083000 /* Internal SRAM0 Memory Protection Controller Secure base address */
#define MPC_ISRAM1_BASE_S 0x50084000 /* Internal SRAM1 Memory Protection Controller Secure base address */
#define CC3XX_BASE_S 0x50094000 /* CryptoCell CC3XX Secure base address */
#define KMU_BASE_S 0x5009E000 /* KMU Secure base address */
#define LCM_BASE_S 0x500A0000 /* LCM Secure base address */
/** Secure MSTEXPPILL peripheral region */
#define GPIO0_CMSDK_BASE_S 0x50100000 /* GPIO 0 Secure base address */
#define GPIO1_CMSDK_BASE_S 0x50101000 /* GPIO 1 Secure base address */
#define GPIO2_CMSDK_BASE_S 0x50102000 /* GPIO 2 Secure base address */
#define GPIO3_CMSDK_BASE_S 0x50103000 /* GPIO 3 Secure base address */
#define AHB_USER_0_BASE_S 0x50104000 /* AHB USER 0 Secure base address */
#define AHB_USER_1_BASE_S 0x50105000 /* AHB USER 1 Secure base address */
#define AHB_USER_2_BASE_S 0x50106000 /* AHB USER 2 Secure base address */
#define AHB_USER_3_BASE_S 0x50107000 /* AHB USER 3 Secure base address */
#define HDLCD_BASE_S 0x50310000 /* HDLCD Secure base address */
#define ETHERNET_BASE_S 0x50400000 /* Ethernet Secure base address */
#define USB_BASE_S 0x50500000 /* USB Secure base address */
#define USER_APB0_BASE_S 0x50700000 /* User APB 0 Secure base address */
#define USER_APB1_BASE_S 0x50701000 /* User APB 1 Secure base address */
#define USER_APB2_BASE_S 0x50702000 /* User APB 2 Secure base address */
#define USER_APB3_BASE_S 0x50703000 /* User APB 3 Secure base address */
#define QSPI_CONFIG_BASE_S 0x50800000 /* QSPI Config Secure base address */
#define QSPI_WRITE_BASE_S 0x50801000 /* QSPI Write Secure base address */
#define MPC_SRAM_BASE_S 0x57000000 /* SRAM Memory Protection Controller Secure base address */
#define MPC_QSPI_BASE_S 0x57001000 /* QSPI Memory Protection Controller Secure base address */
#define MPC_DDR4_BASE_S 0x57002000 /* DDR4 Memory Protection Controller Secure base address */
/** Secure subsystem peripheral region */
#define SYSTIMER0_ARMV8_M_BASE_S 0x58000000 /* System Timer 0 Secure base address */
#define SYSTIMER1_ARMV8_M_BASE_S 0x58001000 /* System Timer 1 Secure base address */
#define SYSTIMER2_ARMV8_M_BASE_S 0x58002000 /* System Timer 0 Secure base address */
#define SYSTIMER3_ARMV8_M_BASE_S 0x58003000 /* System Timer 1 Secure base address */
#define CORSTONE315_SYSINFO_BASE_S 0x58020000 /* Corstone-315 System info Block Secure base address */
#define CORSTONE315_SYSCTRL_BASE_S 0x58021000 /* Corstone-315 System control Block Secure base address */
#define CORSTONE315_SYSPPU_BASE_S 0x58022000 /* Corstone-315 System Power Policy Unit Secure base address */
#define CORSTONE315_CPU0PPU_BASE_S 0x58023000 /* Corstone-315 CPU 0 Power Policy Unit Secure base address */
#define CORSTONE315_MGMTPPU_BASE_S 0x58028000 /* Corstone-315 Management Power Policy Unit Secure base address */
#define CORSTONE315_DBGPPU_BASE_S 0x58029000 /* Corstone-315 Debug Power Policy Unit Secure base address */
#define CORSTONE315_NPU0PPU_BASE_S 0x5802A000 /* Corstone-315 NPU 0 Power Policy Unit Secure base address */
#define SLOWCLK_WDOG_CMSDK_BASE_S 0x5802E000 /* CMSDK based SLOWCLK Watchdog Secure base address */
#define SLOWCLK_TIMER_CMSDK_BASE_S 0x5802F000 /* CMSDK based SLOWCLK Timer Secure base address */
#define SYSWDOG_ARMV8_M_CNTRL_BASE_S 0x58040000 /* Secure Watchdog Timer control frame Secure base address */
#define SYSWDOG_ARMV8_M_REFRESH_BASE_S 0x58041000 /* Secure Watchdog Timer refresh frame Secure base address */
#define SAM_BASE_S 0x58042000 /* SAM Secure base address */
#define SYSCNTR_CNTRL_BASE_S 0x58100000 /* System Counter Control Secure base address */
#define SYSCNTR_READ_BASE_S 0x58101000 /* System Counter Read Secure base address */
/** Secure MSTEXPPIHL peripheral region */
#define FPGA_SBCon_I2C_TOUCH_BASE_S 0x58100000 /* FPGA - SBCon I2C (Touch) Secure base address */
#define FPGA_SBCon_I2C_AUDIO_BASE_S 0x58101000 /* FPGA - SBCon I2C (Audio Conf) Secure base address */
#define FPGA_SPI_ADC_BASE_S 0x58102000 /* FPGA - PL022 (SPI ADC) Secure base address */
#define FPGA_SPI_SHIELD0_BASE_S 0x58103000 /* FPGA - PL022 (SPI Shield0) Secure base address */
#define FPGA_SPI_SHIELD1_BASE_S 0x58104000 /* FPGA - PL022 (SPI Shield1) Secure base address */
#define SBCon_I2C_SHIELD0_BASE_S 0x58105000 /* SBCon (I2C - Shield0) Secure base address */
#define SBCon_I2C_SHIELD1_BASE_S 0x58106000 /* SBCon (I2C – Shield1) Secure base address */
#define USER_APB_BASE_S 0x58107000 /* USER APB Secure base address */
#define FPGA_DDR4_EEPROM_BASE_S 0x58108000 /* FPGA - SBCon I2C (DDR4 EEPROM) Secure base address */
#define FPGA_SCC_BASE_S 0x58200000 /* FPGA - SCC registers Secure base address */
#define FPGA_I2S_BASE_S 0x58201000 /* FPGA - I2S (Audio) Secure base address */
#define FPGA_IO_BASE_S 0x58202000 /* FPGA - IO (System Ctrl + I/O) Secure base address */
#define UART0_BASE_S 0x58203000 /* UART 0 Secure base address */
#define UART1_BASE_S 0x58204000 /* UART 1 Secure base address */
#define UART2_BASE_S 0x58205000 /* UART 2 Secure base address */
#define UART3_BASE_S 0x58206000 /* UART 3 Secure base address */
#define UART4_BASE_S 0x58207000 /* UART 4 Secure base address */
#define UART5_BASE_S 0x58208000 /* UART 5 Secure base address */
#define RTC_BASE_S 0x5820B000 /* RTC Secure base address */
#define VSOCKET_BASE_S 0x5FEE0000 /*!< VSOCKET Secure base address */
#define VIO_BASE_S 0x5FEF0000 /*!< VIO Secure base address */
#define VSI0_BASE_S 0x5FF00000 /*!< VSI 0 Secure base address */
#define VSI1_BASE_S 0x5FF10000 /*!< VSI 1 Secure base address */
#define VSI2_BASE_S 0x5FF20000 /*!< VSI 2 Secure base address */
#define VSI3_BASE_S 0x5FF30000 /*!< VSI 3 Secure base address */
#define VSI4_BASE_S 0x5FF40000 /*!< VSI 4 Secure base address */
#define VSI5_BASE_S 0x5FF50000 /*!< VSI 5 Secure base address */
#define VSI6_BASE_S 0x5FF60000 /*!< VSI 6 Secure base address */
#define VSI7_BASE_S 0x5FF70000 /*!< VSI 7 Secure base address */
/* TCM Security Gate register addresses */
#define ITGU_CTRL_BASE 0xE001E500 /* TGU control register for ITCM */
#define ITGU_CFG_BASE 0xE001E504 /* TGU configuration register for ITCM */
#define ITGU_LUTn_BASE 0xE001E510 /* TGU Look Up Table register for ITCM */
#define DTGU_CTRL_BASE 0xE001E600 /* TGU control register for DTCM */
#define DTGU_CFG_BASE 0xE001E604 /* TGU configuration register for DTCM */
#define DTGU_LUTn_BASE 0xE001E610 /* TGU Look Up Table register for DTCM */
/* Memory map addresses exempt from memory attribution by both the SAU and IDAU */
#define CORSTONE315_EWIC_BASE 0xE0047000 /* External Wakeup Interrupt Controller
* Access from Non-secure software is only allowed
* if AIRCR.BFHFNMINS is set to 1 */
#endif /* PERIPHERAL_MEMMAP_H */
|