Skip to contentSkip to conversation

Added support for SPEAr SoCs

PATCH Superseded Vipin KUMAR 6 participants 21 messages Jan 7, 2010 – Jan 12, 2010

Subsystems (6)

v2 of 5 Superseded Latest is v5 →

lore
Share & tools
lore
#0 lore raw

v2 cover Added support for SPEAr SoCs

This patch set is a reworked patch which incorporates all review feedbacks from earlier earlier mails

This patch set contains the support for 4 SoCs
SPEAr600
SPEAr300
SPEAr310
SPEAr320

SPEAr is an ARM based SoC which supports rich set of peripherals like Ethernet,
USB Host, USB Device etc to support various general applications

For further info on SPEAr SoC, please see README.spear also contained in the patch set.

Vipin (9):
Added README.spear
SPEAr600 SoC support added
SPEAr300 SoC support added
SPEAr310 SoC support added
SPEAr320 SoC support added
i2c driver support for SPEAr SoCs
smi driver support for SPEAr SoCs
nand(fsmc) driver support for SPEAr SoCs
usbd driver support for SPEAr SoCs

 MAKEALL                                        |    4 +
 Makefile                                       |    6 +
 board/spear/common/spr_lowlevel_init.S         |  201 +++++
 board/spear/common/spr_misc.c                  |  296 +++++++
 board/spear/spear300/Makefile                  |   52 ++
 board/spear/spear300/config.mk                 |   38 +
 board/spear/spear300/spear300.c                |   57 ++
 board/spear/spear310/Makefile                  |   52 ++
 board/spear/spear310/config.mk                 |   41 +
 board/spear/spear310/spear310.c                |   58 ++
 board/spear/spear320/Makefile                  |   52 ++
 board/spear/spear320/config.mk                 |   41 +
 board/spear/spear320/spear320.c                |   58 ++
 board/spear/spear600/Makefile                  |   52 ++
 board/spear/spear600/config.mk                 |   38 +
 board/spear/spear600/spear600.c                |   53 ++
 cpu/arm926ejs/spear/Makefile                   |   52 ++
 cpu/arm926ejs/spear/reset.c                    |   53 ++
 cpu/arm926ejs/spear/timer.c                    |  150 ++++
 doc/README.spear                               |   53 ++
 drivers/i2c/Makefile                           |    1 +
 drivers/i2c/spr_i2c.c                          |  340 ++++++++
 drivers/mtd/Makefile                           |    1 +
 drivers/mtd/nand/Makefile                      |    1 +
 drivers/mtd/nand/spr_nand.c                    |  123 +++
 drivers/mtd/spr_smi.c                          |  530 +++++++++++++
 drivers/serial/usbtty.h                        |    2 +
 drivers/usb/gadget/Makefile                    |    1 +
 drivers/usb/gadget/spr_udc.c                   | 1004 ++++++++++++++++++++++++
 include/asm-arm/arch-spear/spr_defs.h          |   38 +
 include/asm-arm/arch-spear/spr_emi.h           |   54 ++
 include/asm-arm/arch-spear/spr_gpt.h           |   83 ++
 include/asm-arm/arch-spear/spr_i2c.h           |  146 ++++
 include/asm-arm/arch-spear/spr_misc.h          |  130 +++
 include/asm-arm/arch-spear/spr_nand.h          |   57 ++
 include/asm-arm/arch-spear/spr_smi.h           |  117 +++
 include/asm-arm/arch-spear/spr_syscntl.h       |   38 +
 include/asm-arm/arch-spear/spr_xloader_table.h |   67 ++
 include/configs/spear.h                        |  376 +++++++++
 include/usb/spr_udc.h                          |  227 ++++++
 40 files changed, 4743 insertions(+), 0 deletions(-)
 create mode 100755 board/spear/common/spr_lowlevel_init.S
 create mode 100755 board/spear/common/spr_misc.c
 create mode 100755 board/spear/spear300/Makefile
 create mode 100755 board/spear/spear300/config.mk
 create mode 100755 board/spear/spear300/spear300.c
 create mode 100755 board/spear/spear310/Makefile
 create mode 100755 board/spear/spear310/config.mk
 create mode 100755 board/spear/spear310/spear310.c
 create mode 100755 board/spear/spear320/Makefile
 create mode 100755 board/spear/spear320/config.mk
 create mode 100755 board/spear/spear320/spear320.c
 create mode 100755 board/spear/spear600/Makefile
 create mode 100755 board/spear/spear600/config.mk
 create mode 100755 board/spear/spear600/spear600.c
 create mode 100755 cpu/arm926ejs/spear/Makefile
 create mode 100755 cpu/arm926ejs/spear/reset.c
 create mode 100755 cpu/arm926ejs/spear/timer.c
 create mode 100644 doc/README.spear
 mode change 100644 => 100755 drivers/i2c/Makefile
 create mode 100755 drivers/i2c/spr_i2c.c
 mode change 100644 => 100755 drivers/mtd/Makefile
 create mode 100755 drivers/mtd/nand/spr_nand.c
 create mode 100755 drivers/mtd/spr_smi.c
 mode change 100644 => 100755 drivers/serial/usbtty.h
 mode change 100644 => 100755 drivers/usb/gadget/Makefile
 create mode 100755 drivers/usb/gadget/spr_udc.c
 create mode 100644 include/asm-arm/arch-spear/spr_defs.h
 create mode 100755 include/asm-arm/arch-spear/spr_emi.h
 create mode 100755 include/asm-arm/arch-spear/spr_gpt.h
 create mode 100755 include/asm-arm/arch-spear/spr_i2c.h
 create mode 100644 include/asm-arm/arch-spear/spr_misc.h
 create mode 100644 include/asm-arm/arch-spear/spr_nand.h
 create mode 100755 include/asm-arm/arch-spear/spr_smi.h
 create mode 100644 include/asm-arm/arch-spear/spr_syscntl.h
 create mode 100755 include/asm-arm/arch-spear/spr_xloader_table.h
 create mode 100755 include/configs/spear.h
 create mode 100755 include/usb/spr_udc.h
#1 lore raw

PATCH v2 1/9 Added README.spear

---
 doc/README.spear |   53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 53 insertions(+), 0 deletions(-)
 create mode 100644 doc/README.spear
doc/README.spear new file +53 -0
new file mode 100644
index 0000000..906871c
@@ -0,0 +1,53 @@
+
+SPEAr (Structured Processor Enhanced Architecture).
+
+SPEAr600 is also known as SPEArPlus and SPEAr300 is also known as SPEArBasic
+
+The SPEAr SoC family also embeds a customizable logic that could 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.
+Pls note that SPEAr300/310/320 differs only for the default customization.
+
+All 4 SoCs 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) 
+3. USB Host 
+4. USB Device 
+5. NAND controller (FSMC) 
+6. Serial NOR ctrl 
+7. I2C 
+8. SPI 
+9. CLCD 
+10. others ..
+
+sp600 is not customized by default.
+sp3xx are differently customized...
+sp300 is more oriented to TELECOM/video (it has tdm, i2s, ITU i/f support)
+sp310 for networking (a part GMAC in fixed part, it has 5 MACB ctrls in
+custom)
+sp320 for industrial (SPP ctrl, CAN ctrl, 2 MACBs, ...)
+
+Everything is supported in Linux.
+u-boot is not currently supporting all peripeharls (just a few).
+
+More description can be found on Internet, for example here:
+
+http://embedded-system.net/spear-basic-customizable-arm-based-soc-stmicroelectronics.html
+
+Build options
+	make spear600_config
+	make spear300_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
Signature · 1 line
1.6.0.2
#2 lore raw

PATCH v2 2/9 SPEAr600 SoC support added

---
 MAKEALL                                        |    1 +
 Makefile                                       |    3 +
 board/spear/common/spr_lowlevel_init.S         |  201 ++++++++++++++++
 board/spear/common/spr_misc.c                  |  296 ++++++++++++++++++++++++
 board/spear/spear600/Makefile                  |   52 ++++
 board/spear/spear600/config.mk                 |   38 +++
 board/spear/spear600/spear600.c                |   53 +++++
 cpu/arm926ejs/spear/Makefile                   |   52 ++++
 cpu/arm926ejs/spear/reset.c                    |   53 +++++
 cpu/arm926ejs/spear/timer.c                    |  150 ++++++++++++
 include/asm-arm/arch-spear/spr_defs.h          |   38 +++
 include/asm-arm/arch-spear/spr_emi.h           |   54 +++++
 include/asm-arm/arch-spear/spr_gpt.h           |   83 +++++++
 include/asm-arm/arch-spear/spr_misc.h          |  130 +++++++++++
 include/asm-arm/arch-spear/spr_syscntl.h       |   38 +++
 include/asm-arm/arch-spear/spr_xloader_table.h |   67 ++++++
 include/configs/spear.h                        |  240 +++++++++++++++++++
 17 files changed, 1549 insertions(+), 0 deletions(-)
 create mode 100755 board/spear/common/spr_lowlevel_init.S
 create mode 100755 board/spear/common/spr_misc.c
 create mode 100755 board/spear/spear600/Makefile
 create mode 100755 board/spear/spear600/config.mk
 create mode 100755 board/spear/spear600/spear600.c
 create mode 100755 cpu/arm926ejs/spear/Makefile
 create mode 100755 cpu/arm926ejs/spear/reset.c
 create mode 100755 cpu/arm926ejs/spear/timer.c
 create mode 100644 include/asm-arm/arch-spear/spr_defs.h
 create mode 100755 include/asm-arm/arch-spear/spr_emi.h
 create mode 100755 include/asm-arm/arch-spear/spr_gpt.h
 create mode 100644 include/asm-arm/arch-spear/spr_misc.h
 create mode 100644 include/asm-arm/arch-spear/spr_syscntl.h
 create mode 100755 include/asm-arm/arch-spear/spr_xloader_table.h
 create mode 100755 include/configs/spear.h
MAKEALL +1 -0
index ab1bb6f..8eb39e5 100755
@@ -572,6 +572,7 @@ LIST_ARM9="			\
 	sheevaplug		\
 	smdk2400		\
 	smdk2410		\
+	spear600		\
 	trab			\
 	VCMA9			\
 	versatile		\
Makefile +3 -0
index 536ccb3..ebe1c1b 100644
@@ -3056,6 +3056,9 @@ smdk2400_config	:	unconfig
 smdk2410_config	:	unconfig
 	@$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 samsung s3c24x0
 
+spear600_config :	unconfig
+	@$(MKCONFIG) -n $@ -t $(@:_config=) spear arm arm926ejs $(@:_config=) spear spear
+
 SX1_stdout_serial_config \
 SX1_config:		unconfig
 	@mkdir -p $(obj)include
board/spear/common/spr_lowlevel_init.S new file +201 -0

201 lines not on this page · raw message

board/spear/common/spr_misc.c new file +296 -0

296 lines not on this page · raw message

board/spear/spear600/Makefile new file +52 -0

52 lines not on this page · raw message

board/spear/spear600/config.mk new file +38 -0
new file mode 100755
index 0000000..71caee3
@@ -0,0 +1,38 @@
+#
+# (C) Copyright 2009
+# Vipin Kumar, ST Microelectronics <[email protected]>
+#
+# 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 += -DENV_IN_NAND
+endif
+
+# Compile uboot as USB boot firmware
+ifeq ($(CONSOLE),USB)
+PLATFORM_RELFLAGS += -DCONFIG_SPEAR_USBTTY
+endif
board/spear/spear600/spear600.c new file +53 -0

53 lines not on this page · raw message

cpu/arm926ejs/spear/Makefile new file +52 -0

52 lines not on this page · raw message

cpu/arm926ejs/spear/reset.c new file +53 -0

53 lines not on this page · raw message

cpu/arm926ejs/spear/timer.c new file +150 -0

150 lines not on this page · raw message

include/asm-arm/arch-spear/spr_defs.h new file +38 -0
new file mode 100644
index 0000000..9dde54a
@@ -0,0 +1,38 @@
+/*
+ * (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
+ */
+
+#ifndef __SPR_DEFS_H__
+#define __SPR_DEFS_H__
+
+extern int spear_board_init(ulong);
+extern void setfreq(unsigned int, unsigned int);
+extern unsigned int setfreq_sz;
+
+struct chip_data {
+	int cpufreq;
+	int dramfreq;
+	int dramtype;
+	uchar version[32];
+};
+
+#endif
include/asm-arm/arch-spear/spr_emi.h new file +54 -0

54 lines not on this page · raw message

include/asm-arm/arch-spear/spr_gpt.h new file +83 -0

83 lines not on this page · raw message

include/asm-arm/arch-spear/spr_misc.h new file +130 -0

130 lines not on this page · raw message

include/asm-arm/arch-spear/spr_syscntl.h new file +38 -0
new file mode 100644
index 0000000..3c92f09
@@ -0,0 +1,38 @@
+/*
+ * (C) Copyright 2009
+ * Ryan CHEN, ST Micoelectronics, ryan.chen 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
+ */
+
+struct syscntl_regs {
+	u32 scctrl;
+	u32 scsysstat;
+	u32 scimctrl;
+	u32 scimsysstat;
+	u32 scxtalctrl;
+	u32 scpllctrl;
+	u32 scpllfctrl;
+	u32 scperctrl0;
+	u32 scperctrl1;
+	u32 scperen;
+	u32 scperdis;
+	const u32 scperclken;
+	const u32 scperstat;
+};
include/asm-arm/arch-spear/spr_xloader_table.h new file +67 -0

67 lines not on this page · raw message

include/configs/spear.h new file +240 -0

240 lines not on this page · raw message

Signature · 1 line
1.6.0.2
#3 lore raw

PATCH v2 3/9 SPEAr300 SoC support added

---
 MAKEALL                         |    1 +
 Makefile                        |    1 +
 board/spear/spear300/Makefile   |   52 +++++++++++++++++++++++++++++++++++
 board/spear/spear300/config.mk  |   38 ++++++++++++++++++++++++++
 board/spear/spear300/spear300.c |   57 +++++++++++++++++++++++++++++++++++++++
 include/configs/spear.h         |   26 +++++++++++++++--
 6 files changed, 172 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
MAKEALL +1 -0
index 8eb39e5..b39a77d 100755
@@ -572,6 +572,7 @@ LIST_ARM9="			\
 	sheevaplug		\
 	smdk2400		\
 	smdk2410		\
+	spear300		\
 	spear600		\
 	trab			\
 	VCMA9			\
Makefile +1 -0
index ebe1c1b..b547426 100644
@@ -3056,6 +3056,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
 
board/spear/spear300/Makefile new file +52 -0

52 lines not on this page · raw message

board/spear/spear300/config.mk new file +38 -0
new file mode 100755
index 0000000..71caee3
@@ -0,0 +1,38 @@
+#
+# (C) Copyright 2009
+# Vipin Kumar, ST Microelectronics <[email protected]>
+#
+# 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 += -DENV_IN_NAND
+endif
+
+# Compile uboot as USB boot firmware
+ifeq ($(CONSOLE),USB)
+PLATFORM_RELFLAGS += -DCONFIG_SPEAR_USBTTY
+endif
board/spear/spear300/spear300.c new file +57 -0

57 lines not on this page · raw message

include/configs/spear.h +23 -3
index d7acfbe..27bc845 100755
@@ -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
 
 /*
  * Ethernet MAC 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
 
@@ -87,10 +98,18 @@
 #define CONFIG_SPEAR_TIMERBASE			(0xFC800000)
 #define CONFIG_SPEAR_MISCBASE			(0xFCA80000)
 
+#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)
 
@@ -208,6 +227,7 @@
 #define CONFIG_SYS_MEMTEST_END			0x04000000
 #define CONFIG_SYS_MALLOC_LEN			(CONFIG_ENV_SIZE + 256*1024)
 #define CONFIG_SYS_GBL_DATA_SIZE		128
+#define CONFIG_IDENT_STRING			"-SPEAr"
 #define CONFIG_SYS_LONGHELP
 #define CONFIG_SYS_PROMPT			"u-boot> "
 #define CONFIG_CMDLINE_EDITING
Signature · 1 line
1.6.0.2
#4 lore raw

PATCH v2 4/9 SPEAr310 SoC support added

---
 MAKEALL                         |    1 +
 Makefile                        |    1 +
 board/spear/spear310/Makefile   |   52 ++++++++++++++
 board/spear/spear310/config.mk  |   41 +++++++++++
 board/spear/spear310/spear310.c |   58 +++++++++++++++
 include/configs/spear.h         |  146 +++++++++++++++++++++++++++++----------
 6 files changed, 262 insertions(+), 37 deletions(-)
 create mode 100755 board/spear/spear310/Makefile
 create mode 100755 board/spear/spear310/config.mk
 create mode 100755 board/spear/spear310/spear310.c
MAKEALL +1 -0
index b39a77d..6a2f66c 100755
@@ -573,6 +573,7 @@ LIST_ARM9="			\
 	smdk2400		\
 	smdk2410		\
 	spear300		\
+	spear310		\
 	spear600		\
 	trab			\
 	VCMA9			\
Makefile +1 -0
index b547426..55ee5a6 100644
@@ -3057,6 +3057,7 @@ smdk2410_config	:	unconfig
 	@$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 samsung s3c24x0
 
 spear300_config \
+spear310_config \
 spear600_config :	unconfig
 	@$(MKCONFIG) -n $@ -t $(@:_config=) spear arm arm926ejs $(@:_config=) spear spear
 
board/spear/spear310/Makefile new file +52 -0

52 lines not on this page · raw message

board/spear/spear310/config.mk new file +41 -0

41 lines not on this page · raw message

board/spear/spear310/spear310.c new file +58 -0

58 lines not on this page · raw message

include/configs/spear.h +109 -37

249 lines not on this page · raw message

Signature · 1 line
1.6.0.2
#5 lore raw

PATCH v2 5/9 SPEAr320 SoC support added

---
 MAKEALL                         |    1 +
 Makefile                        |    1 +
 board/spear/spear320/Makefile   |   52 +++++++++++++++++++++++++++++++++++
 board/spear/spear320/config.mk  |   41 +++++++++++++++++++++++++++
 board/spear/spear320/spear320.c |   58 +++++++++++++++++++++++++++++++++++++++
 include/configs/spear.h         |   39 ++++++++++++++++++++++++++
 6 files changed, 192 insertions(+), 0 deletions(-)
 create mode 100755 board/spear/spear320/Makefile
 create mode 100755 board/spear/spear320/config.mk
 create mode 100755 board/spear/spear320/spear320.c
MAKEALL +1 -0
index 6a2f66c..a76ab8f 100755
@@ -574,6 +574,7 @@ LIST_ARM9="			\
 	smdk2410		\
 	spear300		\
 	spear310		\
+	spear320		\
 	spear600		\
 	trab			\
 	VCMA9			\
Makefile +1 -0
index 55ee5a6..1debadc 100644
@@ -3058,6 +3058,7 @@ smdk2410_config	:	unconfig
 
 spear300_config \
 spear310_config \
+spear320_config \
 spear600_config :	unconfig
 	@$(MKCONFIG) -n $@ -t $(@:_config=) spear arm arm926ejs $(@:_config=) spear spear
 
board/spear/spear320/Makefile new file +52 -0

52 lines not on this page · raw message

board/spear/spear320/config.mk new file +41 -0

41 lines not on this page · raw message

board/spear/spear320/spear320.c new file +58 -0

58 lines not on this page · raw message

include/configs/spear.h +39 -0
index fe41a39..58065f6 100755
@@ -36,6 +36,9 @@
 #elif defined(CONFIG_MK_spear310)
 #define CONFIG_SPEAR3XX				1
 #define CONFIG_SPEAR310				1
+#elif defined(CONFIG_MK_spear320)
+#define CONFIG_SPEAR3XX				1
+#define CONFIG_SPEAR320				1
 #endif
 
 /*
@@ -109,6 +112,18 @@
 						(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
 
 /*
@@ -148,6 +163,14 @@
 #define CONFIG_SPEAR_EMIBASE			(0x4F000000)
 #define CONFIG_SPEAR_RASBASE			(0xB4000000)
 
+#elif defined(CONFIG_SPEAR320)
+#define CONFIG_SYS_I2C_BASE			(0xD0180000)
+#define CONFIG_SPEAR_FSMCBASE			(0x4C000000)
+#define CONFIG_SYS_NAND_BASE			(0x50000000)
+
+#define CONFIG_SPEAR_EMIBASE			(0x40000000)
+#define CONFIG_SPEAR_RASBASE			(0xB3000000)
+
 #endif
 
 #define CONFIG_SYS_HZ				(1000)
@@ -174,6 +197,8 @@
 
 #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
@@ -187,6 +212,20 @@
 						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
 
Signature · 1 line
1.6.0.2
#6 lore raw

PATCH v2 6/9 i2c driver support for SPEAr SoCs

---
 drivers/i2c/Makefile                 |    1 +
 drivers/i2c/spr_i2c.c                |  340 ++++++++++++++++++++++++++++++++++
 include/asm-arm/arch-spear/spr_i2c.h |  146 +++++++++++++++
 include/configs/spear.h              |    2 +-
 4 files changed, 488 insertions(+), 1 deletions(-)
 mode change 100644 => 100755 drivers/i2c/Makefile
 create mode 100755 drivers/i2c/spr_i2c.c
 create mode 100755 include/asm-arm/arch-spear/spr_i2c.h
drivers/i2c/Makefile +1 -0
old mode 100644
new mode 100755
index b860e89..29bda85
@@ -37,6 +37,7 @@ COBJS-$(CONFIG_PCA9564_I2C) += pca9564_i2c.o
 COBJS-$(CONFIG_DRIVER_S3C24X0_I2C) += s3c24x0_i2c.o
 COBJS-$(CONFIG_S3C44B0_I2C) += s3c44b0_i2c.o
 COBJS-$(CONFIG_SOFT_I2C) += soft_i2c.o
+COBJS-$(CONFIG_SPEAR_I2C) += spr_i2c.o
 COBJS-$(CONFIG_TSI108_I2C) += tsi108_i2c.o
 
 COBJS	:= $(COBJS-y)
drivers/i2c/spr_i2c.c new file +340 -0

340 lines not on this page · raw message

include/asm-arm/arch-spear/spr_i2c.h new file +146 -0

146 lines not on this page · raw message

include/configs/spear.h +1 -1
index 58065f6..c07d5d4 100755
@@ -61,7 +61,7 @@
  * I2C driver configuration
  */
 #define CONFIG_HARD_I2C
-#define CONFIG_SPEARI2C
+#define CONFIG_SPEAR_I2C
 #define CONFIG_SYS_I2C_SPEED			400000
 #define CONFIG_SYS_I2C_SLAVE			0x02
 
Signature · 1 line
1.6.0.2
#7 lore raw

PATCH v2 7/9 smi driver support for SPEAr SoCs

---
 drivers/mtd/Makefile                 |    1 +
 drivers/mtd/spr_smi.c                |  530 ++++++++++++++++++++++++++++++++++
 include/asm-arm/arch-spear/spr_smi.h |  117 ++++++++
 3 files changed, 648 insertions(+), 0 deletions(-)
 mode change 100644 => 100755 drivers/mtd/Makefile
 create mode 100755 drivers/mtd/spr_smi.c
 create mode 100755 include/asm-arm/arch-spear/spr_smi.h
drivers/mtd/Makefile +1 -0
old mode 100644
new mode 100755
index 754d648..cbf6f15
@@ -34,6 +34,7 @@ COBJS-$(CONFIG_FLASH_CFI_MTD) += cfi_mtd.o
 COBJS-$(CONFIG_HAS_DATAFLASH) += dataflash.o
 COBJS-$(CONFIG_FLASH_CFI_LEGACY) += jedec_flash.o
 COBJS-$(CONFIG_MW_EEPROM) += mw_eeprom.o
+COBJS-$(CONFIG_SPEARSMI) += spr_smi.o
 
 COBJS	:= $(COBJS-y)
 SRCS	:= $(COBJS:.o=.c)
drivers/mtd/spr_smi.c new file +530 -0

530 lines not on this page · raw message

include/asm-arm/arch-spear/spr_smi.h new file +117 -0

117 lines not on this page · raw message

Signature · 1 line
1.6.0.2
#8 lore raw

PATCH v2 8/9 nand(fsmc) driver support for SPEAr SoCs

---
 drivers/mtd/nand/Makefile             |    1 +
 drivers/mtd/nand/spr_nand.c           |  123 +++++++++++++++++++++++++++++++++
 include/asm-arm/arch-spear/spr_nand.h |   57 +++++++++++++++
 3 files changed, 181 insertions(+), 0 deletions(-)
 create mode 100755 drivers/mtd/nand/spr_nand.c
 create mode 100644 include/asm-arm/arch-spear/spr_nand.h
drivers/mtd/nand/Makefile +1 -0
index 02449ee..28f27da 100644
@@ -47,6 +47,7 @@ COBJS-$(CONFIG_NAND_NDFC) += ndfc.o
 COBJS-$(CONFIG_NAND_NOMADIK) += nomadik.o
 COBJS-$(CONFIG_NAND_S3C2410) += s3c2410_nand.o
 COBJS-$(CONFIG_NAND_S3C64XX) += s3c64xx.o
+COBJS-$(CONFIG_NAND_SPEAR) += spr_nand.o
 COBJS-$(CONFIG_NAND_OMAP_GPMC) += omap_gpmc.o
 COBJS-$(CONFIG_NAND_PLAT) += nand_plat.o
 endif
drivers/mtd/nand/spr_nand.c new file +123 -0

123 lines not on this page · raw message

include/asm-arm/arch-spear/spr_nand.h new file +57 -0

57 lines not on this page · raw message

Signature · 1 line
1.6.0.2
#9 lore raw

PATCH v2 9/9 usbd driver support for SPEAr SoCs

---
 drivers/serial/usbtty.h      |    2 +
 drivers/usb/gadget/Makefile  |    1 +
 drivers/usb/gadget/spr_udc.c | 1004 ++++++++++++++++++++++++++++++++++++++++++
 include/configs/spear.h      |    7 +-
 include/usb/spr_udc.h        |  227 ++++++++++
 5 files changed, 1240 insertions(+), 1 deletions(-)
 mode change 100644 => 100755 drivers/serial/usbtty.h
 mode change 100644 => 100755 drivers/usb/gadget/Makefile
 create mode 100755 drivers/usb/gadget/spr_udc.c
 create mode 100755 include/usb/spr_udc.h
drivers/serial/usbtty.h +2 -0
old mode 100644
new mode 100755
index f746d63..c96b93e
@@ -31,6 +31,8 @@
 #include <usb/omap1510_udc.h>
 #elif defined(CONFIG_PXA27X)
 #include <usb/pxa27x_udc.h>
+#elif defined(CONFIG_SPEAR3XX) || defined(CONFIG_SPEAR600)
+#include <usb/spr_udc.h>
 #endif
 
 #include <version_autogenerated.h>
drivers/usb/gadget/Makefile +1 -0
old mode 100644
new mode 100755
index 2a19b1e..1d7362d
@@ -32,6 +32,7 @@ COBJS-$(CONFIG_OMAP1510) += omap1510_udc.o
 COBJS-$(CONFIG_OMAP1610) += omap1510_udc.o
 COBJS-$(CONFIG_MPC885_FAMILY) += mpc8xx_udc.o
 COBJS-$(CONFIG_PXA27X) += pxa27x_udc.o
+COBJS-$(CONFIG_SPEARUDC) += spr_udc.o
 endif
 
 COBJS	:= $(COBJS-y)
drivers/usb/gadget/spr_udc.c new file +1004 -0

1,004 lines not on this page · raw message

include/configs/spear.h +6 -1
index c07d5d4..e855ab9 100755
@@ -257,7 +257,12 @@
 /*
  * Default Environment Varible definitions
  */
+#if defined(CONFIG_SPEAR_USBTTY)
+#define CONFIG_BOOTDELAY			-1
+#else
 #define CONFIG_BOOTDELAY			1
+#endif
+
 #define CONFIG_ENV_OVERWRITE
 
 /*
@@ -368,4 +373,4 @@
 #define PHYS_SDRAM_1				0x00000000
 #define PHYS_SDRAM_1_MAXSIZE			0x40000000
 
-#endif  /* __CONFIG_H */
+#endif /* __CONFIG_H */
include/usb/spr_udc.h new file +227 -0

227 lines not on this page · raw message

Signature · 1 line
1.6.0.2
#10 lore raw

PATCH v2 9/9 usbd driver support for SPEAr SoCs

Hi,

Some small coding style remarks below.

2010/1/7 Vipin KUMAR <[email protected]>:

Quoted 20 lines

---

?drivers/serial/usbtty.h ? ? ?| ? ?2 +
?drivers/usb/gadget/Makefile ?| ? ?1 +
?drivers/usb/gadget/spr_udc.c | 1004 ++++++++++++++++++++++++++++++++++++++++++
?include/configs/spear.h ? ? ?| ? ?7 +-
?include/usb/spr_udc.h ? ? ? ?| ?227 ++++++++++

?5 files changed, 1240 insertions(+), 1 deletions(-) ?mode change 100644 => 100755 drivers/serial/usbtty.h ?mode change 100644 => 100755 drivers/usb/gadget/Makefile ?create mode 100755 drivers/usb/gadget/spr_udc.c ?create mode 100755 include/usb/spr_udc.h

+ ? ? ? for (i = 0; i < nb; i++) {
+ ? ? ? ? ? ? ? writeb(readb(fifo_ptr), bytp);
+ ? ? ? ? ? ? ? fifo_ptr++;
+ ? ? ? ? ? ? ? bytp++;
+ ? ? ? }
+ ? ? ? readl(&outep_regs_p[epNum].write_done);

drivers/usb/gadget/spr_udc.c line 229

Quoted 5 lines
drivers/usb/gadget/spr_udc.c new file +5 -0
+
+ ? ? ? return 0;
+}
+
+static void usbputpcktofifo(int epNum, u8 * bufp, u32 len)

Should be u8 *bufp. remove the extra space
Same comment for usbgetpckfromfifo() routine

Quoted 5 lines

+
+ ? ? ? /* SetInterface command received */
+ ? ? ? if (readl(&udc_regs_p->dev_int) & DEV_INT_SETINTF) {
+ ? ? ? ? ? ? ? writel(DEV_INT_SETINTF, &udc_regs_p->dev_int);
+ ? ? ? }

No brackets for single statement blocks

Quoted 4 lines

+ ? ? ? /* USB Start-Of-Frame detected on cable */
+ ? ? ? if (readl(&udc_regs_p->dev_int) & DEV_INT_SOF) {
+ ? ? ? ? ? ? ? writel(DEV_INT_SOF, &udc_regs_p->dev_int);
+ ? ? ? }

No brackets for single statement blocks

That's all, so after fixing these issues:

I suggest the series are being kept together, so Tom do you take it
in your tree?

Kind regards,

Remy

#11 lore raw

v2 cover Added support for SPEAr SoCs

In reply to Vipin KUMAR
Quoted 15 lines · Vipin KUMAR

This patch set is a reworked patch which incorporates all review feedbacks from earlier earlier mails

This patch set contains the support for 4 SoCs
SPEAr600
SPEAr300
SPEAr310
SPEAr320

SPEAr is an ARM based SoC which supports rich set of peripherals like Ethernet,
USB Host, USB Device etc to support various general applications

For further info on SPEAr SoC, please see README.spear also contained in the patch set.

Quoted 10 lines

Vipin (9):
Added README.spear
SPEAr600 SoC support added
SPEAr300 SoC support added
SPEAr310 SoC support added
SPEAr320 SoC support added
i2c driver support for SPEAr SoCs
smi driver support for SPEAr SoCs
nand(fsmc) driver support for SPEAr SoCs
usbd driver support for SPEAr SoCs

This review is mechanical.

Whitespace/formatting checking with checkpatch.pl is in general ok. Some warnings about braces, fix if you think approprate
On patch 9,
ERROR: "foo * bar" should be "foo *bar"
#283: FILE: drivers/usb/gadget/spr_udc.c:229:
+static void usbputpcktofifo(int epNum, u8 * bufp, u32 len) These should fixed
The readme has trailing whitespace issues that were caught in the 'git am ' Please fix.

On patch 9, usb.
There are some merge warnings.
Applying: usbd driver support for SPEAr SoCs
error: patch failed: drivers/serial/usbtty.h:31
error: drivers/serial/usbtty.h: patch does not apply Using index info to reconstruct a base tree... Falling back to patching base and 3-way merge... Auto-merged drivers/serial/usbtty.h

There are some recent updates for usb.
Please rebase you source.

On MAKEALL arm
Spear boards fail to build
Errors similar to this

Assembler messages:
Fatal error: can't create build/board/spear/spear300/../common/spr_misc.o: No such file or directory
Assembler messages:
Fatal error: can't create build/board/spear/spear300/../common/spr_lowlevel_init.o: No such file or directory

The way i test MAKEALL is to define the BUILD_DIR to be something that is not the source directory. Please rerun MAKEALL this way and resolve these errors.

I will do a more detailed review soon.

Tom

#12 lore raw

v2 cover Added support for SPEAr SoCs

Thanks Tom,

Tomorrow Vipin will change it according to your inputs. He will also do the rebase to latest uboot.

Rgds,
Arm

Quoted 78 lines · Tom
Quoted 15 lines · Vipin KUMAR

This patch set is a reworked patch which incorporates all review feedbacks from earlier earlier mails

This patch set contains the support for 4 SoCs
SPEAr600
SPEAr300
SPEAr310
SPEAr320

SPEAr is an ARM based SoC which supports rich set of peripherals like Ethernet,
USB Host, USB Device etc to support various general applications

For further info on SPEAr SoC, please see README.spear also contained in the patch set.

Quoted 11 lines

Vipin (9):
Added README.spear
SPEAr600 SoC support added
SPEAr300 SoC support added
SPEAr310 SoC support added
SPEAr320 SoC support added
i2c driver support for SPEAr SoCs
smi driver support for SPEAr SoCs
nand(fsmc) driver support for SPEAr SoCs
usbd driver support for SPEAr SoCs

This review is mechanical.

Whitespace/formatting checking with checkpatch.pl is in general ok. Some warnings about braces, fix if you think approprate
On patch 9,
ERROR: "foo * bar" should be "foo *bar"
#283: FILE: drivers/usb/gadget/spr_udc.c:229:
+static void usbputpcktofifo(int epNum, u8 * bufp, u32 len) These should fixed
The readme has trailing whitespace issues that were caught in the 'git am ' Please fix.

On patch 9, usb.
There are some merge warnings.
Applying: usbd driver support for SPEAr SoCs
error: patch failed: drivers/serial/usbtty.h:31
error: drivers/serial/usbtty.h: patch does not apply Using index info to reconstruct a base tree... Falling back to patching base and 3-way merge... Auto-merged drivers/serial/usbtty.h

There are some recent updates for usb.
Please rebase you source.

On MAKEALL arm
Spear boards fail to build
Errors similar to this

Assembler messages:
Fatal error: can't create build/board/spear/spear300/../common/spr_misc.o: No such file or directory
Assembler messages:
Fatal error: can't create build/board/spear/spear300/../common/spr_lowlevel_init.o: No such file or directory

The way i test MAKEALL is to define the BUILD_DIR to be something that is not the source directory. Please rerun MAKEALL this way and resolve these errors.

I will do a more detailed review soon.

Tom

_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Signature · 8 lines
-- "Every step appears to be the unavoidable consequence of the
-- preceding one." (A. Einstein) 
-- 
Armando Visconti                  Mobile: (+39) 346 8879146
Senior SW Engineer                Fax:    (+39) 02 93519290
CPG                               Work:   (+39) 02 93519683
Computer System Division          e-mail: armando.visconti at st.com
ST Microelectronics               TINA:   051  4683
#13 lore raw

v2 cover Added support for SPEAr SoCs

In reply to Tom

Hello Tom,

Quoted 30 lines
Quoted 1 line

This patch set is a reworked patch which incorporates all review

feedbacks from

Quoted 9 lines

earlier earlier mails

This patch set contains the support for 4 SoCs
SPEAr600
SPEAr300
SPEAr310
SPEAr320

SPEAr is an ARM based SoC which supports rich set of peripherals like

Ethernet,

Quoted 1 line

USB Host, USB Device etc to support various general

applications

Quoted 2 lines

For further info on SPEAr SoC, please see README.spear also contained

in the

Quoted 12 lines

patch set.

Vipin (9):
Added README.spear
SPEAr600 SoC support added
SPEAr300 SoC support added
SPEAr310 SoC support added
SPEAr320 SoC support added
i2c driver support for SPEAr SoCs
smi driver support for SPEAr SoCs
nand(fsmc) driver support for SPEAr SoCs
usbd driver support for SPEAr SoCs

Quoted 4 lines

This review is mechanical.

Whitespace/formatting checking with checkpatch.pl is in general ok. Some warnings about braces, fix if you think appropriate

Braces warnings have not been fixed. I thought it is safer this way

Quoted 5 lines

On patch 9,
ERROR: "foo * bar" should be "foo *bar"
#283: FILE: drivers/usb/gadget/spr_udc.c:229:
+static void usbputpcktofifo(int epNum, u8 * bufp, u32 len) These should fixed

Corrected in v3

Quoted 4 lines

The readme has trailing whitespace issues that were caught in the 'git am '
Please fix.

Corrected in v3

Quoted 9 lines

On patch 9, usb.
There are some merge warnings.
Applying: usbd driver support for SPEAr SoCs
error: patch failed: drivers/serial/usbtty.h:31
error: drivers/serial/usbtty.h: patch does not apply Using index info to reconstruct a base tree... Falling back to patching base and 3-way merge... Auto-merged drivers/serial/usbtty.h

Quoted 3 lines

There are some recent updates for usb.
Please rebase you source.

The v3 patch is rebased on the latest master

Quoted 13 lines

On MAKEALL arm
Spear boards fail to build
Errors similar to this

Assembler messages:
Fatal error: can't create build/board/spear/spear300/../common/spr_misc.o: No
such file or directory
Assembler messages:
Fatal error: can't create build/board/spear/spear300/../common/spr_lowlevel_init.o: No such file or directory

Quoted 5 lines

The way i test MAKEALL is to define the BUILD_DIR to be something that is not
the source directory. Please rerun MAKEALL this way and resolve these errors.

Corrected in v3 patch set

Quoted 2 lines

I will do a more detailed review soon.

Thanks for your help in reviewing the code. Please review the version3 patch set

Regards,
Vipin

#14 lore raw

v2 cover Added support for SPEAr SoCs

In reply to Vipin KUMAR
Quoted 15 lines · Vipin KUMAR

This patch set is a reworked patch which incorporates all review feedbacks from earlier earlier mails

This patch set contains the support for 4 SoCs
SPEAr600
SPEAr300
SPEAr310
SPEAr320

SPEAr is an ARM based SoC which supports rich set of peripherals like Ethernet,
USB Host, USB Device etc to support various general applications

For further info on SPEAr SoC, please see README.spear also contained in the patch set.

Quoted 10 lines

Vipin (9):
Added README.spear
SPEAr600 SoC support added
SPEAr300 SoC support added
SPEAr310 SoC support added
SPEAr320 SoC support added
i2c driver support for SPEAr SoCs
smi driver support for SPEAr SoCs
nand(fsmc) driver support for SPEAr SoCs
usbd driver support for SPEAr SoCs

It would be nice if you reordered the patches. At a glance, some of the boards added first rely on drivers added later. Eg patch 1 uses the I2C driver in patch 6. This will cause 'git bisects' to break. To prevent this you should add SOC + driver code first, then boards last. Something like:

1. Initial SPEAr SOC support
2. SPEAr: Add I2C support
3. SPEAr: Add SMI support
....
6. Add SPEAr 600 board support
7. Add SPEAr 300 board support
8. Add SPEAr 310 board support
9. Add SPEAr 320 board support

Best,
Peter

#15 lore raw

v2 cover Added support for SPEAr SoCs

Hello Peter,

Quoted 38 lines
Quoted 1 line

This patch set is a reworked patch which incorporates all review

feedbacks from

Quoted 9 lines

earlier earlier mails

This patch set contains the support for 4 SoCs
SPEAr600
SPEAr300
SPEAr310
SPEAr320

SPEAr is an ARM based SoC which supports rich set of peripherals like

Ethernet,

Quoted 1 line

USB Host, USB Device etc to support various general

applications

Quoted 2 lines

For further info on SPEAr SoC, please see README.spear also contained

in the

Quoted 12 lines

patch set.

Vipin (9):
Added README.spear
SPEAr600 SoC support added
SPEAr300 SoC support added
SPEAr310 SoC support added
SPEAr320 SoC support added
i2c driver support for SPEAr SoCs
smi driver support for SPEAr SoCs
nand(fsmc) driver support for SPEAr SoCs
usbd driver support for SPEAr SoCs

It would be nice if you reordered the patches. At a glance, some of the
boards added first rely on drivers added later. Eg patch 1 uses the I2C
driver in patch 6. This will cause 'git bisects' to break. To prevent this you should add SOC + driver code first, then boards last. Something like:

Quoted 9 lines

1. Initial SPEAr SOC support
2. SPEAr: Add I2C support
3. SPEAr: Add SMI support
....
6. Add SPEAr 600 board support
7. Add SPEAr 300 board support
8. Add SPEAr 310 board support
9. Add SPEAr 320 board support

I am planning to keep the patch order as it is but I would remove dependencies eg. SPEAr600 would not contain code that depends on a driver added later and so on.

This should also be OK. Right?

Regards,
Vipin

#16 lore raw

v2 cover Added support for SPEAr SoCs

Quoted 50 lines · Vipin KUMAR

Hello Peter,

Quoted 38 lines
Quoted 1 line

This patch set is a reworked patch which incorporates all review

feedbacks from

Quoted 9 lines

earlier earlier mails

This patch set contains the support for 4 SoCs
SPEAr600
SPEAr300
SPEAr310
SPEAr320

SPEAr is an ARM based SoC which supports rich set of peripherals like

Ethernet,

Quoted 1 line

USB Host, USB Device etc to support various general

applications

Quoted 2 lines

For further info on SPEAr SoC, please see README.spear also contained

in the

Quoted 12 lines

patch set.

Vipin (9):
Added README.spear
SPEAr600 SoC support added
SPEAr300 SoC support added
SPEAr310 SoC support added
SPEAr320 SoC support added
i2c driver support for SPEAr SoCs
smi driver support for SPEAr SoCs
nand(fsmc) driver support for SPEAr SoCs
usbd driver support for SPEAr SoCs

It would be nice if you reordered the patches. At a glance, some of the
boards added first rely on drivers added later. Eg patch 1 uses the I2C
driver in patch 6. This will cause 'git bisects' to break. To prevent this you should add SOC + driver code first, then boards last. Something like:

Quoted 9 lines

1. Initial SPEAr SOC support
2. SPEAr: Add I2C support
3. SPEAr: Add SMI support
....
6. Add SPEAr 600 board support
7. Add SPEAr 300 board support
8. Add SPEAr 310 board support
9. Add SPEAr 320 board support

Quoted 5 lines

I am planning to keep the patch order as it is but I would remove dependencies eg. SPEAr600 would not contain code that depends on a driver added later and so on.

This should also be OK. Right?

It should remove the 'git bisect' issue, which is the important thing to me. The way you did it in v3 should work, its just a bit uglier than doing it the "right" way that I outlined above. Eg you modify spear.h and config.mk each time you add a new driver, basically tweaking the board support as the patch sequence progresses instead of just adding proper board support in 1 patch at the end.

Also, its a bit ugly to add both spear arch support as well as board support in patch 2/11. Ideally you'd have 1 patch adding spear architectural support, then additional patches for drivers, then patches for boards.

In any case, my comments are mostly aesthetic and I don't really care how you split up the patches as long as you don't break bisection:) Wolfgang or Tom can force you to reorganize the patches if they care about it enough.

Best,
Peter

#17 lore raw

v2 cover Added support for SPEAr SoCs

Quoted 3 lines · Peter Tyser
Quoted 2 lines · Vipin KUMAR

Hello Peter,

<snip>

Quoted 14 lines
Quoted 6 lines
Quoted 1 line

I am planning to keep the patch order as it is but I would remove dependencies eg. SPEAr600 would not contain code that depends on a driver added later and so on.

This should also be OK. Right?

It should remove the 'git bisect' issue, which is the important thing to me. The way you did it in v3 should work, its just a bit uglier than doing it the "right" way that I outlined above. Eg you modify spear.h and config.mk each time you add a new driver, basically tweaking the board support as the patch sequence progresses instead of just adding proper board support in 1 patch at the end.

Quoted 5 lines

Also, its a bit ugly to add both spear arch support as well as board support in patch 2/11. Ideally you'd have 1 patch adding spear architectural support, then additional patches for drivers, then patches for boards.

On 2/11, this patch must be split.
Arch support split from board support.

Moving the driver support before board support would simplify the review. The subsystem custodians would only have to review what they are responsible for. I would also recommend doing this.

Tom

Quoted 12 lines

In any case, my comments are mostly aesthetic and I don't really care how you split up the patches as long as you don't break bisection:) Wolfgang or Tom can force you to reorganize the patches if they care about it enough.

Best,
Peter

_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

#18 lore raw

v2 cover Added support for SPEAr SoCs

Hello Tom,

Quoted 19 lines
Quoted 13 lines
Quoted 5 lines

I am planning to keep the patch order as it is but I would remove dependencies eg. SPEAr600 would not contain code that depends on a driver added later and so on.

This should also be OK. Right?

It should remove the 'git bisect' issue, which is the important thing to me. ?The way you did it in v3 should work, its just a bit uglier than doing it the "right" way that I outlined above. ?Eg you modify spear.h and config.mk each time you add a new driver, basically tweaking the board support as the patch sequence progresses instead of just adding proper board support in 1 patch at the end.

Quoted 5 lines

Also, its a bit ugly to add both spear arch support as well as board support in patch 2/11. ?Ideally you'd have 1 patch adding spear architectural support, then additional patches for drivers, then patches for boards.

Quoted 7 lines

On 2/11, this patch must be split.
Arch support split from board support.

Moving the driver support before board support would simplify the review. The subsystem custodians would only have to review what they are responsible for. ?I would also recommend doing this.

Changes done as you suggested in patch set version4

Regards
Vipin

#19 lore raw

v2 cover Added support for SPEAr SoCs

Quoted 22 lines · Vipin Kumar

Hello Tom,

Quoted 20 lines
Quoted 12 lines
Quoted 5 lines

I am planning to keep the patch order as it is but I would remove dependencies eg. SPEAr600 would not contain code that depends on a driver added later and so on.

This should also be OK. Right?

It should remove the 'git bisect' issue, which is the important thing to me. The way you did it in v3 should work, its just a bit uglier than doing it the "right" way that I outlined above. Eg you modify spear.h and config.mk each time you add a new driver, basically tweaking the board support as the patch sequence progresses instead of just adding proper board support in 1 patch at the end.

Quoted 5 lines

Also, its a bit ugly to add both spear arch support as well as board support in patch 2/11. Ideally you'd have 1 patch adding spear architectural support, then additional patches for drivers, then patches for boards.

On 2/11, this patch must be split.
Arch support split from board support.

Quoted 7 lines
Quoted 4 lines

Moving the driver support before board support would simplify the review. The subsystem custodians would only have to review what they are responsible for. I would also recommend doing this.

Changes done as you suggested in patch set version4

Thanks,
I am reviewing this patch set now.
So far it looks ok wrt mechanical checking.
Tom

Quoted 2 lines

Regards
Vipin

#20 lore raw

v2 cover Added support for SPEAr SoCs

In reply to Peter Tyser
Quoted 39 lines · Vipin KUMAR
Quoted 1 line

This patch set is a reworked patch which incorporates all review

feedbacks from

Quoted 9 lines

earlier earlier mails

This patch set contains the support for 4 SoCs
SPEAr600
SPEAr300
SPEAr310
SPEAr320

SPEAr is an ARM based SoC which supports rich set of peripherals like

Ethernet,

Quoted 1 line

USB Host, USB Device etc to support various general

applications

Quoted 2 lines

For further info on SPEAr SoC, please see README.spear also contained

in the

Quoted 12 lines

patch set.

Vipin (9):
Added README.spear
SPEAr600 SoC support added
SPEAr300 SoC support added
SPEAr310 SoC support added
SPEAr320 SoC support added
i2c driver support for SPEAr SoCs
smi driver support for SPEAr SoCs
nand(fsmc) driver support for SPEAr SoCs
usbd driver support for SPEAr SoCs

It would be nice if you reordered the patches. At a glance, some of the
boards added first rely on drivers added later. Eg patch 1 uses the I2C
driver in patch 6. This will cause 'git bisects' to break. To prevent this you should add SOC + driver code first, then boards last. Something like:

Quoted 9 lines

1. Initial SPEAr SOC support
2. SPEAr: Add I2C support
3. SPEAr: Add SMI support
....
6. Add SPEAr 600 board support
7. Add SPEAr 300 board support
8. Add SPEAr 310 board support
9. Add SPEAr 320 board support

Thanks for your help in reviewing the code
Patches reordered in v3 patch set
Please review v3 for further feedbacks

Regards
Vipin