> -----Original Message----- > From: york sun > Sent: Monday, March 27, 2017 9:41 PM > To: Sumit Garg <[email protected]>; [email protected] > Cc: Ruchika Gupta <[email protected]>; Prabhakar Kushwaha > <[email protected]>; Mingkai Hu <[email protected]>; Vini > Pillai <[email protected]> > Subject: Re: [PATCH v2] ls1043ardb: SPL size reduction in case of non-xip boot > > On 03/27/2017 08:59 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: > > 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 <[email protected]> > > Signed-off-by: Sumit Garg <[email protected]> > > --- > > > > Changes in v2: > > Rebased and fixed compilation warning on ls1043aqds. > > > > board/freescale/ls1043aqds/Makefile | 2 ++ > > board/freescale/ls1043ardb/Makefile | 4 +++- > > board/freescale/ls1043ardb/ls1043ardb.c | 18 +++++++++++------- > > configs/ls1043ardb_sdcard_defconfig | 1 - > > include/configs/ls1043a_common.h | 10 ++++++++++ > > include/configs/ls1043ardb.h | 6 ++++++ > > 6 files changed, 32 insertions(+), 9 deletions(-) > > > > diff --git a/board/freescale/ls1043aqds/Makefile > > b/board/freescale/ls1043aqds/Makefile > > index f727bfd..49d8d7d 100644 > > --- a/board/freescale/ls1043aqds/Makefile > > +++ b/board/freescale/ls1043aqds/Makefile > > @@ -5,5 +5,7 @@ > > # > > > > obj-y += ddr.o > > +ifndef CONFIG_SPL_BUILD > > obj-y += eth.o > > +endif > > obj-y += ls1043aqds.o > > 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 2333843..6de7f9a 100644 > > --- a/board/freescale/ls1043ardb/ls1043ardb.c > > +++ b/board/freescale/ls1043ardb/ls1043ardb.c > > @@ -29,6 +29,15 @@ > > > > DECLARE_GLOBAL_DATA_PTR; > > > > +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,13 > > +76,6 @@ int checkboard(void) > > 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; @@ -215,3 +217,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 e57c42b..6bebbd9 100644 > > --- a/configs/ls1043ardb_sdcard_defconfig > > +++ b/configs/ls1043ardb_sdcard_defconfig > > @@ -17,7 +17,6 @@ CONFIG_SPL=y > > CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR=y > > CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0xf0 > > CONFIG_SPL_ENV_SUPPORT=y > > -CONFIG_SPL_I2C_SUPPORT=y > > CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT=y > > CONFIG_HUSH_PARSER=y > > CONFIG_CMD_GPT=y > > diff --git a/include/configs/ls1043a_common.h > > b/include/configs/ls1043a_common.h > > index 5a5f951..3dd4dd6 100644 > > --- a/include/configs/ls1043a_common.h > > +++ b/include/configs/ls1043a_common.h > > @@ -81,6 +81,7 @@ > > #define CONFIG_SYS_MONITOR_LEN 0xa0000 > > #endif > > > > +#if !(defined(CONFIG_SPL_BUILD) && defined(CONFIG_SD_BOOT)) > > Is this right? You would skip IFC if SD_BOOT is not enabled. Did you try NOR > boot with this change? > Here this check is with "!" operation, means to skip IFC if SD_BOOT & SPL_BUILD are enabled. > > /* IFC */ > > #if !defined(CONFIG_QSPI_BOOT) && !defined(CONFIG_SD_BOOT_QSPI) > > #define CONFIG_FSL_IFC @@ -102,6 +103,7 @@ > > #define CONFIG_FLASH_SHOW_PROGRESS 45 /* count down from > 45/5: 9..1 */ > > #endif > > #endif > > +#endif > > > > /* I2C */ > > #define CONFIG_SYS_I2C > > @@ -111,6 +113,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 */ > > @@ -124,13 +127,17 @@ > > > > /* Command line configuration */ > > #define CONFIG_CMD_ENV > > +#endif > > > > +#if !(defined(CONFIG_SPL_BUILD) && defined(CONFIG_NAND_BOOT)) > > So MMC is only available for NAND_BOOT? Here also check is with "!" operation, means to skip MMC if NAND_BOOT & SPL_BUILD are enabled.
> > > /* MMC */ > > #ifdef CONFIG_MMC > > #define CONFIG_FSL_ESDHC > > #define CONFIG_SYS_FSL_MMC_HAS_CAPBLT_VS33 > > #endif > > +#endif > > > > York Sumit _______________________________________________ U-Boot mailing list [email protected] https://lists.denx.de/listinfo/u-boot

