xref: /arm-trusted-firmware/plat/imx/imx93/trdc_config.h (revision 91f16700b400a8c0651d24a598fc48ee2997a0d7)
1*91f16700Schasinglulu /*
2*91f16700Schasinglulu  * Copyright 2022-2023 NXP
3*91f16700Schasinglulu  *
4*91f16700Schasinglulu  * SPDX-License-Identifier: BSD-3-Clause
5*91f16700Schasinglulu  */
6*91f16700Schasinglulu 
7*91f16700Schasinglulu #include <drivers/nxp/trdc/imx_trdc.h>
8*91f16700Schasinglulu 
9*91f16700Schasinglulu #define TRDC_A_BASE	U(0x44270000)
10*91f16700Schasinglulu #define TRDC_W_BASE	U(0x42460000)
11*91f16700Schasinglulu #define TRDC_M_BASE	U(0x42460000)
12*91f16700Schasinglulu #define TRDC_N_BASE	U(0x49010000)
13*91f16700Schasinglulu 
14*91f16700Schasinglulu /* GLBAC7 is used for TRDC only, any setting to GLBAC7 will be ignored */
15*91f16700Schasinglulu 
16*91f16700Schasinglulu /* aonmix */
17*91f16700Schasinglulu struct trdc_glbac_config trdc_a_mbc_glbac[] = {
18*91f16700Schasinglulu 	/* MBC0 */
19*91f16700Schasinglulu 	{ 0, 0, SP(RW)  | SU(RW)   | NP(RW)  | NU(RW) },
20*91f16700Schasinglulu 	/* MBC1 */
21*91f16700Schasinglulu 	{ 1, 0, SP(RW)  | SU(RW)   | NP(RW)  | NU(RW) },
22*91f16700Schasinglulu 	{ 1, 1, SP(RW)  | SU(R)    | NP(RW)  | NU(R)  },
23*91f16700Schasinglulu 	{ 1, 2, SP(RWX) | SU(RWX)  | NP(RWX) | NU(RWX)  },
24*91f16700Schasinglulu };
25*91f16700Schasinglulu 
26*91f16700Schasinglulu struct trdc_mbc_config trdc_a_mbc[] = {
27*91f16700Schasinglulu 	{ 0, 0, 0, MBC_BLK_ALL, 0, true }, /* MBC0 AIPS1 for S401 DID0 */
28*91f16700Schasinglulu 	{ 0, 0, 1, MBC_BLK_ALL, 0, true }, /* MBC0 Sentinel_SOC_In for S401 DID0 */
29*91f16700Schasinglulu 	{ 0, 0, 2, MBC_BLK_ALL, 0, true }, /* MBC0 GPIO1 for S401 DID0 */
30*91f16700Schasinglulu 	{ 1, 0, 0, MBC_BLK_ALL, 0, true }, /* MBC1 CM33 code TCM for S401 DID0 */
31*91f16700Schasinglulu 	{ 1, 0, 1, MBC_BLK_ALL, 0, true }, /* MBC1 CM33 system TCM for S401 DID0 */
32*91f16700Schasinglulu 
33*91f16700Schasinglulu 	{ 0, 1, 0, MBC_BLK_ALL, 0, true }, /* MBC0 AIPS1 for MTR DID1 */
34*91f16700Schasinglulu 	{ 0, 1, 1, MBC_BLK_ALL, 0, true }, /* MBC0 Sentinel_SOC_In for MTR DID1 */
35*91f16700Schasinglulu 
36*91f16700Schasinglulu 	{ 0, 2, 0, MBC_BLK_ALL, 0, true }, /* MBC0 AIPS1 for M33 DID2 */
37*91f16700Schasinglulu 	{ 0, 2, 1, MBC_BLK_ALL, 0, true }, /* MBC0 Sentinel_SOC_In for M33 DID2 */
38*91f16700Schasinglulu 	{ 0, 2, 2, MBC_BLK_ALL, 0, true }, /* MBC0 GPIO1 for M33 DID2 */
39*91f16700Schasinglulu 	{ 1, 2, 0, MBC_BLK_ALL, 2, true  }, /* MBC1 CM33 code TCM for M33 DID2 */
40*91f16700Schasinglulu 	{ 1, 2, 1, MBC_BLK_ALL, 2, true  }, /* MBC1 CM33 system TCM for M33 DID2 */
41*91f16700Schasinglulu 
42*91f16700Schasinglulu 	{ 0, 3, 0, MBC_BLK_ALL, 0, false }, /* MBC0 AIPS1 for A55 DID3 */
43*91f16700Schasinglulu 	{ 0, 3, 1, MBC_BLK_ALL, 0, false }, /* MBC0 Sentinel_SOC_In for A55 DID3 */
44*91f16700Schasinglulu 	{ 0, 3, 2, MBC_BLK_ALL, 0, false }, /* MBC0 GPIO1 for A55 DID3 */
45*91f16700Schasinglulu 	{ 1, 3, 0, MBC_BLK_ALL, 1, false }, /* MBC1 CM33 code TCM for A55 DID3 */
46*91f16700Schasinglulu 	{ 1, 3, 1, MBC_BLK_ALL, 1, false }, /* MBC1 CM33 system TCM for A55 DID3 */
47*91f16700Schasinglulu 	{ 1, 10, 1, MBC_BLK_ALL, 2, false }, /* MBC1 CM33 system TCM for SoC masters DID10 */
48*91f16700Schasinglulu 
49*91f16700Schasinglulu 	{ 0, 7, 0, MBC_BLK_ALL, 0, false }, /* MBC0 AIPS1 for eDMA DID7 */
50*91f16700Schasinglulu };
51*91f16700Schasinglulu 
52*91f16700Schasinglulu struct trdc_glbac_config trdc_a_mrc_glbac[] = {
53*91f16700Schasinglulu 	{ 0, 0, SP(RWX) | SU(RWX) | NP(RWX) | NU(RWX) },
54*91f16700Schasinglulu 	{ 0, 1, SP(R)   | SU(0)   | NP(R)   | NU(0)   },
55*91f16700Schasinglulu };
56*91f16700Schasinglulu 
57*91f16700Schasinglulu struct trdc_mrc_config trdc_a_mrc[] = {
58*91f16700Schasinglulu 	{ 0, 2, 0, 0x00000000, 0x00040000, 0, true }, /* MRC0 M33 ROM for M33 DID2 */
59*91f16700Schasinglulu 	{ 0, 3, 0, 0x00100000, 0x00040000, 1, true }, /* MRC0 M33 ROM for A55 DID3 */
60*91f16700Schasinglulu };
61*91f16700Schasinglulu 
62*91f16700Schasinglulu /* wakeupmix */
63*91f16700Schasinglulu struct trdc_glbac_config trdc_w_mbc_glbac[] = {
64*91f16700Schasinglulu 	/* MBC0 */
65*91f16700Schasinglulu 	{ 0, 0, SP(RW) | SU(RW) | NP(RW) | NU(RW) },
66*91f16700Schasinglulu 	/* MBC1 */
67*91f16700Schasinglulu 	{ 1, 0, SP(RW) | SU(RW) | NP(RW) | NU(RW) },
68*91f16700Schasinglulu };
69*91f16700Schasinglulu 
70*91f16700Schasinglulu struct trdc_mbc_config trdc_w_mbc[] = {
71*91f16700Schasinglulu 	{ 0, 1, 0, MBC_BLK_ALL, 0, true }, /* MBC0 AIPS2 for MTR DID1 */
72*91f16700Schasinglulu 	{ 1, 1, 0, MBC_BLK_ALL, 0, true }, /* MBC1 AIPS3 for MTR DID1 */
73*91f16700Schasinglulu 
74*91f16700Schasinglulu 	{ 0, 2, 0, MBC_BLK_ALL, 0, true }, /* MBC0 AIPS2 for M33 DID2 */
75*91f16700Schasinglulu 	{ 0, 2, 1, MBC_BLK_ALL, 0, true }, /* MBC0 GPIO2_In for M33 DID2 */
76*91f16700Schasinglulu 	{ 0, 2, 2, MBC_BLK_ALL, 0, true }, /* MBC0 GPIO3 for M33 DID2 */
77*91f16700Schasinglulu 	{ 0, 2, 3, MBC_BLK_ALL, 0, true }, /* MBC0 DAP  for M33 DID2 */
78*91f16700Schasinglulu 	{ 1, 2, 0, MBC_BLK_ALL, 0, true }, /* MBC1 AIPS3 for M33 DID2 */
79*91f16700Schasinglulu 	{ 1, 2, 1, MBC_BLK_ALL, 0, true }, /* MBC1 AHB_ISPAP for M33 DID2 */
80*91f16700Schasinglulu 	{ 1, 2, 2, MBC_BLK_ALL, 0, true },  /* MBC1 NIC_MAIN_GPV for M33 DID2 */
81*91f16700Schasinglulu 	{ 1, 2, 3, MBC_BLK_ALL, 0, true }, /* MBC1 GPIO4 for M33 DID2 */
82*91f16700Schasinglulu 
83*91f16700Schasinglulu 	{ 0, 3, 0, MBC_BLK_ALL, 0, false }, /* MBC0 AIPS2 for A55 DID3 */
84*91f16700Schasinglulu 	{ 0, 3, 1, MBC_BLK_ALL, 0, false }, /* MBC0 GPIO2_In for A55 DID3 */
85*91f16700Schasinglulu 	{ 0, 3, 2, MBC_BLK_ALL, 0, false }, /* MBC0 GPIO3 for A55 DID3 */
86*91f16700Schasinglulu 	{ 0, 3, 3, MBC_BLK_ALL, 0, false }, /* MBC0 DAP  for A55 DID3 */
87*91f16700Schasinglulu 	{ 1, 3, 0, MBC_BLK_ALL, 0, false }, /* MBC1 AIPS3 for A55 DID3 */
88*91f16700Schasinglulu 	{ 1, 3, 1, MBC_BLK_ALL, 0, false }, /* MBC1 AHB_ISPAP for A55 DID3 */
89*91f16700Schasinglulu 	{ 1, 3, 2, MBC_BLK_ALL, 0, true },  /* MBC1 NIC_MAIN_GPV for A55 DID3 */
90*91f16700Schasinglulu 	{ 1, 3, 3, MBC_BLK_ALL, 0, false }, /* MBC1 GPIO4 for A55 DID3 */
91*91f16700Schasinglulu 
92*91f16700Schasinglulu 	{ 0, 7, 0, MBC_BLK_ALL, 0, false }, /* MBC0 AIPS2 for eDMA DID7 */
93*91f16700Schasinglulu 	{ 1, 7, 0, MBC_BLK_ALL, 0, false }, /* MBC1 AIPS3 for eDMA DID7  */
94*91f16700Schasinglulu };
95*91f16700Schasinglulu 
96*91f16700Schasinglulu struct trdc_glbac_config trdc_w_mrc_glbac[] = {
97*91f16700Schasinglulu 	/* MRC0 */
98*91f16700Schasinglulu 	{ 0, 0, SP(RX)  | SU(RX)   | NP(RX)   | NU(RX)    },
99*91f16700Schasinglulu 	/* MRC1 */
100*91f16700Schasinglulu 	{ 1, 0, SP(RWX) | SU(RWX)  | NP(RWX)  | NU(RWX)   },
101*91f16700Schasinglulu };
102*91f16700Schasinglulu 
103*91f16700Schasinglulu struct trdc_mrc_config trdc_w_mrc[] = {
104*91f16700Schasinglulu 	{ 0, 3, 0, 0x00000000, 0x00040000, 0, false }, /* MRC0 A55 ROM for A55 DID3 */
105*91f16700Schasinglulu 	{ 1, 2, 0, 0x28000000, 0x08000000, 0, true  }, /* MRC1 FLEXSPI1 for M33 DID2 */
106*91f16700Schasinglulu 	{ 1, 3, 0, 0x28000000, 0x08000000, 0, false }, /* MRC1 FLEXSPI1 for A55 DID3 */
107*91f16700Schasinglulu };
108*91f16700Schasinglulu 
109*91f16700Schasinglulu /* nicmix */
110*91f16700Schasinglulu struct trdc_glbac_config trdc_n_mbc_glbac[] = {
111*91f16700Schasinglulu 	/* MBC0 */
112*91f16700Schasinglulu 	{ 0, 0, SP(RW) | SU(RW) | NP(RW) | NU(RW) },
113*91f16700Schasinglulu 	/* MBC1 */
114*91f16700Schasinglulu 	{ 1, 0, SP(RW) | SU(RW) | NP(RW) | NU(RW) },
115*91f16700Schasinglulu 	/* MBC2 */
116*91f16700Schasinglulu 	{ 2, 0, SP(RW) | SU(RW) | NP(RW) | NU(RW) },
117*91f16700Schasinglulu 	{ 2, 1, SP(R) | SU(R) | NP(R) | NU(R) },
118*91f16700Schasinglulu 	/* MBC3 */
119*91f16700Schasinglulu 	{ 3, 0, SP(RW) | SU(RW) | NP(RW) | NU(RW) },
120*91f16700Schasinglulu 	{ 3, 1, SP(RWX) | SU(RWX) | NP(RWX) | NU(RWX) },
121*91f16700Schasinglulu };
122*91f16700Schasinglulu 
123*91f16700Schasinglulu struct trdc_mbc_config trdc_n_mbc[] = {
124*91f16700Schasinglulu 	{ 0, 0, 0, MBC_BLK_ALL, 0, true }, /* MBC0 DDRCFG for S401 DID0 */
125*91f16700Schasinglulu 	{ 0, 0, 1, MBC_BLK_ALL, 0, true }, /* MBC0 AIPS4 for  S401 DID0 */
126*91f16700Schasinglulu 	{ 0, 0, 2, MBC_BLK_ALL, 0, true }, /* MBC0 MEDIAMIX for  S401 DID0 */
127*91f16700Schasinglulu 	{ 0, 0, 3, MBC_BLK_ALL, 0, true }, /* MBC0 HSIOMIX for  S401 DID0 */
128*91f16700Schasinglulu 	{ 1, 0, 0, MBC_BLK_ALL, 0, true }, /* MBC1 MTR_DCA, TCU, TROUT for  S401 DID0 */
129*91f16700Schasinglulu 	{ 1, 0, 1, MBC_BLK_ALL, 0, true }, /* MBC1 MTR_DCA, TCU, TROUT for  S401 DID0 */
130*91f16700Schasinglulu 	{ 1, 0, 2, MBC_BLK_ALL, 0, true }, /* MBC1 MLMIX for  S401 DID0 */
131*91f16700Schasinglulu 	{ 1, 0, 3, MBC_BLK_ALL, 0, true }, /* MBC1 MLMIX for  S401 DID0 */
132*91f16700Schasinglulu 	{ 2, 0, 0, MBC_BLK_ALL, 0, true }, /* MBC2 GIC for  S401 DID0 */
133*91f16700Schasinglulu 	{ 2, 0, 1, MBC_BLK_ALL, 0, true }, /* MBC2 GIC for  S401 DID0 */
134*91f16700Schasinglulu 	{ 3, 0, 0, MBC_BLK_ALL, 0, true }, /* MBC3 OCRAM for  S401 DID0 */
135*91f16700Schasinglulu 	{ 3, 0, 1, MBC_BLK_ALL, 0, true }, /* MBC3 OCRAM for  S401 DID0 */
136*91f16700Schasinglulu 
137*91f16700Schasinglulu 	{ 0, 1, 0, MBC_BLK_ALL, 0, true }, /* MBC0 DDRCFG for MTR DID1 */
138*91f16700Schasinglulu 	{ 0, 1, 1, MBC_BLK_ALL, 0, true }, /* MBC0 AIPS4 for  MTR DID1 */
139*91f16700Schasinglulu 	{ 0, 1, 2, MBC_BLK_ALL, 0, true }, /* MBC0 MEDIAMIX for MTR DID1 */
140*91f16700Schasinglulu 	{ 0, 1, 3, MBC_BLK_ALL, 0, true }, /* MBC0 HSIOMIX for  MTR DID1 */
141*91f16700Schasinglulu 	{ 1, 1, 0, MBC_BLK_ALL, 0, true }, /* MBC1 MTR_DCA, TCU, TROUT for  MTR DID1 */
142*91f16700Schasinglulu 	{ 1, 1, 1, MBC_BLK_ALL, 0, true }, /* MBC1 MTR_DCA, TCU, TROUT for  MTR DID1 */
143*91f16700Schasinglulu 	{ 1, 1, 2, MBC_BLK_ALL, 0, true }, /* MBC1 MLMIX for  MTR DID1 */
144*91f16700Schasinglulu 	{ 1, 1, 3, MBC_BLK_ALL, 0, true }, /* MBC1 MLMIX for  MTR DID1 */
145*91f16700Schasinglulu 
146*91f16700Schasinglulu 	{ 0, 2, 0, MBC_BLK_ALL, 0, true }, /* MBC0 DDRCFG for M33 DID2 */
147*91f16700Schasinglulu 	{ 0, 2, 1, MBC_BLK_ALL, 0, true }, /* MBC0 AIPS4 for M33 DID2 */
148*91f16700Schasinglulu 	{ 0, 2, 2, MBC_BLK_ALL, 0, true }, /* MBC0 MEDIAMIX for M33 DID2 */
149*91f16700Schasinglulu 	{ 0, 2, 3, MBC_BLK_ALL, 0, true }, /* MBC0 HSIOMIX for M33 DID2 */
150*91f16700Schasinglulu 	{ 1, 2, 0, MBC_BLK_ALL, 0, true }, /* MBC1 MTR_DCA, TCU, TROUT for M33 DID2 */
151*91f16700Schasinglulu 	{ 1, 2, 1, MBC_BLK_ALL, 0, true }, /* MBC1 MTR_DCA, TCU, TROUT for M33 DID2 */
152*91f16700Schasinglulu 	{ 1, 2, 2, MBC_BLK_ALL, 0, true }, /* MBC1 MLMIX for M33 DID2 */
153*91f16700Schasinglulu 	{ 1, 2, 3, MBC_BLK_ALL, 0, true }, /* MBC1 MLMIX for M33 DID2 */
154*91f16700Schasinglulu 	{ 2, 2, 0, MBC_BLK_ALL, 1, true }, /* MBC2 GIC for M33 DID2 */
155*91f16700Schasinglulu 	{ 2, 2, 1, MBC_BLK_ALL, 1, true }, /* MBC2 GIC for M33 DID2 */
156*91f16700Schasinglulu 	{ 3, 2, 0, MBC_BLK_ALL, 0, true  }, /* MBC3 OCRAM for M33 DID2 */
157*91f16700Schasinglulu 	{ 3, 2, 1, MBC_BLK_ALL, 0, true  }, /* MBC3 OCRAM for M33 DID2 */
158*91f16700Schasinglulu 
159*91f16700Schasinglulu 	{ 0, 3, 0, MBC_BLK_ALL, 0, false }, /* MBC0 DDRCFG for A55 DID3 */
160*91f16700Schasinglulu 	{ 0, 3, 1, MBC_BLK_ALL, 0, false }, /* MBC0 AIPS4 for A55 DID3 */
161*91f16700Schasinglulu 	{ 0, 3, 2, MBC_BLK_ALL, 0, false }, /* MBC0 MEDIAMIX for A55 DID3 */
162*91f16700Schasinglulu 	{ 0, 3, 3, MBC_BLK_ALL, 0, false }, /* MBC0 HSIOMIX for A55 DID3 */
163*91f16700Schasinglulu 	{ 1, 3, 0, MBC_BLK_ALL, 0, false }, /* MBC1 MTR_DCA, TCU, TROUT for A55 DID3 */
164*91f16700Schasinglulu 	{ 1, 3, 1, MBC_BLK_ALL, 0, false }, /* MBC1 MTR_DCA, TCU, TROUT for A55 DID3 */
165*91f16700Schasinglulu 	{ 1, 3, 2, MBC_BLK_ALL, 0, false }, /* MBC1 MLMIX for A55 DID3 */
166*91f16700Schasinglulu 	{ 1, 3, 3, MBC_BLK_ALL, 0, false }, /* MBC1 MLMIX for A55 DID3 */
167*91f16700Schasinglulu 	{ 2, 3, 0, MBC_BLK_ALL, 0, false }, /* MBC2 GIC for A55 DID3 */
168*91f16700Schasinglulu 	{ 2, 3, 1, MBC_BLK_ALL, 0, false }, /* MBC2 GIC for A55 DID3 */
169*91f16700Schasinglulu 	{ 3, 3, 0, MBC_BLK_ALL, 1, true  }, /* MBC3 OCRAM for A55 DID3 */
170*91f16700Schasinglulu 	{ 3, 3, 1, MBC_BLK_ALL, 1, true  }, /* MBC3 OCRAM for A55 DID3 */
171*91f16700Schasinglulu 
172*91f16700Schasinglulu 	{ 3, 3, 0, 0, 0, false  }, /* MBC3 OCRAM for A55 DID3 */
173*91f16700Schasinglulu 	{ 3, 3, 0, 1, 0, false  }, /* MBC3 OCRAM for A55 DID3 */
174*91f16700Schasinglulu 	{ 3, 3, 0, 2, 0, false  }, /* MBC3 OCRAM for A55 DID3 */
175*91f16700Schasinglulu 	{ 3, 3, 0, 3, 0, false  }, /* MBC3 OCRAM for A55 DID3 */
176*91f16700Schasinglulu 	{ 3, 3, 0, 4, 0, false  }, /* MBC3 OCRAM for A55 DID3 */
177*91f16700Schasinglulu 	{ 3, 3, 0, 5, 0, false  }, /* MBC3 OCRAM for A55 DID3 */
178*91f16700Schasinglulu 	{ 3, 3, 1, 0, 0, false  }, /* MBC3 OCRAM for A55 DID3 */
179*91f16700Schasinglulu 	{ 3, 3, 1, 1, 0, false  }, /* MBC3 OCRAM for A55 DID3 */
180*91f16700Schasinglulu 	{ 3, 3, 1, 2, 0, false  }, /* MBC3 OCRAM for A55 DID3 */
181*91f16700Schasinglulu 	{ 3, 3, 1, 3, 0, false  }, /* MBC3 OCRAM for A55 DID3 */
182*91f16700Schasinglulu 	{ 3, 3, 1, 4, 0, false  }, /* MBC3 OCRAM for A55 DID3 */
183*91f16700Schasinglulu 	{ 3, 3, 1, 5, 0, false  }, /* MBC3 OCRAM for A55 DID3 */
184*91f16700Schasinglulu 
185*91f16700Schasinglulu 	{ 0, 7, 1, MBC_BLK_ALL, 0, false }, /* MBC0 AIPS4 for eDMA DID7 */
186*91f16700Schasinglulu 	{ 0, 7, 2, MBC_BLK_ALL, 0, false }, /* MBC0 MEDIAMIX for eDMA DID7 */
187*91f16700Schasinglulu 	{ 0, 7, 3, MBC_BLK_ALL, 0, false }, /* MBC0 HSIOMIX for eDMA DID7 */
188*91f16700Schasinglulu 
189*91f16700Schasinglulu 	{ 3, 10, 0, MBC_BLK_ALL, 0, false }, /* MBC3 OCRAM for DID10 */
190*91f16700Schasinglulu 	{ 3, 10, 1, MBC_BLK_ALL, 0, false }, /* MBC3 OCRAM for DID10 */
191*91f16700Schasinglulu };
192*91f16700Schasinglulu 
193*91f16700Schasinglulu struct trdc_glbac_config trdc_n_mrc_glbac[] = {
194*91f16700Schasinglulu 	{ 0, 0, SP(RW)  | SU(RW)  | NP(RW)  | NU(RW)  },
195*91f16700Schasinglulu 	{ 0, 1, SP(RWX) | SU(RWX) | NP(RWX) | NU(RWX) },
196*91f16700Schasinglulu };
197*91f16700Schasinglulu 
198*91f16700Schasinglulu #if defined(SPD_opteed)
199*91f16700Schasinglulu #define TEE_SHM_SIZE 0x200000
200*91f16700Schasinglulu 
201*91f16700Schasinglulu #define DRAM_MEM_0_START (0x80000000)
202*91f16700Schasinglulu #define DRAM_MEM_0_SIZE (BL32_BASE - 0x80000000)
203*91f16700Schasinglulu 
204*91f16700Schasinglulu #define DRAM_MEM_1_START (BL32_BASE)
205*91f16700Schasinglulu #define DRAM_MEM_1_SIZE (BL32_SIZE - TEE_SHM_SIZE)
206*91f16700Schasinglulu 
207*91f16700Schasinglulu #define DRAM_MEM_2_START (DRAM_MEM_1_START + DRAM_MEM_1_SIZE)
208*91f16700Schasinglulu #define DRAM_MEM_2_SIZE (0x80000000 - DRAM_MEM_1_SIZE - DRAM_MEM_0_SIZE)
209*91f16700Schasinglulu 
210*91f16700Schasinglulu struct trdc_mrc_config trdc_n_mrc[] = {
211*91f16700Schasinglulu 	{ 0, 0, 0, 0x80000000, 0x80000000, 0, false }, /* MRC0 DRAM for S400 DID0 */
212*91f16700Schasinglulu 	{ 0, 1, 0, 0x80000000, 0x80000000, 0, false }, /* MRC0 DRAM for MTR DID1 */
213*91f16700Schasinglulu 	{ 0, 2, 0, 0x80000000, 0x80000000, 0, true }, /* MRC0 DRAM for M33 DID2 */
214*91f16700Schasinglulu 	{ 0, 8, 0, 0x80000000, 0x80000000, 1, false }, /* MRC0 DRAM for Coresight, Testport DID8 */
215*91f16700Schasinglulu 	{ 0, 9, 0, 0x80000000, 0x80000000, 1, false }, /* MRC0 DRAM for DAP DID9 */
216*91f16700Schasinglulu 
217*91f16700Schasinglulu 	{ 0, 3, 0, DRAM_MEM_0_START, DRAM_MEM_0_SIZE, 1, false }, /* MRC0 DRAM for A55 DID3 */
218*91f16700Schasinglulu 	{ 0, 5, 0, DRAM_MEM_0_START, DRAM_MEM_0_SIZE, 0, false }, /* MRC0 DRAM for USDHC1 DID5 */
219*91f16700Schasinglulu 	{ 0, 6, 0, DRAM_MEM_0_START, DRAM_MEM_0_SIZE, 0, false }, /* MRC0 DRAM for USDHC2 DID6 */
220*91f16700Schasinglulu 	{ 0, 7, 0, DRAM_MEM_0_START, DRAM_MEM_0_SIZE, 0, false }, /* MRC0 DRAM for eDMA DID7 */
221*91f16700Schasinglulu 	{ 0, 10, 0, DRAM_MEM_0_START, DRAM_MEM_0_SIZE, 0, false }, /* MRC0 DRAM for SoC masters DID10 */
222*91f16700Schasinglulu 	{ 0, 11, 0, DRAM_MEM_0_START, DRAM_MEM_0_SIZE, 0, false }, /* MRC0 DRAM for USB DID11 */
223*91f16700Schasinglulu 
224*91f16700Schasinglulu 	/* OPTEE memory for  secure access only. */
225*91f16700Schasinglulu 	{ 0, 3, 1, DRAM_MEM_1_START, DRAM_MEM_1_SIZE, 1, true }, /* MRC0 DRAM for A55 DID3 */
226*91f16700Schasinglulu 	{ 0, 5, 1, DRAM_MEM_1_START, DRAM_MEM_1_SIZE, 0, true }, /* MRC0 DRAM for USDHC1 DID5 */
227*91f16700Schasinglulu 	{ 0, 6, 1, DRAM_MEM_1_START, DRAM_MEM_1_SIZE, 0, true }, /* MRC0 DRAM for USDHC2 DID6 */
228*91f16700Schasinglulu 	{ 0, 7, 1, DRAM_MEM_1_START, DRAM_MEM_1_SIZE, 0, true }, /* MRC0 DRAM for eDMA DID7 */
229*91f16700Schasinglulu 	{ 0, 10, 1, DRAM_MEM_1_START, DRAM_MEM_1_SIZE, 0, true }, /* MRC0 DRAM for SoC masters DID10 */
230*91f16700Schasinglulu 	{ 0, 11, 1, DRAM_MEM_1_START, DRAM_MEM_1_SIZE, 0, true }, /* MRC0 DRAM for USB DID11 */
231*91f16700Schasinglulu 
232*91f16700Schasinglulu 	{ 0, 3, 2, DRAM_MEM_2_START, DRAM_MEM_2_SIZE, 1, false }, /* MRC0 DRAM for A55 DID3 */
233*91f16700Schasinglulu 	{ 0, 5, 2, DRAM_MEM_2_START, DRAM_MEM_2_SIZE, 0, false }, /* MRC0 DRAM for USDHC1 DID5 */
234*91f16700Schasinglulu 	{ 0, 6, 2, DRAM_MEM_2_START, DRAM_MEM_2_SIZE, 0, false }, /* MRC0 DRAM for USDHC2 DID6 */
235*91f16700Schasinglulu 	{ 0, 7, 2, DRAM_MEM_2_START, DRAM_MEM_2_SIZE, 0, false }, /* MRC0 DRAM for eDMA DID7 */
236*91f16700Schasinglulu 	{ 0, 10, 2, DRAM_MEM_2_START, DRAM_MEM_2_SIZE, 0, false }, /* MRC0 DRAM for SoC masters DID10 */
237*91f16700Schasinglulu 	{ 0, 11, 2, DRAM_MEM_2_START, DRAM_MEM_2_SIZE, 0, false }, /* MRC0 DRAM for USB DID11 */
238*91f16700Schasinglulu 
239*91f16700Schasinglulu };
240*91f16700Schasinglulu #else
241*91f16700Schasinglulu struct trdc_mrc_config trdc_n_mrc[] = {
242*91f16700Schasinglulu 	{ 0, 0, 0, 0x80000000, 0x80000000, 0, false }, /* MRC0 DRAM for S400 DID0 */
243*91f16700Schasinglulu 	{ 0, 1, 0, 0x80000000, 0x80000000, 0, false }, /* MRC0 DRAM for MTR DID1 */
244*91f16700Schasinglulu 	{ 0, 2, 0, 0x80000000, 0x80000000, 0, true }, /* MRC0 DRAM for M33 DID2 */
245*91f16700Schasinglulu 	{ 0, 3, 0, 0x80000000, 0x80000000, 1, false }, /* MRC0 DRAM for A55 DID3 */
246*91f16700Schasinglulu 	{ 0, 5, 0, 0x80000000, 0x80000000, 0, false }, /* MRC0 DRAM for USDHC1 DID5 */
247*91f16700Schasinglulu 	{ 0, 6, 0, 0x80000000, 0x80000000, 0, false }, /* MRC0 DRAM for USDHC2 DID6 */
248*91f16700Schasinglulu 	{ 0, 7, 0, 0x80000000, 0x80000000, 0, false }, /* MRC0 DRAM for eDMA DID7 */
249*91f16700Schasinglulu 	{ 0, 8, 0, 0x80000000, 0x80000000, 1, false }, /* MRC0 DRAM for Coresight, Testport DID8 */
250*91f16700Schasinglulu 	{ 0, 9, 0, 0x80000000, 0x80000000, 1, false }, /* MRC0 DRAM for DAP DID9 */
251*91f16700Schasinglulu 	{ 0, 10, 0, 0x80000000, 0x80000000, 0, false }, /* MRC0 DRAM for SoC masters DID10 */
252*91f16700Schasinglulu 	{ 0, 11, 0, 0x80000000, 0x80000000, 0, false }, /* MRC0 DRAM for USB DID11 */
253*91f16700Schasinglulu };
254*91f16700Schasinglulu #endif
255