[U-Boot] [u-boot-release] [PATCH 2/3] armv8: ls1088a: SPL size reduction
York Sun
york.sun at nxp.com
Tue Aug 29 15:55:08 UTC 2017
On 08/29/2017 12:02 AM, Sumit Garg wrote:
> Using changes in this patch we were able to reduce approx 8k
> size of u-boot-spl.bin image. Following is breif description of
> changes to reduce SPL size:
> 1. Changes in board/freescale/ls1088a/Makefile to remove
> compilation of eth.c and cpld.c in case of SPL build.
> 2. Changes in board/freescale/ls1088a/ls1088a.c to keep
> board_early_init_f funcations in case of SPL build.
> 3. Changes in ls1088a_common.h & ls1088ardb.h to remove driver
> specific macros due to which static data was being compiled in
> case of SPL build.
> 4. Enable CONFIG_SYS_DCACHE_OFF in case of SPL build as DCACHE is
> not being enabled in case of SPL image but was compiled in to
> add redundant code.
>
> Signed-off-by: Sumit Garg <sumit.garg at nxp.com>
> ---
>
> Dependent on ls1088 base SD boot target. Also dependent on ls1088
> QPSI secure boot target.
>
> board/freescale/ls1088a/Makefile | 4 +++-
> board/freescale/ls1088a/ls1088a.c | 14 ++++++++------
> include/configs/ls1088a_common.h | 20 ++++++++++++++++++++
> include/configs/ls1088ardb.h | 20 ++++++++++++++++++++
> 4 files changed, 51 insertions(+), 7 deletions(-)
>
> diff --git a/board/freescale/ls1088a/Makefile b/board/freescale/ls1088a/Makefile
> index bdcce9e..0e15031 100644
> --- a/board/freescale/ls1088a/Makefile
> +++ b/board/freescale/ls1088a/Makefile
> @@ -5,6 +5,8 @@
> #
>
> obj-y += ls1088a.o
> +obj-y += ddr.o
> +ifndef CONFIG_SPL_BUILD
> obj-$(CONFIG_TARGET_LS1088ARDB) += eth_ls1088ardb.o
> obj-$(CONFIG_TARGET_LS1088AQDS) += eth_ls1088aqds.o
> -obj-y += ddr.o
> +endif
> diff --git a/board/freescale/ls1088a/ls1088a.c b/board/freescale/ls1088a/ls1088a.c
> index 1860f9c..1c28ab4 100644
> --- a/board/freescale/ls1088a/ls1088a.c
> +++ b/board/freescale/ls1088a/ls1088a.c
> @@ -24,6 +24,13 @@
>
> DECLARE_GLOBAL_DATA_PTR;
>
> +int board_early_init_f(void)
> +{
> + fsl_lsch3_early_init_f();
> + return 0;
> +}
> +
> +#if !defined(CONFIG_SPL_BUILD)
> unsigned long long get_qixis_addr(void)
> {
> unsigned long long addr;
> @@ -324,12 +331,6 @@ int board_init(void)
> return 0;
> }
>
> -int board_early_init_f(void)
> -{
> - fsl_lsch3_early_init_f();
> - return 0;
> -}
> -
> void detail_board_ddr_info(void)
> {
> puts("\nDDR ");
> @@ -404,3 +405,4 @@ int ft_board_setup(void *blob, bd_t *bd)
> return 0;
> }
> #endif
> +#endif /* defined(CONFIG_SPL_BUILD) */
> diff --git a/include/configs/ls1088a_common.h b/include/configs/ls1088a_common.h
> index 63b69f8..fb4c852 100644
> --- a/include/configs/ls1088a_common.h
> +++ b/include/configs/ls1088a_common.h
> @@ -7,6 +7,20 @@
> #ifndef __LS1088_COMMON_H
> #define __LS1088_COMMON_H
>
> +/* SPL build */
> +#ifdef CONFIG_SPL_BUILD
> +#define SPL_NO_BOARDINFO
> +#define SPL_NO_QIXIS
> +#define SPL_NO_PCI
> +#define SPL_NO_ENV
> +#define SPL_NO_RTC
> +#define SPL_NO_USB
> +#define SPL_NO_SATA
> +#define SPL_NO_QSPI
> +#define SPL_NO_IFC
> +#define CONFIG_SYS_DCACHE_OFF
How much space can you save with data cache off? I prefer to leave the
cache on. Cache is used if PPA is loaded in SPL stage for boost booting
speed.
York
More information about the U-Boot
mailing list