Message ID | 1331121854-20494-9-git-send-email-amit.virdi@st.com |
---|---|
State | Superseded |
Delegated to: | Stefan Roese |
Headers | show |
On Wednesday 07 March 2012 13:03:57 Amit Virdi wrote: > From: Vipin KUMAR <vipin.kumar@st.com> > > spear3xx and 6xx boards can be compiled in following configurations > 1. Environment placed in NAND > 2. console on usb device > 3. console on usb device with environment placed in NAND > > Also, renaming the include/configs/spearxxx.h files to spear3xx_evb.h, > spear6xx_evb.h etc to depict evaluation board configuration. Some comments below. > Signed-off-by: Vipin Kumar <vipin.kumar@st.com> > Signed-off-by: Amit Virdi <amit.virdi@st.com> > --- > board/spear/spear300/config.mk | 13 +--------- > board/spear/spear310/config.mk | 11 -------- > board/spear/spear320/config.mk | 11 -------- > board/spear/spear600/config.mk | 13 +--------- > boards.cfg | 20 ++++++++++++--- > doc/README.spear | 31 > +++++++++++++++++------- include/configs/{spear3xx.h => spear3xx_evb.h} | > 10 +++++++ > include/configs/{spear6xx.h => spear6xx_evb.h} | 10 +++++++ > 8 files changed, 60 insertions(+), 59 deletions(-) > rename include/configs/{spear3xx.h => spear3xx_evb.h} (96%) > rename include/configs/{spear6xx.h => spear6xx_evb.h} (89%) > > diff --git a/board/spear/spear300/config.mk > b/board/spear/spear300/config.mk index 5848ef8..0706430 100644 > --- a/board/spear/spear300/config.mk > +++ b/board/spear/spear300/config.mk > @@ -25,15 +25,4 @@ > > CONFIG_SYS_TEXT_BASE = 0x00700000 > > -ALL-y += $(obj)u-boot.img > - > -# Environment variables in NAND > -ifeq ($(ENV),NAND) > -PLATFORM_RELFLAGS += -DCONFIG_ENV_IS_IN_NAND > -else > -PLATFORM_RELFLAGS += -DCONFIG_ENV_IS_IN_FLASH > -endif > - > -ifeq ($(CONSOLE),USB) > -PLATFORM_RELFLAGS += -DCONFIG_SPEAR_USBTTY > -endif > +ALL += $(obj)u-boot.img Can't you just remove this config.mk file completely? CONFIG_SYS_TEXT_BASE can be moved to the config header instead. What else is this file needed for? The same comment for all other config.mk files. <snip> > +++ b/include/configs/spear3xx_evb.h > @@ -39,6 +39,16 @@ > #define CONFIG_SPEAR320 1 > #endif > > +#if defined(CONFIG_usbtty) > +#define CONFIG_SPEAR_USBTTY 1 > +#endif > + > +#if defined(CONFIG_nand) > +#define CONFIG_ENV_IS_IN_NAND 1 > +#else > +#define CONFIG_ENV_IS_IN_FLASH 1 > +#endif Please don't add the "1" here. Plain "#define CONFIG_xxx" should be enough. > #include <configs/spear-common.h> > > /* Ethernet driver configuration */ > diff --git a/include/configs/spear6xx.h b/include/configs/spear6xx_evb.h > similarity index 89% > rename from include/configs/spear6xx.h > rename to include/configs/spear6xx_evb.h > index c5bcc30..a61d9be 100644 > --- a/include/configs/spear6xx.h > +++ b/include/configs/spear6xx_evb.h > @@ -30,6 +30,16 @@ > */ > #define CONFIG_SPEAR600 1 > > +#if defined(CONFIG_usbtty) > +#define CONFIG_SPEAR_USBTTY 1 > +#endif > + > +#if defined(CONFIG_nand) > +#define CONFIG_ENV_IS_IN_NAND 1 > +#else > +#define CONFIG_ENV_IS_IN_FLASH 1 > +#endif > + Again. Thanks, Stefan -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-0 Fax: (+49)-8142-66989-80 Email: office@denx.de
Dear Stefan, >> diff --git a/board/spear/spear300/config.mk >> b/board/spear/spear300/config.mk index 5848ef8..0706430 100644 >> --- a/board/spear/spear300/config.mk >> +++ b/board/spear/spear300/config.mk >> @@ -25,15 +25,4 @@ >> >> CONFIG_SYS_TEXT_BASE = 0x00700000 >> >> -ALL-y += $(obj)u-boot.img >> - >> -# Environment variables in NAND >> -ifeq ($(ENV),NAND) >> -PLATFORM_RELFLAGS += -DCONFIG_ENV_IS_IN_NAND >> -else >> -PLATFORM_RELFLAGS += -DCONFIG_ENV_IS_IN_FLASH >> -endif >> - >> -ifeq ($(CONSOLE),USB) >> -PLATFORM_RELFLAGS += -DCONFIG_SPEAR_USBTTY >> -endif >> +ALL += $(obj)u-boot.img > > Can't you just remove this config.mk file completely? CONFIG_SYS_TEXT_BASE can > be moved to the config header instead. What else is this file needed for? > Could you please explain which config header you are referring to here? Do you mean include/configs/spear..... ? For SPEAr310 and SPEAr320, config.mk is needed to make image (by specifying FLASH=PNOR during compile time) that can access CFI compliant PNOR flash. > The same comment for all other config.mk files. > Thanks Amit Virdi
Hi Amit, On Monday 26 March 2012 14:10:04 Amit Virdi wrote: > >> +++ b/board/spear/spear300/config.mk > >> @@ -25,15 +25,4 @@ > >> > >> CONFIG_SYS_TEXT_BASE = 0x00700000 > >> > >> -ALL-y += $(obj)u-boot.img > >> - > >> -# Environment variables in NAND > >> -ifeq ($(ENV),NAND) > >> -PLATFORM_RELFLAGS += -DCONFIG_ENV_IS_IN_NAND > >> -else > >> -PLATFORM_RELFLAGS += -DCONFIG_ENV_IS_IN_FLASH > >> -endif > >> - > >> -ifeq ($(CONSOLE),USB) > >> -PLATFORM_RELFLAGS += -DCONFIG_SPEAR_USBTTY > >> -endif > >> +ALL += $(obj)u-boot.img > > > > Can't you just remove this config.mk file completely? > > CONFIG_SYS_TEXT_BASE can be moved to the config header instead. What > > else is this file needed for? > > Could you please explain which config header you are referring to here? > Do you mean include/configs/spear..... ? Yes. > For SPEAr310 and SPEAr320, config.mk is needed to make image (by > specifying FLASH=PNOR during compile time) that can access CFI compliant > PNOR flash. In the example above (spear300), only CONFIG_SYS_TEXT_BASE is left in config.mk. This can be moved to the config header (include/configs/spear-xxx- h). You should be able to move the other remaining options (PNOR...) to boards.cfg. Or is this not possible? Thanks, Stefan
Stefan, >>> >>> Can't you just remove this config.mk file completely? >>> CONFIG_SYS_TEXT_BASE can be moved to the config header instead. What >>> else is this file needed for? >> >> Could you please explain which config header you are referring to here? >> Do you mean include/configs/spear..... ? > > Yes. > >> For SPEAr310 and SPEAr320, config.mk is needed to make image (by >> specifying FLASH=PNOR during compile time) that can access CFI compliant >> PNOR flash. > > In the example above (spear300), only CONFIG_SYS_TEXT_BASE is left in > config.mk. This can be moved to the config header (include/configs/spear-xxx- > h). > > You should be able to move the other remaining options (PNOR...) to > boards.cfg. Or is this not possible? > It is possible and it adds to the clarity, thanks for this nice suggestion. I'll remove all the config.mk files from the board/spear/spearxx/ directories and add targets in boards.cfg for making u-boot build with environment variables placed in PNOR flash. Best Regards Amit Virdi
diff --git a/board/spear/spear300/config.mk b/board/spear/spear300/config.mk index 5848ef8..0706430 100644 --- a/board/spear/spear300/config.mk +++ b/board/spear/spear300/config.mk @@ -25,15 +25,4 @@ CONFIG_SYS_TEXT_BASE = 0x00700000 -ALL-y += $(obj)u-boot.img - -# Environment variables in NAND -ifeq ($(ENV),NAND) -PLATFORM_RELFLAGS += -DCONFIG_ENV_IS_IN_NAND -else -PLATFORM_RELFLAGS += -DCONFIG_ENV_IS_IN_FLASH -endif - -ifeq ($(CONSOLE),USB) -PLATFORM_RELFLAGS += -DCONFIG_SPEAR_USBTTY -endif +ALL += $(obj)u-boot.img diff --git a/board/spear/spear310/config.mk b/board/spear/spear310/config.mk index f8a6bdb..d644238 100644 --- a/board/spear/spear310/config.mk +++ b/board/spear/spear310/config.mk @@ -27,18 +27,7 @@ CONFIG_SYS_TEXT_BASE = 0x00700000 ALL-y += $(obj)u-boot.img -# Environment variables in NAND -ifeq ($(ENV),NAND) -PLATFORM_RELFLAGS += -DCONFIG_ENV_IS_IN_NAND -else -PLATFORM_RELFLAGS += -DCONFIG_ENV_IS_IN_FLASH -endif - # Support parallel flash ifeq ($(FLASH),PNOR) PLATFORM_RELFLAGS += -DCONFIG_FLASH_PNOR endif - -ifeq ($(CONSOLE),USB) -PLATFORM_RELFLAGS += -DCONFIG_SPEAR_USBTTY -endif diff --git a/board/spear/spear320/config.mk b/board/spear/spear320/config.mk index f8a6bdb..d644238 100644 --- a/board/spear/spear320/config.mk +++ b/board/spear/spear320/config.mk @@ -27,18 +27,7 @@ CONFIG_SYS_TEXT_BASE = 0x00700000 ALL-y += $(obj)u-boot.img -# Environment variables in NAND -ifeq ($(ENV),NAND) -PLATFORM_RELFLAGS += -DCONFIG_ENV_IS_IN_NAND -else -PLATFORM_RELFLAGS += -DCONFIG_ENV_IS_IN_FLASH -endif - # Support parallel flash ifeq ($(FLASH),PNOR) PLATFORM_RELFLAGS += -DCONFIG_FLASH_PNOR endif - -ifeq ($(CONSOLE),USB) -PLATFORM_RELFLAGS += -DCONFIG_SPEAR_USBTTY -endif diff --git a/board/spear/spear600/config.mk b/board/spear/spear600/config.mk index 5848ef8..0706430 100644 --- a/board/spear/spear600/config.mk +++ b/board/spear/spear600/config.mk @@ -25,15 +25,4 @@ CONFIG_SYS_TEXT_BASE = 0x00700000 -ALL-y += $(obj)u-boot.img - -# Environment variables in NAND -ifeq ($(ENV),NAND) -PLATFORM_RELFLAGS += -DCONFIG_ENV_IS_IN_NAND -else -PLATFORM_RELFLAGS += -DCONFIG_ENV_IS_IN_FLASH -endif - -ifeq ($(CONSOLE),USB) -PLATFORM_RELFLAGS += -DCONFIG_SPEAR_USBTTY -endif +ALL += $(obj)u-boot.img diff --git a/boards.cfg b/boards.cfg index 28cc345..9eae88d3 100644 --- a/boards.cfg +++ b/boards.cfg @@ -178,10 +178,22 @@ omap730p2_cs0boot arm arm926ejs omap730p2 ti omap omap730p2_cs3boot arm arm926ejs omap730p2 ti omap omap730p2:CS3_BOOT edminiv2 arm arm926ejs - LaCie orion5x dkb arm arm926ejs - Marvell pantheon -spear300 arm arm926ejs spear300 spear spear spear3xx:spear300 -spear310 arm arm926ejs spear310 spear spear spear3xx:spear310 -spear320 arm arm926ejs spear320 spear spear spear3xx:spear320 -spear600 arm arm926ejs spear600 spear spear spear6xx:spear600 +spear300 arm arm926ejs spear300 spear spear spear3xx_evb:spear300 +spear300_nand arm arm926ejs spear300 spear spear spear3xx_evb:spear300,nand +spear300_usbtty arm arm926ejs spear300 spear spear spear3xx_evb:spear300,usbtty +spear300_usbtty_nand arm arm926ejs spear300 spear spear spear3xx_evb:spear300,usbtty,nand +spear310 arm arm926ejs spear310 spear spear spear3xx_evb:spear310 +spear310_nand arm arm926ejs spear310 spear spear spear3xx_evb:spear310,nand +spear310_usbtty arm arm926ejs spear310 spear spear spear3xx_evb:spear310,usbtty +spear310_usbtty_nand arm arm926ejs spear310 spear spear spear3xx_evb:spear310,usbtty,nand +spear320 arm arm926ejs spear320 spear spear spear3xx_evb:spear320 +spear320_nand arm arm926ejs spear320 spear spear spear3xx_evb:spear320,nand +spear320_usbtty arm arm926ejs spear320 spear spear spear3xx_evb:spear320,usbtty +spear320_usbtty_nand arm arm926ejs spear320 spear spear spear3xx_evb:spear320,usbtty,nand +spear600 arm arm926ejs spear600 spear spear spear6xx_evb:spear600 +spear600_nand arm arm926ejs spear600 spear spear spear6xx_evb:spear600,nand +spear600_usbtty arm arm926ejs spear600 spear spear spear6xx_evb:spear600,usbtty +spear600_usbtty_nand arm arm926ejs spear600 spear spear spear6xx_evb:spear600,usbtty,nand versatileab arm arm926ejs versatile armltd versatile versatile:ARCH_VERSATILE_AB versatilepb arm arm926ejs versatile armltd versatile versatile:ARCH_VERSATILE_PB versatileqemu arm arm926ejs versatile armltd versatile versatile:ARCH_VERSATILE_QEMU,ARCH_VERSATILE_PB diff --git a/doc/README.spear b/doc/README.spear index a6ff7fd..3161e64 100644 --- a/doc/README.spear +++ b/doc/README.spear @@ -6,9 +6,9 @@ SPEAr600 is also known as SPEArPlus and SPEAr300 is also known as SPEArBasic The SPEAr SoC family embeds a customizable logic that can be programmed one-time by a customer at silicon mask level (i.e. not at runtime!). -We are now adding the support in u-boot for two SoC: SPEAr600 and SPEAr3xx. +U-Boot supports four SoCs: SPEAr600, SPEAr3xx -All 4 SoCs share common peripherals. +All 4 SoCs (SPEAr3xx and SPEAr600) share common peripherals. 1. ARM926ejs core based (sp600 has two cores, the 2nd handled only in Linux) 2. FastEthernet (sp600 has Gbit version, but same controller - GMAC) @@ -22,7 +22,7 @@ All 4 SoCs share common peripherals. 10. others .. Everything is supported in Linux. -u-boot is not currently supporting all peripeharls (just a few as listed below). +u-boot is currently not supporting all peripeharls (just a few as listed below). 1. USB Device 2. NAND controller (FSMC) 3. Serial Memory Interface @@ -32,17 +32,30 @@ u-boot is not currently supporting all peripeharls (just a few as listed below). Build options make spear600_config + spear600 build with environment variables placed at default + location i.e. Serial NOR device + make spear600_nand_config + spear600 build with environment variables placed in NAND device + make spear600_usbtty_config + spear600 build with usbtty terminal as default and environment + placed at default location + make spear600_usbtty_nand_config + Build with usbtty terminal as default and environment placed in + NAND device make spear300_config + make spear300_nand_config + make spear300_usbtty_config + make spear300_usbtty_nand_config make spear310_config + make spear310_nand_config + make spear310_usbtty_config + make spear310_usbtty_nand_config make spear320_config + make spear320_nand_config + make spear320_usbtty_config + make spear320_usbtty_nand_config Further options - make ENV=NAND (supported by all 4 SoCs) - - This option generates a uboot image that saves environment inn NAND - - make CONSOLE=USB (supported by all 4 SoCs) - - This option generates a uboot image for using usbdevice as a tty i/f - make FLASH=PNOR (supported by SPEAr310 and SPEAr320) - This option generates a uboot image that supports emi controller for CFI compliant parallel NOR flash diff --git a/include/configs/spear3xx.h b/include/configs/spear3xx_evb.h similarity index 96% rename from include/configs/spear3xx.h rename to include/configs/spear3xx_evb.h index f3e3354..263c058 100644 --- a/include/configs/spear3xx.h +++ b/include/configs/spear3xx_evb.h @@ -39,6 +39,16 @@ #define CONFIG_SPEAR320 1 #endif +#if defined(CONFIG_usbtty) +#define CONFIG_SPEAR_USBTTY 1 +#endif + +#if defined(CONFIG_nand) +#define CONFIG_ENV_IS_IN_NAND 1 +#else +#define CONFIG_ENV_IS_IN_FLASH 1 +#endif + #include <configs/spear-common.h> /* Ethernet driver configuration */ diff --git a/include/configs/spear6xx.h b/include/configs/spear6xx_evb.h similarity index 89% rename from include/configs/spear6xx.h rename to include/configs/spear6xx_evb.h index c5bcc30..a61d9be 100644 --- a/include/configs/spear6xx.h +++ b/include/configs/spear6xx_evb.h @@ -30,6 +30,16 @@ */ #define CONFIG_SPEAR600 1 +#if defined(CONFIG_usbtty) +#define CONFIG_SPEAR_USBTTY 1 +#endif + +#if defined(CONFIG_nand) +#define CONFIG_ENV_IS_IN_NAND 1 +#else +#define CONFIG_ENV_IS_IN_FLASH 1 +#endif + #include <configs/spear-common.h> /* Serial Configuration (PL011) */