[U-Boot] [PATCH 8/8] rockchip: rk3288: make both evb variants use atf
Kever Yang
kever.yang at rock-chips.com
Tue May 7 02:28:05 UTC 2019
Hi Heiko,
On 04/05/2019 04:30 PM, Heiko Stuebner wrote:
> Enable both rk3288-evb variants to load an ATF binary between
> spl and u-boot proper.
Does this the same as aarch64 boot/load flow?
tpl->spl->atf->u-boot
>
> Doing the regular spl->u-boot load of course still stays possible
> with this change.
>
> Signed-off-by: Heiko Stuebner <heiko at sntech.de>
> ---
> board/rockchip/evb_rk3288/evb-rk3288.c | 12 +++++-
> board/rockchip/evb_rk3288/fit_spl_atf.its | 52 +++++++++++++++++++++++
Is it possible to re-use arch/arm/mach-rockchip/make_fit_atf.py?
> configs/evb-rk3288-act8846_defconfig | 9 +++-
> configs/evb-rk3288-rk808_defconfig | 9 +++-
> 4 files changed, 77 insertions(+), 5 deletions(-)
> create mode 100644 board/rockchip/evb_rk3288/fit_spl_atf.its
>
> diff --git a/board/rockchip/evb_rk3288/evb-rk3288.c b/board/rockchip/evb_rk3288/evb-rk3288.c
> index ec1d03c86c..05aea66db6 100644
> --- a/board/rockchip/evb_rk3288/evb-rk3288.c
> +++ b/board/rockchip/evb_rk3288/evb-rk3288.c
> @@ -15,4 +15,14 @@ void board_boot_order(u32 *spl_boot_list)
> spl_boot_list[1] = BOOT_DEVICE_MMC1;
> }
>
> -#endif
> \ No newline at end of file
> +#endif
> +
> +#ifdef CONFIG_SPL_LOAD_FIT
> +int board_fit_config_name_match(const char *name)
> +{
> + /* Just empty function now - can't decide what to choose */
> + debug("%s: %s\n", __func__, name);
> +
> + return 0;
> +}
> +#endif
> diff --git a/board/rockchip/evb_rk3288/fit_spl_atf.its b/board/rockchip/evb_rk3288/fit_spl_atf.its
> new file mode 100644
> index 0000000000..67aff095d6
> --- /dev/null
> +++ b/board/rockchip/evb_rk3288/fit_spl_atf.its
> @@ -0,0 +1,52 @@
> +/* SPDX-License-Identifier: GPL-2.0+ OR X11 */
> +/*
> + * Copyright (C) 2017 Theobroma Systems Design und Consulting GmbH
> + *
> + * Minimal dts for a SPL FIT image payload.
> + */
> +
> +/dts-v1/;
> +
> +/ {
> + description = "FIT image with U-Boot proper, ATF bl32, DTB";
Why you name the ATF bl32, isn't it bl31?
Thanks,
- Kever
> + #address-cells = <1>;
> +
> + images {
> + uboot {
> + description = "U-Boot (64-bit)";
> + data = /incbin/("../../../u-boot-nodtb.bin");
> + type = "standalone";
> + os = "U-Boot";
> + arch = "arm64";
> + compression = "none";
> + load = <0x00200000>;
> + };
> + atf {
> + description = "ARM Trusted Firmware";
> + data = /incbin/("../../../bl32-rk3288.bin");
> + type = "firmware";
> + os = "arm-trusted-firmware";
> + arch = "arm64";
> + compression = "none";
> + load = <0x00100000>;
> + entry = <0x00100000>;
> + };
> +
> + fdt {
> + description = "RK3288-EVB flat device-tree";
> + data = /incbin/("../../../u-boot.dtb");
> + type = "flat_dt";
> + compression = "none";
> + };
> + };
> +
> + configurations {
> + default = "conf";
> + conf {
> + description = "Rockchip RK3288-EVB";
> + firmware = "atf";
> + loadables = "uboot";
> + fdt = "fdt";
> + };
> + };
> +};
> diff --git a/configs/evb-rk3288-act8846_defconfig b/configs/evb-rk3288-act8846_defconfig
> index 9c7be78ad7..0fcdaaa697 100644
> --- a/configs/evb-rk3288-act8846_defconfig
> +++ b/configs/evb-rk3288-act8846_defconfig
> @@ -1,21 +1,26 @@
> CONFIG_ARM=y
> CONFIG_ARCH_ROCKCHIP=y
> -CONFIG_SYS_TEXT_BASE=0x00100000
> +CONFIG_SYS_TEXT_BASE=0x00200000
> CONFIG_SYS_MALLOC_F_LEN=0x2000
> CONFIG_ROCKCHIP_RK3288=y
> CONFIG_TARGET_EVB_RK3288=y
> CONFIG_DEBUG_UART_BASE=0xff690000
> CONFIG_DEBUG_UART_CLOCK=24000000
> -CONFIG_SPL_STACK_R_ADDR=0x80000
> +CONFIG_SPL_STACK_R_ADDR=0x600000
> CONFIG_DEBUG_UART=y
> CONFIG_NR_DRAM_BANKS=1
> # CONFIG_ANDROID_BOOT_IMAGE is not set
> +CONFIG_FIT=y
> +CONFIG_FIT_VERBOSE=y
> +CONFIG_SPL_LOAD_FIT=y
> +CONFIG_SPL_FIT_SOURCE="board/rockchip/evb_rk3288/fit_spl_atf.its"
> CONFIG_SILENT_CONSOLE=y
> CONFIG_DEFAULT_FDT_FILE="rk3288-evb-act8846.dtb"
> # CONFIG_DISPLAY_CPUINFO is not set
> CONFIG_DISPLAY_BOARDINFO_LATE=y
> CONFIG_SPL_STACK_R=y
> CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x2000
> +CONFIG_SPL_ATF=y
> CONFIG_CMD_GPIO=y
> CONFIG_CMD_GPT=y
> CONFIG_CMD_I2C=y
> diff --git a/configs/evb-rk3288-rk808_defconfig b/configs/evb-rk3288-rk808_defconfig
> index 73d30c9958..f6b9ce12a1 100644
> --- a/configs/evb-rk3288-rk808_defconfig
> +++ b/configs/evb-rk3288-rk808_defconfig
> @@ -1,21 +1,26 @@
> CONFIG_ARM=y
> CONFIG_ARCH_ROCKCHIP=y
> -CONFIG_SYS_TEXT_BASE=0x00100000
> +CONFIG_SYS_TEXT_BASE=0x00200000
> CONFIG_SYS_MALLOC_F_LEN=0x2000
> CONFIG_ROCKCHIP_RK3288=y
> CONFIG_TARGET_EVB_RK3288=y
> CONFIG_DEBUG_UART_BASE=0xff690000
> CONFIG_DEBUG_UART_CLOCK=24000000
> -CONFIG_SPL_STACK_R_ADDR=0x80000
> +CONFIG_SPL_STACK_R_ADDR=0x600000
> CONFIG_DEBUG_UART=y
> CONFIG_NR_DRAM_BANKS=1
> # CONFIG_ANDROID_BOOT_IMAGE is not set
> +CONFIG_FIT=y
> +CONFIG_FIT_VERBOSE=y
> +CONFIG_SPL_LOAD_FIT=y
> +CONFIG_SPL_FIT_SOURCE="board/rockchip/evb_rk3288/fit_spl_atf.its"
> CONFIG_SILENT_CONSOLE=y
> CONFIG_DEFAULT_FDT_FILE="rk3288-evb-rk808.dtb"
> # CONFIG_DISPLAY_CPUINFO is not set
> CONFIG_DISPLAY_BOARDINFO_LATE=y
> CONFIG_SPL_STACK_R=y
> CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x2000
> +CONFIG_SPL_ATF=y
> CONFIG_CMD_GPIO=y
> CONFIG_CMD_GPT=y
> CONFIG_CMD_I2C=y
More information about the U-Boot
mailing list