[PATCH 09/12] rockchip: puma-rk3399: migrate to TPL
Kever Yang
kever.yang at rock-chips.com
Sun Sep 4 13:52:24 CEST 2022
Hi Quentin,
I got below error when apply this patch, please rebase this patch set.
Applying: rockchip: puma-rk3399: migrate to TPL
error: sha1 information is lacking or useless
(configs/puma-rk3399_defconfig).
error: could not build fake ancestor
hint: Use 'git am --show-current-patch' to see the failed patch
Patch failed at 0009 rockchip: puma-rk3399: migrate to TPL
Thanks,
- Kever
On 2022/7/23 00:06, Quentin Schulz wrote:
> From: Quentin Schulz <quentin.schulz at theobroma-systems.com>
>
> Depending on the toolchain used to compile the SPL for Puma RK3399-Q7
> module, the board does not boot because the resulting binary is too big
> to fit in SRAM.
>
> Let's add a TPL so that there's no need to fiddle with or hack the
> defconfig to have a working bootloader.
>
> This follows what's been done for the majority of other RK3399-based
> boards.
>
> See the original commit for the first migrations:
> bdc00080111f "rockchip: rk3399: update defconfig for TPL"
>
> Unfortunately, the offset in SPI-NOR for U-Boot proper needs to be
> modified, since the move from SPL to TPL+SPL for idbloader.img (and the
> "only the first 2KB per 4KB blocks are written" "hack" for rkspi format)
> increased the size above 256KB. Let's move it to 512KB to, hopefully, be
> safe.
>
> Cc: Quentin Schulz <foss+uboot at 0leil.net>
> Signed-off-by: Quentin Schulz <quentin.schulz at theobroma-systems.com>
> ---
> arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi | 2 +-
> board/theobroma-systems/puma_rk3399/README | 8 ++++----
> configs/puma-rk3399_defconfig | 4 ++--
> 3 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi b/arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi
> index 5dc345bbe8..27a792fe6d 100644
> --- a/arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi
> +++ b/arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi
> @@ -14,7 +14,7 @@
>
> / {
> config {
> - u-boot,spl-payload-offset = <0x40000>; /* @ 256KB */
> + u-boot,spl-payload-offset = <0x80000>; /* @ 512KB */
> u-boot,mmc-env-offset = <0x4000>; /* @ 16KB */
> u-boot,efi-partition-entries-offset = <0x200000>; /* 2MB */
> u-boot,boot-led = "module_led";
> diff --git a/board/theobroma-systems/puma_rk3399/README b/board/theobroma-systems/puma_rk3399/README
> index 254c3bbe96..550bdfb1f4 100644
> --- a/board/theobroma-systems/puma_rk3399/README
> +++ b/board/theobroma-systems/puma_rk3399/README
> @@ -51,13 +51,13 @@ The SPL image for SD-Card/eMMC is readily available in idbloader.img at the
> root of U-Boot after compilation.
>
> Creating an SPL image for SPI-NOR:
> - > tools/mkimage -n rk3399 -T rkspi -d spl/u-boot-spl.bin idbloader-spi.img
> + > tools/mkimage -n rk3399 -T rkspi -d tpl/u-boot-tpl.bin:spl/u-boot-spl.bin idbloader-spi.img
>
> Flash the image
> ===============
>
> -Copy the SPL to offset 32k for SD/eMMC, offset 0 for NOR-Flash and the FIT
> -image to offset 256k.
> +Copy the SPL to offset 32k and the FIT image to offset 256k for SD/eMMC.
> +Copy the SPL to offset 0 and the FIT image to offset 512k for NOR-Flash.
>
> SD-Card
> -------
> @@ -98,4 +98,4 @@ help of the Rockchip loader binary.
> > ./rkdeveloptool db rkbin/rk3399_loader_spinor_v1.25.114.bin
> > ./rkdeveloptool ef
> > ./rkdeveloptool wl 0 ../idbloader-spi.img
> - > ./rkdeveloptool wl 512 ../u-boot.itb
> + > ./rkdeveloptool wl 1024 ../u-boot.itb
> diff --git a/configs/puma-rk3399_defconfig b/configs/puma-rk3399_defconfig
> index 3567cd078b..c70dbe9ed5 100644
> --- a/configs/puma-rk3399_defconfig
> +++ b/configs/puma-rk3399_defconfig
> @@ -7,7 +7,6 @@ CONFIG_SPL_GPIO=y
> CONFIG_NR_DRAM_BANKS=1
> CONFIG_ENV_OFFSET=0x3F8000
> CONFIG_DEFAULT_DEVICE_TREE="rk3399-puma-haikou"
> -CONFIG_SPL_TEXT_BASE=0xff8c2000
> CONFIG_ROCKCHIP_RK3399=y
> CONFIG_ROCKCHIP_BOOT_MODE_REG=0x0
> CONFIG_TARGET_PUMA_RK3399=y
> @@ -22,11 +21,12 @@ CONFIG_DISPLAY_BOARDINFO_LATE=y
> CONFIG_MISC_INIT_R=y
> # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
> CONFIG_SPL_STACK_R=y
> -CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x4000
> +CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
> CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x200
> CONFIG_SPL_I2C=y
> CONFIG_SPL_POWER=y
> CONFIG_SPL_SPI_LOAD=y
> +CONFIG_TPL=y
> CONFIG_CMD_BOOTZ=y
> CONFIG_CMD_GPT=y
> CONFIG_CMD_I2C=y
More information about the U-Boot
mailing list