* [U-Boot] [PATCH v4 09/12] SPEAr : Support added for SPEAr300 board
2010-01-11 11:15 ` [U-Boot] [PATCH v4 08/12] SPEAr : Support for HW mac id read/write from i2c mem Vipin KUMAR
@ 2010-01-11 11:15 ` Vipin KUMAR
0 siblings, 0 replies; 4+ messages in thread
From: Vipin KUMAR @ 2010-01-11 11:15 UTC (permalink / raw)
To: u-boot
SPEAr300 SoC support contains basic spear300 support along with the
usage of following drivers
- serial driver(UART)
- i2c driver
- smi driver
- nand driver(FSMC)
- usbd driver
Signed-off-by: Vipin <vipin.kumar@st.com>
---
MAKEALL | 1 +
Makefile | 1 +
board/spear/spear300/Makefile | 51 ++++++++++++++++++++++++++++++++++
board/spear/spear300/config.mk | 39 ++++++++++++++++++++++++++
board/spear/spear300/spear300.c | 57 +++++++++++++++++++++++++++++++++++++++
include/configs/spear.h | 25 +++++++++++++++--
6 files changed, 171 insertions(+), 3 deletions(-)
create mode 100755 board/spear/spear300/Makefile
create mode 100755 board/spear/spear300/config.mk
create mode 100755 board/spear/spear300/spear300.c
diff --git a/MAKEALL b/MAKEALL
index 8eb39e5..b39a77d 100755
--- a/MAKEALL
+++ b/MAKEALL
@@ -572,6 +572,7 @@ LIST_ARM9=" \
sheevaplug \
smdk2400 \
smdk2410 \
+ spear300 \
spear600 \
trab \
VCMA9 \
diff --git a/Makefile b/Makefile
index 47f0d23..499314f 100644
--- a/Makefile
+++ b/Makefile
@@ -3023,6 +3023,7 @@ smdk2400_config : unconfig
smdk2410_config : unconfig
@$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 samsung s3c24x0
+spear300_config \
spear600_config : unconfig
@$(MKCONFIG) -n $@ -t $(@:_config=) spear arm arm926ejs $(@:_config=) spear spear
diff --git a/board/spear/spear300/Makefile b/board/spear/spear300/Makefile
new file mode 100755
index 0000000..b5168ff
--- /dev/null
+++ b/board/spear/spear300/Makefile
@@ -0,0 +1,51 @@
+#
+# (C) Copyright 2000-2004
+# Wolfgang Denk, DENX Software Engineering, wd at denx.de.
+#
+# 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
+#
+
+include $(TOPDIR)/config.mk
+
+LIB = $(obj)lib$(BOARD).a
+
+COBJS := spear300.o
+SOBJS :=
+
+SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
+OBJS := $(addprefix $(obj),$(COBJS))
+SOBJS := $(addprefix $(obj),$(SOBJS))
+
+$(LIB): $(obj).depend $(OBJS) $(SOBJS)
+ $(AR) $(ARFLAGS) $@ $(OBJS) $(SOBJS)
+
+clean:
+ rm -f $(SOBJS) $(OBJS)
+
+distclean: clean
+ rm -f $(LIB) core *.bak $(obj).depend
+
+#########################################################################
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#########################################################################
diff --git a/board/spear/spear300/config.mk b/board/spear/spear300/config.mk
new file mode 100755
index 0000000..35646f2
--- /dev/null
+++ b/board/spear/spear300/config.mk
@@ -0,0 +1,39 @@
+#
+# (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
+#
+
+#########################################################################
+
+TEXT_BASE = 0x00700000
+
+ALL += $(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/spear300/spear300.c b/board/spear/spear300/spear300.c
new file mode 100755
index 0000000..5fc5cdb
--- /dev/null
+++ b/board/spear/spear300/spear300.c
@@ -0,0 +1,57 @@
+/*
+ * (C) Copyright 2009
+ * Vipin Kumar, ST Micoelectronics, vipin.kumar at 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
+ */
+
+#include <common.h>
+#include <nand.h>
+#include <asm/io.h>
+#include <asm/arch/spr_defs.h>
+#include <asm/arch/spr_misc.h>
+#include <asm/arch/spr_nand.h>
+
+int board_init(void)
+{
+ return spear_board_init(MACH_TYPE_SPEAR300);
+}
+
+/*
+ * board_nand_init - Board specific NAND initialization
+ * @nand: mtd private chip structure
+ *
+ * Called by nand_init_chip to initialize the board specific functions
+ */
+
+int board_nand_init(struct nand_chip *nand)
+{
+ struct misc_regs *const misc_regs_p =
+ (struct misc_regs *)CONFIG_SPEAR_MISCBASE;
+
+ if (((readl(&misc_regs_p->auto_cfg_reg) & MISC_SOCCFGMSK) ==
+ MISC_SOCCFG30) ||
+ ((readl(&misc_regs_p->auto_cfg_reg) & MISC_SOCCFGMSK) ==
+ MISC_SOCCFG31)) {
+
+ return spear_nand_init(nand);
+ }
+
+ return -1;
+}
diff --git a/include/configs/spear.h b/include/configs/spear.h
index a625c31..15a8241 100755
--- a/include/configs/spear.h
+++ b/include/configs/spear.h
@@ -28,7 +28,12 @@
* High Level Configuration Options
* (easy to change)
*/
+#if defined(CONFIG_MK_spear600)
#define CONFIG_SPEAR600 1
+#elif defined(CONFIG_MK_spear300)
+#define CONFIG_SPEAR3XX 1
+#define CONFIG_SPEAR300 1
+#endif
/*
* USBD driver configuration
@@ -64,14 +69,20 @@
*/
#define CONFIG_PL011_SERIAL
#define CONFIG_PL011_CLOCK (48 * 1000 * 1000)
-#define CONFIG_PL01x_PORTS { (void *)CONFIG_SYS_SERIAL0, \
+#define CONFIG_SYS_SERIAL0 0xD0000000
+
+#if defined(CONFIG_SPEAR600)
+#define CONFIG_SYS_SERIAL1 0xD0080000
+#define CONFIG_PL01x_PORTS {(void *)CONFIG_SYS_SERIAL0, \
(void *)CONFIG_SYS_SERIAL1 }
+#elif defined(CONFIG_SPEAR300)
+#define CONFIG_PL01x_PORTS {(void *)CONFIG_SYS_SERIAL0}
+#endif
+
#define CONFIG_CONS_INDEX 0
#define CONFIG_BAUDRATE 115200
#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, \
57600, 115200 }
-#define CONFIG_SYS_SERIAL0 0xD0000000
-#define CONFIG_SYS_SERIAL1 0xD0080000
#define CONFIG_SYS_LOADS_BAUD_CHANGE
@@ -89,10 +100,18 @@
#define CONFIG_SYS_NAND_CLE (1 << 16)
#define CONFIG_SYS_NAND_ALE (1 << 17)
+#if defined(CONFIG_SPEAR600)
#define CONFIG_SYS_I2C_BASE (0xD0200000)
#define CONFIG_SPEAR_FSMCBASE (0xD1800000)
#define CONFIG_SYS_NAND_BASE (0xD2000000)
+#elif defined(CONFIG_SPEAR300)
+#define CONFIG_SYS_I2C_BASE (0xD0180000)
+#define CONFIG_SPEAR_FSMCBASE (0x94000000)
+#define CONFIG_SYS_NAND_BASE (0x80000000)
+
+#endif
+
#define CONFIG_SYS_HZ (1000)
#define CONFIG_SYS_HZ_CLOCK (8300000)
--
1.6.0.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [U-Boot] [PATCH v4 09/12] SPEAr : Support added for SPEAr300 board
@ 2010-01-13 13:31 Tom
2010-01-14 11:11 ` Vipin KUMAR
0 siblings, 1 reply; 4+ messages in thread
From: Tom @ 2010-01-13 13:31 UTC (permalink / raw)
To: u-boot
SPEAr300 SoC support contains basic spear300 support along with the
usage of following drivers
- serial driver(UART)
- i2c driver
- smi driver
- nand driver(FSMC)
- usbd driver
Signed-off-by: Vipin <vipin.kumar@st.com>
---
MAKEALL | 1 +
Makefile | 1 +
board/spear/spear300/Makefile | 51 ++++++++++++++++++++++++++++++++++
board/spear/spear300/config.mk | 39 ++++++++++++++++++++++++++
board/spear/spear300/spear300.c | 57 +++++++++++++++++++++++++++++++++++++++
include/configs/spear.h | 25 +++++++++++++++--
6 files changed, 171 insertions(+), 3 deletions(-)
create mode 100755 board/spear/spear300/Makefile
create mode 100755 board/spear/spear300/config.mk
create mode 100755 board/spear/spear300/spear300.c
<snip>
diff --git a/include/configs/spear.h b/include/configs/spear.h
index a625c31..15a8241 100755
--- a/include/configs/spear.h
+++ b/include/configs/spear.h
@@ -28,7 +28,12 @@
* High Level Configuration Options
* (easy to change)
*/
+#if defined(CONFIG_MK_spear600)
#define CONFIG_SPEAR600 1
+#elif defined(CONFIG_MK_spear300)
+#define CONFIG_SPEAR3XX 1
+#define CONFIG_SPEAR300 1
+#endif
There should be a config file per board.
The common parts can be kept in a separate file
So the should be 'spear300.h' etc.
Tom
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [U-Boot] [PATCH v4 09/12] SPEAr : Support added for SPEAr300 board
2010-01-13 13:31 [U-Boot] [PATCH v4 09/12] SPEAr : Support added for SPEAr300 board Tom
@ 2010-01-14 11:11 ` Vipin KUMAR
2010-01-14 15:49 ` Tom
0 siblings, 1 reply; 4+ messages in thread
From: Vipin KUMAR @ 2010-01-14 11:11 UTC (permalink / raw)
To: u-boot
Hello Tom,
> include/configs/spear.h | 25 +++++++++++++++--
> 6 files changed, 171 insertions(+), 3 deletions(-)
> create mode 100755 board/spear/spear300/Makefile
> create mode 100755 board/spear/spear300/config.mk
> create mode 100755 board/spear/spear300/spear300.c
>
> <snip>
> diff --git a/include/configs/spear.h b/include/configs/spear.h
> index a625c31..15a8241 100755
> --- a/include/configs/spear.h
> +++ b/include/configs/spear.h
> @@ -28,7 +28,12 @@
> * High Level Configuration Options
> * (easy to change)
> */
> +#if defined(CONFIG_MK_spear600)
> #define CONFIG_SPEAR600 1
> +#elif defined(CONFIG_MK_spear300)
> +#define CONFIG_SPEAR3XX 1
> +#define CONFIG_SPEAR300 1
> +#endif
>
> There should be a config file per board.
> The common parts can be kept in a separate file
> So the should be 'spear300.h' etc.
Is it mandatory ?
Since there are already some board configs in Makefile
eg. P2020RDB_config and P1011RDB_config etc
In fact, I got this comment from Wolfgang on my first patch set
that these are similar boards and can be combined
Regards
Vipin
^ permalink raw reply [flat|nested] 4+ messages in thread
* [U-Boot] [PATCH v4 09/12] SPEAr : Support added for SPEAr300 board
2010-01-14 11:11 ` Vipin KUMAR
@ 2010-01-14 15:49 ` Tom
0 siblings, 0 replies; 4+ messages in thread
From: Tom @ 2010-01-14 15:49 UTC (permalink / raw)
To: u-boot
Vipin KUMAR wrote:
> Hello Tom,
>
>> include/configs/spear.h | 25 +++++++++++++++--
>> 6 files changed, 171 insertions(+), 3 deletions(-)
>> create mode 100755 board/spear/spear300/Makefile
>> create mode 100755 board/spear/spear300/config.mk
>> create mode 100755 board/spear/spear300/spear300.c
>>
>> <snip>
>> diff --git a/include/configs/spear.h b/include/configs/spear.h
>> index a625c31..15a8241 100755
>> --- a/include/configs/spear.h
>> +++ b/include/configs/spear.h
>> @@ -28,7 +28,12 @@
>> * High Level Configuration Options
>> * (easy to change)
>> */
>> +#if defined(CONFIG_MK_spear600)
>> #define CONFIG_SPEAR600 1
>> +#elif defined(CONFIG_MK_spear300)
>> +#define CONFIG_SPEAR3XX 1
>> +#define CONFIG_SPEAR300 1
>> +#endif
>>
>> There should be a config file per board.
>> The common parts can be kept in a separate file
>> So the should be 'spear300.h' etc.
>
> Is it mandatory ?
> Since there are already some board configs in Makefile
> eg. P2020RDB_config and P1011RDB_config etc
>
> In fact, I got this comment from Wolfgang on my first patch set
> that these are similar boards and can be combined
Yes similar boards can share the same config.
This is I believe is ok if the board has a slightly different hw
configuration that its siblings. For example using NOR instead of NAND.
A good rule of thumb is, boards with the same machine id should
have the same config file. Those with different should not.
The split for you would be
spear3xx.h and spear6xx.h
or
spear300.h spear310.h spear320.h spear600.h
or
common-spear.h and then smaller spear*.h files.
Tom
>
> Regards
> Vipin
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-01-14 15:49 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-13 13:31 [U-Boot] [PATCH v4 09/12] SPEAr : Support added for SPEAr300 board Tom
2010-01-14 11:11 ` Vipin KUMAR
2010-01-14 15:49 ` Tom
-- strict thread matches above, loose matches on Subject: below --
2010-01-11 11:15 [U-Boot] [PATCH v4 00/12] Support for SPEAr SoCs Vipin KUMAR
2010-01-11 11:15 ` [U-Boot] [PATCH v4 01/12] SPEAr : Adding README.spear in doc Vipin KUMAR
2010-01-11 11:15 ` [U-Boot] [PATCH v4 02/12] SPEAr : Adding basic SPEAr architecture support Vipin KUMAR
2010-01-11 11:15 ` [U-Boot] [PATCH v4 03/12] SPEAr : i2c driver support added for SPEAr SoCs Vipin KUMAR
2010-01-11 11:15 ` [U-Boot] [PATCH v4 04/12] SPEAr : smi driver support " Vipin KUMAR
2010-01-11 11:15 ` [U-Boot] [PATCH v4 05/12] SPEAr : nand " Vipin KUMAR
2010-01-11 11:15 ` [U-Boot] [PATCH v4 06/12] SPEAr : usbd " Vipin KUMAR
2010-01-11 11:15 ` [U-Boot] [PATCH v4 07/12] SPEAr : Support added for SPEAr600 board Vipin KUMAR
2010-01-11 11:15 ` [U-Boot] [PATCH v4 08/12] SPEAr : Support for HW mac id read/write from i2c mem Vipin KUMAR
2010-01-11 11:15 ` [U-Boot] [PATCH v4 09/12] SPEAr : Support added for SPEAr300 board Vipin KUMAR
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox