[PATCH v2 1/5] rockchip: rk3399-rockpro64: Fix SPL max size and SPI flash payload offset

Kever Yang kever.yang at rock-chips.com
Mon Jul 31 08:43:12 CEST 2023


On 2023/7/28 19:38, Jonas Karlman wrote:
> TPL max size is limited to 184 KB, SPL is loaded to 0x0 and TF-A is
> loaded to 0x40000, this limit SPL max size to 256 KB. With BootRom only
> reading first 2 KB per 4 KB page of SPI flash, 880 KB may be needed for
> TPL+SPL in a worst-case scenario. (184 KB + 256 KB) x 2 = 880 KB
>
> Use 0xE0000 (896 KB) as the payload offset in SPI flash, this allows
> for a payload of 3168 KB before env offset start to overlap.
>
> Also remove CONFIG_LTO=y now that there is sufficient space for SPL in
> SPI flash, and to fix a build issue reported by Peter Robinson.
>
> Fixes: 5713135ecc75 ("rockchip: rockpro64: Build u-boot-rockchip-spi.bin")
> Reported-by: Peter Robinson <pbrobinson at gmail.com>
> Signed-off-by: Jonas Karlman <jonas at kwiboo.se>
> Reviewed-by: Quentin Schulz <foss+u-boot at 0leil.net>
Reviewed-by: Kever Yang <kever.yang at rock-chips.com>

Thanks,
- Kever
> ---
> v2:
> - Rebase on u-boot-rockchip/master
> - Collect r-b tags
>
>   arch/arm/dts/rk3399-rockpro64-u-boot.dtsi | 4 ----
>   configs/rockpro64-rk3399_defconfig        | 5 ++---
>   2 files changed, 2 insertions(+), 7 deletions(-)
>
> diff --git a/arch/arm/dts/rk3399-rockpro64-u-boot.dtsi b/arch/arm/dts/rk3399-rockpro64-u-boot.dtsi
> index bd864d067018..732727d9b036 100644
> --- a/arch/arm/dts/rk3399-rockpro64-u-boot.dtsi
> +++ b/arch/arm/dts/rk3399-rockpro64-u-boot.dtsi
> @@ -9,10 +9,6 @@
>   	chosen {
>   		u-boot,spl-boot-order = "same-as-spl", &spi_flash, &sdmmc, &sdhci;
>   	};
> -
> -	config {
> -		u-boot,spl-payload-offset = <0x60000>; /* @ 384KB */
> -	};
>   };
>   
>   &sdhci {
> diff --git a/configs/rockpro64-rk3399_defconfig b/configs/rockpro64-rk3399_defconfig
> index 62daad27a6f8..4cd6b76665bd 100644
> --- a/configs/rockpro64-rk3399_defconfig
> +++ b/configs/rockpro64-rk3399_defconfig
> @@ -21,7 +21,6 @@ CONFIG_SPL_SPI=y
>   CONFIG_SYS_LOAD_ADDR=0x800800
>   CONFIG_PCI=y
>   CONFIG_DEBUG_UART=y
> -CONFIG_LTO=y
>   CONFIG_SPL_FIT_SIGNATURE=y
>   CONFIG_LEGACY_IMAGE_FORMAT=y
>   CONFIG_BOOTSTAGE=y
> @@ -30,7 +29,7 @@ CONFIG_USE_PREBOOT=y
>   CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-rockpro64.dtb"
>   CONFIG_DISPLAY_BOARDINFO_LATE=y
>   CONFIG_MISC_INIT_R=y
> -CONFIG_SPL_MAX_SIZE=0x2e000
> +CONFIG_SPL_MAX_SIZE=0x40000
>   CONFIG_SPL_PAD_TO=0x7f8000
>   CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
>   CONFIG_SPL_BSS_START_ADDR=0x400000
> @@ -40,7 +39,7 @@ CONFIG_SPL_BSS_MAX_SIZE=0x2000
>   CONFIG_SPL_STACK_R=y
>   CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
>   CONFIG_SPL_SPI_LOAD=y
> -CONFIG_SYS_SPI_U_BOOT_OFFS=0x60000
> +CONFIG_SYS_SPI_U_BOOT_OFFS=0xE0000
>   CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y
>   CONFIG_TPL=y
>   CONFIG_CMD_BOOTZ=y


More information about the U-Boot mailing list