Secure Area:
CR7 and CM33 Area:
H.264 Encode/Decode Area:
LCD Frame Buffer area
DDR Restricted Area (beginning of DDR)
Default DDR RZ/G2L Memory Map in the BSP β β |
βββββββββββββββββββββββββββββββββββββββββ0x40000000
β unused (DDR controller) β
βββββββββββββββββββββββββββββββββββββββββ€0x40010000
β CM33 β
βββββββββββββββββββββββββββββββββββββββββ€0x43F00000
β BL31 Secure Monitor (2MB) β
βββββββββββββββββββββββββββββββββββββββββ€0x44100000
β BL32 (OP-TEE) (61MB) β
βββββββββββββββββββββββββββββββββββββββββ€0x47E00000
β unused β
βββββββββββββββββββββββββββββββββββββββββ€0x48000000
β BL33 (u-boot) and Linux (1.99GB) β
βββββββββββββββββββββββββββββββββββββββββ0x80000000 |
Item | QSPI boot | eMMC bootΒ (1) | eSD boot | Execution address | Secure / Non-secure (security package) |
---|---|---|---|---|---|
Boot parametersΒ (3) | 0x0 | sector 0 | sector 1 | 0x11E00-12000Β (2) | Secure |
BL2Β (3) | 0x200 | sector 1 | sector 8 | 0x12000-0x2EFFFΒ (5) | |
BL31 (Secure Monitor) | 0x1D200 | sector 256 | sector 128 | 0x44000000-0x44040000 | Secure |
BL32 (OP-TEE) | 0x4410000-0x47E00000 | Secure | |||
BL33 (u-boot) | 0x50000000-0x58000000Β (4) | Non-secure | |||
u-boot environment variables | eMMC boot partition 2 | NA | NA | ||
Linux | Many options | 0x48000000-end | Non-secure |
(1)Β Boot partition selected by [179] field (PARTITION CONFIG) of the EXT_CSD register. eMMC / SD sector size = 512bytes
(2)Β Boot parameters are not executed, just copied
(3)Β These addresses are fixed and cannot be configured
(4)Β Relocated at the end of the DDR
(5)Β For secure boot, actual BL2 code starts at 0x13000, at 0x12000 there's the key certificate and at 0x12400 the code certificate
Item | Cortex-M33 address | Cortex-A55 address |
---|---|---|
Non-secure vector table | 0x10000-0x107FF | 0x10000-0x107FF |
Secure vector table | 0x1001FF80-0x1001FFFF | 0x1FF80-1FFFF |
Non-secure code | 0x60010000-0x6010FFFF | 0x40010000-0x4010FFFF |
Secure code | 0x72EFF440-0x72EFF7FF | 0x42EFF440-0x42EFF7FF |
Non-secure data | 0x600110000-0x72EFF43F | 0x40110000-0x42EFF43F |
Secure data | 0x72EFF800-0x72EFFFFF | 0x42EFF800-0x42EFFFFF |
OpenAMP resource table | 0x62F00000-0x62F0FFF | 0x42F00000-0x42F0FFF |
OpenAMP vring | 0x63000000-0x637FFFFF | 0x43000000-0x437FFFFF |
MHU shared memory | 0x62F01000-0x62F01FFF | 0x42F01000-0x42F01FFF |
Start Address and size of Trusted Firmware (BL31):
/* Trusted Firmware(BL31) secure DRAM 0x43F00000 - 0x440FFFFF */
#define PLAT_FW_TZC_PROT_DRAM1_BASE (0x43F00000)
#define PLAT_FW_TZC_PROT_DRAM1_SIZE (0x00200000)
/*******************************************************************************
* BL31 specific defines.
******************************************************************************/
#define BL31_BASE (0x44000000)
#define BL31_LIMIT (0x44040000)
Start Address and size of OP-TEE (BL32):
/* OP-TEE secure DRAM 0x44100000 - 0x47DFFFFF */
#define PLAT_TEE_TZC_PROT_DRAM1_BASE (0x44100000)
#define PLAT_TEE_TZC_PROT_DRAM1_SIZE (0x03D00000)
/*******************************************************************************
* BL32 specific defines.
******************************************************************************/
#ifndef SPD_none
#define BL32_BASE (0x44100000)
#define BL32_LIMIT (BL32_BASE + 0x100000)
#endif
Remove OP-TEE Area (optional)
diff --git a/plat/renesas/rz/common/plat_security.c b/plat/renesas/rz/common/plat_security.c
index 4e9c96f81..35a4910c0 100755
--- a/plat/renesas/rz/common/plat_security.c
+++ b/plat/renesas/rz/common/plat_security.c
@@ -115,8 +115,10 @@ static void bl2_security_setup(void)
const arm_tzc_regions_info_t ddr_tzc_regions[] = {
{PLAT_FW_TZC_PROT_DRAM1_BASE, PLAT_FW_TZC_PROT_DRAM1_END,
TZC_REGION_S_RDWR, PLAT_TZC_REGION_ACCESS_S_UNPRIV},
+#if 0
{PLAT_TEE_TZC_PROT_DRAM1_BASE, PLAT_TEE_TZC_PROT_DRAM1_END,
TZC_REGION_S_RDWR, PLAT_TZC_REGION_ACCESS_S_UNPRIV},
+#endif
{}
};
memory@48000000 {
device_type = "memory";
/* first 128MB is reserved for secure area. */
reg = <0 0x48000000 0 0x78000000>;
};
#define DRAM_RSV_SIZE 0x08000000 /* 128MB by default */
memory Node
memory@48000000 {
device_type = "memory";
/* first 128MB is reserved for secure area. */
reg = <0x0 0x48000000 0x0 0x78000000>;
};
linux,cma Node
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
reserved: linux,cma@58000000 {
compatible = "shared-dma-pool";
linux,cma-default;
reusable;
reg = <0x0 0x58000000 0x0 0x10000000>;
};
};
linux,multimedia Node
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
mmp_reserved: linux,multimedia {
compatible = "shared-dma-pool";
reusable;
reg = <0x00000000 0x68000000 0x0 0x8000000>;
};
};
|
|
Table of Contents |
---|