diff options
-rw-r--r-- | arch/arm/Kconfig | 8 | ||||
-rw-r--r-- | board/armltd/vexpress64/Kconfig | 2 | ||||
-rw-r--r-- | configs/vexpress_juno_aarch32_defconfig | 34 | ||||
-rw-r--r-- | include/configs/vexpress_aemv8a.h | 24 |
4 files changed, 59 insertions, 9 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 5df33089e7..0a6ee962d5 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -750,6 +750,7 @@ config TARGET_VEXPRESS64_BASE_FVP config TARGET_VEXPRESS64_BASE_FVP_AARCH32 bool "Support Versatile Express ARMv8a 32-bit FVP BASE model booting from DRAM" select CPU_V7 + select SEMIHOSTING help This target is derived from TARGET_VEXPRESS64_BASE_FVP and over-rides the default config to allow the user to load the images directly into @@ -760,6 +761,13 @@ config TARGET_VEXPRESS64_JUNO bool "Support Versatile Express Juno Development Platform" select ARM64 +config TARGET_VEXPRESS64_JUNO_AARCH32 + bool "Support Versatile Express Juno Development Platform in 32-bit mode" + select CPU_V7 + help + This target is derived from TARGET_VEXPRESS64_JUNO, except it uses an + ARMv7 CPU type to support booting in Aarch32 mode. + config TARGET_LS2080A_EMU bool "Support ls2080a_emu" select ARCH_LS2080A diff --git a/board/armltd/vexpress64/Kconfig b/board/armltd/vexpress64/Kconfig index a81cfbf322..f6930aee47 100644 --- a/board/armltd/vexpress64/Kconfig +++ b/board/armltd/vexpress64/Kconfig @@ -1,4 +1,4 @@ -if TARGET_VEXPRESS64_BASE_FVP || TARGET_VEXPRESS64_BASE_FVP_AARCH32 || TARGET_VEXPRESS64_JUNO +if TARGET_VEXPRESS64_BASE_FVP || TARGET_VEXPRESS64_BASE_FVP_AARCH32 || TARGET_VEXPRESS64_JUNO || TARGET_VEXPRESS64_JUNO_AARCH32 config SYS_BOARD default "vexpress64" diff --git a/configs/vexpress_juno_aarch32_defconfig b/configs/vexpress_juno_aarch32_defconfig new file mode 100644 index 0000000000..e06c101a6f --- /dev/null +++ b/configs/vexpress_juno_aarch32_defconfig @@ -0,0 +1,34 @@ +CONFIG_ARM=y +CONFIG_TARGET_VEXPRESS64_JUNO_AARCH32=y +CONFIG_SYS_MALLOC_F_LEN=0x2000 +CONFIG_IDENT_STRING=" vexpress_aemv8a juno aarch32" +CONFIG_BOOTDELAY=1 +# CONFIG_DISPLAY_CPUINFO is not set +# CONFIG_DISPLAY_BOARDINFO is not set +CONFIG_HUSH_PARSER=y +CONFIG_SYS_PROMPT="juno32# " +CONFIG_CMD_BOOTZ=y +# CONFIG_CMD_CONSOLE is not set +# CONFIG_CMD_IMLS is not set +# CONFIG_CMD_XIMG is not set +# CONFIG_CMD_EDITENV is not set +# CONFIG_CMD_ENV_EXISTS is not set +CONFIG_CMD_MEMTEST=y +CONFIG_MTD_NOR_FLASH=y +# CONFIG_CMD_LOADS is not set +CONFIG_CMD_ARMFLASH=y +# CONFIG_CMD_FPGA is not set +# CONFIG_CMD_ITEST is not set +# CONFIG_CMD_SETEXPR is not set +CONFIG_CMD_DHCP=y +# CONFIG_CMD_NFS is not set +CONFIG_CMD_MII=y +CONFIG_CMD_PING=y +CONFIG_CMD_CACHE=y +# CONFIG_CMD_MISC is not set +CONFIG_CMD_FAT=y +CONFIG_DM=y +CONFIG_DM_SERIAL=y +CONFIG_OF_LIBFDT=y +CONFIG_ARCH_FIXUP_FDT=n +CONFIG_ARCH_FIXUP_FDT_MEMORY=n diff --git a/include/configs/vexpress_aemv8a.h b/include/configs/vexpress_aemv8a.h index 0f5fc1ee36..55cc5d60d5 100644 --- a/include/configs/vexpress_aemv8a.h +++ b/include/configs/vexpress_aemv8a.h @@ -33,7 +33,8 @@ /* ATF loads u-boot here for BASE_FVP model */ #define CONFIG_SYS_TEXT_BASE 0x88000000 #define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_BASE + 0x03f00000) -#elif CONFIG_TARGET_VEXPRESS64_JUNO +#elif defined(CONFIG_TARGET_VEXPRESS64_JUNO) || \ + defined(CONFIG_TARGET_VEXPRESS64_JUNO_AARCH32) #define CONFIG_SYS_TEXT_BASE 0xe0000000 #define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_BASE + 0x7fff0) #endif @@ -61,7 +62,8 @@ #define V2M_KMI0 (V2M_PA_CS3 + V2M_PERIPH_OFFSET(6)) #define V2M_KMI1 (V2M_PA_CS3 + V2M_PERIPH_OFFSET(7)) -#ifdef CONFIG_TARGET_VEXPRESS64_JUNO +#if defined(CONFIG_TARGET_VEXPRESS64_JUNO) || \ + defined(CONFIG_TARGET_VEXPRESS64_JUNO_AARCH32) #define V2M_UART0 0x7ff80000 #define V2M_UART1 0x7ff70000 #else /* Not Juno */ @@ -102,7 +104,8 @@ #ifdef CONFIG_TARGET_VEXPRESS64_BASE_FVP #define GICD_BASE (0x2f000000) #define GICC_BASE (0x2c000000) -#elif CONFIG_TARGET_VEXPRESS64_JUNO +#elif defined(CONFIG_TARGET_VEXPRESS64_JUNO) || \ + defined(CONFIG_TARGET_VEXPRESS64_JUNO_AARCH32) #define GICD_BASE (0x2C010000) #define GICC_BASE (0x2C02f000) #endif @@ -112,7 +115,8 @@ #define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + (8 << 20)) /* Ethernet Configuration */ -#ifdef CONFIG_TARGET_VEXPRESS64_JUNO +#if defined(CONFIG_TARGET_VEXPRESS64_JUNO) || \ + defined(CONFIG_TARGET_VEXPRESS64_JUNO_AARCH32) /* The real hardware Versatile express uses SMSC9118 */ #define CONFIG_SMC911X 1 #define CONFIG_SMC911X_32_BIT 1 @@ -127,7 +131,8 @@ #define CONFIG_CONS_INDEX 0 #define CONFIG_PL01X_SERIAL #define CONFIG_PL011_SERIAL -#ifdef CONFIG_TARGET_VEXPRESS64_JUNO +#if defined(CONFIG_TARGET_VEXPRESS64_JUNO) || \ + defined(CONFIG_TARGET_VEXPRESS64_JUNO_AARCH32) #define CONFIG_PL011_CLOCK 7273800 #else #define CONFIG_PL011_CLOCK 24000000 @@ -152,7 +157,7 @@ #define PHYS_SDRAM_1_SIZE 0x80000000 - DRAM_SEC_SIZE #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 -#ifdef CONFIG_TARGET_VEXPRESS64_JUNO +#if defined(CONFIG_TARGET_VEXPRESS64_JUNO) #define CONFIG_NR_DRAM_BANKS 2 #define PHYS_SDRAM_2 (0x880000000) #define PHYS_SDRAM_2_SIZE 0x180000000 @@ -165,7 +170,8 @@ #define CONFIG_SYS_MEMTEST_END (PHYS_SDRAM_1 + PHYS_SDRAM_1_SIZE) /* Initial environment variables */ -#ifdef CONFIG_TARGET_VEXPRESS64_JUNO +#if defined(CONFIG_TARGET_VEXPRESS64_JUNO) || \ + defined(CONFIG_TARGET_VEXPRESS64_JUNO_AARCH32) /* * Defines where the kernel and FDT exist in NOR flash and where it will * be copied into DRAM @@ -192,6 +198,7 @@ "androidboot.hardware=juno "\ "loglevel=9" + /* Copy the kernel and FDT to DRAM memory and boot */ #define CONFIG_BOOTCOMMAND "afs load ${kernel_name} ${kernel_addr} ; " \ "if test $? -eq 1; then "\ @@ -265,7 +272,8 @@ #define CONFIG_CMDLINE_EDITING #define CONFIG_SYS_MAXARGS 64 /* max command args */ -#ifdef CONFIG_TARGET_VEXPRESS64_JUNO +#if defined(CONFIG_TARGET_VEXPRESS64_JUNO) || \ + defined(CONFIG_TARGET_VEXPRESS64_JUNO_AARCH32) #define CONFIG_SYS_FLASH_BASE 0x08000000 /* 255 x 256KiB sectors + 4 x 64KiB sectors at the end = 259 */ #define CONFIG_SYS_MAX_FLASH_SECT 259 |