All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v4] ls1046ardb: SPL size reduction in case of non-xip boot
  2017-03-30  0:01 [U-Boot] [PATCH v4] ls1046ardb: SPL size reduction in case of non-xip boot Sumit Garg
@ 2017-03-29 15:26 ` york sun
  2017-03-29 15:36   ` Sumit Garg
  0 siblings, 1 reply; 5+ messages in thread
From: york sun @ 2017-03-29 15:26 UTC (permalink / raw)
  To: u-boot

On 03/29/2017 05:33 AM, Sumit Garg wrote:
> Using changes in this patch we were able to reduce approx 4k
> size of u-boot-spl.bin image. Following is breif description of
> changes to reduce SPL size:
> 1. Changes in board/freescale/ls1046ardb/Makefile to remove
>    compilation of eth.c and cpld.c in case of SPL build.
> 2. Changes in board/freescale/ls1046ardb/ls1046ardb.c to keep
>    only ddr_init and board_early_init_f funcations in case of SPL
>    build.
> 3. Changes in ls1046a_common.h & ls1046ardb.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.
>
> Signed-off-by: Vinitha Pillai <vinitha.pillai@nxp.com>
> Signed-off-by: Sumit Garg <sumit.garg@nxp.com>
> ---
>
> Changes in v4:
> Rename macros in header files.
>
> Changes in v3:
> Reorganised way to remove driver macros in ls1046a_common.h & ls1046ardb.h
> files for easy maintainability.
>
> Changes in v2:
> Rebased and fixed compilation warning on ls1046aqds.
>
>  board/freescale/ls1046aqds/Makefile     |  2 ++
>  board/freescale/ls1046ardb/Makefile     |  4 +++-
>  board/freescale/ls1046ardb/ls1046ardb.c | 16 +++++++++-------
>  include/configs/ls1046a_common.h        | 23 +++++++++++++++++++++++
>  include/configs/ls1046ardb.h            | 25 ++++++++++++++++++++++++-
>  5 files changed, 61 insertions(+), 9 deletions(-)
>
> diff --git a/board/freescale/ls1046aqds/Makefile b/board/freescale/ls1046aqds/Makefile
> index df6e546..6267522 100644
> --- a/board/freescale/ls1046aqds/Makefile
> +++ b/board/freescale/ls1046aqds/Makefile
> @@ -5,5 +5,7 @@
>  #
>
>  obj-y += ddr.o
> +ifndef CONFIG_SPL_BUILD
>  obj-y += eth.o
> +endif
>  obj-y += ls1046aqds.o
> diff --git a/board/freescale/ls1046ardb/Makefile b/board/freescale/ls1046ardb/Makefile
> index 348eb76..b92ed0b 100644
> --- a/board/freescale/ls1046ardb/Makefile
> +++ b/board/freescale/ls1046ardb/Makefile
> @@ -4,7 +4,9 @@
>  # SPDX-License-Identifier:	GPL-2.0+
>  #
>
> -obj-y += cpld.o
>  obj-y += ddr.o
>  obj-y += ls1046ardb.o
> +ifndef CONFIG_SPL_BUILD
>  obj-$(CONFIG_SYS_DPAA_FMAN) += eth.o
> +obj-y += cpld.o
> +endif
> diff --git a/board/freescale/ls1046ardb/ls1046ardb.c b/board/freescale/ls1046ardb/ls1046ardb.c
> index 02b6c4c..0cc508b 100644
> --- a/board/freescale/ls1046ardb/ls1046ardb.c
> +++ b/board/freescale/ls1046ardb/ls1046ardb.c
> @@ -24,6 +24,14 @@
>
>  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"};
> @@ -56,13 +64,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;
> @@ -161,3 +162,4 @@ int ft_board_setup(void *blob, bd_t *bd)
>
>  	return 0;
>  }
> +#endif
> diff --git a/include/configs/ls1046a_common.h b/include/configs/ls1046a_common.h
> index 1ed7517..b77edda 100644
> --- a/include/configs/ls1046a_common.h
> +++ b/include/configs/ls1046a_common.h
> @@ -7,6 +7,17 @@
>  #ifndef __LS1046A_COMMON_H
>  #define __LS1046A_COMMON_H
>
> +/* SPL build */
> +#ifdef CONFIG_SPL_BUILD
> +#define SPL_NO_QBMAN
> +#define SPL_NO_FMAN_UCODE
> +#define SPL_NO_CMD_ENV
> +#define SPL_NO_MISC
> +#endif
> +#if (defined(CONFIG_SPL_BUILD) && defined(CONFIG_NAND_BOOT))
> +#define SPL_NO_MMC
> +#endif
> +
>  #define CONFIG_REMAKE_ELF
>  #define CONFIG_FSL_LAYERSCAPE
>  #define CONFIG_MP
> @@ -109,20 +120,28 @@
>  #define CONFIG_SYS_I2C_MXC_I2C4
>
>  /* Command line configuration */
> +#ifndef SPL_NO_CMD_ENV
>  #define CONFIG_CMD_ENV
> +#endif
>
>  /* MMC */
> +#ifndef SPL_NO_MMC
>  #ifdef CONFIG_MMC
>  #define CONFIG_FSL_ESDHC
>  #define CONFIG_SYS_FSL_MMC_HAS_CAPBLT_VS33
>  #endif
> +#endif
>
> +#ifndef SPL_NO_QBMAN
>  #define CONFIG_SYS_DPAA_QBMAN		/* Support Q/Bman */
> +#endif
>
>  /* FMan ucode */
> +#ifndef SPL_NO_FMAN_UCODE
>  #define CONFIG_SYS_DPAA_FMAN
>  #ifdef CONFIG_SYS_DPAA_FMAN
>  #define CONFIG_SYS_FM_MURAM_SIZE	0x60000
> +#endif
>
>  #ifdef CONFIG_SD_BOOT
>  /*
> @@ -156,6 +175,7 @@
>  #define CONFIG_HWCONFIG
>  #define HWCONFIG_BUFFER_SIZE		128
>
> +#ifndef SPL_NO_MISC
>  /* Initial environment variables */
>  #define CONFIG_EXTRA_ENV_SETTINGS		\
>  	"hwconfig=fsl_ddr:bank_intlv=auto\0"	\
> @@ -173,13 +193,16 @@
>  #define CONFIG_BOOTARGS			"console=ttyS0,115200 root=/dev/ram0 " \
>  					"earlycon=uart8250,mmio,0x21c0500 " \
>  					MTDPARTS_DEFAULT
> +#endif
>  /* Monitor Command Prompt */
>  #define CONFIG_SYS_CBSIZE		512	/* Console I/O Buffer Size */
>  #define CONFIG_SYS_PBSIZE		(CONFIG_SYS_CBSIZE + \
>  					sizeof(CONFIG_SYS_PROMPT) + 16)
>  #define CONFIG_SYS_BARGSIZE		CONFIG_SYS_CBSIZE /* Boot args buffer */
>  #define CONFIG_SYS_LONGHELP
> +#ifndef SPL_NO_MISC
>  #define CONFIG_CMDLINE_EDITING		1
> +#endif
>  #define CONFIG_AUTO_COMPLETE
>  #define CONFIG_SYS_MAXARGS		64	/* max command args */
>
> diff --git a/include/configs/ls1046ardb.h b/include/configs/ls1046ardb.h
> index 2141b82..c01eb1f 100644
> --- a/include/configs/ls1046ardb.h
> +++ b/include/configs/ls1046ardb.h
> @@ -9,6 +9,18 @@
>
>  #include "ls1046a_common.h"
>
> +/* SPL build */
> +#ifdef CONFIG_SPL_BUILD
> +#define SPL_NO_FMAN
> +#define SPL_NO_QSPI
> +#define SPL_NO_USB
> +#define SPL_NO_SATA
> +#define SPL_NO_ENV
> +#endif
> +#if (defined(CONFIG_SPL_BUILD) && defined(CONFIG_SD_BOOT))
> +#define SPL_NO_IFC
> +#endif

Are these RDB specific? Why not put this block into the common header?

York

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH v4] ls1046ardb: SPL size reduction in case of non-xip boot
  2017-03-29 15:26 ` york sun
@ 2017-03-29 15:36   ` Sumit Garg
  2017-03-29 15:44     ` york sun
  0 siblings, 1 reply; 5+ messages in thread
From: Sumit Garg @ 2017-03-29 15:36 UTC (permalink / raw)
  To: u-boot

> -----Original Message-----
> From: york sun
> Sent: Wednesday, March 29, 2017 8:57 PM
> To: Sumit Garg <sumit.garg@nxp.com>; u-boot at 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 v4] ls1046ardb: SPL size reduction in case of non-xip boot
> 
> On 03/29/2017 05:33 AM, Sumit Garg wrote:
> > Using changes in this patch we were able to reduce approx 4k size of
> > u-boot-spl.bin image. Following is breif description of changes to
> > reduce SPL size:
> > 1. Changes in board/freescale/ls1046ardb/Makefile to remove
> >    compilation of eth.c and cpld.c in case of SPL build.
> > 2. Changes in board/freescale/ls1046ardb/ls1046ardb.c to keep
> >    only ddr_init and board_early_init_f funcations in case of SPL
> >    build.
> > 3. Changes in ls1046a_common.h & ls1046ardb.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.
> >
> > Signed-off-by: Vinitha Pillai <vinitha.pillai@nxp.com>
> > Signed-off-by: Sumit Garg <sumit.garg@nxp.com>
> > ---
> >
> > Changes in v4:
> > Rename macros in header files.
> >
> > Changes in v3:
> > Reorganised way to remove driver macros in ls1046a_common.h &
> > ls1046ardb.h files for easy maintainability.
> >
> > Changes in v2:
> > Rebased and fixed compilation warning on ls1046aqds.
> >
> >  board/freescale/ls1046aqds/Makefile     |  2 ++
> >  board/freescale/ls1046ardb/Makefile     |  4 +++-
> >  board/freescale/ls1046ardb/ls1046ardb.c | 16 +++++++++-------
> >  include/configs/ls1046a_common.h        | 23 +++++++++++++++++++++++
> >  include/configs/ls1046ardb.h            | 25 ++++++++++++++++++++++++-
> >  5 files changed, 61 insertions(+), 9 deletions(-)
> >
> > diff --git a/board/freescale/ls1046aqds/Makefile
> > b/board/freescale/ls1046aqds/Makefile
> > index df6e546..6267522 100644
> > --- a/board/freescale/ls1046aqds/Makefile
> > +++ b/board/freescale/ls1046aqds/Makefile
> > @@ -5,5 +5,7 @@
> >  #
> >
> >  obj-y += ddr.o
> > +ifndef CONFIG_SPL_BUILD
> >  obj-y += eth.o
> > +endif
> >  obj-y += ls1046aqds.o
> > diff --git a/board/freescale/ls1046ardb/Makefile
> > b/board/freescale/ls1046ardb/Makefile
> > index 348eb76..b92ed0b 100644
> > --- a/board/freescale/ls1046ardb/Makefile
> > +++ b/board/freescale/ls1046ardb/Makefile
> > @@ -4,7 +4,9 @@
> >  # SPDX-License-Identifier:	GPL-2.0+
> >  #
> >
> > -obj-y += cpld.o
> >  obj-y += ddr.o
> >  obj-y += ls1046ardb.o
> > +ifndef CONFIG_SPL_BUILD
> >  obj-$(CONFIG_SYS_DPAA_FMAN) += eth.o
> > +obj-y += cpld.o
> > +endif
> > diff --git a/board/freescale/ls1046ardb/ls1046ardb.c
> > b/board/freescale/ls1046ardb/ls1046ardb.c
> > index 02b6c4c..0cc508b 100644
> > --- a/board/freescale/ls1046ardb/ls1046ardb.c
> > +++ b/board/freescale/ls1046ardb/ls1046ardb.c
> > @@ -24,6 +24,14 @@
> >
> >  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"}; @@ -56,13
> > +64,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; @@ -161,3 +162,4 @@ int
> > ft_board_setup(void *blob, bd_t *bd)
> >
> >  	return 0;
> >  }
> > +#endif
> > diff --git a/include/configs/ls1046a_common.h
> > b/include/configs/ls1046a_common.h
> > index 1ed7517..b77edda 100644
> > --- a/include/configs/ls1046a_common.h
> > +++ b/include/configs/ls1046a_common.h
> > @@ -7,6 +7,17 @@
> >  #ifndef __LS1046A_COMMON_H
> >  #define __LS1046A_COMMON_H
> >
> > +/* SPL build */
> > +#ifdef CONFIG_SPL_BUILD
> > +#define SPL_NO_QBMAN
> > +#define SPL_NO_FMAN_UCODE
> > +#define SPL_NO_CMD_ENV
> > +#define SPL_NO_MISC
> > +#endif
> > +#if (defined(CONFIG_SPL_BUILD) && defined(CONFIG_NAND_BOOT))
> #define
> > +SPL_NO_MMC #endif
> > +
> >  #define CONFIG_REMAKE_ELF
> >  #define CONFIG_FSL_LAYERSCAPE
> >  #define CONFIG_MP
> > @@ -109,20 +120,28 @@
> >  #define CONFIG_SYS_I2C_MXC_I2C4
> >
> >  /* Command line configuration */
> > +#ifndef SPL_NO_CMD_ENV
> >  #define CONFIG_CMD_ENV
> > +#endif
> >
> >  /* MMC */
> > +#ifndef SPL_NO_MMC
> >  #ifdef CONFIG_MMC
> >  #define CONFIG_FSL_ESDHC
> >  #define CONFIG_SYS_FSL_MMC_HAS_CAPBLT_VS33
> >  #endif
> > +#endif
> >
> > +#ifndef SPL_NO_QBMAN
> >  #define CONFIG_SYS_DPAA_QBMAN		/* Support Q/Bman */
> > +#endif
> >
> >  /* FMan ucode */
> > +#ifndef SPL_NO_FMAN_UCODE
> >  #define CONFIG_SYS_DPAA_FMAN
> >  #ifdef CONFIG_SYS_DPAA_FMAN
> >  #define CONFIG_SYS_FM_MURAM_SIZE	0x60000
> > +#endif
> >
> >  #ifdef CONFIG_SD_BOOT
> >  /*
> > @@ -156,6 +175,7 @@
> >  #define CONFIG_HWCONFIG
> >  #define HWCONFIG_BUFFER_SIZE		128
> >
> > +#ifndef SPL_NO_MISC
> >  /* Initial environment variables */
> >  #define CONFIG_EXTRA_ENV_SETTINGS		\
> >  	"hwconfig=fsl_ddr:bank_intlv=auto\0"	\
> > @@ -173,13 +193,16 @@
> >  #define CONFIG_BOOTARGS			"console=ttyS0,115200
> root=/dev/ram0 " \
> >  					"earlycon=uart8250,mmio,0x21c0500 " \
> >  					MTDPARTS_DEFAULT
> > +#endif
> >  /* Monitor Command Prompt */
> >  #define CONFIG_SYS_CBSIZE		512	/* Console I/O Buffer
> Size */
> >  #define CONFIG_SYS_PBSIZE		(CONFIG_SYS_CBSIZE + \
> >  					sizeof(CONFIG_SYS_PROMPT) + 16)
> >  #define CONFIG_SYS_BARGSIZE		CONFIG_SYS_CBSIZE /* Boot
> args buffer */
> >  #define CONFIG_SYS_LONGHELP
> > +#ifndef SPL_NO_MISC
> >  #define CONFIG_CMDLINE_EDITING		1
> > +#endif
> >  #define CONFIG_AUTO_COMPLETE
> >  #define CONFIG_SYS_MAXARGS		64	/* max command args
> */
> >
> > diff --git a/include/configs/ls1046ardb.h
> > b/include/configs/ls1046ardb.h index 2141b82..c01eb1f 100644
> > --- a/include/configs/ls1046ardb.h
> > +++ b/include/configs/ls1046ardb.h
> > @@ -9,6 +9,18 @@
> >
> >  #include "ls1046a_common.h"
> >
> > +/* SPL build */
> > +#ifdef CONFIG_SPL_BUILD
> > +#define SPL_NO_FMAN
> > +#define SPL_NO_QSPI
> > +#define SPL_NO_USB
> > +#define SPL_NO_SATA
> > +#define SPL_NO_ENV
> > +#endif
> > +#if (defined(CONFIG_SPL_BUILD) && defined(CONFIG_SD_BOOT)) #define
> > +SPL_NO_IFC #endif
> 
> Are these RDB specific? Why not put this block into the common header?
> 
> York

Yes these macros are used to mask macros in RDB header file from inclusion during SPL build. Also this block can be put in common header but I am not sure how many of above macros relevant for the QDS header file.

Sumit

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH v4] ls1046ardb: SPL size reduction in case of non-xip boot
  2017-03-29 15:36   ` Sumit Garg
@ 2017-03-29 15:44     ` york sun
  2017-03-29 15:57       ` Sumit Garg
  0 siblings, 1 reply; 5+ messages in thread
From: york sun @ 2017-03-29 15:44 UTC (permalink / raw)
  To: u-boot

On 03/29/2017 08:36 AM, Sumit Garg wrote:

<snip>

>>>
>>> diff --git a/include/configs/ls1046ardb.h
>>> b/include/configs/ls1046ardb.h index 2141b82..c01eb1f 100644
>>> --- a/include/configs/ls1046ardb.h
>>> +++ b/include/configs/ls1046ardb.h
>>> @@ -9,6 +9,18 @@
>>>
>>>  #include "ls1046a_common.h"
>>>
>>> +/* SPL build */
>>> +#ifdef CONFIG_SPL_BUILD
>>> +#define SPL_NO_FMAN
>>> +#define SPL_NO_QSPI
>>> +#define SPL_NO_USB
>>> +#define SPL_NO_SATA
>>> +#define SPL_NO_ENV
>>> +#endif
>>> +#if (defined(CONFIG_SPL_BUILD) && defined(CONFIG_SD_BOOT)) #define
>>> +SPL_NO_IFC #endif
>>
>> Are these RDB specific? Why not put this block into the common header?
>>
>> York
>
> Yes these macros are used to mask macros in RDB header file from inclusion during SPL build. Also this block can be put in common header but I am not sure how many of above macros relevant for the QDS header file.

Don't both boards have FMAN, QSPI, USB, SATA, ENV?

Please be aware, I have asked Mingkai to separate DPAA_FMAN from general 
NET. I want to see the flexibility to use either PCIe network, and/or 
DPAA network separately.

York

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH v4] ls1046ardb: SPL size reduction in case of non-xip boot
  2017-03-29 15:44     ` york sun
@ 2017-03-29 15:57       ` Sumit Garg
  0 siblings, 0 replies; 5+ messages in thread
From: Sumit Garg @ 2017-03-29 15:57 UTC (permalink / raw)
  To: u-boot

> -----Original Message-----
> From: york sun
> Sent: Wednesday, March 29, 2017 9:15 PM
> To: Sumit Garg <sumit.garg@nxp.com>; u-boot at 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 v4] ls1046ardb: SPL size reduction in case of non-xip boot
> 
> On 03/29/2017 08:36 AM, Sumit Garg wrote:
> 
> <snip>
> 
> >>>
> >>> diff --git a/include/configs/ls1046ardb.h
> >>> b/include/configs/ls1046ardb.h index 2141b82..c01eb1f 100644
> >>> --- a/include/configs/ls1046ardb.h
> >>> +++ b/include/configs/ls1046ardb.h
> >>> @@ -9,6 +9,18 @@
> >>>
> >>>  #include "ls1046a_common.h"
> >>>
> >>> +/* SPL build */
> >>> +#ifdef CONFIG_SPL_BUILD
> >>> +#define SPL_NO_FMAN
> >>> +#define SPL_NO_QSPI
> >>> +#define SPL_NO_USB
> >>> +#define SPL_NO_SATA
> >>> +#define SPL_NO_ENV
> >>> +#endif
> >>> +#if (defined(CONFIG_SPL_BUILD) && defined(CONFIG_SD_BOOT))
> #define
> >>> +SPL_NO_IFC #endif
> >>
> >> Are these RDB specific? Why not put this block into the common header?
> >>
> >> York
> >
> > Yes these macros are used to mask macros in RDB header file from inclusion
> during SPL build. Also this block can be put in common header but I am not sure
> how many of above macros relevant for the QDS header file.
> 
> Don't both boards have FMAN, QSPI, USB, SATA, ENV?

I had a look at QDS header file, it does have all these macros. I will move these macros to common header file in v5.

Sumit

> 
> Please be aware, I have asked Mingkai to separate DPAA_FMAN from general
> NET. I want to see the flexibility to use either PCIe network, and/or DPAA
> network separately.
> 
> York

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH v4] ls1046ardb: SPL size reduction in case of non-xip boot
@ 2017-03-30  0:01 Sumit Garg
  2017-03-29 15:26 ` york sun
  0 siblings, 1 reply; 5+ messages in thread
From: Sumit Garg @ 2017-03-30  0:01 UTC (permalink / raw)
  To: u-boot

Using changes in this patch we were able to reduce approx 4k
size of u-boot-spl.bin image. Following is breif description of
changes to reduce SPL size:
1. Changes in board/freescale/ls1046ardb/Makefile to remove
   compilation of eth.c and cpld.c in case of SPL build.
2. Changes in board/freescale/ls1046ardb/ls1046ardb.c to keep
   only ddr_init and board_early_init_f funcations in case of SPL
   build.
3. Changes in ls1046a_common.h & ls1046ardb.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.

Signed-off-by: Vinitha Pillai <vinitha.pillai@nxp.com>
Signed-off-by: Sumit Garg <sumit.garg@nxp.com>
---

Changes in v4:
Rename macros in header files.

Changes in v3:
Reorganised way to remove driver macros in ls1046a_common.h & ls1046ardb.h
files for easy maintainability.

Changes in v2:
Rebased and fixed compilation warning on ls1046aqds.

 board/freescale/ls1046aqds/Makefile     |  2 ++
 board/freescale/ls1046ardb/Makefile     |  4 +++-
 board/freescale/ls1046ardb/ls1046ardb.c | 16 +++++++++-------
 include/configs/ls1046a_common.h        | 23 +++++++++++++++++++++++
 include/configs/ls1046ardb.h            | 25 ++++++++++++++++++++++++-
 5 files changed, 61 insertions(+), 9 deletions(-)

diff --git a/board/freescale/ls1046aqds/Makefile b/board/freescale/ls1046aqds/Makefile
index df6e546..6267522 100644
--- a/board/freescale/ls1046aqds/Makefile
+++ b/board/freescale/ls1046aqds/Makefile
@@ -5,5 +5,7 @@
 #
 
 obj-y += ddr.o
+ifndef CONFIG_SPL_BUILD
 obj-y += eth.o
+endif
 obj-y += ls1046aqds.o
diff --git a/board/freescale/ls1046ardb/Makefile b/board/freescale/ls1046ardb/Makefile
index 348eb76..b92ed0b 100644
--- a/board/freescale/ls1046ardb/Makefile
+++ b/board/freescale/ls1046ardb/Makefile
@@ -4,7 +4,9 @@
 # SPDX-License-Identifier:	GPL-2.0+
 #
 
-obj-y += cpld.o
 obj-y += ddr.o
 obj-y += ls1046ardb.o
+ifndef CONFIG_SPL_BUILD
 obj-$(CONFIG_SYS_DPAA_FMAN) += eth.o
+obj-y += cpld.o
+endif
diff --git a/board/freescale/ls1046ardb/ls1046ardb.c b/board/freescale/ls1046ardb/ls1046ardb.c
index 02b6c4c..0cc508b 100644
--- a/board/freescale/ls1046ardb/ls1046ardb.c
+++ b/board/freescale/ls1046ardb/ls1046ardb.c
@@ -24,6 +24,14 @@
 
 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"};
@@ -56,13 +64,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;
@@ -161,3 +162,4 @@ int ft_board_setup(void *blob, bd_t *bd)
 
 	return 0;
 }
+#endif
diff --git a/include/configs/ls1046a_common.h b/include/configs/ls1046a_common.h
index 1ed7517..b77edda 100644
--- a/include/configs/ls1046a_common.h
+++ b/include/configs/ls1046a_common.h
@@ -7,6 +7,17 @@
 #ifndef __LS1046A_COMMON_H
 #define __LS1046A_COMMON_H
 
+/* SPL build */
+#ifdef CONFIG_SPL_BUILD
+#define SPL_NO_QBMAN
+#define SPL_NO_FMAN_UCODE
+#define SPL_NO_CMD_ENV
+#define SPL_NO_MISC
+#endif
+#if (defined(CONFIG_SPL_BUILD) && defined(CONFIG_NAND_BOOT))
+#define SPL_NO_MMC
+#endif
+
 #define CONFIG_REMAKE_ELF
 #define CONFIG_FSL_LAYERSCAPE
 #define CONFIG_MP
@@ -109,20 +120,28 @@
 #define CONFIG_SYS_I2C_MXC_I2C4
 
 /* Command line configuration */
+#ifndef SPL_NO_CMD_ENV
 #define CONFIG_CMD_ENV
+#endif
 
 /* MMC */
+#ifndef SPL_NO_MMC
 #ifdef CONFIG_MMC
 #define CONFIG_FSL_ESDHC
 #define CONFIG_SYS_FSL_MMC_HAS_CAPBLT_VS33
 #endif
+#endif
 
+#ifndef SPL_NO_QBMAN
 #define CONFIG_SYS_DPAA_QBMAN		/* Support Q/Bman */
+#endif
 
 /* FMan ucode */
+#ifndef SPL_NO_FMAN_UCODE
 #define CONFIG_SYS_DPAA_FMAN
 #ifdef CONFIG_SYS_DPAA_FMAN
 #define CONFIG_SYS_FM_MURAM_SIZE	0x60000
+#endif
 
 #ifdef CONFIG_SD_BOOT
 /*
@@ -156,6 +175,7 @@
 #define CONFIG_HWCONFIG
 #define HWCONFIG_BUFFER_SIZE		128
 
+#ifndef SPL_NO_MISC
 /* Initial environment variables */
 #define CONFIG_EXTRA_ENV_SETTINGS		\
 	"hwconfig=fsl_ddr:bank_intlv=auto\0"	\
@@ -173,13 +193,16 @@
 #define CONFIG_BOOTARGS			"console=ttyS0,115200 root=/dev/ram0 " \
 					"earlycon=uart8250,mmio,0x21c0500 " \
 					MTDPARTS_DEFAULT
+#endif
 /* Monitor Command Prompt */
 #define CONFIG_SYS_CBSIZE		512	/* Console I/O Buffer Size */
 #define CONFIG_SYS_PBSIZE		(CONFIG_SYS_CBSIZE + \
 					sizeof(CONFIG_SYS_PROMPT) + 16)
 #define CONFIG_SYS_BARGSIZE		CONFIG_SYS_CBSIZE /* Boot args buffer */
 #define CONFIG_SYS_LONGHELP
+#ifndef SPL_NO_MISC
 #define CONFIG_CMDLINE_EDITING		1
+#endif
 #define CONFIG_AUTO_COMPLETE
 #define CONFIG_SYS_MAXARGS		64	/* max command args */
 
diff --git a/include/configs/ls1046ardb.h b/include/configs/ls1046ardb.h
index 2141b82..c01eb1f 100644
--- a/include/configs/ls1046ardb.h
+++ b/include/configs/ls1046ardb.h
@@ -9,6 +9,18 @@
 
 #include "ls1046a_common.h"
 
+/* SPL build */
+#ifdef CONFIG_SPL_BUILD
+#define SPL_NO_FMAN
+#define SPL_NO_QSPI
+#define SPL_NO_USB
+#define SPL_NO_SATA
+#define SPL_NO_ENV
+#endif
+#if (defined(CONFIG_SPL_BUILD) && defined(CONFIG_SD_BOOT))
+#define SPL_NO_IFC
+#endif
+
 #ifdef CONFIG_SD_BOOT
 #define CONFIG_SYS_TEXT_BASE		0x82000000
 #else
@@ -51,13 +63,14 @@
 #endif
 #endif
 
+#ifndef SPL_NO_IFC
 /* IFC */
 #define CONFIG_FSL_IFC
-
 /*
  * NAND Flash Definitions
  */
 #define CONFIG_NAND_FSL_IFC
+#endif
 
 #define CONFIG_SYS_NAND_BASE		0x7e800000
 #define CONFIG_SYS_NAND_BASE_PHYS	CONFIG_SYS_NAND_BASE
@@ -161,7 +174,9 @@
 /*
  * Environment
  */
+#ifndef SPL_NO_ENV
 #define CONFIG_ENV_OVERWRITE
+#endif
 
 #if defined(CONFIG_SD_BOOT)
 #define CONFIG_ENV_IS_IN_MMC
@@ -176,6 +191,7 @@
 #endif
 
 /* FMan */
+#ifndef SPL_NO_FMAN
 #ifdef CONFIG_SYS_DPAA_FMAN
 #define CONFIG_FMAN_ENET
 #define CONFIG_PHYLIB
@@ -196,16 +212,20 @@
 
 #define CONFIG_ETHPRIME			"FM1 at DTSEC3"
 #endif
+#endif
 
 /* QSPI device */
+#ifndef SPL_NO_QSPI
 #ifdef CONFIG_FSL_QSPI
 #define CONFIG_SPI_FLASH_SPANSION
 #define FSL_QSPI_FLASH_SIZE		(1 << 26)
 #define FSL_QSPI_FLASH_NUM		2
 #define CONFIG_SPI_FLASH_BAR
 #endif
+#endif
 
 /* USB */
+#ifndef SPL_NO_USB
 #define CONFIG_HAS_FSL_XHCI_USB
 #ifdef CONFIG_HAS_FSL_XHCI_USB
 #define CONFIG_USB_XHCI_HCD
@@ -216,8 +236,10 @@
 #define CONFIG_CMD_USB
 #define CONFIG_USB_STORAGE
 #endif
+#endif
 
 /* SATA */
+#ifndef SPL_NO_SATA
 #define CONFIG_LIBATA
 #define CONFIG_SCSI_AHCI
 #define CONFIG_SCSI_AHCI_PLAT
@@ -238,5 +260,6 @@
 			"15m(u-boot),48m(kernel.itb);" \
 			"7e800000.flash:16m(nand_uboot)," \
 			"48m(nand_kernel),448m(nand_free)"
+#endif
 
 #endif /* __LS1046ARDB_H__ */
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-03-30  0:01 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-30  0:01 [U-Boot] [PATCH v4] ls1046ardb: SPL size reduction in case of non-xip boot Sumit Garg
2017-03-29 15:26 ` york sun
2017-03-29 15:36   ` Sumit Garg
2017-03-29 15:44     ` york sun
2017-03-29 15:57       ` Sumit Garg

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.