From 6db22b33e71b19e6828d45ab978748627ff3cabd Mon Sep 17 00:00:00 2001 From: Joseph Chen Date: Wed, 22 May 2019 10:41:36 +0800 Subject: [PATCH] rockchip: rk3326: add AArch32 execution state support Support boot ARMv8 based RK3326 on AARCH32 state Change-Id: Ifb788ba71057f4f72dba9e1071c3609308644a9b Signed-off-by: Joseph Chen --- arch/arm/mach-rockchip/Kconfig | 6 +++--- arch/arm/mach-rockchip/px30/px30.c | 5 ++++- include/configs/px30_common.h | 9 +++++++++ 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig index 040a117dec..7e08cc11f1 100644 --- a/arch/arm/mach-rockchip/Kconfig +++ b/arch/arm/mach-rockchip/Kconfig @@ -2,13 +2,13 @@ if ARCH_ROCKCHIP config ROCKCHIP_PX30 bool "Support Rockchip PX30" - select ARM64 + select ARM64 if !ARM64_BOOT_AARCH32 select GICV2 select ARM_SMCCC select SUPPORT_SPL select SUPPORT_TPL - select SPL - select TPL + select SPL if !ARM64_BOOT_AARCH32 + select TPL if !ARM64_BOOT_AARCH32 select TPL_TINY_FRAMEWORK if TPL imply SPL_SERIAL_SUPPORT diff --git a/arch/arm/mach-rockchip/px30/px30.c b/arch/arm/mach-rockchip/px30/px30.c index 84bf8cb7a6..61ddf63e3e 100644 --- a/arch/arm/mach-rockchip/px30/px30.c +++ b/arch/arm/mach-rockchip/px30/px30.c @@ -11,7 +11,6 @@ #include #include #include -#include #include #include #include @@ -26,6 +25,9 @@ #define QOS_PRIORITY_LEVEL(h, l) ((((h) & 3) << 8) | ((l) & 3)) +#ifdef CONFIG_ARM64 +#include + static struct mm_region px30_mem_map[] = { { .virt = 0x0UL, @@ -47,6 +49,7 @@ static struct mm_region px30_mem_map[] = { }; struct mm_region *mem_map = px30_mem_map; +#endif int arch_cpu_init(void) { diff --git a/include/configs/px30_common.h b/include/configs/px30_common.h index 4a4e72ba75..2569a5cb0f 100644 --- a/include/configs/px30_common.h +++ b/include/configs/px30_common.h @@ -52,6 +52,7 @@ #define CONFIG_USB_FUNCTION_MASS_STORAGE #define CONFIG_ROCKUSB_G_DNL_PID 0x330d +#ifdef CONFIG_ARM64 #define ENV_MEM_LAYOUT_SETTINGS \ "scriptaddr=0x00500000\0" \ "pxefile_addr_r=0x00600000\0" \ @@ -59,6 +60,14 @@ "kernel_addr_r=0x00280000\0" \ "kernel_addr_c=0x03e80000\0" \ "ramdisk_addr_r=0x0a200000\0" +#else +#define ENV_MEM_LAYOUT_SETTINGS \ + "scriptaddr=0x00000000\0" \ + "pxefile_addr_r=0x00100000\0" \ + "fdt_addr_r=0x08300000\0" \ + "kernel_addr_r=0x02008000\0" \ + "ramdisk_addr_r=0x0a200000\0" +#endif #include #define CONFIG_EXTRA_ENV_SETTINGS \