[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