xref: /optee_os/core/arch/arm/plat-sam/sama7g5.h (revision 4a0e0f39febaad763199e0ab46e3cb4ef5aa3a72)
1*4a0e0f39STony Han /* SPDX-License-Identifier: BSD-2-Clause */
2*4a0e0f39STony Han /*
3*4a0e0f39STony Han  * Header file for ATSAMA7G54
4*4a0e0f39STony Han  *
5*4a0e0f39STony Han  * Copyright (c) 2023 Microchip Technology Inc. and its subsidiaries.
6*4a0e0f39STony Han  */
7*4a0e0f39STony Han 
8*4a0e0f39STony Han #ifndef _SAMA7G54_H_
9*4a0e0f39STony Han #define _SAMA7G54_H_
10*4a0e0f39STony Han 
11*4a0e0f39STony Han /*
12*4a0e0f39STony Han  * SAMA7G54 definitions
13*4a0e0f39STony Han  * This file defines all structures and symbols for SAMA7G54:
14*4a0e0f39STony Han  *   - registers and bitfields
15*4a0e0f39STony Han  *   - peripheral base address
16*4a0e0f39STony Han  *   - peripheral ID
17*4a0e0f39STony Han  *   - PIO definitions
18*4a0e0f39STony Han  */
19*4a0e0f39STony Han 
20*4a0e0f39STony Han #define GIC_DISTRIBUTOR_BASE 0xE8C11000 /* Base for GIC distributor interface */
21*4a0e0f39STony Han #define GIC_INTERFACE_BASE   0xE8C12000 /* Base address for GIC CPU interface */
22*4a0e0f39STony Han #define GICC_SIZE            0x1000
23*4a0e0f39STony Han #define GICD_SIZE            0x1000
24*4a0e0f39STony Han 
25*4a0e0f39STony Han /* ************************************************************************** */
26*4a0e0f39STony Han /*  PERIPHERAL ID DEFINITIONS FOR SAMA7G54                                    */
27*4a0e0f39STony Han /* ************************************************************************** */
28*4a0e0f39STony Han #define ID_DWDT_SW         0 /* Dual Watchdog Timer, Secure World (DWDT_SW) */
29*4a0e0f39STony Han #define ID_DWDT_NSW        1 /* DWDT Non Secure World, interrupt (DWDT_NSW) */
30*4a0e0f39STony Han #define ID_DWDT_NSW_ALARM  2 /* DWDT Non Secure World Alarm, interrupt */
31*4a0e0f39STony Han #define ID_SCKC            4 /* Slow Clock Controller (SCKC) */
32*4a0e0f39STony Han #define ID_SHDWC           5 /* SHutDoWn Controller (SHDWC) */
33*4a0e0f39STony Han #define ID_RSTC            6 /* Reset Controller (RSTC) */
34*4a0e0f39STony Han #define ID_RTC             7 /* Real-Time Clock (RTC) */
35*4a0e0f39STony Han #define ID_RTT             8 /* Real-Time Timer (RTT) */
36*4a0e0f39STony Han #define ID_CHIPID          9 /* Chip Identifier (CHIPID) */
37*4a0e0f39STony Han #define ID_PMC            10 /* Power Management Controller (PMC) */
38*4a0e0f39STony Han #define ID_PIOA           11 /* For PIO 0 to 31 (PIOA) */
39*4a0e0f39STony Han #define ID_PIOB           12 /* For PIO 32 to 63, interrupt (PIOB) */
40*4a0e0f39STony Han #define ID_PIOC           13 /* For PIO 64 to 95, interrupt (PIOC) */
41*4a0e0f39STony Han #define ID_PIOD           14 /* For PIO 96 to 127, interrupt (PIOD) */
42*4a0e0f39STony Han #define ID_PIOE           15 /* For PIO 128 to 136, interrupt (PIOE) */
43*4a0e0f39STony Han #define ID_SECUMOD        17 /* Security Module (SECUMOD) */
44*4a0e0f39STony Han #define ID_SECURAM        18 /* Secret RAM (SECURAM) */
45*4a0e0f39STony Han #define ID_SFR            19 /* Special Function Register (SFR) */
46*4a0e0f39STony Han #define ID_SFRBU          20 /* Special Function Register in BackUp zone */
47*4a0e0f39STony Han #define ID_HSMC           21 /* Static Memory Controller - NAND (HSMC) */
48*4a0e0f39STony Han #define ID_XDMAC0         22 /* DMA 0, mem to periph, 32 Channels (XDMAC0) */
49*4a0e0f39STony Han #define ID_XDMAC1         23 /* DMA 1, mem to periph, 32 Channels (XDMAC1) */
50*4a0e0f39STony Han #define ID_XDMAC2         24 /* DMA 2, mem to mem, 4 Channels (XDMAC2) */
51*4a0e0f39STony Han #define ID_ACC            25 /* Analog Comparator Controller (ACC) */
52*4a0e0f39STony Han #define ID_ADC            26 /* Analog-to-Digital Converter (ADC) */
53*4a0e0f39STony Han #define ID_AES            27 /* Advanced Encryption Standard (AES) */
54*4a0e0f39STony Han #define ID_TZAESBASC      28 /* TZ AES Bridge - Address Space Controlller */
55*4a0e0f39STony Han #define ID_ASRC           30 /* Asynchronous Sample Rate Converter (ASRC) */
56*4a0e0f39STony Han #define ID_CPKCC          32 /* Classic Public Key Cryptography Controller */
57*4a0e0f39STony Han #define ID_CSI            33 /* CSI 2 between ISC and MIPI PHY (CSI) */
58*4a0e0f39STony Han #define ID_CSI2DC         34 /* CSI to Demultiplexer Controller (CSI2DC) */
59*4a0e0f39STony Han #define ID_DDRPUBL        35 /* DDR SDRAM PHY Utility Block "Lite" aka PUBL */
60*4a0e0f39STony Han #define ID_DDRUMCTL       36 /* Universal DDR-SDRAM Memory Controller */
61*4a0e0f39STony Han #define ID_EIC            37 /* External  Interrupt Controller (EIC) */
62*4a0e0f39STony Han #define ID_FLEXCOM0       38 /* Flexcom 0 (FLEXCOM0) */
63*4a0e0f39STony Han #define ID_FLEXCOM1       39 /* Flexcom 1 (FLEXCOM1) */
64*4a0e0f39STony Han #define ID_FLEXCOM2       40 /* Flexcom 2 (FLEXCOM2) */
65*4a0e0f39STony Han #define ID_FLEXCOM3       41 /* Flexcom 3 (FLEXCOM3) */
66*4a0e0f39STony Han #define ID_FLEXCOM4       42 /* Flexcom 4 (FLEXCOM4) */
67*4a0e0f39STony Han #define ID_FLEXCOM5       43 /* Flexcom 5 (FLEXCOM5) */
68*4a0e0f39STony Han #define ID_FLEXCOM6       44 /* Flexcom 6 (FLEXCOM6) */
69*4a0e0f39STony Han #define ID_FLEXCOM7       45 /* Flexcom 7 (FLEXCOM7) */
70*4a0e0f39STony Han #define ID_FLEXCOM8       46 /* Flexcom 8 (FLEXCOM8) */
71*4a0e0f39STony Han #define ID_FLEXCOM9       47 /* Flexcom 9 (FLEXCOM9) */
72*4a0e0f39STony Han #define ID_FLEXCOM10      48 /* Flexcom 10 (FLEXCOM10) */
73*4a0e0f39STony Han #define ID_FLEXCOM11      49 /* Flexcom 11 (FLEXCOM11) */
74*4a0e0f39STony Han #define ID_GMAC0          51 /* Gigabit Ethernet MAC (GMAC0) */
75*4a0e0f39STony Han #define ID_GMAC1          52 /* Ethernet MAC (GMAC1) */
76*4a0e0f39STony Han #define ID_GMAC0_TSU      53 /* GMAC - TSU Generic Clock - No Interrupt */
77*4a0e0f39STony Han #define ID_GMAC1_TSU      54 /* EMAC - TSU Generic Clock - No Interrupt */
78*4a0e0f39STony Han #define ID_ICM            55 /* Integrity Check Monitor (ICM) */
79*4a0e0f39STony Han #define ID_ISC            56 /* Camera Interface (ISC) */
80*4a0e0f39STony Han #define ID_I2SMCC0        57 /* Inter-IC Sound Controller 0 (I2SMCC0) */
81*4a0e0f39STony Han #define ID_I2SMCC1        58 /* Inter-IC Sound Controller 1 (I2SMCC1) */
82*4a0e0f39STony Han #define ID_MATRIX         60 /* HSS AHB Matrix (MATRIX) */
83*4a0e0f39STony Han #define ID_MCAN0          61 /* Master CAN 0 (MCAN0) */
84*4a0e0f39STony Han #define ID_MCAN1          62 /* Master CAN 1 (MCAN1) */
85*4a0e0f39STony Han #define ID_MCAN2          63 /* Master CAN 2 (MCAN2) */
86*4a0e0f39STony Han #define ID_MCAN3          64 /* Master CAN 3 (MCAN3) */
87*4a0e0f39STony Han #define ID_MCAN4          65 /* Master CAN 4 (MCAN4) */
88*4a0e0f39STony Han #define ID_MCAN5          66 /* Master CAN 5 (MCAN5) */
89*4a0e0f39STony Han #define ID_OTPC           67 /* One Time Programmable memory Controller */
90*4a0e0f39STony Han #define ID_PDMC0          68 /* Pulse Density Modulation Controller 0 */
91*4a0e0f39STony Han #define ID_PDMC1          69 /* Pulse Density Modulation Controller 1 */
92*4a0e0f39STony Han #define ID_PIT64B0        70 /* 64-bit Periodic Interval Timer 0 (PIT64B0) */
93*4a0e0f39STony Han #define ID_PIT64B1        71 /* 64-bit Periodic Interval Timer 1 (PIT64B1) */
94*4a0e0f39STony Han #define ID_PIT64B2        72 /* 64-bit Periodic Interval Timer 2 (PIT64B2) */
95*4a0e0f39STony Han #define ID_PIT64B3        73 /* 64-bit Periodic Interval Timer 3 (PIT64B3) */
96*4a0e0f39STony Han #define ID_PIT64B4        74 /* 64-bit Periodic Interval Timer 4 (PIT64B4) */
97*4a0e0f39STony Han #define ID_PIT64B5        75 /* 64-bit Periodic Interval Timer 5 (PIT64B5) */
98*4a0e0f39STony Han #define ID_PWM            77 /* Pulse Width Modulation (PWM) */
99*4a0e0f39STony Han #define ID_QSPI0          78 /* Quad IO Serial Peripheral Interface 0 */
100*4a0e0f39STony Han #define ID_QSPI1          79 /* Quad IO Serial Peripheral Interface 1 */
101*4a0e0f39STony Han #define ID_SDMMC0         80 /* Ultra HS SD Host controller 0 (eMMC 5.1) */
102*4a0e0f39STony Han #define ID_SDMMC1         81 /* Ultra HS SD Host controller 1 (eMMC 4.51) */
103*4a0e0f39STony Han #define ID_SDMMC2         82 /* Ultra HS SD Host controller 2 (eMMC 4.51) */
104*4a0e0f39STony Han #define ID_SHA            83 /* Secure Hash Algorithm (SHA) */
105*4a0e0f39STony Han #define ID_SPDIFRX        84 /* Sony Philips Digital Interface RX (SPDIFRX) */
106*4a0e0f39STony Han #define ID_SPDIFTX        85 /* Sony Philips Digital Interface TX (SPDIFTX) */
107*4a0e0f39STony Han #define ID_SSC0           86 /* Synchronous Serial Interface 0 (SSC0) */
108*4a0e0f39STony Han #define ID_SSC1           87 /* Synchronous Serial Interface 1 (SSC1) */
109*4a0e0f39STony Han #define ID_TC0_CHANNEL0   88 /* 32-bit Timer Counter 0 Channel 0 */
110*4a0e0f39STony Han #define ID_TC0_CHANNEL1   89 /* 32-bit Timer Counter 0 Channel 1 interrupt */
111*4a0e0f39STony Han #define ID_TC0_CHANNEL2   90 /* 32-bit Timer Counter 0 Channel 2 interrupt */
112*4a0e0f39STony Han #define ID_TC1_CHANNEL0   91 /* 32-bit Timer Counter 1 Channel 0 */
113*4a0e0f39STony Han #define ID_TC1_CHANNEL1   92 /* 32-bit Timer Counter 1 Channel 1 interrupt */
114*4a0e0f39STony Han #define ID_TC1_CHANNEL2   93 /* 32-bit Timer Counter 1 Channel 2 interrupt */
115*4a0e0f39STony Han #define ID_TCPCA          94 /* USB Type-C Port Controller A (TCPCA) */
116*4a0e0f39STony Han #define ID_TCPCB          95 /* USB Type-C Port Controller B (TCPCB) */
117*4a0e0f39STony Han #define ID_TDES           96 /* Triple Data Encryption System (TDES) */
118*4a0e0f39STony Han #define ID_TRNG           97 /* True Random Number Generator (TRNG) */
119*4a0e0f39STony Han #define ID_TZAESB_NS      98 /* TZAESB Non-Secure (Clocks & Interrupt) */
120*4a0e0f39STony Han #define ID_TZAESB_NS_SINT 99 /* TZAESB Non-Secure (Interrupt only) */
121*4a0e0f39STony Han #define ID_TZAESB_S      100 /* TZAESB Secure */
122*4a0e0f39STony Han #define ID_TZAESB_S_SINT 101 /* TZAESB Secure (Interrupt only) */
123*4a0e0f39STony Han #define ID_TZC           102 /* TrustZone Address Space Controller (TZC400) */
124*4a0e0f39STony Han #define ID_TZPM          103 /* TrustZone Peripheral Manager (TZPM) */
125*4a0e0f39STony Han #define ID_UDPHSA        104 /* USB Device High Speed A (UDPHSA) */
126*4a0e0f39STony Han #define ID_UDPHSB        105 /* USB Device High Speed B (UDPHSB) */
127*4a0e0f39STony Han #define ID_UHPHS         106 /* USB Host Controller High Speed (UHPHS) */
128*4a0e0f39STony Han #define ID_XDMAC0_SINT   112 /* DMA 0, mem to periph, 32 CH, Secure INT */
129*4a0e0f39STony Han #define ID_XDMAC1_SINT   113 /* DMA 1, mem to periph, 32 CH, Secure INT */
130*4a0e0f39STony Han #define ID_XDMAC2_SINT   114 /* DMA 2, mem to mem, 4 Channels, Secure INT */
131*4a0e0f39STony Han #define ID_AES_SINT      115 /* Advanced Encryption Standard, Secure INT */
132*4a0e0f39STony Han #define ID_GMAC0_Q1      116 /* GMAC0 Queue 1 */
133*4a0e0f39STony Han #define ID_GMAC0_Q2      117 /* GMAC0 Queue 2 */
134*4a0e0f39STony Han #define ID_GMAC0_Q3      118 /* GMAC0 Queue 3 */
135*4a0e0f39STony Han #define ID_GMAC0_Q4      119 /* GMAC0 Queue 4 */
136*4a0e0f39STony Han #define ID_GMAC0_Q5      120 /* GMAC0 Queue 5 */
137*4a0e0f39STony Han #define ID_GMAC1_Q1      121 /* GMAC1 Queue 1 */
138*4a0e0f39STony Han #define ID_ICM_SINT      122 /* Integrity Check Monitor, Secure INTerrupt */
139*4a0e0f39STony Han #define ID_MCAN0_INT1    123 /* MCAN0 interrupt1 (MCAN0_INT1) */
140*4a0e0f39STony Han #define ID_MCAN1_INT1    124 /* MCAN1 interrupt1 (MCAN1_INT1) */
141*4a0e0f39STony Han #define ID_MCAN2_INT1    125 /* MCAN2 interrupt1 (MCAN2_INT1) */
142*4a0e0f39STony Han #define ID_MCAN3_INT1    126 /* MCAN3 interrupt1 (MCAN3_INT1) */
143*4a0e0f39STony Han #define ID_MCAN4_INT1    127 /* MCAN4 interrupt1 (MCAN4_INT1) */
144*4a0e0f39STony Han #define ID_MCAN5_INT1    128 /* MCAN5 interrupt1 (MCAN5_INT1) */
145*4a0e0f39STony Han #define ID_PIOA_SINT     129 /* For PIO 0 to 31, Secure INTerrupt */
146*4a0e0f39STony Han #define ID_PIOB_SINT     130 /* For PIO 32 to 63, Secure INTerrupt */
147*4a0e0f39STony Han #define ID_PIOC_SINT     131 /* For PIO 64 to 95, Secure INTerrupt */
148*4a0e0f39STony Han #define ID_PIOD_SINT     132 /* For PIO 96 to 127, Secure INTerrupt */
149*4a0e0f39STony Han #define ID_PIOE_SINT     133 /* For PIO 128 to 136, Secure INTerrupt */
150*4a0e0f39STony Han #define ID_PIT64B0_SINT  135 /* 64-bit PIT 0, Secure INTerrupt */
151*4a0e0f39STony Han #define ID_PIT64B1_SINT  136 /* 64-bit PIT 1, Secure INTerrupt */
152*4a0e0f39STony Han #define ID_PIT64B2_SINT  137 /* 64-bit PIT 2, Secure INTerrupt */
153*4a0e0f39STony Han #define ID_PIT64B3_SINT  138 /* 64-bit PIT 3, Secure INTerrupt */
154*4a0e0f39STony Han #define ID_PIT64B4_SINT  139 /* 64-bit PIT 4, Secure INTerrupt */
155*4a0e0f39STony Han #define ID_PIT64B5_SINT  140 /* 64-bit PIT 5, Secure INTerrupt */
156*4a0e0f39STony Han #define ID_SDMMC0_TIMER  141 /* SD Host controller 0 (eMMC 5.1) Timer int */
157*4a0e0f39STony Han #define ID_SDMMC1_TIMER  142 /* SD Host controller 1 (eMMC 4.51) Timer int */
158*4a0e0f39STony Han #define ID_SDMMC2_TIMER  143 /* SD Host controller 2 (eMMC 4.51) Timer int */
159*4a0e0f39STony Han #define ID_SHA_SINT      144 /* Secure Hash Algorithm, Secure INTerrupt */
160*4a0e0f39STony Han #define ID_TC0_SINT0     145 /* 32-bit TC 0 Channel 0, Secure INTerrupt */
161*4a0e0f39STony Han #define ID_TC0_SINT1     146 /* 32-bit TC 0 Channel 1, Secure INTerrupt */
162*4a0e0f39STony Han #define ID_TC0_SINT2     147 /* 32-bit TC 0 Channel 2 (TC0_SINT2) */
163*4a0e0f39STony Han #define ID_TC1_SINT0     148 /* 32-bit TC 1 Channel 0, Secure INTerrupt */
164*4a0e0f39STony Han #define ID_TC1_SINT1     149 /* 32-bit TC 1 Channel 1, Secure INTerrupt */
165*4a0e0f39STony Han #define ID_TC1_SINT2     150 /* 32-bit TC 1 Channel 2, Secure INTerrupt */
166*4a0e0f39STony Han #define ID_TDES_SINT     151 /* Triple Data Encryption System, Secure INT */
167*4a0e0f39STony Han #define ID_TRNG_SINT     152 /* True Random Number Generator, Secure INT */
168*4a0e0f39STony Han #define ID_EXT_IRQ0      153 /* External  Interrupt ID0 (FIQ) (EXT_IRQ0) */
169*4a0e0f39STony Han #define ID_EXT_IRQ1      154 /* External  Interrupt ID1 (IRQ) (EXT_IRQ1) */
170*4a0e0f39STony Han 
171*4a0e0f39STony Han #define ID_PERIPH_MAX    154 /* Number of peripheral IDs */
172*4a0e0f39STony Han 
173*4a0e0f39STony Han /* ************************************************************************** */
174*4a0e0f39STony Han /*   BASE ADDRESS DEFINITIONS FOR SAMA7G54                                    */
175*4a0e0f39STony Han /* ************************************************************************** */
176*4a0e0f39STony Han #define ACC_BASE_ADDRESS                 0xe1600000
177*4a0e0f39STony Han #define ADC_BASE_ADDRESS                 0xe1000000
178*4a0e0f39STony Han #define AES_BASE_ADDRESS                 0xe1810000
179*4a0e0f39STony Han #define ASRC_BASE_ADDRESS                0xe1610000
180*4a0e0f39STony Han #define BSC_BASE_ADDRESS                 0xe001d054
181*4a0e0f39STony Han #define CHIPID_BASE_ADDRESS              0xe0020000
182*4a0e0f39STony Han #define CSI_BASE_ADDRESS                 0xe1400000
183*4a0e0f39STony Han #define CPKCC_BASE_ADDRESS               0xe000c000
184*4a0e0f39STony Han #define CSI2DC_BASE_ADDRESS              0xe1404000
185*4a0e0f39STony Han #define DDRPUBL_BASE_ADDRESS             0xe3804000
186*4a0e0f39STony Han #define DWDT_BASE_ADDRESS                0xe001c000
187*4a0e0f39STony Han #define EIC_BASE_ADDRESS                 0xe1628000
188*4a0e0f39STony Han #define FLEXCOM0_BASE_ADDRESS            0xe1818000
189*4a0e0f39STony Han #define FLEXCOM1_BASE_ADDRESS            0xe181c000
190*4a0e0f39STony Han #define FLEXCOM2_BASE_ADDRESS            0xe1820000
191*4a0e0f39STony Han #define FLEXCOM3_BASE_ADDRESS            0xe1824000
192*4a0e0f39STony Han #define FLEXCOM4_BASE_ADDRESS            0xe2018000
193*4a0e0f39STony Han #define FLEXCOM5_BASE_ADDRESS            0xe201c000
194*4a0e0f39STony Han #define FLEXCOM6_BASE_ADDRESS            0xe2020000
195*4a0e0f39STony Han #define FLEXCOM7_BASE_ADDRESS            0xe2024000
196*4a0e0f39STony Han #define FLEXCOM8_BASE_ADDRESS            0xe2818000
197*4a0e0f39STony Han #define FLEXCOM9_BASE_ADDRESS            0xe281c000
198*4a0e0f39STony Han #define FLEXCOM10_BASE_ADDRESS           0xe2820000
199*4a0e0f39STony Han #define FLEXCOM11_BASE_ADDRESS           0xe2824000
200*4a0e0f39STony Han #define GMAC0_BASE_ADDRESS               0xe2800000
201*4a0e0f39STony Han #define GMAC1_BASE_ADDRESS               0xe2804000
202*4a0e0f39STony Han #define GPBR_BASE_ADDRESS                0xe001d060
203*4a0e0f39STony Han #define I2SMCC0_BASE_ADDRESS             0xe161c000
204*4a0e0f39STony Han #define I2SMCC1_BASE_ADDRESS             0xe1620000
205*4a0e0f39STony Han #define ICM_BASE_ADDRESS                 0xe081c000
206*4a0e0f39STony Han #define ISC_BASE_ADDRESS                 0xe1408000
207*4a0e0f39STony Han #define MATRIX_BASE_ADDRESS              0xe0804000
208*4a0e0f39STony Han #define MCAN0_BASE_ADDRESS               0xe0828000
209*4a0e0f39STony Han #define MCAN1_BASE_ADDRESS               0xe082c000
210*4a0e0f39STony Han #define MCAN2_BASE_ADDRESS               0xe0830000
211*4a0e0f39STony Han #define MCAN3_BASE_ADDRESS               0xe0834000
212*4a0e0f39STony Han #define MCAN4_BASE_ADDRESS               0xe0838000
213*4a0e0f39STony Han #define MCAN5_BASE_ADDRESS               0xe083c000
214*4a0e0f39STony Han #define NICGPV_BASE_ADDRESS              0xe8b00000
215*4a0e0f39STony Han #define OTPC_BASE_ADDRESS                0xe8c00000
216*4a0e0f39STony Han #define PDMC0_BASE_ADDRESS               0xe1608000
217*4a0e0f39STony Han #define PDMC1_BASE_ADDRESS               0xe160c000
218*4a0e0f39STony Han #define PIO_BASE_ADDRESS                 0xe0014000
219*4a0e0f39STony Han #define PIT64B0_BASE_ADDRESS             0xe1800000
220*4a0e0f39STony Han #define PIT64B1_BASE_ADDRESS             0xe1804000
221*4a0e0f39STony Han #define PIT64B2_BASE_ADDRESS             0xe1808000
222*4a0e0f39STony Han #define PIT64B3_BASE_ADDRESS             0xe2004000
223*4a0e0f39STony Han #define PIT64B4_BASE_ADDRESS             0xe2008000
224*4a0e0f39STony Han #define PIT64B5_BASE_ADDRESS             0xe2810000
225*4a0e0f39STony Han #define PMC_BASE_ADDRESS                 0xe0018000
226*4a0e0f39STony Han #define PWM_BASE_ADDRESS                 0xe1604000
227*4a0e0f39STony Han #define QSPI0_BASE_ADDRESS               0xe080c000
228*4a0e0f39STony Han #define QSPI1_BASE_ADDRESS               0xe0810000
229*4a0e0f39STony Han #define RSTC_BASE_ADDRESS                0xe001d000
230*4a0e0f39STony Han #define RTC_BASE_ADDRESS                 0xe001d0a8
231*4a0e0f39STony Han #define RTT_BASE_ADDRESS                 0xe001d020
232*4a0e0f39STony Han #define SCKC_BASE_ADDRESS                0xe001d050
233*4a0e0f39STony Han #define SDMMC0_BASE_ADDRESS              0xe1204000
234*4a0e0f39STony Han #define SDMMC1_BASE_ADDRESS              0xe1208000
235*4a0e0f39STony Han #define SDMMC2_BASE_ADDRESS              0xe120c000
236*4a0e0f39STony Han #define SECUMOD_BASE_ADDRESS             0xe0004000
237*4a0e0f39STony Han #define SFR_BASE_ADDRESS                 0xe1624000
238*4a0e0f39STony Han #define SFRBU_BASE_ADDRESS               0xe0008000
239*4a0e0f39STony Han #define SHA_BASE_ADDRESS                 0xe1814000
240*4a0e0f39STony Han #define SHDWC_BASE_ADDRESS               0xe001d010
241*4a0e0f39STony Han #define HSMC_BASE_ADDRESS                0xe0808000
242*4a0e0f39STony Han #define SPDIFRX_BASE_ADDRESS             0xe1614000
243*4a0e0f39STony Han #define SPDIFTX_BASE_ADDRESS             0xe1618000
244*4a0e0f39STony Han #define SSC0_BASE_ADDRESS                0xe180c000
245*4a0e0f39STony Han #define SSC1_BASE_ADDRESS                0xe200c000
246*4a0e0f39STony Han #define SYSCWP_BASE_ADDRESS              0xe001d0dc
247*4a0e0f39STony Han #define TC0_BASE_ADDRESS                 0xe2814000
248*4a0e0f39STony Han #define TC1_BASE_ADDRESS                 0xe0800000
249*4a0e0f39STony Han #define TCPCA_BASE_ADDRESS               0xe0840000
250*4a0e0f39STony Han #define TCPCB_BASE_ADDRESS               0xe0844000
251*4a0e0f39STony Han #define TDES_BASE_ADDRESS                0xe2014000
252*4a0e0f39STony Han #define TRNG_BASE_ADDRESS                0xe2010000
253*4a0e0f39STony Han #define TZAESBNS_BASE_ADDRESS            0xe0820000
254*4a0e0f39STony Han #define TZAESBS_BASE_ADDRESS             0xe0824000
255*4a0e0f39STony Han #define TZAESBASC_BASE_ADDRESS           0xe2000000
256*4a0e0f39STony Han #define TZC_BASE_ADDRESS                 0xe3000000
257*4a0e0f39STony Han #define TZPM_BASE_ADDRESS                0xe0010000
258*4a0e0f39STony Han #define DDRUMCTL_BASE_ADDRESS            0xe3800000
259*4a0e0f39STony Han #define UDPHSA_BASE_ADDRESS              0xe0814000
260*4a0e0f39STony Han #define UDPHSB_BASE_ADDRESS              0xe0818000
261*4a0e0f39STony Han #define UHPHS_OHCI_BASE_ADDRESS          0x00400000
262*4a0e0f39STony Han #define UHPHS_EHCI_BASE_ADDRESS          0x00500000
263*4a0e0f39STony Han #define XDMAC0_BASE_ADDRESS              0xe2808000
264*4a0e0f39STony Han #define XDMAC1_BASE_ADDRESS              0xe280c000
265*4a0e0f39STony Han #define XDMAC2_BASE_ADDRESS              0xe1200000
266*4a0e0f39STony Han 
267*4a0e0f39STony Han /* ************************************************************************** */
268*4a0e0f39STony Han /*   MEMORY MAPPING DEFINITIONS FOR SAMA7G54                                  */
269*4a0e0f39STony Han /* ************************************************************************** */
270*4a0e0f39STony Han #define IROM_SIZE                      0x00014000
271*4a0e0f39STony Han #define ECC_ROM_SIZE                   0x00018000
272*4a0e0f39STony Han #define CPKCC_ROM_SIZE                 0x00010000
273*4a0e0f39STony Han #define CPKCC_RAM_SIZE                 0x00001000
274*4a0e0f39STony Han #define IRAM_SIZE                      0x00020000
275*4a0e0f39STony Han #define UDPHS_RAMA_SIZE                0x00100000
276*4a0e0f39STony Han #define UDPHS_RAMB_SIZE                0x00100000
277*4a0e0f39STony Han #define UHPHS_OHCI_SIZE                0x00001000
278*4a0e0f39STony Han #define UHPHS_EHCI_SIZE                0x00100000
279*4a0e0f39STony Han #define NFC_RAM_SIZE                   0x00003000
280*4a0e0f39STony Han #define NFC_SIZE                       0x08000000
281*4a0e0f39STony Han #define QSPIMEM0_SIZE                  0x10000000
282*4a0e0f39STony Han #define QSPIMEM1_SIZE                  0x10000000
283*4a0e0f39STony Han #define EBI_CS0_SIZE                   0x08000000
284*4a0e0f39STony Han #define EBI_CS1_SIZE                   0x08000000
285*4a0e0f39STony Han #define EBI_CS2_SIZE                   0x08000000
286*4a0e0f39STony Han #define EBI_CS3_SIZE                   0x08000000
287*4a0e0f39STony Han #define DDR_CS_SIZE                    0x80000000
288*4a0e0f39STony Han #define SECURAM_SIZE                   0x00004000
289*4a0e0f39STony Han #define SDMMC0_SIZE                    0x00004000
290*4a0e0f39STony Han #define SDMMC1_SIZE                    0x00004000
291*4a0e0f39STony Han #define SDMMC2_SIZE                    0x00004000
292*4a0e0f39STony Han #define APB_DBG_S_SIZE                 0x00060000
293*4a0e0f39STony Han #define APB_DBG_SIZE                   0x00001000
294*4a0e0f39STony Han #define NICGPV_SIZE                    0x00100000
295*4a0e0f39STony Han #define OTPC_SIZE                      0x00001000
296*4a0e0f39STony Han #define CSI2DC_META_SIZE               0x00002000
297*4a0e0f39STony Han #define ARM_PERIPH_SIZE                0x00008000
298*4a0e0f39STony Han #define PERIPHERALS_SIZE               0x10000000
299*4a0e0f39STony Han 
300*4a0e0f39STony Han #define IROM_ADDR                      0x00000000
301*4a0e0f39STony Han #define ECC_ROM_ADDR                   0x00020000
302*4a0e0f39STony Han #define CPKCC_ROM_ADDR                 0x00040000
303*4a0e0f39STony Han #define CPKCC_RAM_ADDR                 0x00051000
304*4a0e0f39STony Han #define IRAM_ADDR                      0x00100000
305*4a0e0f39STony Han #define UDPHS_RAMA_ADDR                0x00200000
306*4a0e0f39STony Han #define UDPHS_RAMB_ADDR                0x00300000
307*4a0e0f39STony Han #define UHPHS_OHCI_ADDR                0x00400000
308*4a0e0f39STony Han #define UHPHS_EHCI_ADDR                0x00500000
309*4a0e0f39STony Han #define NFC_RAM_ADDR                   0x00600000
310*4a0e0f39STony Han #define NFC_ADDR                       0x10000000
311*4a0e0f39STony Han #define QSPIMEM0_ADDR                  0x20000000
312*4a0e0f39STony Han #define QSPIMEM1_ADDR                  0x30000000
313*4a0e0f39STony Han #define EBI_CS0_ADDR                   0x40000000
314*4a0e0f39STony Han #define EBI_CS1_ADDR                   0x48000000
315*4a0e0f39STony Han #define EBI_CS2_ADDR                   0x50000000
316*4a0e0f39STony Han #define EBI_CS3_ADDR                   0x58000000
317*4a0e0f39STony Han #define DDR_CS_ADDR                    0x60000000
318*4a0e0f39STony Han #define SECURAM_ADDR                   0xe0000000
319*4a0e0f39STony Han #define SDMMC0_ADDR                    0xe1204000
320*4a0e0f39STony Han #define SDMMC1_ADDR                    0xe1208000
321*4a0e0f39STony Han #define SDMMC2_ADDR                    0xe120c000
322*4a0e0f39STony Han #define APB_DBG_S_ADDR                 0xe8800000
323*4a0e0f39STony Han #define APB_DBG_ADDR                   0xe8900000
324*4a0e0f39STony Han #define NICGPV_ADDR                    0xe8b00000
325*4a0e0f39STony Han #define OTPC_ADDR                      0xe8c00000
326*4a0e0f39STony Han #define CSI2DC_META_ADDR               0xe8c02000
327*4a0e0f39STony Han #define ARM_PERIPH_ADDR                0xe8c10000
328*4a0e0f39STony Han #define PERIPHERALS_ADDR               0xe0000000
329*4a0e0f39STony Han 
330*4a0e0f39STony Han /* ************************************************************************** */
331*4a0e0f39STony Han /*   DEVICE SIGNATURES FOR SAMA7G54                                           */
332*4a0e0f39STony Han /* ************************************************************************** */
333*4a0e0f39STony Han #define CHIP_JTAGID                    0X05B4203F
334*4a0e0f39STony Han #define CHIP_CIDR                      0X80162110
335*4a0e0f39STony Han #define CHIP_EXID                      0X00000000
336*4a0e0f39STony Han 
337*4a0e0f39STony Han #endif /* _SAMA7G54_H_ */
338*4a0e0f39STony Han 
339