[U-Boot] [PATCH 1/2] rockchip: rk3328: set DDR as non-secure in SPL
Matwey V. Kornilov
matwey.kornilov at gmail.com
Mon Jul 29 09:18:18 UTC 2019
From: Kever Yang <kever.yang at rock-chips.com>
Set DDR as non-secure so that MMC DMA can access.
Signed-off-by: Kever Yang <kever.yang at rock-chips.com>
[cherry picked from https://github.com/rockchip-linux/u-boot/commit/bfe741ab9eb4f97371a4e6c24185419d57a3a75f and https://github.com/rockchip-linux/u-boot/commit/73d952acc8cc1ddad6652ba71895d9fe928c1e4b with minor modifications]
Signed-off-by: Matwey V. Kornilov <matwey.kornilov at gmail.com>
---
arch/arm/mach-rockchip/rk3328/rk3328.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/arm/mach-rockchip/rk3328/rk3328.c b/arch/arm/mach-rockchip/rk3328/rk3328.c
index 592f287613..c2448d7273 100644
--- a/arch/arm/mach-rockchip/rk3328/rk3328.c
+++ b/arch/arm/mach-rockchip/rk3328/rk3328.c
@@ -16,6 +16,7 @@ DECLARE_GLOBAL_DATA_PTR;
#define CRU_BASE 0xFF440000
#define GRF_BASE 0xFF100000
#define UART2_BASE 0xFF130000
+#define FW_DDR_CON_REG 0xFF7C0040
const char * const boot_devices[BROM_LAST_BOOTSOURCE + 1] = {
[BROM_BOOTSOURCE_EMMC] = "rksdmmc at ff520000",
@@ -46,8 +47,12 @@ struct mm_region *mem_map = rk3328_mem_map;
int arch_cpu_init(void)
{
+#ifdef CONFIG_SPL_BUILD
/* We do some SoC one time setting here. */
+ /* Disable the ddr secure region setting to make it non-secure */
+ rk_setreg(FW_DDR_CON_REG, 0x200);
+#endif
return 0;
}
--
2.16.4
More information about the U-Boot
mailing list