Merge git://git.denx.de/u-boot-rockchip
This commit is contained in:
commit
ca833ca957
@ -12,4 +12,10 @@ config SYS_CONFIG_NAME
|
|||||||
config BOARD_SPECIFIC_OPTIONS # dummy
|
config BOARD_SPECIFIC_OPTIONS # dummy
|
||||||
def_bool y
|
def_bool y
|
||||||
|
|
||||||
|
config ENV_SIZE
|
||||||
|
default 0x2000
|
||||||
|
|
||||||
|
config ENV_OFFSET
|
||||||
|
default 0x3c000 if ENV_IS_IN_SPI_FLASH
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
@ -721,10 +721,24 @@ config SPL_ATF
|
|||||||
bool "Support ARM Trusted Firmware"
|
bool "Support ARM Trusted Firmware"
|
||||||
depends on ARM64
|
depends on ARM64
|
||||||
help
|
help
|
||||||
ATF(ARM Trusted Firmware) is a component for ARM arch64 which
|
ATF(ARM Trusted Firmware) is a component for ARM AArch64 which
|
||||||
is loaded by SPL(which is considered as BL2 in ATF terminology).
|
is loaded by SPL (which is considered as BL2 in ATF terminology).
|
||||||
More detail at: https://github.com/ARM-software/arm-trusted-firmware
|
More detail at: https://github.com/ARM-software/arm-trusted-firmware
|
||||||
|
|
||||||
|
config SPL_ATF_NO_PLATFORM_PARAM
|
||||||
|
bool "Pass no platform parameter"
|
||||||
|
depends on SPL_ATF
|
||||||
|
help
|
||||||
|
While we expect to call a pointer to a valid FDT (or NULL)
|
||||||
|
as the platform parameter to an ATF, some ATF versions are
|
||||||
|
not U-Boot aware and have an insufficiently robust parameter
|
||||||
|
validation to gracefully reject a FDT being passed.
|
||||||
|
|
||||||
|
If this option is enabled, the spl_atf os-type handler will
|
||||||
|
always pass NULL for the platform parameter.
|
||||||
|
|
||||||
|
If your ATF is affected, say Y.
|
||||||
|
|
||||||
config TPL
|
config TPL
|
||||||
bool
|
bool
|
||||||
depends on SUPPORT_TPL
|
depends on SUPPORT_TPL
|
||||||
|
@ -144,6 +144,7 @@ void spl_invoke_atf(struct spl_image_info *spl_image)
|
|||||||
{
|
{
|
||||||
uintptr_t bl33_entry = CONFIG_SYS_TEXT_BASE;
|
uintptr_t bl33_entry = CONFIG_SYS_TEXT_BASE;
|
||||||
void *blob = spl_image->fdt_addr;
|
void *blob = spl_image->fdt_addr;
|
||||||
|
uintptr_t platform_param = (uintptr_t)blob;
|
||||||
int node;
|
int node;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -157,9 +158,18 @@ void spl_invoke_atf(struct spl_image_info *spl_image)
|
|||||||
if (node >= 0)
|
if (node >= 0)
|
||||||
bl33_entry = spl_fit_images_get_entry(blob, node);
|
bl33_entry = spl_fit_images_get_entry(blob, node);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If ATF_NO_PLATFORM_PARAM is set, we override the platform
|
||||||
|
* parameter and always pass 0. This is a workaround for
|
||||||
|
* older ATF versions that have insufficiently robust (or
|
||||||
|
* overzealous) argument validation.
|
||||||
|
*/
|
||||||
|
if (CONFIG_IS_ENABLED(ATF_NO_PLATFORM_PARAM))
|
||||||
|
platform_param = 0;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We don't provide a BL3-2 entry yet, but this will be possible
|
* We don't provide a BL3-2 entry yet, but this will be possible
|
||||||
* using similar logic.
|
* using similar logic.
|
||||||
*/
|
*/
|
||||||
bl31_entry(spl_image->entry_point, bl33_entry, (uintptr_t)blob);
|
bl31_entry(spl_image->entry_point, bl33_entry, platform_param);
|
||||||
}
|
}
|
||||||
|
@ -15,6 +15,7 @@ CONFIG_SPL_FIT_GENERATOR="arch/arm/mach-rockchip/make_fit_atf.py"
|
|||||||
CONFIG_SPL_STACK_R=y
|
CONFIG_SPL_STACK_R=y
|
||||||
CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x4000
|
CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x4000
|
||||||
CONFIG_SPL_ATF=y
|
CONFIG_SPL_ATF=y
|
||||||
|
CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y
|
||||||
CONFIG_CMD_BOOTZ=y
|
CONFIG_CMD_BOOTZ=y
|
||||||
CONFIG_CMD_GPT=y
|
CONFIG_CMD_GPT=y
|
||||||
CONFIG_CMD_MMC=y
|
CONFIG_CMD_MMC=y
|
||||||
|
Loading…
Reference in New Issue
Block a user