12368d7b1SJacky Bai /* 22368d7b1SJacky Bai * Copyright 2022-2023 NXP 32368d7b1SJacky Bai * 42368d7b1SJacky Bai * SPDX-License-Identifier: BSD-3-Clause 52368d7b1SJacky Bai */ 62368d7b1SJacky Bai 72368d7b1SJacky Bai #include <drivers/nxp/trdc/imx_trdc.h> 82368d7b1SJacky Bai 92368d7b1SJacky Bai #define TRDC_A_BASE U(0x44270000) 102368d7b1SJacky Bai #define TRDC_W_BASE U(0x42460000) 112368d7b1SJacky Bai #define TRDC_M_BASE U(0x42460000) 122368d7b1SJacky Bai #define TRDC_N_BASE U(0x49010000) 132368d7b1SJacky Bai 142368d7b1SJacky Bai /* GLBAC7 is used for TRDC only, any setting to GLBAC7 will be ignored */ 152368d7b1SJacky Bai 162368d7b1SJacky Bai /* aonmix */ 172368d7b1SJacky Bai struct trdc_glbac_config trdc_a_mbc_glbac[] = { 182368d7b1SJacky Bai /* MBC0 */ 192368d7b1SJacky Bai { 0, 0, SP(RW) | SU(RW) | NP(RW) | NU(RW) }, 202368d7b1SJacky Bai /* MBC1 */ 212368d7b1SJacky Bai { 1, 0, SP(RW) | SU(RW) | NP(RW) | NU(RW) }, 222368d7b1SJacky Bai { 1, 1, SP(RW) | SU(R) | NP(RW) | NU(R) }, 232368d7b1SJacky Bai { 1, 2, SP(RWX) | SU(RWX) | NP(RWX) | NU(RWX) }, 242368d7b1SJacky Bai }; 252368d7b1SJacky Bai 262368d7b1SJacky Bai struct trdc_mbc_config trdc_a_mbc[] = { 272368d7b1SJacky Bai { 0, 0, 0, MBC_BLK_ALL, 0, true }, /* MBC0 AIPS1 for S401 DID0 */ 282368d7b1SJacky Bai { 0, 0, 1, MBC_BLK_ALL, 0, true }, /* MBC0 Sentinel_SOC_In for S401 DID0 */ 292368d7b1SJacky Bai { 0, 0, 2, MBC_BLK_ALL, 0, true }, /* MBC0 GPIO1 for S401 DID0 */ 302368d7b1SJacky Bai { 1, 0, 0, MBC_BLK_ALL, 0, true }, /* MBC1 CM33 code TCM for S401 DID0 */ 312368d7b1SJacky Bai { 1, 0, 1, MBC_BLK_ALL, 0, true }, /* MBC1 CM33 system TCM for S401 DID0 */ 322368d7b1SJacky Bai 332368d7b1SJacky Bai { 0, 1, 0, MBC_BLK_ALL, 0, true }, /* MBC0 AIPS1 for MTR DID1 */ 342368d7b1SJacky Bai { 0, 1, 1, MBC_BLK_ALL, 0, true }, /* MBC0 Sentinel_SOC_In for MTR DID1 */ 352368d7b1SJacky Bai 362368d7b1SJacky Bai { 0, 2, 0, MBC_BLK_ALL, 0, true }, /* MBC0 AIPS1 for M33 DID2 */ 372368d7b1SJacky Bai { 0, 2, 1, MBC_BLK_ALL, 0, true }, /* MBC0 Sentinel_SOC_In for M33 DID2 */ 382368d7b1SJacky Bai { 0, 2, 2, MBC_BLK_ALL, 0, true }, /* MBC0 GPIO1 for M33 DID2 */ 392368d7b1SJacky Bai { 1, 2, 0, MBC_BLK_ALL, 2, true }, /* MBC1 CM33 code TCM for M33 DID2 */ 402368d7b1SJacky Bai { 1, 2, 1, MBC_BLK_ALL, 2, true }, /* MBC1 CM33 system TCM for M33 DID2 */ 412368d7b1SJacky Bai 422368d7b1SJacky Bai { 0, 3, 0, MBC_BLK_ALL, 0, false }, /* MBC0 AIPS1 for A55 DID3 */ 43*c6bf9289SYe Li { 0, 3, 0, 79, 0, true }, /* MBC0 AIPS1 BLK_CTRL_S_AONMIX for A55 DID3 */ 442368d7b1SJacky Bai { 0, 3, 1, MBC_BLK_ALL, 0, false }, /* MBC0 Sentinel_SOC_In for A55 DID3 */ 452368d7b1SJacky Bai { 0, 3, 2, MBC_BLK_ALL, 0, false }, /* MBC0 GPIO1 for A55 DID3 */ 462368d7b1SJacky Bai { 1, 3, 0, MBC_BLK_ALL, 1, false }, /* MBC1 CM33 code TCM for A55 DID3 */ 472368d7b1SJacky Bai { 1, 3, 1, MBC_BLK_ALL, 1, false }, /* MBC1 CM33 system TCM for A55 DID3 */ 483d3b769aSYangbo Lu { 1, 10, 1, MBC_BLK_ALL, 2, false }, /* MBC1 CM33 system TCM for SoC masters DID10 */ 492368d7b1SJacky Bai 502368d7b1SJacky Bai { 0, 7, 0, MBC_BLK_ALL, 0, false }, /* MBC0 AIPS1 for eDMA DID7 */ 512368d7b1SJacky Bai }; 522368d7b1SJacky Bai 532368d7b1SJacky Bai struct trdc_glbac_config trdc_a_mrc_glbac[] = { 542368d7b1SJacky Bai { 0, 0, SP(RWX) | SU(RWX) | NP(RWX) | NU(RWX) }, 552368d7b1SJacky Bai { 0, 1, SP(R) | SU(0) | NP(R) | NU(0) }, 562368d7b1SJacky Bai }; 572368d7b1SJacky Bai 582368d7b1SJacky Bai struct trdc_mrc_config trdc_a_mrc[] = { 592368d7b1SJacky Bai { 0, 2, 0, 0x00000000, 0x00040000, 0, true }, /* MRC0 M33 ROM for M33 DID2 */ 602368d7b1SJacky Bai { 0, 3, 0, 0x00100000, 0x00040000, 1, true }, /* MRC0 M33 ROM for A55 DID3 */ 612368d7b1SJacky Bai }; 622368d7b1SJacky Bai 632368d7b1SJacky Bai /* wakeupmix */ 642368d7b1SJacky Bai struct trdc_glbac_config trdc_w_mbc_glbac[] = { 652368d7b1SJacky Bai /* MBC0 */ 662368d7b1SJacky Bai { 0, 0, SP(RW) | SU(RW) | NP(RW) | NU(RW) }, 672368d7b1SJacky Bai /* MBC1 */ 682368d7b1SJacky Bai { 1, 0, SP(RW) | SU(RW) | NP(RW) | NU(RW) }, 692368d7b1SJacky Bai }; 702368d7b1SJacky Bai 712368d7b1SJacky Bai struct trdc_mbc_config trdc_w_mbc[] = { 722368d7b1SJacky Bai { 0, 1, 0, MBC_BLK_ALL, 0, true }, /* MBC0 AIPS2 for MTR DID1 */ 732368d7b1SJacky Bai { 1, 1, 0, MBC_BLK_ALL, 0, true }, /* MBC1 AIPS3 for MTR DID1 */ 742368d7b1SJacky Bai 752368d7b1SJacky Bai { 0, 2, 0, MBC_BLK_ALL, 0, true }, /* MBC0 AIPS2 for M33 DID2 */ 762368d7b1SJacky Bai { 0, 2, 1, MBC_BLK_ALL, 0, true }, /* MBC0 GPIO2_In for M33 DID2 */ 772368d7b1SJacky Bai { 0, 2, 2, MBC_BLK_ALL, 0, true }, /* MBC0 GPIO3 for M33 DID2 */ 782368d7b1SJacky Bai { 0, 2, 3, MBC_BLK_ALL, 0, true }, /* MBC0 DAP for M33 DID2 */ 792368d7b1SJacky Bai { 1, 2, 0, MBC_BLK_ALL, 0, true }, /* MBC1 AIPS3 for M33 DID2 */ 802368d7b1SJacky Bai { 1, 2, 1, MBC_BLK_ALL, 0, true }, /* MBC1 AHB_ISPAP for M33 DID2 */ 812368d7b1SJacky Bai { 1, 2, 2, MBC_BLK_ALL, 0, true }, /* MBC1 NIC_MAIN_GPV for M33 DID2 */ 822368d7b1SJacky Bai { 1, 2, 3, MBC_BLK_ALL, 0, true }, /* MBC1 GPIO4 for M33 DID2 */ 832368d7b1SJacky Bai 842368d7b1SJacky Bai { 0, 3, 0, MBC_BLK_ALL, 0, false }, /* MBC0 AIPS2 for A55 DID3 */ 852368d7b1SJacky Bai { 0, 3, 1, MBC_BLK_ALL, 0, false }, /* MBC0 GPIO2_In for A55 DID3 */ 862368d7b1SJacky Bai { 0, 3, 2, MBC_BLK_ALL, 0, false }, /* MBC0 GPIO3 for A55 DID3 */ 872368d7b1SJacky Bai { 0, 3, 3, MBC_BLK_ALL, 0, false }, /* MBC0 DAP for A55 DID3 */ 882368d7b1SJacky Bai { 1, 3, 0, MBC_BLK_ALL, 0, false }, /* MBC1 AIPS3 for A55 DID3 */ 892368d7b1SJacky Bai { 1, 3, 1, MBC_BLK_ALL, 0, false }, /* MBC1 AHB_ISPAP for A55 DID3 */ 902368d7b1SJacky Bai { 1, 3, 2, MBC_BLK_ALL, 0, true }, /* MBC1 NIC_MAIN_GPV for A55 DID3 */ 912368d7b1SJacky Bai { 1, 3, 3, MBC_BLK_ALL, 0, false }, /* MBC1 GPIO4 for A55 DID3 */ 922368d7b1SJacky Bai 932368d7b1SJacky Bai { 0, 7, 0, MBC_BLK_ALL, 0, false }, /* MBC0 AIPS2 for eDMA DID7 */ 942368d7b1SJacky Bai { 1, 7, 0, MBC_BLK_ALL, 0, false }, /* MBC1 AIPS3 for eDMA DID7 */ 952368d7b1SJacky Bai }; 962368d7b1SJacky Bai 972368d7b1SJacky Bai struct trdc_glbac_config trdc_w_mrc_glbac[] = { 982368d7b1SJacky Bai /* MRC0 */ 992368d7b1SJacky Bai { 0, 0, SP(RX) | SU(RX) | NP(RX) | NU(RX) }, 1002368d7b1SJacky Bai /* MRC1 */ 1012368d7b1SJacky Bai { 1, 0, SP(RWX) | SU(RWX) | NP(RWX) | NU(RWX) }, 1022368d7b1SJacky Bai }; 1032368d7b1SJacky Bai 1042368d7b1SJacky Bai struct trdc_mrc_config trdc_w_mrc[] = { 1052368d7b1SJacky Bai { 0, 3, 0, 0x00000000, 0x00040000, 0, false }, /* MRC0 A55 ROM for A55 DID3 */ 1062368d7b1SJacky Bai { 1, 2, 0, 0x28000000, 0x08000000, 0, true }, /* MRC1 FLEXSPI1 for M33 DID2 */ 1072368d7b1SJacky Bai { 1, 3, 0, 0x28000000, 0x08000000, 0, false }, /* MRC1 FLEXSPI1 for A55 DID3 */ 1082368d7b1SJacky Bai }; 1092368d7b1SJacky Bai 1102368d7b1SJacky Bai /* nicmix */ 1112368d7b1SJacky Bai struct trdc_glbac_config trdc_n_mbc_glbac[] = { 1122368d7b1SJacky Bai /* MBC0 */ 1132368d7b1SJacky Bai { 0, 0, SP(RW) | SU(RW) | NP(RW) | NU(RW) }, 1142368d7b1SJacky Bai /* MBC1 */ 1152368d7b1SJacky Bai { 1, 0, SP(RW) | SU(RW) | NP(RW) | NU(RW) }, 1162368d7b1SJacky Bai /* MBC2 */ 1172368d7b1SJacky Bai { 2, 0, SP(RW) | SU(RW) | NP(RW) | NU(RW) }, 1182368d7b1SJacky Bai { 2, 1, SP(R) | SU(R) | NP(R) | NU(R) }, 1192368d7b1SJacky Bai /* MBC3 */ 1202368d7b1SJacky Bai { 3, 0, SP(RW) | SU(RW) | NP(RW) | NU(RW) }, 1212368d7b1SJacky Bai { 3, 1, SP(RWX) | SU(RWX) | NP(RWX) | NU(RWX) }, 1222368d7b1SJacky Bai }; 1232368d7b1SJacky Bai 1242368d7b1SJacky Bai struct trdc_mbc_config trdc_n_mbc[] = { 1252368d7b1SJacky Bai { 0, 0, 0, MBC_BLK_ALL, 0, true }, /* MBC0 DDRCFG for S401 DID0 */ 1262368d7b1SJacky Bai { 0, 0, 1, MBC_BLK_ALL, 0, true }, /* MBC0 AIPS4 for S401 DID0 */ 1272368d7b1SJacky Bai { 0, 0, 2, MBC_BLK_ALL, 0, true }, /* MBC0 MEDIAMIX for S401 DID0 */ 1282368d7b1SJacky Bai { 0, 0, 3, MBC_BLK_ALL, 0, true }, /* MBC0 HSIOMIX for S401 DID0 */ 1292368d7b1SJacky Bai { 1, 0, 0, MBC_BLK_ALL, 0, true }, /* MBC1 MTR_DCA, TCU, TROUT for S401 DID0 */ 1302368d7b1SJacky Bai { 1, 0, 1, MBC_BLK_ALL, 0, true }, /* MBC1 MTR_DCA, TCU, TROUT for S401 DID0 */ 1312368d7b1SJacky Bai { 1, 0, 2, MBC_BLK_ALL, 0, true }, /* MBC1 MLMIX for S401 DID0 */ 1322368d7b1SJacky Bai { 1, 0, 3, MBC_BLK_ALL, 0, true }, /* MBC1 MLMIX for S401 DID0 */ 1332368d7b1SJacky Bai { 2, 0, 0, MBC_BLK_ALL, 0, true }, /* MBC2 GIC for S401 DID0 */ 1342368d7b1SJacky Bai { 2, 0, 1, MBC_BLK_ALL, 0, true }, /* MBC2 GIC for S401 DID0 */ 1352368d7b1SJacky Bai { 3, 0, 0, MBC_BLK_ALL, 0, true }, /* MBC3 OCRAM for S401 DID0 */ 1362368d7b1SJacky Bai { 3, 0, 1, MBC_BLK_ALL, 0, true }, /* MBC3 OCRAM for S401 DID0 */ 1372368d7b1SJacky Bai 1382368d7b1SJacky Bai { 0, 1, 0, MBC_BLK_ALL, 0, true }, /* MBC0 DDRCFG for MTR DID1 */ 1392368d7b1SJacky Bai { 0, 1, 1, MBC_BLK_ALL, 0, true }, /* MBC0 AIPS4 for MTR DID1 */ 1402368d7b1SJacky Bai { 0, 1, 2, MBC_BLK_ALL, 0, true }, /* MBC0 MEDIAMIX for MTR DID1 */ 1412368d7b1SJacky Bai { 0, 1, 3, MBC_BLK_ALL, 0, true }, /* MBC0 HSIOMIX for MTR DID1 */ 1422368d7b1SJacky Bai { 1, 1, 0, MBC_BLK_ALL, 0, true }, /* MBC1 MTR_DCA, TCU, TROUT for MTR DID1 */ 1432368d7b1SJacky Bai { 1, 1, 1, MBC_BLK_ALL, 0, true }, /* MBC1 MTR_DCA, TCU, TROUT for MTR DID1 */ 1442368d7b1SJacky Bai { 1, 1, 2, MBC_BLK_ALL, 0, true }, /* MBC1 MLMIX for MTR DID1 */ 1452368d7b1SJacky Bai { 1, 1, 3, MBC_BLK_ALL, 0, true }, /* MBC1 MLMIX for MTR DID1 */ 1462368d7b1SJacky Bai 1472368d7b1SJacky Bai { 0, 2, 0, MBC_BLK_ALL, 0, true }, /* MBC0 DDRCFG for M33 DID2 */ 1482368d7b1SJacky Bai { 0, 2, 1, MBC_BLK_ALL, 0, true }, /* MBC0 AIPS4 for M33 DID2 */ 1492368d7b1SJacky Bai { 0, 2, 2, MBC_BLK_ALL, 0, true }, /* MBC0 MEDIAMIX for M33 DID2 */ 1502368d7b1SJacky Bai { 0, 2, 3, MBC_BLK_ALL, 0, true }, /* MBC0 HSIOMIX for M33 DID2 */ 1512368d7b1SJacky Bai { 1, 2, 0, MBC_BLK_ALL, 0, true }, /* MBC1 MTR_DCA, TCU, TROUT for M33 DID2 */ 1522368d7b1SJacky Bai { 1, 2, 1, MBC_BLK_ALL, 0, true }, /* MBC1 MTR_DCA, TCU, TROUT for M33 DID2 */ 1532368d7b1SJacky Bai { 1, 2, 2, MBC_BLK_ALL, 0, true }, /* MBC1 MLMIX for M33 DID2 */ 1542368d7b1SJacky Bai { 1, 2, 3, MBC_BLK_ALL, 0, true }, /* MBC1 MLMIX for M33 DID2 */ 1552368d7b1SJacky Bai { 2, 2, 0, MBC_BLK_ALL, 1, true }, /* MBC2 GIC for M33 DID2 */ 1562368d7b1SJacky Bai { 2, 2, 1, MBC_BLK_ALL, 1, true }, /* MBC2 GIC for M33 DID2 */ 1572368d7b1SJacky Bai { 3, 2, 0, MBC_BLK_ALL, 0, true }, /* MBC3 OCRAM for M33 DID2 */ 1582368d7b1SJacky Bai { 3, 2, 1, MBC_BLK_ALL, 0, true }, /* MBC3 OCRAM for M33 DID2 */ 1592368d7b1SJacky Bai 1602368d7b1SJacky Bai { 0, 3, 0, MBC_BLK_ALL, 0, false }, /* MBC0 DDRCFG for A55 DID3 */ 1612368d7b1SJacky Bai { 0, 3, 1, MBC_BLK_ALL, 0, false }, /* MBC0 AIPS4 for A55 DID3 */ 1622368d7b1SJacky Bai { 0, 3, 2, MBC_BLK_ALL, 0, false }, /* MBC0 MEDIAMIX for A55 DID3 */ 1632368d7b1SJacky Bai { 0, 3, 3, MBC_BLK_ALL, 0, false }, /* MBC0 HSIOMIX for A55 DID3 */ 1642368d7b1SJacky Bai { 1, 3, 0, MBC_BLK_ALL, 0, false }, /* MBC1 MTR_DCA, TCU, TROUT for A55 DID3 */ 1652368d7b1SJacky Bai { 1, 3, 1, MBC_BLK_ALL, 0, false }, /* MBC1 MTR_DCA, TCU, TROUT for A55 DID3 */ 1662368d7b1SJacky Bai { 1, 3, 2, MBC_BLK_ALL, 0, false }, /* MBC1 MLMIX for A55 DID3 */ 1672368d7b1SJacky Bai { 1, 3, 3, MBC_BLK_ALL, 0, false }, /* MBC1 MLMIX for A55 DID3 */ 1682368d7b1SJacky Bai { 2, 3, 0, MBC_BLK_ALL, 0, false }, /* MBC2 GIC for A55 DID3 */ 1692368d7b1SJacky Bai { 2, 3, 1, MBC_BLK_ALL, 0, false }, /* MBC2 GIC for A55 DID3 */ 1702368d7b1SJacky Bai { 3, 3, 0, MBC_BLK_ALL, 1, true }, /* MBC3 OCRAM for A55 DID3 */ 1712368d7b1SJacky Bai { 3, 3, 1, MBC_BLK_ALL, 1, true }, /* MBC3 OCRAM for A55 DID3 */ 1722368d7b1SJacky Bai 1732368d7b1SJacky Bai { 3, 3, 0, 0, 0, false }, /* MBC3 OCRAM for A55 DID3 */ 1742368d7b1SJacky Bai { 3, 3, 0, 1, 0, false }, /* MBC3 OCRAM for A55 DID3 */ 1752368d7b1SJacky Bai { 3, 3, 0, 2, 0, false }, /* MBC3 OCRAM for A55 DID3 */ 1762368d7b1SJacky Bai { 3, 3, 0, 3, 0, false }, /* MBC3 OCRAM for A55 DID3 */ 1772368d7b1SJacky Bai { 3, 3, 0, 4, 0, false }, /* MBC3 OCRAM for A55 DID3 */ 1782368d7b1SJacky Bai { 3, 3, 0, 5, 0, false }, /* MBC3 OCRAM for A55 DID3 */ 1792368d7b1SJacky Bai { 3, 3, 1, 0, 0, false }, /* MBC3 OCRAM for A55 DID3 */ 1802368d7b1SJacky Bai { 3, 3, 1, 1, 0, false }, /* MBC3 OCRAM for A55 DID3 */ 1812368d7b1SJacky Bai { 3, 3, 1, 2, 0, false }, /* MBC3 OCRAM for A55 DID3 */ 1822368d7b1SJacky Bai { 3, 3, 1, 3, 0, false }, /* MBC3 OCRAM for A55 DID3 */ 1832368d7b1SJacky Bai { 3, 3, 1, 4, 0, false }, /* MBC3 OCRAM for A55 DID3 */ 1842368d7b1SJacky Bai { 3, 3, 1, 5, 0, false }, /* MBC3 OCRAM for A55 DID3 */ 1852368d7b1SJacky Bai 1862368d7b1SJacky Bai { 0, 7, 1, MBC_BLK_ALL, 0, false }, /* MBC0 AIPS4 for eDMA DID7 */ 1872368d7b1SJacky Bai { 0, 7, 2, MBC_BLK_ALL, 0, false }, /* MBC0 MEDIAMIX for eDMA DID7 */ 1882368d7b1SJacky Bai { 0, 7, 3, MBC_BLK_ALL, 0, false }, /* MBC0 HSIOMIX for eDMA DID7 */ 189eb76a241SJacky Bai 190eb76a241SJacky Bai { 3, 10, 0, MBC_BLK_ALL, 0, false }, /* MBC3 OCRAM for DID10 */ 191eb76a241SJacky Bai { 3, 10, 1, MBC_BLK_ALL, 0, false }, /* MBC3 OCRAM for DID10 */ 1922368d7b1SJacky Bai }; 1932368d7b1SJacky Bai 1942368d7b1SJacky Bai struct trdc_glbac_config trdc_n_mrc_glbac[] = { 1952368d7b1SJacky Bai { 0, 0, SP(RW) | SU(RW) | NP(RW) | NU(RW) }, 1962368d7b1SJacky Bai { 0, 1, SP(RWX) | SU(RWX) | NP(RWX) | NU(RWX) }, 1972368d7b1SJacky Bai }; 1982368d7b1SJacky Bai 199f560f843SYe Li #if defined(SPD_opteed) 200f560f843SYe Li #define TEE_SHM_SIZE 0x200000 201f560f843SYe Li 202f560f843SYe Li #define DRAM_MEM_0_START (0x80000000) 203f560f843SYe Li #define DRAM_MEM_0_SIZE (BL32_BASE - 0x80000000) 204f560f843SYe Li 205f560f843SYe Li #define DRAM_MEM_1_START (BL32_BASE) 206f560f843SYe Li #define DRAM_MEM_1_SIZE (BL32_SIZE - TEE_SHM_SIZE) 207f560f843SYe Li 208f560f843SYe Li #define DRAM_MEM_2_START (DRAM_MEM_1_START + DRAM_MEM_1_SIZE) 209f560f843SYe Li #define DRAM_MEM_2_SIZE (0x80000000 - DRAM_MEM_1_SIZE - DRAM_MEM_0_SIZE) 210f560f843SYe Li 211f560f843SYe Li struct trdc_mrc_config trdc_n_mrc[] = { 212f560f843SYe Li { 0, 0, 0, 0x80000000, 0x80000000, 0, false }, /* MRC0 DRAM for S400 DID0 */ 213f560f843SYe Li { 0, 1, 0, 0x80000000, 0x80000000, 0, false }, /* MRC0 DRAM for MTR DID1 */ 214f560f843SYe Li { 0, 2, 0, 0x80000000, 0x80000000, 0, true }, /* MRC0 DRAM for M33 DID2 */ 215f560f843SYe Li { 0, 8, 0, 0x80000000, 0x80000000, 1, false }, /* MRC0 DRAM for Coresight, Testport DID8 */ 216f560f843SYe Li { 0, 9, 0, 0x80000000, 0x80000000, 1, false }, /* MRC0 DRAM for DAP DID9 */ 217f560f843SYe Li 218f560f843SYe Li { 0, 3, 0, DRAM_MEM_0_START, DRAM_MEM_0_SIZE, 1, false }, /* MRC0 DRAM for A55 DID3 */ 219f560f843SYe Li { 0, 5, 0, DRAM_MEM_0_START, DRAM_MEM_0_SIZE, 0, false }, /* MRC0 DRAM for USDHC1 DID5 */ 220f560f843SYe Li { 0, 6, 0, DRAM_MEM_0_START, DRAM_MEM_0_SIZE, 0, false }, /* MRC0 DRAM for USDHC2 DID6 */ 221f560f843SYe Li { 0, 7, 0, DRAM_MEM_0_START, DRAM_MEM_0_SIZE, 0, false }, /* MRC0 DRAM for eDMA DID7 */ 222f560f843SYe Li { 0, 10, 0, DRAM_MEM_0_START, DRAM_MEM_0_SIZE, 0, false }, /* MRC0 DRAM for SoC masters DID10 */ 223f560f843SYe Li { 0, 11, 0, DRAM_MEM_0_START, DRAM_MEM_0_SIZE, 0, false }, /* MRC0 DRAM for USB DID11 */ 224f560f843SYe Li 225f560f843SYe Li /* OPTEE memory for secure access only. */ 226f560f843SYe Li { 0, 3, 1, DRAM_MEM_1_START, DRAM_MEM_1_SIZE, 1, true }, /* MRC0 DRAM for A55 DID3 */ 227f560f843SYe Li { 0, 5, 1, DRAM_MEM_1_START, DRAM_MEM_1_SIZE, 0, true }, /* MRC0 DRAM for USDHC1 DID5 */ 228f560f843SYe Li { 0, 6, 1, DRAM_MEM_1_START, DRAM_MEM_1_SIZE, 0, true }, /* MRC0 DRAM for USDHC2 DID6 */ 229f560f843SYe Li { 0, 7, 1, DRAM_MEM_1_START, DRAM_MEM_1_SIZE, 0, true }, /* MRC0 DRAM for eDMA DID7 */ 230f560f843SYe Li { 0, 10, 1, DRAM_MEM_1_START, DRAM_MEM_1_SIZE, 0, true }, /* MRC0 DRAM for SoC masters DID10 */ 231f560f843SYe Li { 0, 11, 1, DRAM_MEM_1_START, DRAM_MEM_1_SIZE, 0, true }, /* MRC0 DRAM for USB DID11 */ 232f560f843SYe Li 233f560f843SYe Li { 0, 3, 2, DRAM_MEM_2_START, DRAM_MEM_2_SIZE, 1, false }, /* MRC0 DRAM for A55 DID3 */ 234f560f843SYe Li { 0, 5, 2, DRAM_MEM_2_START, DRAM_MEM_2_SIZE, 0, false }, /* MRC0 DRAM for USDHC1 DID5 */ 235f560f843SYe Li { 0, 6, 2, DRAM_MEM_2_START, DRAM_MEM_2_SIZE, 0, false }, /* MRC0 DRAM for USDHC2 DID6 */ 236f560f843SYe Li { 0, 7, 2, DRAM_MEM_2_START, DRAM_MEM_2_SIZE, 0, false }, /* MRC0 DRAM for eDMA DID7 */ 237f560f843SYe Li { 0, 10, 2, DRAM_MEM_2_START, DRAM_MEM_2_SIZE, 0, false }, /* MRC0 DRAM for SoC masters DID10 */ 238f560f843SYe Li { 0, 11, 2, DRAM_MEM_2_START, DRAM_MEM_2_SIZE, 0, false }, /* MRC0 DRAM for USB DID11 */ 239f560f843SYe Li 240f560f843SYe Li }; 241f560f843SYe Li #else 2422368d7b1SJacky Bai struct trdc_mrc_config trdc_n_mrc[] = { 2432368d7b1SJacky Bai { 0, 0, 0, 0x80000000, 0x80000000, 0, false }, /* MRC0 DRAM for S400 DID0 */ 2442368d7b1SJacky Bai { 0, 1, 0, 0x80000000, 0x80000000, 0, false }, /* MRC0 DRAM for MTR DID1 */ 2452368d7b1SJacky Bai { 0, 2, 0, 0x80000000, 0x80000000, 0, true }, /* MRC0 DRAM for M33 DID2 */ 2462368d7b1SJacky Bai { 0, 3, 0, 0x80000000, 0x80000000, 1, false }, /* MRC0 DRAM for A55 DID3 */ 2472368d7b1SJacky Bai { 0, 5, 0, 0x80000000, 0x80000000, 0, false }, /* MRC0 DRAM for USDHC1 DID5 */ 2482368d7b1SJacky Bai { 0, 6, 0, 0x80000000, 0x80000000, 0, false }, /* MRC0 DRAM for USDHC2 DID6 */ 2492368d7b1SJacky Bai { 0, 7, 0, 0x80000000, 0x80000000, 0, false }, /* MRC0 DRAM for eDMA DID7 */ 2502368d7b1SJacky Bai { 0, 8, 0, 0x80000000, 0x80000000, 1, false }, /* MRC0 DRAM for Coresight, Testport DID8 */ 2512368d7b1SJacky Bai { 0, 9, 0, 0x80000000, 0x80000000, 1, false }, /* MRC0 DRAM for DAP DID9 */ 2522368d7b1SJacky Bai { 0, 10, 0, 0x80000000, 0x80000000, 0, false }, /* MRC0 DRAM for SoC masters DID10 */ 2532368d7b1SJacky Bai { 0, 11, 0, 0x80000000, 0x80000000, 0, false }, /* MRC0 DRAM for USB DID11 */ 2542368d7b1SJacky Bai }; 255f560f843SYe Li #endif 256