mirror of
https://github.com/u-boot/u-boot.git
synced 2024-11-27 22:56:49 +08:00
rockchip: back-to-bootrom: split BACK_TO_BOOTROM for TPL/SPL
The back-to-bootrom option is rather unfortunately named CONFIG_ROCKCHIP_SPL_BACK_TO_BOOTROM instead of CONFIG_SPL_ROCKCHIP_BACK_TO_BOOTROM To make is selectable through CONFIG_IS_ENABLED(ROCKCHIP_BACK_TO_BOOTROM), we need to rename it. At the same time, we introduce a TPL_ variant of the option to give us finer-grained control over when it should be used. This change is motivated by our RK3368 boot process, which returns to the boot ROM only from the TPL stage, but not from the SPL stage. Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> [added fix-up for evb-rk3229_defconfig and phycore-rk3288_defconfig:] [fixed inverted CONFIG_IS_ENABLED test for rk3288:] Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com> include/configs/rock.h: undef
This commit is contained in:
parent
36979c7e56
commit
ee14d29db0
@ -101,10 +101,21 @@ config ROCKCHIP_RV1108
|
||||
The Rockchip RV1108 is a ARM-based SoC with a single-core Cortex-A7
|
||||
and a DSP.
|
||||
|
||||
config ROCKCHIP_SPL_BACK_TO_BROM
|
||||
config SPL_ROCKCHIP_BACK_TO_BROM
|
||||
bool "SPL returns to bootrom"
|
||||
default y if ROCKCHIP_RK3036
|
||||
select ROCKCHIP_BROM_HELPER
|
||||
depends on SPL
|
||||
help
|
||||
Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
|
||||
SPL will return to the boot rom, which will then load the U-Boot
|
||||
binary to keep going on.
|
||||
|
||||
config TPL_ROCKCHIP_BACK_TO_BROM
|
||||
bool "TPL returns to bootrom"
|
||||
default y if ROCKCHIP_RK3368
|
||||
select ROCKCHIP_BROM_HELPER
|
||||
depends on TPL
|
||||
help
|
||||
Rockchip SoCs have ability to load SPL & U-Boot binary. If enabled,
|
||||
SPL will return to the boot rom, which will then load the U-Boot
|
||||
@ -122,7 +133,7 @@ config ROCKCHIP_BROM_HELPER
|
||||
bool
|
||||
|
||||
config SPL_MMC_SUPPORT
|
||||
default y if !ROCKCHIP_SPL_BACK_TO_BROM
|
||||
default y if !SPL_ROCKCHIP_BACK_TO_BROM
|
||||
|
||||
source "arch/arm/mach-rockchip/rk3036/Kconfig"
|
||||
source "arch/arm/mach-rockchip/rk3188/Kconfig"
|
||||
|
@ -167,8 +167,7 @@ void board_init_f(ulong dummy)
|
||||
}
|
||||
|
||||
setup_arm_clock();
|
||||
|
||||
#if defined(CONFIG_ROCKCHIP_SPL_BACK_TO_BROM) && !defined(CONFIG_SPL_BOARD_INIT)
|
||||
#if CONFIG_IS_ENABLED(ROCKCHIP_BACK_TO_BROM) && !defined(CONFIG_SPL_BOARD_INIT)
|
||||
back_to_bootrom();
|
||||
#endif
|
||||
}
|
||||
@ -229,7 +228,7 @@ void spl_board_init(void)
|
||||
}
|
||||
|
||||
preloader_console_init();
|
||||
#ifdef CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
|
||||
#if CONFIG_IS_ENABLED(ROCKCHIP_BACK_TO_BROM)
|
||||
back_to_bootrom();
|
||||
#endif
|
||||
return;
|
||||
|
@ -39,7 +39,7 @@ int board_late_init(void)
|
||||
|
||||
int board_init(void)
|
||||
{
|
||||
#if defined(CONFIG_ROCKCHIP_SPL_BACK_TO_BROM)
|
||||
#if CONFIG_IS_ENABLED(ROCKCHIP_BACK_TO_BROM)
|
||||
struct udevice *pinctrl;
|
||||
int ret;
|
||||
|
||||
|
@ -249,7 +249,7 @@ void board_init_f(ulong dummy)
|
||||
debug("DRAM init failed: %d\n", ret);
|
||||
return;
|
||||
}
|
||||
#if defined(CONFIG_ROCKCHIP_SPL_BACK_TO_BROM) && !defined(CONFIG_SPL_BOARD_INIT)
|
||||
#if CONFIG_IS_ENABLED(ROCKCHIP_BACK_TO_BROM) && !defined(CONFIG_SPL_BOARD_INIT)
|
||||
back_to_bootrom();
|
||||
#endif
|
||||
}
|
||||
@ -316,7 +316,7 @@ void spl_board_init(void)
|
||||
}
|
||||
|
||||
preloader_console_init();
|
||||
#ifdef CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
|
||||
#if CONFIG_IS_ENABLED(ROCKCHIP_BACK_TO_BROM)
|
||||
back_to_bootrom();
|
||||
#endif
|
||||
return;
|
||||
|
@ -78,7 +78,7 @@ int board_late_init(void)
|
||||
return rk_board_late_init();
|
||||
}
|
||||
|
||||
#ifndef CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
|
||||
#if !CONFIG_IS_ENABLED(ROCKCHIP_BACK_TO_BROM)
|
||||
static int veyron_init(void)
|
||||
{
|
||||
struct udevice *dev;
|
||||
@ -115,7 +115,7 @@ static int veyron_init(void)
|
||||
|
||||
int board_init(void)
|
||||
{
|
||||
#ifdef CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
|
||||
#if CONFIG_IS_ENABLED(ROCKCHIP_BACK_TO_BROM)
|
||||
struct udevice *pinctrl;
|
||||
int ret;
|
||||
|
||||
|
@ -28,7 +28,7 @@
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_OF_CONTROL)
|
||||
#if CONFIG_IS_ENABLED(OF_CONTROL)
|
||||
static int spl_node_to_boot_device(int node)
|
||||
{
|
||||
struct udevice *parent;
|
||||
@ -263,7 +263,7 @@ void spl_board_init(void)
|
||||
}
|
||||
|
||||
preloader_console_init();
|
||||
#ifdef CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
|
||||
#if CONFIG_IS_ENABLED(ROCKCHIP_BACK_TO_BROM)
|
||||
back_to_bootrom();
|
||||
#endif
|
||||
|
||||
|
@ -4,7 +4,7 @@ CONFIG_SPL_LIBCOMMON_SUPPORT=y
|
||||
CONFIG_SPL_LIBGENERIC_SUPPORT=y
|
||||
CONFIG_SYS_MALLOC_F_LEN=0x800
|
||||
CONFIG_ROCKCHIP_RK322X=y
|
||||
CONFIG_ROCKCHIP_SPL_BACK_TO_BROM=y
|
||||
CONFIG_SPL_ROCKCHIP_BACK_TO_BROM=y
|
||||
CONFIG_TARGET_EVB_RK3229=y
|
||||
CONFIG_SPL_STACK_R_ADDR=0x80000
|
||||
CONFIG_DEFAULT_DEVICE_TREE="rk3229-evb"
|
||||
|
@ -2,7 +2,7 @@ CONFIG_ARM=y
|
||||
CONFIG_ARCH_ROCKCHIP=y
|
||||
CONFIG_SYS_MALLOC_F_LEN=0x2000
|
||||
CONFIG_ROCKCHIP_RK3288=y
|
||||
CONFIG_ROCKCHIP_SPL_BACK_TO_BROM=y
|
||||
CONFIG_SPL_ROCKCHIP_BACK_TO_BROM=y
|
||||
CONFIG_TARGET_EVB_RK3288=y
|
||||
CONFIG_SPL_STACK_R_ADDR=0x80000
|
||||
CONFIG_DEFAULT_DEVICE_TREE="rk3288-evb"
|
||||
|
@ -2,7 +2,7 @@ CONFIG_ARM=y
|
||||
CONFIG_ARCH_ROCKCHIP=y
|
||||
CONFIG_SYS_MALLOC_F_LEN=0x2000
|
||||
CONFIG_ROCKCHIP_RK3288=y
|
||||
CONFIG_ROCKCHIP_SPL_BACK_TO_BROM=y
|
||||
CONFIG_SPL_ROCKCHIP_BACK_TO_BROM=y
|
||||
CONFIG_TARGET_FENNEC_RK3288=y
|
||||
CONFIG_SPL_STACK_R_ADDR=0x80000
|
||||
CONFIG_DEFAULT_DEVICE_TREE="rk3288-fennec"
|
||||
|
@ -2,7 +2,7 @@ CONFIG_ARM=y
|
||||
CONFIG_ARCH_ROCKCHIP=y
|
||||
CONFIG_SYS_MALLOC_F_LEN=0x2000
|
||||
CONFIG_ROCKCHIP_RK3288=y
|
||||
CONFIG_ROCKCHIP_SPL_BACK_TO_BROM=y
|
||||
CONFIG_SPL_ROCKCHIP_BACK_TO_BROM=y
|
||||
CONFIG_TARGET_FIREFLY_RK3288=y
|
||||
CONFIG_SPL_STACK_R_ADDR=0x80000
|
||||
CONFIG_DEFAULT_DEVICE_TREE="rk3288-firefly"
|
||||
|
@ -2,7 +2,7 @@ CONFIG_ARM=y
|
||||
CONFIG_ARCH_ROCKCHIP=y
|
||||
CONFIG_SYS_MALLOC_F_LEN=0x2000
|
||||
CONFIG_ROCKCHIP_RK3288=y
|
||||
CONFIG_ROCKCHIP_SPL_BACK_TO_BROM=y
|
||||
CONFIG_SPL_ROCKCHIP_BACK_TO_BROM=y
|
||||
CONFIG_TARGET_MIQI_RK3288=y
|
||||
CONFIG_SPL_STACK_R_ADDR=0x80000
|
||||
CONFIG_DEFAULT_DEVICE_TREE="rk3288-miqi"
|
||||
|
@ -2,7 +2,7 @@ CONFIG_ARM=y
|
||||
CONFIG_ARCH_ROCKCHIP=y
|
||||
CONFIG_SYS_MALLOC_F_LEN=0x2000
|
||||
CONFIG_ROCKCHIP_RK3288=y
|
||||
CONFIG_ROCKCHIP_SPL_BACK_TO_BROM=y
|
||||
CONFIG_SPL_ROCKCHIP_BACK_TO_BROM=y
|
||||
CONFIG_TARGET_PHYCORE_RK3288=y
|
||||
CONFIG_SPL_STACK_R_ADDR=0x80000
|
||||
CONFIG_DEFAULT_DEVICE_TREE="rk3288-phycore-rdk"
|
||||
|
@ -2,7 +2,7 @@ CONFIG_ARM=y
|
||||
CONFIG_ARCH_ROCKCHIP=y
|
||||
CONFIG_SYS_MALLOC_F_LEN=0x2000
|
||||
CONFIG_ROCKCHIP_RK3288=y
|
||||
CONFIG_ROCKCHIP_SPL_BACK_TO_BROM=y
|
||||
CONFIG_SPL_ROCKCHIP_BACK_TO_BROM=y
|
||||
CONFIG_TARGET_POPMETAL_RK3288=y
|
||||
CONFIG_SPL_STACK_R_ADDR=0x80000
|
||||
CONFIG_DEFAULT_DEVICE_TREE="rk3288-popmetal"
|
||||
|
@ -2,7 +2,7 @@ CONFIG_ARM=y
|
||||
CONFIG_ARCH_ROCKCHIP=y
|
||||
CONFIG_SYS_MALLOC_F_LEN=0x2000
|
||||
CONFIG_ROCKCHIP_RK3288=y
|
||||
CONFIG_ROCKCHIP_SPL_BACK_TO_BROM=y
|
||||
CONFIG_SPL_ROCKCHIP_BACK_TO_BROM=y
|
||||
CONFIG_TARGET_ROCK2=y
|
||||
CONFIG_SPL_STACK_R_ADDR=0x80000
|
||||
CONFIG_DEFAULT_DEVICE_TREE="rk3288-rock2-square"
|
||||
|
@ -4,7 +4,7 @@ CONFIG_ARM=y
|
||||
CONFIG_ARCH_ROCKCHIP=y
|
||||
CONFIG_SYS_MALLOC_F_LEN=0x2000
|
||||
CONFIG_ROCKCHIP_RK3188=y
|
||||
CONFIG_ROCKCHIP_SPL_BACK_TO_BROM=y
|
||||
CONFIG_SPL_ROCKCHIP_BACK_TO_BROM=y
|
||||
CONFIG_TARGET_ROCK=y
|
||||
CONFIG_SPL_STACK_R_ADDR=0x60080000
|
||||
CONFIG_DEFAULT_DEVICE_TREE="rk3188-radxarock"
|
||||
|
@ -2,7 +2,7 @@ CONFIG_ARM=y
|
||||
CONFIG_ARCH_ROCKCHIP=y
|
||||
CONFIG_SYS_MALLOC_F_LEN=0x2000
|
||||
CONFIG_ROCKCHIP_RK3288=y
|
||||
CONFIG_ROCKCHIP_SPL_BACK_TO_BROM=y
|
||||
CONFIG_SPL_ROCKCHIP_BACK_TO_BROM=y
|
||||
CONFIG_TARGET_TINKER_RK3288=y
|
||||
CONFIG_SPL_STACK_R_ADDR=0x80000
|
||||
CONFIG_DEFAULT_DEVICE_TREE="rk3288-tinker"
|
||||
|
@ -130,7 +130,7 @@ load a second-level bootloader(ie. U-BOOT) as soon as it returns to bootrom.
|
||||
Therefore RK3288 has another loading sequence like RK3036. The option of
|
||||
U-Boot is controlled with this setting in U-Boot:
|
||||
|
||||
#define CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
|
||||
#define CONFIG_SPL_ROCKCHIP_BACK_TO_BROM
|
||||
|
||||
You can create the image via the following operations:
|
||||
|
||||
|
@ -26,7 +26,7 @@
|
||||
|
||||
#define CONFIG_SYS_NS16550_MEM32
|
||||
|
||||
#ifdef CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
|
||||
#ifdef CONFIG_SPL_ROCKCHIP_BACK_TO_BROM
|
||||
/* Bootrom will load u-boot binary to 0x60000000 once return from SPL */
|
||||
#define CONFIG_SYS_TEXT_BASE 0x60000000
|
||||
#else
|
||||
|
@ -24,7 +24,7 @@
|
||||
#define CONFIG_SPL_FRAMEWORK
|
||||
#define CONFIG_SYS_NS16550_MEM32
|
||||
|
||||
#ifdef CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
|
||||
#ifdef CONFIG_SPL_ROCKCHIP_BACK_TO_BROM
|
||||
/* Bootrom will load u-boot binary to 0x0 once return from SPL */
|
||||
#define CONFIG_SYS_TEXT_BASE 0x00000000
|
||||
#else
|
||||
|
@ -12,7 +12,7 @@
|
||||
|
||||
#define CONFIG_SYS_MMC_ENV_DEV 0
|
||||
|
||||
#ifdef CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
|
||||
#if defined(ROCKCHIP_BACK_TO_BROM)
|
||||
/* SPL @ 32k for 34k
|
||||
* u-boot directly after @ 68k for 400k or so
|
||||
* ENV @ 992k
|
||||
|
@ -46,7 +46,7 @@
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ROCKCHIP_SPL_BACK_TO_BROM
|
||||
#if CONFIG_IS_ENABLED(ROCKCHIP_BACK_TO_BROM)
|
||||
/* SPL @ 32k for 34k
|
||||
* u-boot directly after @ 68k for 400k or so
|
||||
* ENV @ 992k
|
||||
|
Loading…
Reference in New Issue
Block a user