[U-Boot] [PATCH] ls1043ardb: SPL size reduction in case of non-xip boot

Using changes in this patch we were able to reduce approx 10k size of u-boot-spl.bin image. Following is breif description of changes to reduce SPL size: 1. Changes in board/freescale/ls1043ardb/Makefile to remove compilation of eth.c and cpld.c in case of SPL build. 2. Changes in board/freescale/ls1043ardb/ls1043ardb.c to keep only ddr_init and board_early_init_f funcations in case of SPL build. 3. Changes in ls1043a_common.h & ls1043ardb.h to remove driver specific macros due to which static data was being compiled in case of SPL build. 4. Disable MMC driver from bieng compiled in case of SPL NAND build and NAND driver from bieng compiled in case of SPL MMC build. 5. Remove I2C driver support from SPL in case of LS1043ARDB.
Signed-off-by: Vinitha Pillai-B57223 vinitha.pillai@nxp.com Signed-off-by: Sumit Garg sumit.garg@nxp.com --- board/freescale/ls1043ardb/Makefile | 4 +++- board/freescale/ls1043ardb/ls1043ardb.c | 32 ++++++++++++++++++-------------- configs/ls1043ardb_sdcard_defconfig | 1 - include/configs/ls1043a_common.h | 14 ++++++++++++-- include/configs/ls1043ardb.h | 6 ++++++ 5 files changed, 39 insertions(+), 18 deletions(-)
diff --git a/board/freescale/ls1043ardb/Makefile b/board/freescale/ls1043ardb/Makefile index 5fe1cc9..2a4452e 100644 --- a/board/freescale/ls1043ardb/Makefile +++ b/board/freescale/ls1043ardb/Makefile @@ -4,7 +4,9 @@ # SPDX-License-Identifier: GPL-2.0+ #
-obj-y += cpld.o obj-y += ddr.o obj-y += ls1043ardb.o +ifndef CONFIG_SPL_BUILD obj-$(CONFIG_SYS_DPAA_FMAN) += eth.o +obj-y += cpld.o +endif diff --git a/board/freescale/ls1043ardb/ls1043ardb.c b/board/freescale/ls1043ardb/ls1043ardb.c index e213128..5a76742 100644 --- a/board/freescale/ls1043ardb/ls1043ardb.c +++ b/board/freescale/ls1043ardb/ls1043ardb.c @@ -29,6 +29,22 @@
DECLARE_GLOBAL_DATA_PTR;
+int dram_init(void) +{ + gd->ram_size = initdram(0); + + return 0; +} + +int board_early_init_f(void) +{ + fsl_lsch2_early_init_f(); + + return 0; +} + +#ifndef CONFIG_SPL_BUILD + int checkboard(void) { static const char *freq[2] = {"100.00MHZ", "156.25MHZ"}; @@ -67,20 +83,6 @@ int checkboard(void) return 0; }
-int dram_init(void) -{ - gd->ram_size = initdram(0); - - return 0; -} - -int board_early_init_f(void) -{ - fsl_lsch2_early_init_f(); - - return 0; -} - int board_init(void) { struct ccsr_scfg *scfg = (struct ccsr_scfg *)CONFIG_SYS_FSL_SCFG_ADDR; @@ -222,3 +224,5 @@ u16 flash_read16(void *addr)
return (((val) >> 8) & 0x00ff) | (((val) << 8) & 0xff00); } + +#endif diff --git a/configs/ls1043ardb_sdcard_defconfig b/configs/ls1043ardb_sdcard_defconfig index 3df426d..e3d328b 100644 --- a/configs/ls1043ardb_sdcard_defconfig +++ b/configs/ls1043ardb_sdcard_defconfig @@ -2,7 +2,6 @@ CONFIG_ARM=y CONFIG_TARGET_LS1043ARDB=y CONFIG_SPL_LIBCOMMON_SUPPORT=y CONFIG_SPL_LIBGENERIC_SUPPORT=y -CONFIG_SPL_I2C_SUPPORT=y CONFIG_SPL_MMC_SUPPORT=y CONFIG_SPL_SERIAL_SUPPORT=y CONFIG_SPL_ENV_SUPPORT=y diff --git a/include/configs/ls1043a_common.h b/include/configs/ls1043a_common.h index c4b05e0..e8ba031 100644 --- a/include/configs/ls1043a_common.h +++ b/include/configs/ls1043a_common.h @@ -82,6 +82,7 @@ #define CONFIG_SYS_MONITOR_LEN 0xa0000 #endif
+#if !(defined(CONFIG_SPL_BUILD) && defined(CONFIG_SD_BOOT)) /* IFC */ #if !defined(CONFIG_QSPI_BOOT) && !defined(CONFIG_SD_BOOT_QSPI) #define CONFIG_FSL_IFC @@ -103,6 +104,7 @@ #define CONFIG_FLASH_SHOW_PROGRESS 45 /* count down from 45/5: 9..1 */ #endif #endif +#endif
/* I2C */ #define CONFIG_SYS_I2C @@ -112,6 +114,7 @@ #define CONFIG_SYS_I2C_MXC_I2C3 #define CONFIG_SYS_I2C_MXC_I2C4
+#ifndef CONFIG_SPL_BUILD /* PCIe */ #define CONFIG_PCIE1 /* PCIE controller 1 */ #define CONFIG_PCIE2 /* PCIE controller 2 */ @@ -125,13 +128,19 @@
/* Command line configuration */ #define CONFIG_CMD_ENV +#endif
+#if !(defined(CONFIG_SPL_BUILD) && defined(CONFIG_NAND_BOOT)) /* MMC */ #ifdef CONFIG_MMC #define CONFIG_FSL_ESDHC #define CONFIG_SYS_FSL_MMC_HAS_CAPBLT_VS33 #endif +#endif + +#define CONFIG_FSL_CAAM /* Enable SEC/CAAM */
+#ifndef CONFIG_SPL_BUILD /* DSPI */ #define CONFIG_FSL_DSPI #ifdef CONFIG_FSL_DSPI @@ -145,8 +154,6 @@ #endif #endif
-#define CONFIG_FSL_CAAM /* Enable SEC/CAAM */ - /* FMan ucode */ #define CONFIG_SYS_DPAA_FMAN #ifdef CONFIG_SYS_DPAA_FMAN @@ -179,6 +186,7 @@ #define CONFIG_SYS_QE_FMAN_FW_LENGTH 0x10000 #define CONFIG_SYS_FDT_PAD (0x3000 + CONFIG_SYS_QE_FMAN_FW_LENGTH) #endif +#endif
/* Miscellaneous configurable options */ #define CONFIG_SYS_LOAD_ADDR (CONFIG_SYS_DDR_SDRAM_BASE + 0x10000000) @@ -186,6 +194,7 @@ #define CONFIG_HWCONFIG #define HWCONFIG_BUFFER_SIZE 128
+#ifndef CONFIG_SPL_BUILD #if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI) #define MTDPARTS_DEFAULT "mtdparts=spi0.0:1m(uboot)," \ "5m(kernel),1m(dtb),9m(file_system)" @@ -224,6 +233,7 @@ #define CONFIG_BOOTCOMMAND "cp.b $kernel_start $kernel_load " \ "$kernel_size && bootm $kernel_load" #endif +#endif
/* Monitor Command Prompt */ #define CONFIG_SYS_CBSIZE 512 /* Console I/O Buffer Size */ diff --git a/include/configs/ls1043ardb.h b/include/configs/ls1043ardb.h index e50f495..972ccb1 100644 --- a/include/configs/ls1043ardb.h +++ b/include/configs/ls1043ardb.h @@ -90,7 +90,9 @@ /* * NAND Flash Definitions */ +#if !(defined(CONFIG_SPL_BUILD) && defined(CONFIG_SD_BOOT)) #define CONFIG_NAND_FSL_IFC +#endif
#define CONFIG_SYS_NAND_BASE 0x7e800000 #define CONFIG_SYS_NAND_BASE_PHYS CONFIG_SYS_NAND_BASE @@ -212,6 +214,7 @@ #define CONFIG_SYS_CS2_FTIM2 CONFIG_SYS_CPLD_FTIM2 #define CONFIG_SYS_CS2_FTIM3 CONFIG_SYS_CPLD_FTIM3
+#ifndef CONFIG_SPL_BUILD /* EEPROM */ #define CONFIG_ID_EEPROM #define CONFIG_SYS_I2C_EEPROM_NXID @@ -225,6 +228,7 @@ * Environment */ #define CONFIG_ENV_OVERWRITE +#endif
#if defined(CONFIG_NAND_BOOT) #define CONFIG_ENV_IS_IN_NAND @@ -242,6 +246,7 @@ #define CONFIG_ENV_SIZE 0x20000 #endif
+#ifndef CONFIG_SPL_BUILD /* FMan */ #ifdef CONFIG_SYS_DPAA_FMAN #define CONFIG_FMAN_ENET @@ -299,6 +304,7 @@ #define SCSI_VEND_ID 0x1b4b #define SCSI_DEV_ID 0x9170 #define CONFIG_SCSI_DEV_LIST {SCSI_VEND_ID, SCSI_DEV_ID} +#endif
#include <asm/fsl_secure_boot.h>

On 02/20/2017 03:18 AM, Sumit Garg wrote:
Using changes in this patch we were able to reduce approx 10k size of u-boot-spl.bin image. Following is breif description of changes to reduce SPL size:
- Changes in board/freescale/ls1043ardb/Makefile to remove compilation of eth.c and cpld.c in case of SPL build.
- Changes in board/freescale/ls1043ardb/ls1043ardb.c to keep only ddr_init and board_early_init_f funcations in case of SPL build.
- Changes in ls1043a_common.h & ls1043ardb.h to remove driver specific macros due to which static data was being compiled in case of SPL build.
- Disable MMC driver from bieng compiled in case of SPL NAND build and NAND driver from bieng compiled in case of SPL MMC build.
- Remove I2C driver support from SPL in case of LS1043ARDB.
Signed-off-by: Vinitha Pillai-B57223 vinitha.pillai@nxp.com
Remove the B57223 from the name, unless you really want it.
Signed-off-by: Sumit Garg sumit.garg@nxp.com
board/freescale/ls1043ardb/Makefile | 4 +++- board/freescale/ls1043ardb/ls1043ardb.c | 32 ++++++++++++++++++-------------- configs/ls1043ardb_sdcard_defconfig | 1 - include/configs/ls1043a_common.h | 14 ++++++++++++-- include/configs/ls1043ardb.h | 6 ++++++ 5 files changed, 39 insertions(+), 18 deletions(-)
This patch cause compiling warning for board/freescale/ls1043aqds/eth.c. Please fix.
York

-----Original Message----- From: york sun Sent: Monday, February 27, 2017 10:33 PM To: Sumit Garg sumit.garg@nxp.com; u-boot@lists.denx.de Cc: Ruchika Gupta ruchika.gupta@nxp.com; Prabhakar Kushwaha prabhakar.kushwaha@nxp.com; Mingkai Hu mingkai.hu@nxp.com; Vini Pillai vinitha.pillai@nxp.com Subject: Re: [PATCH] ls1043ardb: SPL size reduction in case of non-xip boot
On 02/20/2017 03:18 AM, Sumit Garg wrote:
Using changes in this patch we were able to reduce approx 10k size of u-boot-spl.bin image. Following is breif description of changes to reduce SPL size:
- Changes in board/freescale/ls1043ardb/Makefile to remove compilation of eth.c and cpld.c in case of SPL build.
- Changes in board/freescale/ls1043ardb/ls1043ardb.c to keep only ddr_init and board_early_init_f funcations in case of SPL build.
- Changes in ls1043a_common.h & ls1043ardb.h to remove driver specific macros due to which static data was being compiled in case of SPL build.
- Disable MMC driver from bieng compiled in case of SPL NAND build and NAND driver from bieng compiled in case of SPL MMC build.
- Remove I2C driver support from SPL in case of LS1043ARDB.
Signed-off-by: Vinitha Pillai-B57223 vinitha.pillai@nxp.com
Remove the B57223 from the name, unless you really want it.
Sure will remove it.
Signed-off-by: Sumit Garg sumit.garg@nxp.com
board/freescale/ls1043ardb/Makefile | 4 +++- board/freescale/ls1043ardb/ls1043ardb.c | 32 ++++++++++++++++++---------
configs/ls1043ardb_sdcard_defconfig | 1 - include/configs/ls1043a_common.h | 14 ++++++++++++-- include/configs/ls1043ardb.h | 6 ++++++ 5 files changed, 39 insertions(+), 18 deletions(-)
This patch cause compiling warning for board/freescale/ls1043aqds/eth.c. Please fix.
York
Will fix compilation warning.
Sumit

On 02/27/2017 07:45 PM, Sumit Garg wrote:
-----Original Message----- From: york sun Sent: Monday, February 27, 2017 10:33 PM To: Sumit Garg sumit.garg@nxp.com; u-boot@lists.denx.de Cc: Ruchika Gupta ruchika.gupta@nxp.com; Prabhakar Kushwaha prabhakar.kushwaha@nxp.com; Mingkai Hu mingkai.hu@nxp.com; Vini Pillai vinitha.pillai@nxp.com Subject: Re: [PATCH] ls1043ardb: SPL size reduction in case of non-xip boot
On 02/20/2017 03:18 AM, Sumit Garg wrote:
Using changes in this patch we were able to reduce approx 10k size of u-boot-spl.bin image. Following is breif description of changes to reduce SPL size:
- Changes in board/freescale/ls1043ardb/Makefile to remove compilation of eth.c and cpld.c in case of SPL build.
- Changes in board/freescale/ls1043ardb/ls1043ardb.c to keep only ddr_init and board_early_init_f funcations in case of SPL build.
- Changes in ls1043a_common.h & ls1043ardb.h to remove driver specific macros due to which static data was being compiled in case of SPL build.
- Disable MMC driver from bieng compiled in case of SPL NAND build and NAND driver from bieng compiled in case of SPL MMC build.
- Remove I2C driver support from SPL in case of LS1043ARDB.
Signed-off-by: Vinitha Pillai-B57223 vinitha.pillai@nxp.com
Remove the B57223 from the name, unless you really want it.
Sure will remove it.
Signed-off-by: Sumit Garg sumit.garg@nxp.com
board/freescale/ls1043ardb/Makefile | 4 +++- board/freescale/ls1043ardb/ls1043ardb.c | 32 ++++++++++++++++++---------
configs/ls1043ardb_sdcard_defconfig | 1 - include/configs/ls1043a_common.h | 14 ++++++++++++-- include/configs/ls1043ardb.h | 6 ++++++ 5 files changed, 39 insertions(+), 18 deletions(-)
This patch cause compiling warning for board/freescale/ls1043aqds/eth.c. Please fix.
York
Will fix compilation warning.
Please send your update.
York
participants (2)
-
Sumit Garg
-
york sun