SPEAr: Add configuration options for spear3xx and spear6xx boards
authorVipin KUMAR <vipin.kumar@st.com>
Mon, 7 May 2012 07:36:46 +0000 (13:06 +0530)
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>
Sat, 7 Jul 2012 12:07:40 +0000 (14:07 +0200)
This patch adds options for all the below mentioned configurations and
subsequently renames the include/configs/spearxxx.h files to spear3xx_evb.h,
spear6xx_evb.h etc to depict evaluation board configuration.

SPEAr3xx and SPEAr6xx 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
4. SPEAr310 and SPEAr320 support environment variables in parallel
NOR flash.

Signed-off-by: Vipin Kumar <vipin.kumar@st.com>
Signed-off-by: Amit Virdi <amit.virdi@st.com>
Signed-off-by: Stefan Roese <sr@denx.de>
board/spear/spear300/config.mk [deleted file]
board/spear/spear310/config.mk [deleted file]
board/spear/spear320/config.mk [deleted file]
board/spear/spear600/config.mk [deleted file]
boards.cfg
doc/README.spear
include/configs/spear-common.h
include/configs/spear3xx.h [deleted file]
include/configs/spear3xx_evb.h [new file with mode: 0644]
include/configs/spear6xx.h [deleted file]
include/configs/spear6xx_evb.h [new file with mode: 0644]

diff --git a/board/spear/spear300/config.mk b/board/spear/spear300/config.mk
deleted file mode 100644 (file)
index 5848ef8..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-# (C) Copyright 2009
-# Vipin Kumar, ST Microelectronics <vipin.kumar@st.com>
-#
-# See file CREDITS for list of people who contributed to this
-# project.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-# MA 02111-1307 USA
-#
-
-#########################################################################
-
-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
diff --git a/board/spear/spear310/config.mk b/board/spear/spear310/config.mk
deleted file mode 100644 (file)
index f8a6bdb..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-#
-# (C) Copyright 2009
-# Vipin Kumar, ST Microelectronics <vipin.kumar@st.com>
-#
-# See file CREDITS for list of people who contributed to this
-# project.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-# MA 02111-1307 USA
-#
-
-#########################################################################
-
-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
deleted file mode 100644 (file)
index f8a6bdb..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-#
-# (C) Copyright 2009
-# Vipin Kumar, ST Microelectronics <vipin.kumar@st.com>
-#
-# See file CREDITS for list of people who contributed to this
-# project.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-# MA 02111-1307 USA
-#
-
-#########################################################################
-
-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
deleted file mode 100644 (file)
index 5848ef8..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-# (C) Copyright 2009
-# Vipin Kumar, ST Microelectronics <vipin.kumar@st.com>
-#
-# See file CREDITS for list of people who contributed to this
-# project.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-# MA 02111-1307 USA
-#
-
-#########################################################################
-
-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
index a864ac555c4fccb327c53599a72b376f3f63e76c..f28cb3142b1c6ac637d80ad1ce0e7e5a4e222af0 100644 (file)
@@ -178,10 +178,26 @@ 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_pnor                arm         arm926ejs   spear310            spear          spear       spear3xx_evb:spear310,FLASH_PNOR
+spear310_nand                arm         arm926ejs   spear310            spear          spear       spear3xx_evb:spear310,nand
+spear310_usbtty              arm         arm926ejs   spear310            spear          spear       spear3xx_evb:spear310,usbtty
+spear310_usbtty_pnor         arm         arm926ejs   spear310            spear          spear       spear3xx_evb:spear310,usbtty,FLASH_PNOR
+spear310_usbtty_nand         arm         arm926ejs   spear310            spear          spear       spear3xx_evb:spear310,usbtty,nand
+spear320                     arm         arm926ejs   spear320            spear          spear       spear3xx_evb:spear320
+spear320_pnor                arm         arm926ejs   spear320            spear          spear       spear3xx_evb:spear320,FLASH_PNOR
+spear320_nand                arm         arm926ejs   spear320            spear          spear       spear3xx_evb:spear320,nand
+spear320_usbtty              arm         arm926ejs   spear320            spear          spear       spear3xx_evb:spear320,usbtty
+spear320_usbtty_pnor         arm         arm926ejs   spear320            spear          spear       spear3xx_evb:spear320,usbtty,FLASH_PNOR
+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
index a6ff7fdaefd4fd19a11547377a18caf453e8052e..0789b3fd270ba15c8ab215a2a044ac5a1b2c832b 100644 (file)
@@ -6,9 +6,10 @@ 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. SPEAr300 and
+SPEAr600 do not have EMI.
 
 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 +23,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
@@ -31,21 +32,38 @@ u-boot is not currently supporting all peripeharls (just a few as listed below).
 5. UART
 
 Build options
-       make spear600_config
+       make spear320_config
+               spear320 build with environment variables placed at default
+               location i.e. Serial NOR device
+       make spear320_pnor_config
+               This option generates a uboot image that supports emi controller
+               for CFI compliant parallel NOR flash. Environment variables are
+               placed in Parallel NOR device
+       make spear320_nand_config
+               spear320 build with environment variables placed in NAND device
+       make spear320_usbtty_config
+               spear320 build with usbtty terminal as default and environment
+               placed at default location
+       make spear320_usbtty_pnor_config
+               spear320 build with usbtty terminal as default and environment
+               placed in pnor device
+       make spear320_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 spear320_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
+       make spear310_pnor_config
+       make spear310_nand_config
+       make spear310_usbtty_config
+       make spear310_usbtty_pnor_config
+       make spear310_usbtty_nand_config
+       make spear600_config
+       make spear600_nand_config
+       make spear600_usbtty_config
+       make spear600_usbtty_nand_config
 
 Mac id storage and retrieval in spear platforms
 
index 3a238945dcf43844783e81086aff4f50d83e0e6c..2ba1090c95a2f00172504b97dd36664a07b5dbd2 100644 (file)
@@ -27,6 +27,9 @@
  * Common configurations used for both spear3xx as well as spear6xx
  */
 
+/* U-boot Load Address */
+#define CONFIG_SYS_TEXT_BASE                   0x00700000
+
 /* Ethernet driver configuration */
 #define CONFIG_MII
 #define CONFIG_DESIGNWARE_ETH
diff --git a/include/configs/spear3xx.h b/include/configs/spear3xx.h
deleted file mode 100644 (file)
index f3e3354..0000000
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * (C) Copyright 2009
- * Vipin Kumar, STMicroelectronics, <vipin.kumar@st.com>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-#ifndef __CONFIG_H
-#define __CONFIG_H
-
-/*
- * High Level Configuration Options
- * (easy to change)
- */
-#if defined(CONFIG_spear300)
-#define CONFIG_SPEAR3XX                                1
-#define CONFIG_SPEAR300                                1
-#elif defined(CONFIG_spear310)
-#define CONFIG_SPEAR3XX                                1
-#define CONFIG_SPEAR310                                1
-#elif defined(CONFIG_spear320)
-#define CONFIG_SPEAR3XX                                1
-#define CONFIG_SPEAR320                                1
-#endif
-
-#include <configs/spear-common.h>
-
-/* Ethernet driver configuration */
-#define CONFIG_DW_ALTDESCRIPTOR                        1
-
-#if defined(CONFIG_SPEAR310)
-#define CONFIG_MACB                            1
-#define CONFIG_MACB0_PHY                       0x01
-#define CONFIG_MACB1_PHY                       0x03
-#define CONFIG_MACB2_PHY                       0x05
-#define CONFIG_MACB3_PHY                       0x07
-
-#elif defined(CONFIG_SPEAR320)
-#define CONFIG_MACB                            1
-#define CONFIG_MACB0_PHY                       0x01
-
-#endif
-
-/* Serial Configuration (PL011) */
-#define CONFIG_SYS_SERIAL0                     0xD0000000
-
-#if defined(CONFIG_SPEAR300)
-#define CONFIG_PL01x_PORTS                     {(void *)CONFIG_SYS_SERIAL0}
-
-#elif defined(CONFIG_SPEAR310)
-
-#if (CONFIG_CONS_INDEX)
-#undef  CONFIG_PL011_CLOCK
-#define CONFIG_PL011_CLOCK                     (83 * 1000 * 1000)
-#endif
-
-#define CONFIG_SYS_SERIAL1                     0xB2000000
-#define CONFIG_SYS_SERIAL2                     0xB2080000
-#define CONFIG_SYS_SERIAL3                     0xB2100000
-#define CONFIG_SYS_SERIAL4                     0xB2180000
-#define CONFIG_SYS_SERIAL5                     0xB2200000
-#define CONFIG_PL01x_PORTS                     {(void *)CONFIG_SYS_SERIAL0, \
-                                               (void *)CONFIG_SYS_SERIAL1, \
-                                               (void *)CONFIG_SYS_SERIAL2, \
-                                               (void *)CONFIG_SYS_SERIAL3, \
-                                               (void *)CONFIG_SYS_SERIAL4, \
-                                               (void *)CONFIG_SYS_SERIAL5 }
-#elif defined(CONFIG_SPEAR320)
-
-#if (CONFIG_CONS_INDEX)
-#undef  CONFIG_PL011_CLOCK
-#define CONFIG_PL011_CLOCK                     (83 * 1000 * 1000)
-#endif
-
-#define CONFIG_SYS_SERIAL1                     0xA3000000
-#define CONFIG_SYS_SERIAL2                     0xA4000000
-#define CONFIG_PL01x_PORTS                     {(void *)CONFIG_SYS_SERIAL0, \
-                                               (void *)CONFIG_SYS_SERIAL1, \
-                                               (void *)CONFIG_SYS_SERIAL2 }
-#endif
-
-#if defined(CONFIG_SPEAR_EMI)
-
-#define CONFIG_SYS_FLASH_CFI
-#define CONFIG_FLASH_CFI_DRIVER
-
-#if defined(CONFIG_SPEAR310)
-#define CONFIG_SYS_FLASH_BASE                  0x50000000
-#define CONFIG_SYS_CS1_FLASH_BASE              0x60000000
-#define CONFIG_SYS_CS2_FLASH_BASE              0x70000000
-#define CONFIG_SYS_CS3_FLASH_BASE              0x80000000
-#define CONFIG_SYS_CS4_FLASH_BASE              0x90000000
-#define CONFIG_SYS_CS5_FLASH_BASE              0xA0000000
-#define CONFIG_SYS_FLASH_BANKS_LIST            { CONFIG_SYS_FLASH_BASE,   \
-                                               CONFIG_SYS_CS1_FLASH_BASE, \
-                                               CONFIG_SYS_CS2_FLASH_BASE, \
-                                               CONFIG_SYS_CS3_FLASH_BASE, \
-                                               CONFIG_SYS_CS4_FLASH_BASE, \
-                                               CONFIG_SYS_CS5_FLASH_BASE }
-#define CONFIG_SYS_MAX_FLASH_BANKS             6
-
-#elif defined(CONFIG_SPEAR320)
-#define CONFIG_SYS_FLASH_BASE                  0x44000000
-#define CONFIG_SYS_CS1_FLASH_BASE              0x45000000
-#define CONFIG_SYS_CS2_FLASH_BASE              0x46000000
-#define CONFIG_SYS_CS3_FLASH_BASE              0x47000000
-#define CONFIG_SYS_FLASH_BANKS_LIST            { CONFIG_SYS_FLASH_BASE,   \
-                                               CONFIG_SYS_CS1_FLASH_BASE, \
-                                               CONFIG_SYS_CS2_FLASH_BASE, \
-                                               CONFIG_SYS_CS3_FLASH_BASE }
-#define CONFIG_SYS_MAX_FLASH_BANKS             4
-
-#endif
-
-#define CONFIG_SYS_MAX_FLASH_SECT              (127 + 8)
-#define CONFIG_SYS_FLASH_QUIET_TEST            1
-
-#endif
-
-/* NAND flash configuration */
-#define CONFIG_SYS_FSMC_NAND_SP
-#define CONFIG_SYS_FSMC_NAND_8BIT
-
-#if defined(CONFIG_SPEAR300)
-#define CONFIG_SYS_NAND_BASE                   (0x80000000)
-
-#elif defined(CONFIG_SPEAR310)
-#define CONFIG_SYS_NAND_BASE                   (0x40000000)
-
-#elif defined(CONFIG_SPEAR320)
-#define CONFIG_SYS_NAND_BASE                   (0x50000000)
-
-#endif
-
-#endif  /* __CONFIG_H */
diff --git a/include/configs/spear3xx_evb.h b/include/configs/spear3xx_evb.h
new file mode 100644 (file)
index 0000000..d6fdc09
--- /dev/null
@@ -0,0 +1,161 @@
+/*
+ * (C) Copyright 2009
+ * Vipin Kumar, STMicroelectronics, <vipin.kumar@st.com>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#ifndef __CONFIG_H
+#define __CONFIG_H
+
+/*
+ * High Level Configuration Options
+ * (easy to change)
+ */
+#if defined(CONFIG_spear300)
+#define CONFIG_SPEAR3XX                                1
+#define CONFIG_SPEAR300                                1
+#elif defined(CONFIG_spear310)
+#define CONFIG_SPEAR3XX                                1
+#define CONFIG_SPEAR310                                1
+#elif defined(CONFIG_spear320)
+#define CONFIG_SPEAR3XX                                1
+#define CONFIG_SPEAR320                                1
+#endif
+
+#if defined(CONFIG_usbtty)
+#define CONFIG_SPEAR_USBTTY
+#endif
+
+#if defined(CONFIG_nand)
+#define CONFIG_ENV_IS_IN_NAND
+#else
+#define CONFIG_ENV_IS_IN_FLASH
+#endif
+
+#include <configs/spear-common.h>
+
+/* Ethernet driver configuration */
+#define CONFIG_DW_ALTDESCRIPTOR                        1
+
+#if defined(CONFIG_SPEAR310)
+#define CONFIG_MACB                            1
+#define CONFIG_MACB0_PHY                       0x01
+#define CONFIG_MACB1_PHY                       0x03
+#define CONFIG_MACB2_PHY                       0x05
+#define CONFIG_MACB3_PHY                       0x07
+
+#elif defined(CONFIG_SPEAR320)
+#define CONFIG_MACB                            1
+#define CONFIG_MACB0_PHY                       0x01
+
+#endif
+
+/* Serial Configuration (PL011) */
+#define CONFIG_SYS_SERIAL0                     0xD0000000
+
+#if defined(CONFIG_SPEAR300)
+#define CONFIG_PL01x_PORTS                     {(void *)CONFIG_SYS_SERIAL0}
+
+#elif defined(CONFIG_SPEAR310)
+
+#if (CONFIG_CONS_INDEX)
+#undef  CONFIG_PL011_CLOCK
+#define CONFIG_PL011_CLOCK                     (83 * 1000 * 1000)
+#endif
+
+#define CONFIG_SYS_SERIAL1                     0xB2000000
+#define CONFIG_SYS_SERIAL2                     0xB2080000
+#define CONFIG_SYS_SERIAL3                     0xB2100000
+#define CONFIG_SYS_SERIAL4                     0xB2180000
+#define CONFIG_SYS_SERIAL5                     0xB2200000
+#define CONFIG_PL01x_PORTS                     {(void *)CONFIG_SYS_SERIAL0, \
+                                               (void *)CONFIG_SYS_SERIAL1, \
+                                               (void *)CONFIG_SYS_SERIAL2, \
+                                               (void *)CONFIG_SYS_SERIAL3, \
+                                               (void *)CONFIG_SYS_SERIAL4, \
+                                               (void *)CONFIG_SYS_SERIAL5 }
+#elif defined(CONFIG_SPEAR320)
+
+#if (CONFIG_CONS_INDEX)
+#undef  CONFIG_PL011_CLOCK
+#define CONFIG_PL011_CLOCK                     (83 * 1000 * 1000)
+#endif
+
+#define CONFIG_SYS_SERIAL1                     0xA3000000
+#define CONFIG_SYS_SERIAL2                     0xA4000000
+#define CONFIG_PL01x_PORTS                     {(void *)CONFIG_SYS_SERIAL0, \
+                                               (void *)CONFIG_SYS_SERIAL1, \
+                                               (void *)CONFIG_SYS_SERIAL2 }
+#endif
+
+#if defined(CONFIG_SPEAR_EMI)
+
+#define CONFIG_SYS_FLASH_CFI
+#define CONFIG_FLASH_CFI_DRIVER
+
+#if defined(CONFIG_SPEAR310)
+#define CONFIG_SYS_FLASH_BASE                  0x50000000
+#define CONFIG_SYS_CS1_FLASH_BASE              0x60000000
+#define CONFIG_SYS_CS2_FLASH_BASE              0x70000000
+#define CONFIG_SYS_CS3_FLASH_BASE              0x80000000
+#define CONFIG_SYS_CS4_FLASH_BASE              0x90000000
+#define CONFIG_SYS_CS5_FLASH_BASE              0xA0000000
+#define CONFIG_SYS_FLASH_BANKS_LIST            { CONFIG_SYS_FLASH_BASE,   \
+                                               CONFIG_SYS_CS1_FLASH_BASE, \
+                                               CONFIG_SYS_CS2_FLASH_BASE, \
+                                               CONFIG_SYS_CS3_FLASH_BASE, \
+                                               CONFIG_SYS_CS4_FLASH_BASE, \
+                                               CONFIG_SYS_CS5_FLASH_BASE }
+#define CONFIG_SYS_MAX_FLASH_BANKS             6
+
+#elif defined(CONFIG_SPEAR320)
+#define CONFIG_SYS_FLASH_BASE                  0x44000000
+#define CONFIG_SYS_CS1_FLASH_BASE              0x45000000
+#define CONFIG_SYS_CS2_FLASH_BASE              0x46000000
+#define CONFIG_SYS_CS3_FLASH_BASE              0x47000000
+#define CONFIG_SYS_FLASH_BANKS_LIST            { CONFIG_SYS_FLASH_BASE,   \
+                                               CONFIG_SYS_CS1_FLASH_BASE, \
+                                               CONFIG_SYS_CS2_FLASH_BASE, \
+                                               CONFIG_SYS_CS3_FLASH_BASE }
+#define CONFIG_SYS_MAX_FLASH_BANKS             4
+
+#endif
+
+#define CONFIG_SYS_MAX_FLASH_SECT              (127 + 8)
+#define CONFIG_SYS_FLASH_QUIET_TEST            1
+
+#endif
+
+/* NAND flash configuration */
+#define CONFIG_SYS_FSMC_NAND_SP
+#define CONFIG_SYS_FSMC_NAND_8BIT
+
+#if defined(CONFIG_SPEAR300)
+#define CONFIG_SYS_NAND_BASE                   (0x80000000)
+
+#elif defined(CONFIG_SPEAR310)
+#define CONFIG_SYS_NAND_BASE                   (0x40000000)
+
+#elif defined(CONFIG_SPEAR320)
+#define CONFIG_SYS_NAND_BASE                   (0x50000000)
+
+#endif
+
+#endif  /* __CONFIG_H */
diff --git a/include/configs/spear6xx.h b/include/configs/spear6xx.h
deleted file mode 100644 (file)
index c5bcc30..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * (C) Copyright 2009
- * Vipin Kumar, STMicroelectronics, <vipin.kumar@st.com>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-#ifndef __CONFIG_H
-#define __CONFIG_H
-
-/*
- * High Level Configuration Options
- * (easy to change)
- */
-#define CONFIG_SPEAR600                                1
-
-#include <configs/spear-common.h>
-
-/* Serial Configuration (PL011) */
-#define CONFIG_SYS_SERIAL0                     0xD0000000
-#define CONFIG_SYS_SERIAL1                     0xD0080000
-#define CONFIG_PL01x_PORTS                     { (void *)CONFIG_SYS_SERIAL0, \
-                                               (void *)CONFIG_SYS_SERIAL1 }
-
-/* NAND flash configuration */
-#define CONFIG_SYS_FSMC_NAND_SP
-#define CONFIG_SYS_FSMC_NAND_8BIT
-#define CONFIG_SYS_NAND_BASE                   (0xD2000000)
-
-#endif  /* __CONFIG_H */
diff --git a/include/configs/spear6xx_evb.h b/include/configs/spear6xx_evb.h
new file mode 100644 (file)
index 0000000..18bd140
--- /dev/null
@@ -0,0 +1,56 @@
+/*
+ * (C) Copyright 2009
+ * Vipin Kumar, STMicroelectronics, <vipin.kumar@st.com>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#ifndef __CONFIG_H
+#define __CONFIG_H
+
+/*
+ * High Level Configuration Options
+ * (easy to change)
+ */
+#define CONFIG_SPEAR600                                1
+
+#if defined(CONFIG_usbtty)
+#define CONFIG_SPEAR_USBTTY
+#endif
+
+#if defined(CONFIG_nand)
+#define CONFIG_ENV_IS_IN_NAND
+#else
+#define CONFIG_ENV_IS_IN_FLASH
+#endif
+
+#include <configs/spear-common.h>
+
+/* Serial Configuration (PL011) */
+#define CONFIG_SYS_SERIAL0                     0xD0000000
+#define CONFIG_SYS_SERIAL1                     0xD0080000
+#define CONFIG_PL01x_PORTS                     { (void *)CONFIG_SYS_SERIAL0, \
+                                               (void *)CONFIG_SYS_SERIAL1 }
+
+/* NAND flash configuration */
+#define CONFIG_SYS_FSMC_NAND_SP
+#define CONFIG_SYS_FSMC_NAND_8BIT
+#define CONFIG_SYS_NAND_BASE                   (0xD2000000)
+
+#endif  /* __CONFIG_H */