[PATCH 08/13] rockchip: rk3288-tinker: Use common bss and stack addresses
Kever Yang
kever.yang at rock-chips.com
Wed Nov 6 11:20:38 CET 2024
On 2024/11/6 00:00, Jonas Karlman wrote:
> Migrate to use common bss, stack and malloc heap size and addresses to
> unify memory use in TPL, SPL and pre-reloc.
>
> Ensure SYS_MALLOC_F_LEN and TPL variant stay at 0x2000 and is unaffected
> on other boards not changed to use common malloc heap size.
>
> ENV_OFFSET is using the default value of 0x3f8000 and is also dropped.
>
> Signed-off-by: Jonas Karlman <jonas at kwiboo.se>
Reviewed-by: Kever Yang <kever.yang at rock-chips.com>
Thanks,
- Kever
> ---
> Typical malloc() usage on one of my Tinker Board:
>
> TPL malloc() before relocation used 0x834 bytes (2 KB)
>
> SPL malloc() before relocation used 0x10a4 bytes (4 KB)
> SPL malloc() used 0x140 bytes (0 KB)
>
> Pre-reloc malloc() used 0xf20 bytes (3 KB)
> ---
> arch/arm/mach-rockchip/rk3288/Kconfig | 6 +++++-
> configs/tinker-rk3288_defconfig | 10 ----------
> configs/tinker-s-rk3288_defconfig | 10 ----------
> 3 files changed, 5 insertions(+), 21 deletions(-)
>
> diff --git a/arch/arm/mach-rockchip/rk3288/Kconfig b/arch/arm/mach-rockchip/rk3288/Kconfig
> index 69a5614b449a..672d634f7fb5 100644
> --- a/arch/arm/mach-rockchip/rk3288/Kconfig
> +++ b/arch/arm/mach-rockchip/rk3288/Kconfig
> @@ -132,6 +132,7 @@ config TARGET_ROCK2
> config TARGET_TINKER_RK3288
> bool "Tinker-RK3288"
> select BOARD_LATE_INIT
> + select ROCKCHIP_COMMON_STACK_ADDR
> select TPL
> help
> Tinker is a RK3288-based development board with 2 USB ports, HDMI,
> @@ -160,7 +161,7 @@ config SYS_SOC
> default "rk3288"
>
> config SYS_MALLOC_F_LEN
> - default 0x2000
> + default 0x2000 if !SPL_SHARES_INIT_SP_ADDR
>
> config SPL_DRIVERS_MISC
> default y
> @@ -177,6 +178,9 @@ config SPL_SERIAL
> config TPL_STACK
> default 0xff718000
>
> +config TPL_SYS_MALLOC_F_LEN
> + default 0x2000
> +
> config TPL_TEXT_BASE
> default 0xff704000
>
> diff --git a/configs/tinker-rk3288_defconfig b/configs/tinker-rk3288_defconfig
> index 0c2fd573b67b..0f3d47e1a4fc 100644
> --- a/configs/tinker-rk3288_defconfig
> +++ b/configs/tinker-rk3288_defconfig
> @@ -5,19 +5,11 @@ CONFIG_SYS_ARCH_TIMER=y
> CONFIG_ARCH_ROCKCHIP=y
> CONFIG_TEXT_BASE=0x01000000
> CONFIG_NR_DRAM_BANKS=1
> -CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
> -CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x100000
> CONFIG_SF_DEFAULT_SPEED=20000000
> -CONFIG_ENV_OFFSET=0x3F8000
> CONFIG_DEFAULT_DEVICE_TREE="rk3288-tinker"
> CONFIG_DM_RESET=y
> -CONFIG_SYS_MONITOR_LEN=614400
> CONFIG_ROCKCHIP_RK3288=y
> CONFIG_TARGET_TINKER_RK3288=y
> -CONFIG_SPL_STACK_R_ADDR=0x80000
> -CONFIG_SPL_STACK=0xff718000
> -CONFIG_SPL_STACK_R=y
> -CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x2000
> CONFIG_SYS_BOOTM_LEN=0x4000000
> CONFIG_SYS_LOAD_ADDR=0x800800
> CONFIG_SPL_SIZE_LIMIT=0x4b000
> @@ -31,8 +23,6 @@ CONFIG_SILENT_CONSOLE=y
> CONFIG_DISPLAY_BOARDINFO_LATE=y
> CONFIG_MISC_INIT_R=y
> CONFIG_SPL_PAD_TO=0x7f8000
> -CONFIG_SPL_NO_BSS_LIMIT=y
> -# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
> CONFIG_CMD_GPIO=y
> CONFIG_CMD_GPT=y
> CONFIG_CMD_I2C=y
> diff --git a/configs/tinker-s-rk3288_defconfig b/configs/tinker-s-rk3288_defconfig
> index 2269d04ee644..a013571b2575 100644
> --- a/configs/tinker-s-rk3288_defconfig
> +++ b/configs/tinker-s-rk3288_defconfig
> @@ -4,20 +4,12 @@ CONFIG_TPL_SKIP_LOWLEVEL_INIT_ONLY=y
> CONFIG_SYS_ARCH_TIMER=y
> CONFIG_ARCH_ROCKCHIP=y
> CONFIG_TEXT_BASE=0x01000000
> -CONFIG_SYS_MALLOC_F_LEN=0x4000
> CONFIG_NR_DRAM_BANKS=1
> -CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
> -CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x100000
> CONFIG_SF_DEFAULT_SPEED=20000000
> CONFIG_DEFAULT_DEVICE_TREE="rk3288-tinker-s"
> CONFIG_DM_RESET=y
> -CONFIG_SYS_MONITOR_LEN=614400
> CONFIG_ROCKCHIP_RK3288=y
> CONFIG_TARGET_TINKER_RK3288=y
> -CONFIG_SPL_STACK_R_ADDR=0x800000
> -CONFIG_SPL_STACK=0xff718000
> -CONFIG_SPL_STACK_R=y
> -CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x300000
> CONFIG_SYS_BOOTM_LEN=0x4000000
> CONFIG_SYS_LOAD_ADDR=0x800800
> CONFIG_SPL_SIZE_LIMIT=0x4b000
> @@ -31,8 +23,6 @@ CONFIG_SILENT_CONSOLE=y
> CONFIG_DISPLAY_BOARDINFO_LATE=y
> CONFIG_MISC_INIT_R=y
> CONFIG_SPL_PAD_TO=0x7f8000
> -CONFIG_SPL_NO_BSS_LIMIT=y
> -# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
> CONFIG_CMD_GPIO=y
> CONFIG_CMD_GPT=y
> CONFIG_CMD_I2C=y
More information about the U-Boot
mailing list