Message ID | 20241105160054.1373319-9-jonas@kwiboo.se |
---|---|
State | New |
Delegated to: | Kever Yang |
Headers | show |
Series | rockchip: rk3288-tinker: Migrate to OF_UPSTREAM | expand |
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@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@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
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
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@kwiboo.se> --- 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(-)