[PATCH] imx8mp_evk: Make SPL binary size smaller

Harald Seiler hws at denx.de
Thu May 7 14:08:15 CEST 2020


Hello Fabio,

On Thu, 2020-05-07 at 09:00 -0300, Fabio Estevam wrote:
> Commit f24dea4e1b52 ("ARM: imx8m: Fix reset in SPL on NXP iMX8MP EVK") caused
> the u-boot-spl.bin binary size to grow by around 2000 bytes, which makes the
> board to fail to boot.

Just to check, the addition of the clock driver probably lead to the same
issue?  So the clock driver is potentially working, it is just too big for
SPL?

> Reduce the SPL size by the same amount so that it can boot again.
> 
> Further SPL reduction work is needed, such as removing driver model support
> in SPL.
> 
> Just to provide a comparison: NXP U-Boot tree has a SPL binary size of 64kB
> versus 96KB in U-Boot mainline.
> 
> Signed-off-by: Fabio Estevam <festevam at gmail.com>
> ---
> Hi,
> 
> I plan to reduce SPL size even further by removing SPL_DM=y, but this
> needs more time to accomplish, so I prefer to give a small SPL reduction
> at this time, just to allow the board to boot again.
> 
> Also, will try to come up with a SPL size detection in build time, as it
> is hard to debug such issues in run-time.

The SPL linker script already has checks for SPL size. See
arch/arm/cpu/u-boot-spl.lds line 81 and following.  Maybe you just need to
properly set those config-options for your board?

>  configs/imx8mp_evk_defconfig | 4 ----
>  1 file changed, 4 deletions(-)
> 
> diff --git a/configs/imx8mp_evk_defconfig b/configs/imx8mp_evk_defconfig
> index 44b2935f69..00f4ccbe0d 100644
> --- a/configs/imx8mp_evk_defconfig
> +++ b/configs/imx8mp_evk_defconfig
> @@ -33,7 +33,6 @@ CONFIG_SPL_BOOTROM_SUPPORT=y
>  CONFIG_SPL_SEPARATE_BSS=y
>  CONFIG_SPL_I2C_SUPPORT=y
>  CONFIG_SPL_POWER_SUPPORT=y
> -CONFIG_SPL_WATCHDOG_SUPPORT=y
>  CONFIG_HUSH_PARSER=y
>  CONFIG_SYS_PROMPT="u-boot=> "
>  # CONFIG_CMD_EXPORTENV is not set
> @@ -79,8 +78,5 @@ CONFIG_DM_REGULATOR_FIXED=y
>  CONFIG_DM_REGULATOR_GPIO=y
>  CONFIG_MXC_UART=y
>  CONFIG_SYSRESET=y
> -CONFIG_SPL_SYSRESET=y
>  CONFIG_SYSRESET_PSCI=y
> -CONFIG_SYSRESET_WATCHDOG=y
>  # CONFIG_WATCHDOG is not set
> -CONFIG_IMX_WATCHDOG=y
-- 
Harald



More information about the U-Boot mailing list