Added support for SPEAr SoCs
Subsystems (6)
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
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
@@ -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
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
@@ -572,6 +572,7 @@ LIST_ARM9=" \ sheevaplug \ smdk2400 \ smdk2410 \ + spear600 \ trab \ VCMA9 \ versatile \
Makefile +3 -0
@@ -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
@@ -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
@@ -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
@@ -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
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
@@ -572,6 +572,7 @@ LIST_ARM9=" \ sheevaplug \ smdk2400 \ smdk2410 \ + spear300 \ spear600 \ trab \ VCMA9 \
Makefile +1 -0
@@ -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
@@ -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
@@ -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
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
@@ -573,6 +573,7 @@ LIST_ARM9=" \ smdk2400 \ smdk2410 \ spear300 \ + spear310 \ spear600 \ trab \ VCMA9 \
Makefile +1 -0
@@ -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
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
@@ -574,6 +574,7 @@ LIST_ARM9=" \ smdk2410 \ spear300 \ spear310 \ + spear320 \ spear600 \ trab \ VCMA9 \
Makefile +1 -0
@@ -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
@@ -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
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
@@ -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
@@ -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
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
@@ -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
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
@@ -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
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
@@ -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
@@ -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
@@ -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
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
Signed-off-by Vipin <[email protected]>---
?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 => 100755drivers/usb/gadget/Makefile?create mode 100755drivers/usb/gadget/spr_udc.c?create mode 100755include/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
v2 cover Added support for SPEAr SoCs
In reply to Vipin KUMARQuoted 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
SPEAr320SPEAr is an ARM based SoC which supports rich set of peripherals like Ethernet,
USB Host, USB Device etc to support various general applicationsFor 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
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
SPEAr320SPEAr is an ARM based SoC which supports rich set of peripherals like Ethernet,
USB Host, USB Device etc to support various general applicationsFor 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 SoCsThis 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 voidusbputpcktofifo(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-mergeddrivers/serial/usbtty.hThere are some recent updates for usb.
Please rebase you source.On MAKEALL arm
Spear boards fail to build
Errors similar to thisAssembler messages:
Fatal error: can't createbuild/board/spear/spear300/../common/spr_misc.o: No such file or directory
Assembler messages:
Fatal error: can't createbuild/board/spear/spear300/../common/spr_lowlevel_init.o: No such file or directoryThe way i test MAKEALL is to define the
BUILD_DIRto 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
v2 cover Added support for SPEAr SoCs
In reply to TomHello 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
SPEAr320SPEAr 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 voidusbputpcktofifo(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-mergeddrivers/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 thisAssembler messages:
Fatal error: can't createbuild/board/spear/spear300/../common/spr_misc.o: No
such file or directory
Assembler messages:
Fatal error: can't createbuild/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_DIRto 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
v2 cover Added support for SPEAr SoCs
In reply to Vipin KUMARQuoted 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
SPEAr320SPEAr is an ARM based SoC which supports rich set of peripherals like Ethernet,
USB Host, USB Device etc to support various general applicationsFor 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
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
SPEAr320SPEAr 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 SoCsIt 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
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
SPEAr320SPEAr 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 SoCsIt 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
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.hand 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
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.hand 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
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.hand 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
v2 cover Added support for SPEAr SoCs
In reply to Peter TyserQuoted 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
SPEAr320SPEAr 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 SoCsIt 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