[U-Boot] [PATCH v3 04/10] vexpress64: fvp dram: add DRAM configuration
Ryan Harkin
ryan.harkin at linaro.org
Thu Oct 1 19:49:13 CEST 2015
I'm sorry about this, it's becoming embarassing: I've dropped the
maintainer hunk this time.
I'll stop posting until my jetlag subsides and make sure I've covered all
the bases.
Apologies.
On 1 October 2015 at 18:43, Ryan Harkin <ryan.harkin at linaro.org> wrote:
> Create an additional FVP configuration to boot images pre-loaded into
> DRAM.
>
> Sometimes it's preferential to boot the model by loading the files
> directly into DRAM via model parameters, rather than using
> SemiHosting.
>
> An example of model parmaters that are used to pre-load the files
> into DRAM:
> --data cluster0.cpu0=Image at 0x80080000 \
> --data cluster0.cpu0=fvp-base-gicv2-psci.dtb at 0x83000000 \
> --data cluster0.cpu0=uInitrd at 0x84000000
>
> Signedoff-by: Ryan Harkin <ryan.harkin at linaro.org>
> Reviewed-by: Linus Walleij <linus.walleij at linaro.org>
> CC: David Feng <fenghua at phytium.com.cn>
> CC: Bhupesh Sharma <bhupesh.sharma at freescale.com>
> CC: Linus Walleij <linus.walleij at linaro.org>
> ---
> arch/arm/Kconfig | 4 ++++
> configs/vexpress_aemv8a_dram_defconfig | 19 +++++++++++++++++++
> include/configs/vexpress_aemv8a.h | 25 +++++++++++++++++++++++--
> 3 files changed, 46 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 0b07e08..bc16546 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -563,6 +563,10 @@ config TARGET_VEXPRESS64_BASE_FVP
> select ARM64
> select SEMIHOSTING
>
> +config TARGET_VEXPRESS64_BASE_FVP_DRAM
> + bool "Support Versatile Express ARMv8a FVP BASE model booting from
> DRAM"
> + select ARM64
> +
> config TARGET_VEXPRESS64_JUNO
> bool "Support Versatile Express Juno Development Platform"
> select ARM64
> diff --git a/configs/vexpress_aemv8a_dram_defconfig
> b/configs/vexpress_aemv8a_dram_defconfig
> new file mode 100644
> index 0000000..e9fc870
> --- /dev/null
> +++ b/configs/vexpress_aemv8a_dram_defconfig
> @@ -0,0 +1,19 @@
> +CONFIG_ARM=y
> +CONFIG_TARGET_VEXPRESS64_BASE_FVP_DRAM=y
> +CONFIG_SYS_MALLOC_F_LEN=0x2000
> +CONFIG_DEFAULT_DEVICE_TREE="vexpress64"
> +# 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_LOADS is not set
> +# CONFIG_CMD_FLASH is not set
> +# CONFIG_CMD_FPGA is not set
> +# CONFIG_CMD_ITEST is not set
> +# CONFIG_CMD_SETEXPR is not set
> +# CONFIG_CMD_NFS is not set
> +# CONFIG_CMD_MISC is not set
> +CONFIG_DM=y
> +CONFIG_DM_SERIAL=y
> +CONFIG_SYS_PROMPT="VExpress64# "
> diff --git a/include/configs/vexpress_aemv8a.h
> b/include/configs/vexpress_aemv8a.h
> index 53b0f74..0228732 100644
> --- a/include/configs/vexpress_aemv8a.h
> +++ b/include/configs/vexpress_aemv8a.h
> @@ -30,7 +30,8 @@
> #define CONFIG_BOOTP_VCI_STRING
> "U-boot.armv8.vexpress_aemv8a"
>
> /* Link Definitions */
> -#ifdef CONFIG_TARGET_VEXPRESS64_BASE_FVP
> +#if defined(CONFIG_TARGET_VEXPRESS64_BASE_FVP) || \
> + defined(CONFIG_TARGET_VEXPRESS64_BASE_FVP_DRAM)
> /* 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)
> @@ -101,7 +102,8 @@
> #define GICR_BASE (0x2f100000)
> #else
>
> -#ifdef CONFIG_TARGET_VEXPRESS64_BASE_FVP
> +#if defined(CONFIG_TARGET_VEXPRESS64_BASE_FVP) || \
> + defined(CONFIG_TARGET_VEXPRESS64_BASE_FVP_DRAM)
> #define GICD_BASE (0x2f000000)
> #define GICC_BASE (0x2c000000)
> #elif CONFIG_TARGET_VEXPRESS64_JUNO
> @@ -231,6 +233,25 @@
>
> #define CONFIG_BOOTDELAY 1
>
> +#elif CONFIG_TARGET_VEXPRESS64_BASE_FVP_DRAM
> +#define CONFIG_EXTRA_ENV_SETTINGS \
> + "kernel_addr=0x80080000\0" \
> + "initrd_addr=0x84000000\0" \
> + "fdt_addr=0x83000000\0" \
> + "fdt_high=0xffffffffffffffff\0" \
> + "initrd_high=0xffffffffffffffff\0"
> +
> +#define CONFIG_BOOTARGS "console=ttyAMA0
> earlyprintk=pl011,"\
> + "0x1c090000 debug user_debug=31 "\
> + "androidboot.hardware=fvpbase "\
> + "root=/dev/vda2 rw "\
> + "rootwait "\
> + "loglevel=9"
> +
> +#define CONFIG_BOOTCOMMAND "booti $kernel_addr $initrd_addr $fdt_addr"
> +
> +#define CONFIG_BOOTDELAY 1
> +
> #else
> #error "Unknown board variant"
> #endif
> --
> 2.1.0
>
>
More information about the U-Boot
mailing list