Patchwork [U-Boot,08/25] SPEAr: Add configuration options for spear3xx and spear6xx boards

login
register
mail settings
Submitter Amit Virdi
Date March 7, 2012, 12:03 p.m.
Message ID <1331121854-20494-9-git-send-email-amit.virdi@st.com>
Download mbox | patch
Permalink /patch/145214/
State Superseded
Delegated to: Stefan Roese
Headers show

Comments

Amit Virdi - March 7, 2012, 12:03 p.m.
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.

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%)
Stefan Roese - March 7, 2012, 1:54 p.m.
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
Amit Virdi - March 26, 2012, 12:10 p.m.
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
Stefan Roese - March 26, 2012, 12:30 p.m.
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
Amit Virdi - March 27, 2012, 5:59 a.m.
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

Patch

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) */