public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH V2 00/24] SPEAr: Update platform support for SPEAr3xx/6xx
@ 2012-03-30  6:54 Amit Virdi
  2012-03-30  6:54 ` [U-Boot] [PATCH V2 01/24] SPEAr: Fix ARM relocation support Amit Virdi
                   ` (23 more replies)
  0 siblings, 24 replies; 28+ messages in thread
From: Amit Virdi @ 2012-03-30  6:54 UTC (permalink / raw)
  To: u-boot

This patchset updates the SPEAr support in the u-boot. It contains various
bugfixes and enhancements.

The patches have certain dependencies on the drivers, so should be applied once
the driver patches are frozen. The various drivers on which these patches depend
are:
1. USB device controller:
   http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/125220/focus=126598
2. Designware ethernet controller:
   http://comments.gmane.org/gmane.comp.boot-loaders.u-boot/126029
3. ST_SMI: http://lists.denx.de/pipermail/u-boot/2012-February/118672.html
4. FSMC_NAND: http://patchwork.ozlabs.org/patch/143167/

In a subsequent patchset, more features shall be added along with cleanup of the
directory structure.

Changes since V1:
 - config.mk files removed from board/spear/spearxxx/ directories
 - Dropped two patches which were irrelevant
 - Removed following config variables:
    CONFIG_MONITOR_IS_IN_RAM
    CONFIG_MTD_NAND_VERIFY_WRITE
 - Defined CONFIG_EXTRA_ENV_UNLOCK only for SPEAr310 and SPEAr320
 - Some cosmetic cleanups

Amit Virdi (6):
  SPEAr: Fix ARM relocation support
  SPEAr: Eliminate dependency on Xloader table
  SPEAr: Initialize SNOR in early_board_init_f
  SPEAr: Remove CONFIG_MTD_NAND_VERIFY_WRITE to speed up NAND access
  cleanup/SPEAr: Remove unnecessary parenthesis
  cleanup/SPEAr: Define configuration flags more elegantly

Shiraz Hashim (4):
  SPEAr: Enable autoneg for ethernet
  SPEAr: Enable dcache for fast file transfer
  SPEAr: explicitly select clk src for UART
  SPEAr: Correct SoC ID offset in misc configuration space

Vipin KUMAR (9):
  SPEAr: Place ethaddr write and read within CONFIG_CMD_NET
  SPEAr: Configure network support for spear SoCs
  SPEAr: Add macb driver support for spear310 and spear320
  SPEAr: Add basic arch related support for SPEAr SoCs
  SPEAr: Add configuration options for spear3xx and spear6xx boards
  SPEAr: Remove unused flag (CONFIG_SYS_HZ_CLOCK)
  SPEAr: Change the default environment variables
  SPEAr: Enable usb device high speed support
  SPEAr: Enable udc and usb-console support only for usbtty
    configuration

Vipin Kumar (5):
  SPEAr: Add interface information in initialization
  SPEAr: Enable CONFIG_SYS_FLASH_PROTECTION
  SPEAr: Correct the definition of CONFIG_SYS_MONITOR_BASE
  SPEAr: Enable CONFIG_SYS_FLASH_EMPTY_INFO macro
  SPEAr: Enable ONFI nand flash detection for spear3xx and 6xx and evb

 arch/arm/cpu/arm926ejs/spear/Makefile              |    3 +-
 arch/arm/cpu/arm926ejs/spear/cpu.c                 |   87 +++++++++++++++++
 .../arm/include/asm/arch-spear/clk.h               |   29 +-----
 arch/arm/include/asm/arch-spear/hardware.h         |    8 ++
 arch/arm/include/asm/arch-spear/spr_defs.h         |    7 --
 arch/arm/include/asm/arch-spear/spr_gpt.h          |    4 +-
 arch/arm/include/asm/arch-spear/spr_misc.h         |   11 ++-
 .../arm/include/asm/arch-spear/spr_xloader_table.h |   67 -------------
 board/spear/common/spr_misc.c                      |  102 +++++++-------------
 board/spear/spear300/config.mk                     |   39 --------
 board/spear/spear300/spear300.c                    |   15 +++
 board/spear/spear310/config.mk                     |   44 ---------
 board/spear/spear310/spear310.c                    |   32 ++++++
 board/spear/spear320/config.mk                     |   44 ---------
 board/spear/spear320/spear320.c                    |   30 ++++++
 board/spear/spear600/config.mk                     |   39 --------
 board/spear/spear600/spear600.c                    |   18 ++++
 boards.cfg                                         |   24 ++++-
 doc/README.spear                                   |   54 ++++++++---
 drivers/net/designware.c                           |   10 ++-
 drivers/net/designware.h                           |    1 +
 include/configs/spear-common.h                     |   86 +++++++++++-----
 include/configs/{spear3xx.h => spear3xx_evb.h}     |   58 +++++++++--
 include/configs/{spear6xx.h => spear6xx_evb.h}     |   17 +++-
 include/netdev.h                                   |    2 +-
 25 files changed, 436 insertions(+), 395 deletions(-)
 create mode 100644 arch/arm/cpu/arm926ejs/spear/cpu.c
 copy include/configs/spear6xx.h => arch/arm/include/asm/arch-spear/clk.h (60%)
 delete mode 100644 arch/arm/include/asm/arch-spear/spr_xloader_table.h
 delete mode 100644 board/spear/spear300/config.mk
 delete mode 100644 board/spear/spear310/config.mk
 delete mode 100644 board/spear/spear320/config.mk
 delete mode 100644 board/spear/spear600/config.mk
 rename include/configs/{spear3xx.h => spear3xx_evb.h} (74%)
 rename include/configs/{spear6xx.h => spear6xx_evb.h} (80%)

-- 
1.7.2.2

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [U-Boot] [PATCH V2 01/24] SPEAr: Fix ARM relocation support
  2012-03-30  6:54 [U-Boot] [PATCH V2 00/24] SPEAr: Update platform support for SPEAr3xx/6xx Amit Virdi
@ 2012-03-30  6:54 ` Amit Virdi
  2012-03-30  6:54 ` [U-Boot] [PATCH V2 02/24] SPEAr: Eliminate dependency on Xloader table Amit Virdi
                   ` (22 subsequent siblings)
  23 siblings, 0 replies; 28+ messages in thread
From: Amit Virdi @ 2012-03-30  6:54 UTC (permalink / raw)
  To: u-boot

While the u-boot code is running from the flash, it is essential that no access
is made to the bss segment. This is due to the fact that .rel.dyn and .bss areas
overlap and former contains information used in relocation. In SPEAr, this was
not taken into consideration. As a result, while the relocation wasn't complete,
dram_init populated an uninitialized global variable resulting in corruption of
.rel.dyn area, which resulted in u-boot crash.

This commit fixes this problem by removing code that accesses bss segment

Signed-off-by: Amit Virdi <amit.virdi@st.com>
Acked-by: Stefan Roese <sr@denx.de>
---
 board/spear/common/spr_misc.c |   20 +-------------------
 1 files changed, 1 insertions(+), 19 deletions(-)

diff --git a/board/spear/common/spr_misc.c b/board/spear/common/spr_misc.c
index 0812c20..3ab278f 100644
--- a/board/spear/common/spr_misc.c
+++ b/board/spear/common/spr_misc.c
@@ -40,27 +40,9 @@ static struct chip_data chip_data;
 
 int dram_init(void)
 {
-	struct xloader_table *xloader_tb =
-	    (struct xloader_table *)XLOADER_TABLE_ADDRESS;
-	struct xloader_table_1_1 *table_1_1;
-	struct xloader_table_1_2 *table_1_2;
-	struct chip_data *chip = &chip_data;
-
+	/* Store complete RAM size and return */
 	gd->ram_size = get_ram_size(PHYS_SDRAM_1, PHYS_SDRAM_1_MAXSIZE);
 
-	if (XLOADER_TABLE_VERSION_1_1 == xloader_tb->table_version) {
-		table_1_1 = &xloader_tb->table.table_1_1;
-		chip->dramfreq = table_1_1->ddrfreq;
-		chip->dramtype = table_1_1->ddrtype;
-
-	} else if (XLOADER_TABLE_VERSION_1_2 == xloader_tb->table_version) {
-		table_1_2 = &xloader_tb->table.table_1_2;
-		chip->dramfreq = table_1_2->ddrfreq;
-		chip->dramtype = table_1_2->ddrtype;
-	} else {
-		chip->dramfreq = -1;
-	}
-
 	return 0;
 }
 
-- 
1.7.2.2

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [U-Boot] [PATCH V2 02/24] SPEAr: Eliminate dependency on Xloader table
  2012-03-30  6:54 [U-Boot] [PATCH V2 00/24] SPEAr: Update platform support for SPEAr3xx/6xx Amit Virdi
  2012-03-30  6:54 ` [U-Boot] [PATCH V2 01/24] SPEAr: Fix ARM relocation support Amit Virdi
@ 2012-03-30  6:54 ` Amit Virdi
  2012-03-30  6:54 ` [U-Boot] [PATCH V2 03/24] SPEAr: Place ethaddr write and read within CONFIG_CMD_NET Amit Virdi
                   ` (21 subsequent siblings)
  23 siblings, 0 replies; 28+ messages in thread
From: Amit Virdi @ 2012-03-30  6:54 UTC (permalink / raw)
  To: u-boot

Xloader table was used primarily to inform u-boot about the DDR size. However,
now the ddr size is calculated at runtime which eliminates any need for the
Xloader table. So removing this unnecessary code.

Signed-off-by: Amit Virdi <amit.virdi@st.com>
Acked-by: Stefan Roese <sr@denx.de>
---
 arch/arm/include/asm/arch-spear/spr_defs.h         |    7 --
 .../arm/include/asm/arch-spear/spr_xloader_table.h |   67 --------------------
 board/spear/common/spr_misc.c                      |   41 ------------
 3 files changed, 0 insertions(+), 115 deletions(-)
 delete mode 100644 arch/arm/include/asm/arch-spear/spr_xloader_table.h

diff --git a/arch/arm/include/asm/arch-spear/spr_defs.h b/arch/arm/include/asm/arch-spear/spr_defs.h
index fa8412c..0ddce62 100644
--- a/arch/arm/include/asm/arch-spear/spr_defs.h
+++ b/arch/arm/include/asm/arch-spear/spr_defs.h
@@ -28,13 +28,6 @@ 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];
-};
-
 /* HW mac id in i2c memory definitions */
 #define MAGIC_OFF	0x0
 #define MAGIC_LEN	0x2
diff --git a/arch/arm/include/asm/arch-spear/spr_xloader_table.h b/arch/arm/include/asm/arch-spear/spr_xloader_table.h
deleted file mode 100644
index 7e3da18..0000000
--- a/arch/arm/include/asm/arch-spear/spr_xloader_table.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * (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_XLOADER_TABLE_H
-#define _SPR_XLOADER_TABLE_H
-
-#define XLOADER_TABLE_VERSION_1_1	2
-#define XLOADER_TABLE_VERSION_1_2	3
-
-#define XLOADER_TABLE_ADDRESS		0xD2801FF0
-
-#define DDRMOBILE	1
-#define DDR2		2
-
-#define REV_BA		1
-#define REV_AA		2
-#define REV_AB		3
-
-struct xloader_table_1_1 {
-	unsigned short ddrfreq;
-	unsigned char ddrsize;
-	unsigned char ddrtype;
-
-	unsigned char soc_rev;
-} __attribute__ ((packed));
-
-struct xloader_table_1_2 {
-	unsigned const char *version;
-
-	unsigned short ddrfreq;
-	unsigned char ddrsize;
-	unsigned char ddrtype;
-
-	unsigned char soc_rev;
-} __attribute__ ((packed));
-
-union table_contents {
-	struct xloader_table_1_1 table_1_1;
-	struct xloader_table_1_2 table_1_2;
-};
-
-struct xloader_table {
-	unsigned char table_version;
-	union table_contents table;
-} __attribute__ ((packed));
-
-#endif
diff --git a/board/spear/common/spr_misc.c b/board/spear/common/spr_misc.c
index 3ab278f..be96c15 100644
--- a/board/spear/common/spr_misc.c
+++ b/board/spear/common/spr_misc.c
@@ -28,7 +28,6 @@
 #include <asm/io.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/spr_emi.h>
-#include <asm/arch/spr_xloader_table.h>
 #include <asm/arch/spr_defs.h>
 
 #define CPU		0
@@ -36,7 +35,6 @@
 #define SRAM_REL	0xD2801000
 
 DECLARE_GLOBAL_DATA_PTR;
-static struct chip_data chip_data;
 
 int dram_init(void)
 {
@@ -127,25 +125,11 @@ void spear_emi_init(void)
 
 int spear_board_init(ulong mach_type)
 {
-	struct xloader_table *xloader_tb =
-	    (struct xloader_table *)XLOADER_TABLE_ADDRESS;
-	struct xloader_table_1_2 *table_1_2;
-	struct chip_data *chip = &chip_data;
-
 	gd->bd->bi_arch_number = mach_type;
 
 	/* adress of boot parameters */
 	gd->bd->bi_boot_params = CONFIG_BOOT_PARAMS_ADDR;
 
-	/* CPU is initialized to work at 333MHz in Xloader */
-	chip->cpufreq = 333;
-
-	if (XLOADER_TABLE_VERSION_1_2 == xloader_tb->table_version) {
-		table_1_2 = &xloader_tb->table.table_1_2;
-		memcpy(chip->version, table_1_2->version,
-		       sizeof(chip->version));
-	}
-
 #ifdef CONFIG_SPEAR_EMI
 	spear_emi_init();
 #endif
@@ -195,7 +179,6 @@ static int write_mac(uchar *mac)
 int do_chip_config(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	void (*sram_setfreq) (unsigned int, unsigned int);
-	struct chip_data *chip = &chip_data;
 	unsigned char mac[6];
 	unsigned int reg, frequency;
 	char *s, *e;
@@ -218,13 +201,9 @@ int do_chip_config(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 		if (!strcmp(argv[1], "cpufreq")) {
 			sram_setfreq(CPU, frequency);
 			printf("CPU frequency changed to %u\n", frequency);
-
-			chip->cpufreq = frequency;
 		} else {
 			sram_setfreq(DDR, frequency);
 			printf("DDR frequency changed to %u\n", frequency);
-
-			chip->dramfreq = frequency;
 		}
 
 		return 0;
@@ -240,24 +219,6 @@ int do_chip_config(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 
 		return 0;
 	} else if (!strcmp(argv[1], "print")) {
-
-		if (chip->cpufreq == -1)
-			printf("CPU Freq    = Not Known\n");
-		else
-			printf("CPU Freq    = %d MHz\n", chip->cpufreq);
-
-		if (chip->dramfreq == -1)
-			printf("DDR Freq    = Not Known\n");
-		else
-			printf("DDR Freq    = %d MHz\n", chip->dramfreq);
-
-		if (chip->dramtype == DDRMOBILE)
-			printf("DDR Type    = MOBILE\n");
-		else if (chip->dramtype == DDR2)
-			printf("DDR Type    = DDR2\n");
-		else
-			printf("DDR Type    = Not Known\n");
-
 		if (!i2c_read_mac(mac)) {
 			sprintf(i2c_mac, "%pM", mac);
 			printf("Ethaddr (from i2c mem) = %s\n", i2c_mac);
@@ -265,8 +226,6 @@ int do_chip_config(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 			printf("Ethaddr (from i2c mem) = Not set\n");
 		}
 
-		printf("Xloader Rev = %s\n", chip->version);
-
 		return 0;
 	}
 
-- 
1.7.2.2

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [U-Boot] [PATCH V2 03/24] SPEAr: Place ethaddr write and read within CONFIG_CMD_NET
  2012-03-30  6:54 [U-Boot] [PATCH V2 00/24] SPEAr: Update platform support for SPEAr3xx/6xx Amit Virdi
  2012-03-30  6:54 ` [U-Boot] [PATCH V2 01/24] SPEAr: Fix ARM relocation support Amit Virdi
  2012-03-30  6:54 ` [U-Boot] [PATCH V2 02/24] SPEAr: Eliminate dependency on Xloader table Amit Virdi
@ 2012-03-30  6:54 ` Amit Virdi
  2012-03-30  6:54 ` [U-Boot] [PATCH V2 04/24] SPEAr: Configure network support for spear SoCs Amit Virdi
                   ` (20 subsequent siblings)
  23 siblings, 0 replies; 28+ messages in thread
From: Amit Virdi @ 2012-03-30  6:54 UTC (permalink / raw)
  To: u-boot

From: Vipin KUMAR <vipin.kumar@st.com>

ethaddr can be optionally read from i2c memory. So, chip_config command supports
reading/writing hw mac id into i2c memory. Placing this code within
CONFIG_CMD_NET as this would only be needed when network interface is configured

Signed-off-by: Vipin Kumar <vipin.kumar@st.com>
Signed-off-by: Amit Virdi <amit.virdi@st.com>
---
 board/spear/common/spr_misc.c |   29 +++++++++++++++++++++--------
 doc/README.spear              |    8 ++++++++
 2 files changed, 29 insertions(+), 8 deletions(-)

diff --git a/board/spear/common/spr_misc.c b/board/spear/common/spr_misc.c
index be96c15..e2918ff 100644
--- a/board/spear/common/spr_misc.c
+++ b/board/spear/common/spr_misc.c
@@ -36,6 +36,10 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
+#if defined(CONFIG_CMD_NET)
+static int i2c_read_mac(uchar *buffer);
+#endif
+
 int dram_init(void)
 {
 	/* Store complete RAM size and return */
@@ -136,6 +140,7 @@ int spear_board_init(ulong mach_type)
 	return 0;
 }
 
+#if defined(CONFIG_CMD_NET)
 static int i2c_read_mac(uchar *buffer)
 {
 	u8 buf[2];
@@ -172,17 +177,18 @@ static int write_mac(uchar *mac)
 		return 0;
 	}
 
-	puts("I2C EEPROM writing failed \n");
+	puts("I2C EEPROM writing failed\n");
 	return -1;
 }
+#endif
 
 int do_chip_config(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
 	void (*sram_setfreq) (unsigned int, unsigned int);
+	unsigned int frequency;
+#if defined(CONFIG_CMD_NET)
 	unsigned char mac[6];
-	unsigned int reg, frequency;
-	char *s, *e;
-	char i2c_mac[20];
+#endif
 
 	if ((argc > 3) || (argc < 2))
 		return cmd_usage(cmdtp);
@@ -207,9 +213,12 @@ int do_chip_config(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 		}
 
 		return 0;
+
+#if defined(CONFIG_CMD_NET)
 	} else if (!strcmp(argv[1], "ethaddr")) {
 
-		s = argv[2];
+		u32 reg;
+		char *e, *s = argv[2];
 		for (reg = 0; reg < 6; ++reg) {
 			mac[reg] = s ? simple_strtoul(s, &e, 16) : 0;
 			if (s)
@@ -218,14 +227,15 @@ int do_chip_config(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 		write_mac(mac);
 
 		return 0;
+#endif
 	} else if (!strcmp(argv[1], "print")) {
+#if defined(CONFIG_CMD_NET)
 		if (!i2c_read_mac(mac)) {
-			sprintf(i2c_mac, "%pM", mac);
-			printf("Ethaddr (from i2c mem) = %s\n", i2c_mac);
+			printf("Ethaddr (from i2c mem) = %pM\n", mac);
 		} else {
 			printf("Ethaddr (from i2c mem) = Not set\n");
 		}
-
+#endif
 		return 0;
 	}
 
@@ -235,4 +245,7 @@ int do_chip_config(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 U_BOOT_CMD(chip_config, 3, 1, do_chip_config,
 	   "configure chip",
 	   "chip_config cpufreq/ddrfreq frequency\n"
+#if defined(CONFIG_CMD_NET)
+	   "chip_config ethaddr XX:XX:XX:XX:XX:XX\n"
+#endif
 	   "chip_config print");
diff --git a/doc/README.spear b/doc/README.spear
index a8b1052..a6ff7fd 100644
--- a/doc/README.spear
+++ b/doc/README.spear
@@ -46,3 +46,11 @@ Further options
 	make FLASH=PNOR (supported by SPEAr310 and SPEAr320)
 	- This option generates a uboot image that supports emi controller for
 	CFI compliant parallel NOR flash
+
+Mac id storage and retrieval in spear platforms
+
+Please read doc/README.enetaddr for the implementation guidelines for mac id
+usage. Basically, environment has precedence over board specific storage. The
+ethaddr beeing used for the network interface is always taken only from
+environment variables. Although, we can check the mac id programmed in i2c
+memory by using chip_config command
-- 
1.7.2.2

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [U-Boot] [PATCH V2 04/24] SPEAr: Configure network support for spear SoCs
  2012-03-30  6:54 [U-Boot] [PATCH V2 00/24] SPEAr: Update platform support for SPEAr3xx/6xx Amit Virdi
                   ` (2 preceding siblings ...)
  2012-03-30  6:54 ` [U-Boot] [PATCH V2 03/24] SPEAr: Place ethaddr write and read within CONFIG_CMD_NET Amit Virdi
@ 2012-03-30  6:54 ` Amit Virdi
  2012-03-30  6:54 ` [U-Boot] [PATCH V2 05/24] SPEAr: Add macb driver support for spear310 and spear320 Amit Virdi
                   ` (19 subsequent siblings)
  23 siblings, 0 replies; 28+ messages in thread
From: Amit Virdi @ 2012-03-30  6:54 UTC (permalink / raw)
  To: u-boot

From: Vipin KUMAR <vipin.kumar@st.com>

Signed-off-by: Vipin Kumar <vipin.kumar@st.com>
Signed-off-by: Amit Virdi <amit.virdi@st.com>
---
 arch/arm/include/asm/arch-spear/hardware.h |    1 +
 board/spear/spear300/spear300.c            |   10 ++++++++++
 board/spear/spear310/spear310.c            |   10 ++++++++++
 board/spear/spear320/spear320.c            |   10 ++++++++++
 board/spear/spear600/spear600.c            |   10 ++++++++++
 include/configs/spear-common.h             |   14 ++++++++++++--
 include/configs/spear3xx.h                 |    3 +++
 7 files changed, 56 insertions(+), 2 deletions(-)

diff --git a/arch/arm/include/asm/arch-spear/hardware.h b/arch/arm/include/asm/arch-spear/hardware.h
index a6517b2..70fc030 100644
--- a/arch/arm/include/asm/arch-spear/hardware.h
+++ b/arch/arm/include/asm/arch-spear/hardware.h
@@ -31,6 +31,7 @@
 #define CONFIG_SPEAR_SYSCNTLBASE		(0xFCA00000)
 #define CONFIG_SPEAR_TIMERBASE			(0xFC800000)
 #define CONFIG_SPEAR_MISCBASE			(0xFCA80000)
+#define CONFIG_SPEAR_ETHBASE			0xE0800000
 
 #define CONFIG_SYS_NAND_CLE			(1 << 16)
 #define CONFIG_SYS_NAND_ALE			(1 << 17)
diff --git a/board/spear/spear300/spear300.c b/board/spear/spear300/spear300.c
index 32bcb77..3f7ccb8 100644
--- a/board/spear/spear300/spear300.c
+++ b/board/spear/spear300/spear300.c
@@ -22,6 +22,7 @@
  */
 
 #include <common.h>
+#include <netdev.h>
 #include <nand.h>
 #include <asm/io.h>
 #include <linux/mtd/fsmc_nand.h>
@@ -57,3 +58,12 @@ int board_nand_init(struct nand_chip *nand)
 #endif
 	return -1;
 }
+
+int board_eth_init(bd_t *bis)
+{
+#if defined(CONFIG_DESIGNWARE_ETH)
+	return designware_initialize(0, CONFIG_SPEAR_ETHBASE, CONFIG_DW0_PHY);
+#else
+	return -1;
+#endif
+}
diff --git a/board/spear/spear310/spear310.c b/board/spear/spear310/spear310.c
index 8b58218..8c5b5ba 100644
--- a/board/spear/spear310/spear310.c
+++ b/board/spear/spear310/spear310.c
@@ -23,6 +23,7 @@
  */
 
 #include <common.h>
+#include <netdev.h>
 #include <nand.h>
 #include <asm/io.h>
 #include <linux/mtd/fsmc_nand.h>
@@ -58,3 +59,12 @@ int board_nand_init(struct nand_chip *nand)
 #endif
 	return -1;
 }
+
+int board_eth_init(bd_t *bis)
+{
+#if defined(CONFIG_DESIGNWARE_ETH)
+	return designware_initialize(0, CONFIG_SPEAR_ETHBASE, CONFIG_DW0_PHY);
+#else
+	return -1;
+#endif
+}
diff --git a/board/spear/spear320/spear320.c b/board/spear/spear320/spear320.c
index 172ad35..b60acc2 100644
--- a/board/spear/spear320/spear320.c
+++ b/board/spear/spear320/spear320.c
@@ -23,6 +23,7 @@
  */
 
 #include <common.h>
+#include <netdev.h>
 #include <nand.h>
 #include <asm/io.h>
 #include <linux/mtd/fsmc_nand.h>
@@ -58,3 +59,12 @@ int board_nand_init(struct nand_chip *nand)
 #endif
 	return -1;
 }
+
+int board_eth_init(bd_t *bis)
+{
+#if defined(CONFIG_DESIGNWARE_ETH)
+	return designware_initialize(0, CONFIG_SPEAR_ETHBASE, CONFIG_DW0_PHY);
+#else
+	return -1;
+#endif
+}
diff --git a/board/spear/spear600/spear600.c b/board/spear/spear600/spear600.c
index 7cf63d6..5a32b7f 100644
--- a/board/spear/spear600/spear600.c
+++ b/board/spear/spear600/spear600.c
@@ -22,6 +22,7 @@
  */
 
 #include <common.h>
+#include <netdev.h>
 #include <nand.h>
 #include <asm/io.h>
 #include <linux/mtd/fsmc_nand.h>
@@ -52,3 +53,12 @@ int board_nand_init(struct nand_chip *nand)
 #endif
 	return -1;
 }
+
+int board_eth_init(bd_t *bis)
+{
+#if defined(CONFIG_DESIGNWARE_ETH)
+	return designware_initialize(0, CONFIG_SPEAR_ETHBASE, CONFIG_DW0_PHY);
+#else
+	return -1;
+#endif
+}
diff --git a/include/configs/spear-common.h b/include/configs/spear-common.h
index 8f4973a..49b9cd3 100644
--- a/include/configs/spear-common.h
+++ b/include/configs/spear-common.h
@@ -27,6 +27,14 @@
  * Common configurations used for both spear3xx as well as spear6xx
  */
 
+/* Ethernet driver configuration */
+#define CONFIG_MII
+#define CONFIG_DESIGNWARE_ETH
+#define CONFIG_DW_SEARCH_PHY
+#define CONFIG_DW0_PHY				1
+#define CONFIG_NET_MULTI
+#define CONFIG_PHY_RESET_DELAY			10000		/* in usec */
+
 /* USBD driver configuration */
 #define CONFIG_DW_UDC
 #define CONFIG_USB_DEVICE
@@ -103,11 +111,13 @@
 #define CONFIG_CMD_MEMORY
 #define CONFIG_CMD_RUN
 #define CONFIG_CMD_SAVES
+#define CONFIG_CMD_NET
+#define CONFIG_CMD_MII
+#define CONFIG_CMD_PING
+#define CONFIG_CMD_DHCP
 
 /* This must be included AFTER the definition of CONFIG_COMMANDS (if any) */
 #include <config_cmd_default.h>
-#undef CONFIG_CMD_NET
-#undef CONFIG_CMD_NFS
 
 /*
  * Default Environment Varible definitions
diff --git a/include/configs/spear3xx.h b/include/configs/spear3xx.h
index 2a86c21..035b321 100644
--- a/include/configs/spear3xx.h
+++ b/include/configs/spear3xx.h
@@ -41,6 +41,9 @@
 
 #include <configs/spear-common.h>
 
+/* Ethernet driver configuration */
+#define CONFIG_DW_ALTDESCRIPTOR			1
+
 /* Serial Configuration (PL011) */
 #define CONFIG_SYS_SERIAL0			0xD0000000
 
-- 
1.7.2.2

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [U-Boot] [PATCH V2 05/24] SPEAr: Add macb driver support for spear310 and spear320
  2012-03-30  6:54 [U-Boot] [PATCH V2 00/24] SPEAr: Update platform support for SPEAr3xx/6xx Amit Virdi
                   ` (3 preceding siblings ...)
  2012-03-30  6:54 ` [U-Boot] [PATCH V2 04/24] SPEAr: Configure network support for spear SoCs Amit Virdi
@ 2012-03-30  6:54 ` Amit Virdi
  2012-03-30  6:54 ` [U-Boot] [PATCH V2 06/24] SPEAr: Add interface information in initialization Amit Virdi
                   ` (18 subsequent siblings)
  23 siblings, 0 replies; 28+ messages in thread
From: Amit Virdi @ 2012-03-30  6:54 UTC (permalink / raw)
  To: u-boot

From: Vipin KUMAR <vipin.kumar@st.com>

SPEAr310 and SPEAr320 SoCs have an extra ethernet controller. The
driver for this device is already supported by u-boot, so configuring
board configuration file and defining base addresses etc to make use
of the common driver

Signed-off-by: Vipin Kumar <vipin.kumar@st.com>
Signed-off-by: Amit Virdi <amit.virdi@st.com>
---
 arch/arm/include/asm/arch-spear/clk.h      |   27 +++++++++++++++++++++++++++
 arch/arm/include/asm/arch-spear/hardware.h |    7 +++++++
 board/spear/spear310/spear310.c            |   25 ++++++++++++++++++++++---
 board/spear/spear320/spear320.c            |   12 +++++++++---
 include/configs/spear3xx.h                 |   13 +++++++++++++
 5 files changed, 78 insertions(+), 6 deletions(-)
 create mode 100644 arch/arm/include/asm/arch-spear/clk.h

diff --git a/arch/arm/include/asm/arch-spear/clk.h b/arch/arm/include/asm/arch-spear/clk.h
new file mode 100644
index 0000000..a45ec18
--- /dev/null
+++ b/arch/arm/include/asm/arch-spear/clk.h
@@ -0,0 +1,27 @@
+/*
+ * (C) Copyright 2010
+ * Vipin Kumar, STMicroelectronics, <vipin.kumar@st.com>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+static inline unsigned long get_macb_pclk_rate(unsigned int dev_id)
+{
+	return 83000000;
+}
diff --git a/arch/arm/include/asm/arch-spear/hardware.h b/arch/arm/include/asm/arch-spear/hardware.h
index 70fc030..0012dd7 100644
--- a/arch/arm/include/asm/arch-spear/hardware.h
+++ b/arch/arm/include/asm/arch-spear/hardware.h
@@ -56,6 +56,11 @@
 #define CONFIG_SPEAR_EMIBASE			(0x4F000000)
 #define CONFIG_SPEAR_RASBASE			(0xB4000000)
 
+#define CONFIG_SYS_MACB0_BASE			0xB0000000
+#define CONFIG_SYS_MACB1_BASE			0xB0800000
+#define CONFIG_SYS_MACB2_BASE			0xB1000000
+#define CONFIG_SYS_MACB3_BASE			0xB1800000
+
 #elif defined(CONFIG_SPEAR320)
 #define CONFIG_SYS_I2C_BASE			(0xD0180000)
 #define CONFIG_SYS_FSMC_BASE			(0x4C000000)
@@ -63,5 +68,7 @@
 #define CONFIG_SPEAR_EMIBASE			(0x40000000)
 #define CONFIG_SPEAR_RASBASE			(0xB3000000)
 
+#define CONFIG_SYS_MACB0_BASE			0xAA000000
+
 #endif
 #endif /* _ASM_ARCH_HARDWARE_H */
diff --git a/board/spear/spear310/spear310.c b/board/spear/spear310/spear310.c
index 8c5b5ba..f74bbac 100644
--- a/board/spear/spear310/spear310.c
+++ b/board/spear/spear310/spear310.c
@@ -62,9 +62,28 @@ int board_nand_init(struct nand_chip *nand)
 
 int board_eth_init(bd_t *bis)
 {
+	int ret = 0;
+
 #if defined(CONFIG_DESIGNWARE_ETH)
-	return designware_initialize(0, CONFIG_SPEAR_ETHBASE, CONFIG_DW0_PHY);
-#else
-	return -1;
+	if (designware_initialize(0, CONFIG_SPEAR_ETHBASE, CONFIG_DW0_PHY) < 0)
+		ret += -1;
+#endif
+#if defined(CONFIG_MACB)
+	if (macb_eth_initialize(0, (void *)CONFIG_SYS_MACB0_BASE,
+				CONFIG_MACB0_PHY) < 0)
+		ret += -1;
+
+	if (macb_eth_initialize(1, (void *)CONFIG_SYS_MACB1_BASE,
+				CONFIG_MACB1_PHY) < 0)
+		ret += -1;
+
+	if (macb_eth_initialize(2, (void *)CONFIG_SYS_MACB2_BASE,
+				CONFIG_MACB2_PHY) < 0)
+		ret += -1;
+
+	if (macb_eth_initialize(3, (void *)CONFIG_SYS_MACB3_BASE,
+				CONFIG_MACB3_PHY) < 0)
+		ret += -1;
 #endif
+	return ret;
 }
diff --git a/board/spear/spear320/spear320.c b/board/spear/spear320/spear320.c
index b60acc2..adddfd1 100644
--- a/board/spear/spear320/spear320.c
+++ b/board/spear/spear320/spear320.c
@@ -62,9 +62,15 @@ int board_nand_init(struct nand_chip *nand)
 
 int board_eth_init(bd_t *bis)
 {
+	int ret = 0;
 #if defined(CONFIG_DESIGNWARE_ETH)
-	return designware_initialize(0, CONFIG_SPEAR_ETHBASE, CONFIG_DW0_PHY);
-#else
-	return -1;
+	if (designware_initialize(0, CONFIG_SPEAR_ETHBASE, CONFIG_DW0_PHY) < 0)
+		ret += -1;
+#endif
+#if defined(CONFIG_MACB)
+	if (macb_eth_initialize(0, (void *)CONFIG_SYS_MACB0_BASE,
+				CONFIG_MACB0_PHY) < 0)
+		ret += -1;
 #endif
+	return ret;
 }
diff --git a/include/configs/spear3xx.h b/include/configs/spear3xx.h
index 035b321..f3e3354 100644
--- a/include/configs/spear3xx.h
+++ b/include/configs/spear3xx.h
@@ -44,6 +44,19 @@
 /* Ethernet driver configuration */
 #define CONFIG_DW_ALTDESCRIPTOR			1
 
+#if defined(CONFIG_SPEAR310)
+#define CONFIG_MACB				1
+#define CONFIG_MACB0_PHY			0x01
+#define CONFIG_MACB1_PHY			0x03
+#define CONFIG_MACB2_PHY			0x05
+#define CONFIG_MACB3_PHY			0x07
+
+#elif defined(CONFIG_SPEAR320)
+#define CONFIG_MACB				1
+#define CONFIG_MACB0_PHY			0x01
+
+#endif
+
 /* Serial Configuration (PL011) */
 #define CONFIG_SYS_SERIAL0			0xD0000000
 
-- 
1.7.2.2

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [U-Boot] [PATCH V2 06/24] SPEAr: Add interface information in initialization
  2012-03-30  6:54 [U-Boot] [PATCH V2 00/24] SPEAr: Update platform support for SPEAr3xx/6xx Amit Virdi
                   ` (4 preceding siblings ...)
  2012-03-30  6:54 ` [U-Boot] [PATCH V2 05/24] SPEAr: Add macb driver support for spear310 and spear320 Amit Virdi
@ 2012-03-30  6:54 ` Amit Virdi
  2012-03-30  6:54 ` [U-Boot] [PATCH V2 07/24] SPEAr: Add basic arch related support for SPEAr SoCs Amit Virdi
                   ` (17 subsequent siblings)
  23 siblings, 0 replies; 28+ messages in thread
From: Amit Virdi @ 2012-03-30  6:54 UTC (permalink / raw)
  To: u-boot

From: Vipin Kumar <vipin.kumar@st.com>

Few Designware peripheral registers need to be modified based on the
ethernet interface selected by the board. This patch supports interface
information in ethernet driver

Signed-off-by: Vipin Kumar <vipin.kumar@st.com>
Signed-off-by: Amit Virdi <amit.virdi@st.com>
---
 board/spear/spear300/spear300.c |   11 ++++++++---
 board/spear/spear310/spear310.c |   23 +++++++++++++----------
 board/spear/spear320/spear320.c |   22 ++++++++++++++++++----
 board/spear/spear600/spear600.c |   14 +++++++++++---
 drivers/net/designware.c        |   10 +++++++++-
 drivers/net/designware.h        |    1 +
 include/netdev.h                |    2 +-
 7 files changed, 61 insertions(+), 22 deletions(-)

diff --git a/board/spear/spear300/spear300.c b/board/spear/spear300/spear300.c
index 3f7ccb8..bf3bbc5 100644
--- a/board/spear/spear300/spear300.c
+++ b/board/spear/spear300/spear300.c
@@ -22,6 +22,7 @@
  */
 
 #include <common.h>
+#include <miiphy.h>
 #include <netdev.h>
 #include <nand.h>
 #include <asm/io.h>
@@ -61,9 +62,13 @@ int board_nand_init(struct nand_chip *nand)
 
 int board_eth_init(bd_t *bis)
 {
+	int ret = 0;
+
 #if defined(CONFIG_DESIGNWARE_ETH)
-	return designware_initialize(0, CONFIG_SPEAR_ETHBASE, CONFIG_DW0_PHY);
-#else
-	return -1;
+	u32 interface = PHY_INTERFACE_MODE_MII;
+	if (designware_initialize(0, CONFIG_SPEAR_ETHBASE, CONFIG_DW0_PHY,
+				interface) >= 0)
+		ret++;
 #endif
+	return ret;
 }
diff --git a/board/spear/spear310/spear310.c b/board/spear/spear310/spear310.c
index f74bbac..107b34b 100644
--- a/board/spear/spear310/spear310.c
+++ b/board/spear/spear310/spear310.c
@@ -23,6 +23,7 @@
  */
 
 #include <common.h>
+#include <miiphy.h>
 #include <netdev.h>
 #include <nand.h>
 #include <asm/io.h>
@@ -65,25 +66,27 @@ int board_eth_init(bd_t *bis)
 	int ret = 0;
 
 #if defined(CONFIG_DESIGNWARE_ETH)
-	if (designware_initialize(0, CONFIG_SPEAR_ETHBASE, CONFIG_DW0_PHY) < 0)
-		ret += -1;
+	u32 interface = PHY_INTERFACE_MODE_MII;
+	if (designware_initialize(0, CONFIG_SPEAR_ETHBASE, CONFIG_DW0_PHY,
+				interface) >= 0)
+		ret++;
 #endif
 #if defined(CONFIG_MACB)
 	if (macb_eth_initialize(0, (void *)CONFIG_SYS_MACB0_BASE,
-				CONFIG_MACB0_PHY) < 0)
-		ret += -1;
+				CONFIG_MACB0_PHY) >= 0)
+		ret++;
 
 	if (macb_eth_initialize(1, (void *)CONFIG_SYS_MACB1_BASE,
-				CONFIG_MACB1_PHY) < 0)
-		ret += -1;
+				CONFIG_MACB1_PHY) >= 0)
+		ret++;
 
 	if (macb_eth_initialize(2, (void *)CONFIG_SYS_MACB2_BASE,
-				CONFIG_MACB2_PHY) < 0)
-		ret += -1;
+				CONFIG_MACB2_PHY) >= 0)
+		ret++;
 
 	if (macb_eth_initialize(3, (void *)CONFIG_SYS_MACB3_BASE,
-				CONFIG_MACB3_PHY) < 0)
-		ret += -1;
+				CONFIG_MACB3_PHY) >= 0)
+		ret++;
 #endif
 	return ret;
 }
diff --git a/board/spear/spear320/spear320.c b/board/spear/spear320/spear320.c
index adddfd1..ffe11ad 100644
--- a/board/spear/spear320/spear320.c
+++ b/board/spear/spear320/spear320.c
@@ -23,6 +23,7 @@
  */
 
 #include <common.h>
+#include <miiphy.h>
 #include <netdev.h>
 #include <nand.h>
 #include <asm/io.h>
@@ -31,8 +32,18 @@
 #include <asm/arch/spr_defs.h>
 #include <asm/arch/spr_misc.h>
 
+#define PLGPIO_SEL_36	0xb3000028
+#define PLGPIO_IO_36	0xb3000038
+
+static void spear_phy_reset(void)
+{
+	writel(0x10, PLGPIO_IO_36);
+	writel(0x10, PLGPIO_SEL_36);
+}
+
 int board_init(void)
 {
+	spear_phy_reset();
 	return spear_board_init(MACH_TYPE_SPEAR320);
 }
 
@@ -63,14 +74,17 @@ int board_nand_init(struct nand_chip *nand)
 int board_eth_init(bd_t *bis)
 {
 	int ret = 0;
+
 #if defined(CONFIG_DESIGNWARE_ETH)
-	if (designware_initialize(0, CONFIG_SPEAR_ETHBASE, CONFIG_DW0_PHY) < 0)
-		ret += -1;
+	u32 interface = PHY_INTERFACE_MODE_MII;
+	if (designware_initialize(0, CONFIG_SPEAR_ETHBASE, CONFIG_DW0_PHY,
+				interface) >= 0)
+		ret++;
 #endif
 #if defined(CONFIG_MACB)
 	if (macb_eth_initialize(0, (void *)CONFIG_SYS_MACB0_BASE,
-				CONFIG_MACB0_PHY) < 0)
-		ret += -1;
+				CONFIG_MACB0_PHY) >= 0)
+		ret++;
 #endif
 	return ret;
 }
diff --git a/board/spear/spear600/spear600.c b/board/spear/spear600/spear600.c
index 5a32b7f..f592233 100644
--- a/board/spear/spear600/spear600.c
+++ b/board/spear/spear600/spear600.c
@@ -22,6 +22,7 @@
  */
 
 #include <common.h>
+#include <miiphy.h>
 #include <netdev.h>
 #include <nand.h>
 #include <asm/io.h>
@@ -56,9 +57,16 @@ int board_nand_init(struct nand_chip *nand)
 
 int board_eth_init(bd_t *bis)
 {
+	int ret = 0;
+
 #if defined(CONFIG_DESIGNWARE_ETH)
-	return designware_initialize(0, CONFIG_SPEAR_ETHBASE, CONFIG_DW0_PHY);
-#else
-	return -1;
+	u32 interface = PHY_INTERFACE_MODE_MII;
+#if defined(CONFIG_DW_AUTONEG)
+	interface = PHY_INTERFACE_MODE_GMII;
+#endif
+	if (designware_initialize(0, CONFIG_SPEAR_ETHBASE, CONFIG_DW0_PHY,
+				interface) >= 0)
+		ret++;
 #endif
+	return ret;
 }
diff --git a/drivers/net/designware.c b/drivers/net/designware.c
index e8e669b..e263022 100644
--- a/drivers/net/designware.c
+++ b/drivers/net/designware.c
@@ -171,6 +171,13 @@ static int dw_eth_init(struct eth_device *dev, bd_t *bis)
 	if (priv->speed != SPEED_1000M)
 		conf |= MII_PORTSELECT;
 
+	if ((priv->interface != PHY_INTERFACE_MODE_MII) &&
+		(priv->interface != PHY_INTERFACE_MODE_GMII)) {
+
+		if (priv->speed == SPEED_100M)
+			conf |= FES_100;
+	}
+
 	if (priv->duplex == FULL_DUPLEX)
 		conf |= FULLDPLXMODE;
 
@@ -532,7 +539,7 @@ static int dw_mii_write(const char *devname, u8 addr, u8 reg, u16 val)
 }
 #endif
 
-int designware_initialize(u32 id, ulong base_addr, u32 phy_addr)
+int designware_initialize(u32 id, ulong base_addr, u32 phy_addr, u32 interface)
 {
 	struct eth_device *dev;
 	struct dw_eth_dev *priv;
@@ -566,6 +573,7 @@ int designware_initialize(u32 id, ulong base_addr, u32 phy_addr)
 			DW_DMA_BASE_OFFSET);
 	priv->address = phy_addr;
 	priv->phy_configured = 0;
+	priv->interface = interface;
 
 	if (mac_reset(dev) < 0)
 		return -1;
diff --git a/drivers/net/designware.h b/drivers/net/designware.h
index abf729d..40020bf 100644
--- a/drivers/net/designware.h
+++ b/drivers/net/designware.h
@@ -234,6 +234,7 @@ struct dmamacdescr {
 
 struct dw_eth_dev {
 	u32 address;
+	u32 interface;
 	u32 speed;
 	u32 duplex;
 	u32 tx_currdescnum;
diff --git a/include/netdev.h b/include/netdev.h
index b0c21d5..bad1eaf 100644
--- a/include/netdev.h
+++ b/include/netdev.h
@@ -52,7 +52,7 @@ int calxedaxgmac_initialize(u32 id, ulong base_addr);
 int cs8900_initialize(u8 dev_num, int base_addr);
 int davinci_emac_initialize(void);
 int dc21x4x_initialize(bd_t *bis);
-int designware_initialize(u32 id, ulong base_addr, u32 phy_addr);
+int designware_initialize(u32 id, ulong base_addr, u32 phy_addr, u32 interface);
 int dm9000_initialize(bd_t *bis);
 int dnet_eth_initialize(int id, void *regs, unsigned int phy_addr);
 int e1000_initialize(bd_t *bis);
-- 
1.7.2.2

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [U-Boot] [PATCH V2 07/24] SPEAr: Add basic arch related support for SPEAr SoCs
  2012-03-30  6:54 [U-Boot] [PATCH V2 00/24] SPEAr: Update platform support for SPEAr3xx/6xx Amit Virdi
                   ` (5 preceding siblings ...)
  2012-03-30  6:54 ` [U-Boot] [PATCH V2 06/24] SPEAr: Add interface information in initialization Amit Virdi
@ 2012-03-30  6:54 ` Amit Virdi
  2012-03-30  6:54 ` [U-Boot] [PATCH V2 08/24] SPEAr: Add configuration options for spear3xx and spear6xx boards Amit Virdi
                   ` (16 subsequent siblings)
  23 siblings, 0 replies; 28+ messages in thread
From: Amit Virdi @ 2012-03-30  6:54 UTC (permalink / raw)
  To: u-boot

From: Vipin KUMAR <vipin.kumar@st.com>

Earlier, architecture specific init code was mixed with board initialization
code in board/spear/... This patch updates architecture support for SPEAr in
latest u-boot and prints the SoC information.

Signed-off-by: Vipin Kumar <vipin.kumar@st.com>
Signed-off-by: Amit Virdi <amit.virdi@st.com>
Acked-by: Stefan Roese <sr@denx.de>
---
 arch/arm/cpu/arm926ejs/spear/Makefile      |    3 +-
 arch/arm/cpu/arm926ejs/spear/cpu.c         |   82 ++++++++++++++++++++++++++++
 arch/arm/include/asm/arch-spear/spr_misc.h |    7 +++
 include/configs/spear-common.h             |    2 +
 4 files changed, 93 insertions(+), 1 deletions(-)
 create mode 100644 arch/arm/cpu/arm926ejs/spear/cpu.c

diff --git a/arch/arm/cpu/arm926ejs/spear/Makefile b/arch/arm/cpu/arm926ejs/spear/Makefile
index f32ec4c..46923a4 100644
--- a/arch/arm/cpu/arm926ejs/spear/Makefile
+++ b/arch/arm/cpu/arm926ejs/spear/Makefile
@@ -25,7 +25,8 @@ include $(TOPDIR)/config.mk
 
 LIB	= $(obj)lib$(SOC).o
 
-COBJS	:= reset.o \
+COBJS	:= cpu.o \
+	   reset.o \
 	   timer.o
 SOBJS	:=
 
diff --git a/arch/arm/cpu/arm926ejs/spear/cpu.c b/arch/arm/cpu/arm926ejs/spear/cpu.c
new file mode 100644
index 0000000..9e074bc
--- /dev/null
+++ b/arch/arm/cpu/arm926ejs/spear/cpu.c
@@ -0,0 +1,82 @@
+/*
+ * (C) Copyright 2010
+ * Vipin Kumar, ST Micoelectronics, vipin.kumar at st.com.
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#include <common.h>
+#include <asm/io.h>
+#include <asm/arch/hardware.h>
+#include <asm/arch/spr_misc.h>
+
+int arch_cpu_init(void)
+{
+	struct misc_regs *const misc_p =
+	    (struct misc_regs *)CONFIG_SPEAR_MISCBASE;
+	u32 periph1_clken;
+
+	periph1_clken = readl(&misc_p->periph1_clken);
+
+#if defined(CONFIG_SPEAR3XX)
+	periph1_clken |= MISC_GPT2ENB;
+#elif defined(CONFIG_SPEAR600)
+	periph1_clken |= MISC_GPT3ENB;
+#endif
+
+#if defined(CONFIG_PL011_SERIAL)
+	periph1_clken |= MISC_UART0ENB;
+#endif
+#if defined(CONFIG_DESIGNWARE_ETH)
+	periph1_clken |= MISC_ETHENB;
+#endif
+#if defined(CONFIG_DW_UDC)
+	periph1_clken |= MISC_USBDENB;
+#endif
+#if defined(CONFIG_DW_I2C)
+	periph1_clken |= MISC_I2CENB;
+#endif
+#if defined(CONFIG_ST_SMI)
+	periph1_clken |= MISC_SMIENB;
+#endif
+#if defined(CONFIG_NAND_FSMC)
+	periph1_clken |= MISC_FSMCENB;
+#endif
+
+	writel(periph1_clken, &misc_p->periph1_clken);
+	return 0;
+}
+
+#ifdef CONFIG_DISPLAY_CPUINFO
+int print_cpuinfo(void)
+{
+#ifdef CONFIG_SPEAR300
+	printf("CPU:   SPEAr300\n");
+#elif defined(CONFIG_SPEAR310)
+	printf("CPU:   SPEAr310\n");
+#elif defined(CONFIG_SPEAR320)
+	printf("CPU:   SPEAr320\n");
+#elif defined(CONFIG_SPEAR600)
+	printf("CPU:   SPEAr600\n");
+#else
+#error CPU not supported in spear platform
+#endif
+	return 0;
+}
+#endif
diff --git a/arch/arm/include/asm/arch-spear/spr_misc.h b/arch/arm/include/asm/arch-spear/spr_misc.h
index 8b96d9b..b10c726 100644
--- a/arch/arm/include/asm/arch-spear/spr_misc.h
+++ b/arch/arm/include/asm/arch-spear/spr_misc.h
@@ -126,5 +126,12 @@ struct misc_regs {
 
 /* PERIPH1_CLKEN, PERIPH1_RST value */
 #define MISC_USBDENB			0x01000000
+#define MISC_ETHENB			0x00800000
+#define MISC_SMIENB			0x00200000
+#define MISC_GPT3ENB			0x00010000
+#define MISC_GPT2ENB			0x00000800
+#define MISC_FSMCENB			0x00000200
+#define MISC_I2CENB			0x00000080
+#define MISC_UART0ENB			0x00000008
 
 #endif
diff --git a/include/configs/spear-common.h b/include/configs/spear-common.h
index 49b9cd3..bf91d72 100644
--- a/include/configs/spear-common.h
+++ b/include/configs/spear-common.h
@@ -182,6 +182,8 @@
 #define CONFIG_ENV_SIZE				0x02000
 
 /* Miscellaneous configurable options */
+#define CONFIG_ARCH_CPU_INIT
+#define CONFIG_DISPLAY_CPUINFO
 #define CONFIG_BOOT_PARAMS_ADDR			0x00000100
 #define CONFIG_CMDLINE_TAG			1
 #define CONFIG_SETUP_MEMORY_TAGS		1
-- 
1.7.2.2

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [U-Boot] [PATCH V2 08/24] SPEAr: Add configuration options for spear3xx and spear6xx boards
  2012-03-30  6:54 [U-Boot] [PATCH V2 00/24] SPEAr: Update platform support for SPEAr3xx/6xx Amit Virdi
                   ` (6 preceding siblings ...)
  2012-03-30  6:54 ` [U-Boot] [PATCH V2 07/24] SPEAr: Add basic arch related support for SPEAr SoCs Amit Virdi
@ 2012-03-30  6:54 ` Amit Virdi
  2012-03-30  6:54 ` [U-Boot] [PATCH V2 09/24] SPEAr: Remove unused flag (CONFIG_SYS_HZ_CLOCK) Amit Virdi
                   ` (15 subsequent siblings)
  23 siblings, 0 replies; 28+ messages in thread
From: Amit Virdi @ 2012-03-30  6:54 UTC (permalink / raw)
  To: u-boot

From: Vipin KUMAR <vipin.kumar@st.com>

This patch adds options for all the below mentioned configurations and
subsequently renames the include/configs/spearxxx.h files to spear3xx_evb.h,
spear6xx_evb.h etc to depict evaluation board configuration.

SPEAr3xx and SPEAr6xx boards can be compiled in following configurations
1. Environment placed in NAND
2. Console on usb device
3. Console on usb device with environment placed in NAND
4. SPEAr310 and SPEAr320 support environment variables in parallel
NOR flash.

Signed-off-by: Vipin Kumar <vipin.kumar@st.com>
Signed-off-by: Amit Virdi <amit.virdi@st.com>
---
 board/spear/spear300/config.mk                 |   39 ------------------
 board/spear/spear310/config.mk                 |   44 ---------------------
 board/spear/spear320/config.mk                 |   44 ---------------------
 board/spear/spear600/config.mk                 |   39 ------------------
 boards.cfg                                     |   24 +++++++++--
 doc/README.spear                               |   50 ++++++++++++++++--------
 include/configs/spear-common.h                 |    3 +
 include/configs/{spear3xx.h => spear3xx_evb.h} |   10 +++++
 include/configs/{spear6xx.h => spear6xx_evb.h} |   10 +++++
 9 files changed, 77 insertions(+), 186 deletions(-)
 delete mode 100644 board/spear/spear300/config.mk
 delete mode 100644 board/spear/spear310/config.mk
 delete mode 100644 board/spear/spear320/config.mk
 delete mode 100644 board/spear/spear600/config.mk
 rename include/configs/{spear3xx.h => spear3xx_evb.h} (96%)
 rename include/configs/{spear6xx.h => spear6xx_evb.h} (89%)

diff --git a/board/spear/spear300/config.mk b/board/spear/spear300/config.mk
deleted file mode 100644
index 5848ef8..0000000
--- a/board/spear/spear300/config.mk
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-# (C) Copyright 2009
-# Vipin Kumar, ST Microelectronics <vipin.kumar@st.com>
-#
-# See file CREDITS for list of people who contributed to this
-# project.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-# MA 02111-1307 USA
-#
-
-#########################################################################
-
-CONFIG_SYS_TEXT_BASE = 0x00700000
-
-ALL-y += $(obj)u-boot.img
-
-# Environment variables in NAND
-ifeq ($(ENV),NAND)
-PLATFORM_RELFLAGS += -DCONFIG_ENV_IS_IN_NAND
-else
-PLATFORM_RELFLAGS += -DCONFIG_ENV_IS_IN_FLASH
-endif
-
-ifeq ($(CONSOLE),USB)
-PLATFORM_RELFLAGS += -DCONFIG_SPEAR_USBTTY
-endif
diff --git a/board/spear/spear310/config.mk b/board/spear/spear310/config.mk
deleted file mode 100644
index f8a6bdb..0000000
--- a/board/spear/spear310/config.mk
+++ /dev/null
@@ -1,44 +0,0 @@
-#
-# (C) Copyright 2009
-# Vipin Kumar, ST Microelectronics <vipin.kumar@st.com>
-#
-# See file CREDITS for list of people who contributed to this
-# project.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-# MA 02111-1307 USA
-#
-
-#########################################################################
-
-CONFIG_SYS_TEXT_BASE = 0x00700000
-
-ALL-y += $(obj)u-boot.img
-
-# Environment variables in NAND
-ifeq ($(ENV),NAND)
-PLATFORM_RELFLAGS += -DCONFIG_ENV_IS_IN_NAND
-else
-PLATFORM_RELFLAGS += -DCONFIG_ENV_IS_IN_FLASH
-endif
-
-# Support parallel flash
-ifeq ($(FLASH),PNOR)
-PLATFORM_RELFLAGS += -DCONFIG_FLASH_PNOR
-endif
-
-ifeq ($(CONSOLE),USB)
-PLATFORM_RELFLAGS += -DCONFIG_SPEAR_USBTTY
-endif
diff --git a/board/spear/spear320/config.mk b/board/spear/spear320/config.mk
deleted file mode 100644
index f8a6bdb..0000000
--- a/board/spear/spear320/config.mk
+++ /dev/null
@@ -1,44 +0,0 @@
-#
-# (C) Copyright 2009
-# Vipin Kumar, ST Microelectronics <vipin.kumar@st.com>
-#
-# See file CREDITS for list of people who contributed to this
-# project.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-# MA 02111-1307 USA
-#
-
-#########################################################################
-
-CONFIG_SYS_TEXT_BASE = 0x00700000
-
-ALL-y += $(obj)u-boot.img
-
-# Environment variables in NAND
-ifeq ($(ENV),NAND)
-PLATFORM_RELFLAGS += -DCONFIG_ENV_IS_IN_NAND
-else
-PLATFORM_RELFLAGS += -DCONFIG_ENV_IS_IN_FLASH
-endif
-
-# Support parallel flash
-ifeq ($(FLASH),PNOR)
-PLATFORM_RELFLAGS += -DCONFIG_FLASH_PNOR
-endif
-
-ifeq ($(CONSOLE),USB)
-PLATFORM_RELFLAGS += -DCONFIG_SPEAR_USBTTY
-endif
diff --git a/board/spear/spear600/config.mk b/board/spear/spear600/config.mk
deleted file mode 100644
index 5848ef8..0000000
--- a/board/spear/spear600/config.mk
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-# (C) Copyright 2009
-# Vipin Kumar, ST Microelectronics <vipin.kumar@st.com>
-#
-# See file CREDITS for list of people who contributed to this
-# project.
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-# MA 02111-1307 USA
-#
-
-#########################################################################
-
-CONFIG_SYS_TEXT_BASE = 0x00700000
-
-ALL-y += $(obj)u-boot.img
-
-# Environment variables in NAND
-ifeq ($(ENV),NAND)
-PLATFORM_RELFLAGS += -DCONFIG_ENV_IS_IN_NAND
-else
-PLATFORM_RELFLAGS += -DCONFIG_ENV_IS_IN_FLASH
-endif
-
-ifeq ($(CONSOLE),USB)
-PLATFORM_RELFLAGS += -DCONFIG_SPEAR_USBTTY
-endif
diff --git a/boards.cfg b/boards.cfg
index 28cc345..d03be63 100644
--- a/boards.cfg
+++ b/boards.cfg
@@ -178,10 +178,26 @@ omap730p2_cs0boot	     arm         arm926ejs   omap730p2		 ti             omap
 omap730p2_cs3boot	     arm         arm926ejs   omap730p2		 ti             omap        omap730p2:CS3_BOOT
 edminiv2                     arm         arm926ejs   -                   LaCie          orion5x
 dkb			     arm         arm926ejs   -                   Marvell        pantheon
-spear300                     arm         arm926ejs   spear300            spear          spear       spear3xx:spear300
-spear310                     arm         arm926ejs   spear310            spear          spear       spear3xx:spear310
-spear320                     arm         arm926ejs   spear320            spear          spear       spear3xx:spear320
-spear600                     arm         arm926ejs   spear600            spear          spear       spear6xx:spear600
+spear300                     arm         arm926ejs   spear300            spear          spear       spear3xx_evb:spear300
+spear300_nand                arm         arm926ejs   spear300            spear          spear       spear3xx_evb:spear300,nand
+spear300_usbtty              arm         arm926ejs   spear300            spear          spear       spear3xx_evb:spear300,usbtty
+spear300_usbtty_nand         arm         arm926ejs   spear300            spear          spear       spear3xx_evb:spear300,usbtty,nand
+spear310                     arm         arm926ejs   spear310            spear          spear       spear3xx_evb:spear310
+spear310_pnor                arm         arm926ejs   spear310            spear          spear       spear3xx_evb:spear310,FLASH_PNOR
+spear310_nand                arm         arm926ejs   spear310            spear          spear       spear3xx_evb:spear310,nand
+spear310_usbtty              arm         arm926ejs   spear310            spear          spear       spear3xx_evb:spear310,usbtty
+spear310_usbtty_pnor         arm         arm926ejs   spear310            spear          spear       spear3xx_evb:spear310,usbtty,FLASH_PNOR
+spear310_usbtty_nand         arm         arm926ejs   spear310            spear          spear       spear3xx_evb:spear310,usbtty,nand
+spear320                     arm         arm926ejs   spear320            spear          spear       spear3xx_evb:spear320
+spear320_pnor                arm         arm926ejs   spear320            spear          spear       spear3xx_evb:spear320,FLASH_PNOR
+spear320_nand                arm         arm926ejs   spear320            spear          spear       spear3xx_evb:spear320,nand
+spear320_usbtty              arm         arm926ejs   spear320            spear          spear       spear3xx_evb:spear320,usbtty
+spear320_usbtty_pnor         arm         arm926ejs   spear320            spear          spear       spear3xx_evb:spear320,usbtty,FLASH_PNOR
+spear320_usbtty_nand         arm         arm926ejs   spear320            spear          spear       spear3xx_evb:spear320,usbtty,nand
+spear600                     arm         arm926ejs   spear600            spear          spear       spear6xx_evb:spear600
+spear600_nand                arm         arm926ejs   spear600            spear          spear       spear6xx_evb:spear600,nand
+spear600_usbtty              arm         arm926ejs   spear600            spear          spear       spear6xx_evb:spear600,usbtty
+spear600_usbtty_nand         arm         arm926ejs   spear600            spear          spear       spear6xx_evb:spear600,usbtty,nand
 versatileab                  arm         arm926ejs   versatile           armltd         versatile   versatile:ARCH_VERSATILE_AB
 versatilepb                  arm         arm926ejs   versatile           armltd         versatile   versatile:ARCH_VERSATILE_PB
 versatileqemu                arm         arm926ejs   versatile           armltd         versatile   versatile:ARCH_VERSATILE_QEMU,ARCH_VERSATILE_PB
diff --git a/doc/README.spear b/doc/README.spear
index a6ff7fd..0789b3f 100644
--- a/doc/README.spear
+++ b/doc/README.spear
@@ -6,9 +6,10 @@ SPEAr600 is also known as SPEArPlus and SPEAr300 is also known as SPEArBasic
 The SPEAr SoC family embeds a customizable logic that can be programmed
 one-time by a customer at silicon mask level (i.e. not at runtime!).
 
-We are now adding the support in u-boot for two SoC: SPEAr600 and SPEAr3xx.
+U-Boot supports four SoCs: SPEAr600, SPEAr3xx
 
-All 4 SoCs share common peripherals.
+All 4 SoCs (SPEAr3xx and SPEAr600) share common peripherals. SPEAr300 and
+SPEAr600 do not have EMI.
 
 1. ARM926ejs core based (sp600 has two cores, the 2nd handled only in Linux)
 2. FastEthernet (sp600 has Gbit version, but same controller - GMAC)
@@ -22,7 +23,7 @@ All 4 SoCs share common peripherals.
 10. others ..
 
 Everything is supported in Linux.
-u-boot is not currently supporting all peripeharls (just a few as listed below).
+u-boot is currently not supporting all peripeharls (just a few as listed below).
 1. USB Device
 2. NAND controller (FSMC)
 3. Serial Memory Interface
@@ -31,21 +32,38 @@ u-boot is not currently supporting all peripeharls (just a few as listed below).
 5. UART
 
 Build options
-	make spear600_config
+	make spear320_config
+		spear320 build with environment variables placed at default
+		location i.e. Serial NOR device
+	make spear320_pnor_config
+		This option generates a uboot image that supports emi controller
+		for CFI compliant parallel NOR flash. Environment variables are
+		placed in Parallel NOR device
+	make spear320_nand_config
+		spear320 build with environment variables placed in NAND device
+	make spear320_usbtty_config
+		spear320 build with usbtty terminal as default and environment
+		placed at default location
+	make spear320_usbtty_pnor_config
+		spear320 build with usbtty terminal as default and environment
+		placed in pnor device
+	make spear320_usbtty_nand_config
+		Build with usbtty terminal as default and environment placed in
+		NAND device
 	make spear300_config
+	make spear300_nand_config
+	make spear300_usbtty_config
+	make spear300_usbtty_nand_config
 	make spear310_config
-	make spear320_config
-
-Further options
-	make ENV=NAND (supported by all 4 SoCs)
-	- This option generates a uboot image that saves environment inn NAND
-
-	make CONSOLE=USB (supported by all 4 SoCs)
-	- This option generates a uboot image for using usbdevice as a tty i/f
-
-	make FLASH=PNOR (supported by SPEAr310 and SPEAr320)
-	- This option generates a uboot image that supports emi controller for
-	CFI compliant parallel NOR flash
+	make spear310_pnor_config
+	make spear310_nand_config
+	make spear310_usbtty_config
+	make spear310_usbtty_pnor_config
+	make spear310_usbtty_nand_config
+	make spear600_config
+	make spear600_nand_config
+	make spear600_usbtty_config
+	make spear600_usbtty_nand_config
 
 Mac id storage and retrieval in spear platforms
 
diff --git a/include/configs/spear-common.h b/include/configs/spear-common.h
index bf91d72..b7ba6af 100644
--- a/include/configs/spear-common.h
+++ b/include/configs/spear-common.h
@@ -27,6 +27,9 @@
  * Common configurations used for both spear3xx as well as spear6xx
  */
 
+/* U-boot Load Address */
+#define CONFIG_SYS_TEXT_BASE			0x00700000
+
 /* Ethernet driver configuration */
 #define CONFIG_MII
 #define CONFIG_DESIGNWARE_ETH
diff --git a/include/configs/spear3xx.h b/include/configs/spear3xx_evb.h
similarity index 96%
rename from include/configs/spear3xx.h
rename to include/configs/spear3xx_evb.h
index f3e3354..d6fdc09 100644
--- a/include/configs/spear3xx.h
+++ b/include/configs/spear3xx_evb.h
@@ -39,6 +39,16 @@
 #define CONFIG_SPEAR320				1
 #endif
 
+#if defined(CONFIG_usbtty)
+#define CONFIG_SPEAR_USBTTY
+#endif
+
+#if defined(CONFIG_nand)
+#define CONFIG_ENV_IS_IN_NAND
+#else
+#define CONFIG_ENV_IS_IN_FLASH
+#endif
+
 #include <configs/spear-common.h>
 
 /* Ethernet driver configuration */
diff --git a/include/configs/spear6xx.h b/include/configs/spear6xx_evb.h
similarity index 89%
rename from include/configs/spear6xx.h
rename to include/configs/spear6xx_evb.h
index c5bcc30..18bd140 100644
--- a/include/configs/spear6xx.h
+++ b/include/configs/spear6xx_evb.h
@@ -30,6 +30,16 @@
  */
 #define CONFIG_SPEAR600				1
 
+#if defined(CONFIG_usbtty)
+#define CONFIG_SPEAR_USBTTY
+#endif
+
+#if defined(CONFIG_nand)
+#define CONFIG_ENV_IS_IN_NAND
+#else
+#define CONFIG_ENV_IS_IN_FLASH
+#endif
+
 #include <configs/spear-common.h>
 
 /* Serial Configuration (PL011) */
-- 
1.7.2.2

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [U-Boot] [PATCH V2 09/24] SPEAr: Remove unused flag (CONFIG_SYS_HZ_CLOCK)
  2012-03-30  6:54 [U-Boot] [PATCH V2 00/24] SPEAr: Update platform support for SPEAr3xx/6xx Amit Virdi
                   ` (7 preceding siblings ...)
  2012-03-30  6:54 ` [U-Boot] [PATCH V2 08/24] SPEAr: Add configuration options for spear3xx and spear6xx boards Amit Virdi
@ 2012-03-30  6:54 ` Amit Virdi
  2012-03-30  6:54 ` [U-Boot] [PATCH V2 10/24] SPEAr: Change the default environment variables Amit Virdi
                   ` (14 subsequent siblings)
  23 siblings, 0 replies; 28+ messages in thread
From: Amit Virdi @ 2012-03-30  6:54 UTC (permalink / raw)
  To: u-boot

From: Vipin KUMAR <vipin.kumar@st.com>

SPEAr doesn't need CONFIG_SYS_HZ_CLOCK. This commit removes it.

Signed-off-by: Vipin Kumar <vipin.kumar@st.com>
Signed-off-by: Amit Virdi <amit.virdi@st.com>
Acked-by: Stefan Roese <sr@denx.de>
---
 include/configs/spear-common.h |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/include/configs/spear-common.h b/include/configs/spear-common.h
index b7ba6af..8103b8b 100644
--- a/include/configs/spear-common.h
+++ b/include/configs/spear-common.h
@@ -60,7 +60,6 @@
 
 /* Timer, HZ specific defines */
 #define CONFIG_SYS_HZ				(1000)
-#define CONFIG_SYS_HZ_CLOCK			(8300000)
 
 /* Flash configuration */
 #if defined(CONFIG_FLASH_PNOR)
-- 
1.7.2.2

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [U-Boot] [PATCH V2 10/24] SPEAr: Change the default environment variables
  2012-03-30  6:54 [U-Boot] [PATCH V2 00/24] SPEAr: Update platform support for SPEAr3xx/6xx Amit Virdi
                   ` (8 preceding siblings ...)
  2012-03-30  6:54 ` [U-Boot] [PATCH V2 09/24] SPEAr: Remove unused flag (CONFIG_SYS_HZ_CLOCK) Amit Virdi
@ 2012-03-30  6:54 ` Amit Virdi
  2012-03-30  6:54 ` [U-Boot] [PATCH V2 11/24] SPEAr: Initialize SNOR in early_board_init_f Amit Virdi
                   ` (13 subsequent siblings)
  23 siblings, 0 replies; 28+ messages in thread
From: Amit Virdi @ 2012-03-30  6:54 UTC (permalink / raw)
  To: u-boot

From: Vipin KUMAR <vipin.kumar@st.com>

This patch modifies the default environment variables as:
1. Default bootargs:
 - console=ttyAMA0,115200
 - For environment present in NOR flash
     root=/dev/mtdblock3
 - For environment present in NAND flash
     root=/dev/mtdblock7
 - Removes "mem=" option
2. Introduces CONFIG_EXTRA_ENV_USBTTY as default usbtty env var even when usbtty
is not selected
3. Add default definitions for nfsboot and ramboot
4. Add a new default environment variable(CONFIG_EXTRA_ENV_UNLOCK) for SPEAr310
and SPEAr320

Signifacance of CONFIG_EXTRA_ENV_USBTTY:
This environment variable is important for flashing utility to work. So if
somebody accidently erases the env sector then also this variable must be
preserved so that flashing utility functions properly.

Signifacance of CONFIG_EXTRA_ENV_UNLOCK:
This env variable is read by the cfi driver to unlock all flash sectors.  This
is necessary because the Parallel NOR flash connected on the spear310 and
spear320 boards, M28W64, has all its sectors in locked state at reset and these
have to be unlocked explicitly before being erased or written.

Signed-off-by: Vipin Kumar <vipin.kumar@st.com>
Signed-off-by: Shiraz Hashim <shiraz.hashim@st.com>
Signed-off-by: Amit Virdi <amit.virdi@st.com>
Acked-by: Stefan Roese <sr@denx.de>
---
 include/configs/spear-common.h |   28 +++++++++++++++++++---------
 include/configs/spear3xx_evb.h |   10 ++++++++++
 include/configs/spear6xx_evb.h |    3 +++
 3 files changed, 32 insertions(+), 9 deletions(-)

diff --git a/include/configs/spear-common.h b/include/configs/spear-common.h
index 8103b8b..41eae81 100644
--- a/include/configs/spear-common.h
+++ b/include/configs/spear-common.h
@@ -46,9 +46,7 @@
 #define CONFIG_USBD_PRODUCT_NAME		"SPEAr SoC"
 #define CONFIG_USBD_MANUFACTURER		"ST Microelectronics"
 
-#if defined(CONFIG_USB_TTY)
 #define CONFIG_EXTRA_ENV_USBTTY			"usbtty=cdc_acm\0"
-#endif
 
 /* I2C driver configuration */
 #define CONFIG_HARD_I2C
@@ -142,7 +140,7 @@
  */
 #define CONFIG_SYS_MONITOR_LEN			0x00040000
 #define CONFIG_ENV_SECT_SIZE			0x00010000
-#define CONFIG_FSMTDBLK				"/dev/mtdblock8 "
+#define CONFIG_FSMTDBLK				"/dev/mtdblock3 "
 
 #define CONFIG_BOOTCOMMAND			"bootm 0xf8050000"
 
@@ -168,19 +166,33 @@
 
 #define CONFIG_ENV_OFFSET			0x60000
 #define CONFIG_ENV_RANGE			0x10000
-#define CONFIG_FSMTDBLK				"/dev/mtdblock12 "
+#define CONFIG_FSMTDBLK				"/dev/mtdblock7 "
 
 #define CONFIG_BOOTCOMMAND			"nand read.jffs2 0x1600000 " \
 						"0x80000 0x4C0000; " \
 						"bootm 0x1600000"
 #endif
 
-#define CONFIG_BOOTARGS_NFS			"root=/dev/nfs ip=dhcp " \
-						"console=ttyS0 init=/bin/sh"
-#define CONFIG_BOOTARGS				"console=ttyS0 mem=128M "  \
+#define CONFIG_BOOTARGS				"console=ttyAMA0,115200 " \
+						"mem=128M " \
 						"root="CONFIG_FSMTDBLK \
 						"rootfstype=jffs2"
 
+#define CONFIG_NFSBOOTCOMMAND						\
+	"bootp; "							\
+	"setenv bootargs root=/dev/nfs rw "				\
+	"nfsroot=$(serverip):$(rootpath) "				\
+	"ip=$(ipaddr):$(serverip):$(gatewayip):"			\
+			"$(netmask):$(hostname):$(netdev):off "		\
+			"console=ttyAMA0,115200 $(othbootargs);"	\
+	"bootm; "
+
+#define CONFIG_RAMBOOTCOMMAND						\
+	"setenv bootargs root=/dev/ram rw "				\
+		"console=ttyAMA0,115200 $(othbootargs);"		\
+	CONFIG_BOOTCOMMAND
+
+
 #define CONFIG_ENV_SIZE				0x02000
 
 /* Miscellaneous configurable options */
@@ -212,8 +224,6 @@
 #define CONFIG_SYS_CONSOLE_INFO_QUIET		1
 #define CONFIG_SYS_64BIT_VSPRINTF		1
 
-#define CONFIG_EXTRA_ENV_SETTINGS		CONFIG_EXTRA_ENV_USBTTY
-
 /* Stack sizes */
 #define CONFIG_STACKSIZE			(128*1024)
 
diff --git a/include/configs/spear3xx_evb.h b/include/configs/spear3xx_evb.h
index d6fdc09..d603785 100644
--- a/include/configs/spear3xx_evb.h
+++ b/include/configs/spear3xx_evb.h
@@ -158,4 +158,14 @@
 
 #endif
 
+/* Environment Settings */
+#if defined(CONFIG_SPEAR300)
+#define CONFIG_EXTRA_ENV_SETTINGS              CONFIG_EXTRA_ENV_USBTTY
+
+#elif defined(CONFIG_SPEAR310) || defined(CONFIG_SPEAR320)
+#define CONFIG_EXTRA_ENV_UNLOCK                        "unlock=yes\0"
+#define CONFIG_EXTRA_ENV_SETTINGS              CONFIG_EXTRA_ENV_USBTTY \
+						CONFIG_EXTRA_ENV_UNLOCK
+#endif
+
 #endif  /* __CONFIG_H */
diff --git a/include/configs/spear6xx_evb.h b/include/configs/spear6xx_evb.h
index 18bd140..3e0f50b 100644
--- a/include/configs/spear6xx_evb.h
+++ b/include/configs/spear6xx_evb.h
@@ -53,4 +53,7 @@
 #define CONFIG_SYS_FSMC_NAND_8BIT
 #define CONFIG_SYS_NAND_BASE			(0xD2000000)
 
+/* Environment Settings */
+#define CONFIG_EXTRA_ENV_SETTINGS              CONFIG_EXTRA_ENV_USBTTY
+
 #endif  /* __CONFIG_H */
-- 
1.7.2.2

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [U-Boot] [PATCH V2 11/24] SPEAr: Initialize SNOR in early_board_init_f
  2012-03-30  6:54 [U-Boot] [PATCH V2 00/24] SPEAr: Update platform support for SPEAr3xx/6xx Amit Virdi
                   ` (9 preceding siblings ...)
  2012-03-30  6:54 ` [U-Boot] [PATCH V2 10/24] SPEAr: Change the default environment variables Amit Virdi
@ 2012-03-30  6:54 ` Amit Virdi
  2012-03-30  6:55 ` [U-Boot] [PATCH V2 12/24] SPEAr: Enable usb device high speed support Amit Virdi
                   ` (12 subsequent siblings)
  23 siblings, 0 replies; 28+ messages in thread
From: Amit Virdi @ 2012-03-30  6:54 UTC (permalink / raw)
  To: u-boot

flash reading is required earlier than flash_init is called since the env_init
is called before flash_init. This makes the smi_init necessary before env_init
being called.

Signed-off-by: Amit Virdi <amit.virdi@st.com>
Acked-by: Stefan Roese <sr@denx.de>
---
 board/spear/common/spr_misc.c  |    8 ++++++++
 include/configs/spear-common.h |    1 +
 2 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/board/spear/common/spr_misc.c b/board/spear/common/spr_misc.c
index e2918ff..043c72a 100644
--- a/board/spear/common/spr_misc.c
+++ b/board/spear/common/spr_misc.c
@@ -25,6 +25,7 @@
 #include <command.h>
 #include <i2c.h>
 #include <net.h>
+#include <linux/mtd/st_smi.h>
 #include <asm/io.h>
 #include <asm/arch/hardware.h>
 #include <asm/arch/spr_emi.h>
@@ -54,6 +55,13 @@ void dram_init_banksize(void)
 	gd->bd->bi_dram[0].size = gd->ram_size;
 }
 
+int board_early_init_f()
+{
+#if defined(CONFIG_ST_SMI)
+	smi_init();
+#endif
+	return 0;
+}
 int misc_init_r(void)
 {
 #if defined(CONFIG_CMD_NET)
diff --git a/include/configs/spear-common.h b/include/configs/spear-common.h
index 41eae81..df8bec5 100644
--- a/include/configs/spear-common.h
+++ b/include/configs/spear-common.h
@@ -197,6 +197,7 @@
 
 /* Miscellaneous configurable options */
 #define CONFIG_ARCH_CPU_INIT
+#define CONFIG_BOARD_EARLY_INIT_F
 #define CONFIG_DISPLAY_CPUINFO
 #define CONFIG_BOOT_PARAMS_ADDR			0x00000100
 #define CONFIG_CMDLINE_TAG			1
-- 
1.7.2.2

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [U-Boot] [PATCH V2 12/24] SPEAr: Enable usb device high speed support
  2012-03-30  6:54 [U-Boot] [PATCH V2 00/24] SPEAr: Update platform support for SPEAr3xx/6xx Amit Virdi
                   ` (10 preceding siblings ...)
  2012-03-30  6:54 ` [U-Boot] [PATCH V2 11/24] SPEAr: Initialize SNOR in early_board_init_f Amit Virdi
@ 2012-03-30  6:55 ` Amit Virdi
  2012-03-31 18:28   ` Marek Vasut
  2012-03-30  6:55 ` [U-Boot] [PATCH V2 13/24] SPEAr: Enable udc and usb-console support only for usbtty configuration Amit Virdi
                   ` (11 subsequent siblings)
  23 siblings, 1 reply; 28+ messages in thread
From: Amit Virdi @ 2012-03-30  6:55 UTC (permalink / raw)
  To: u-boot

From: Vipin KUMAR <vipin.kumar@st.com>

This patch enables the support for usb high speed device for spear platform SOCs

Signed-off-by: Vipin Kumar <vipin.kumar@st.com>
Signed-off-by: Amit Virdi <amit.virdi@st.com>
---
 include/configs/spear-common.h |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/include/configs/spear-common.h b/include/configs/spear-common.h
index df8bec5..ce01026 100644
--- a/include/configs/spear-common.h
+++ b/include/configs/spear-common.h
@@ -41,6 +41,7 @@
 /* USBD driver configuration */
 #define CONFIG_DW_UDC
 #define CONFIG_USB_DEVICE
+#define CONFIG_USBD_HS
 #define CONFIG_USB_TTY
 
 #define CONFIG_USBD_PRODUCT_NAME		"SPEAr SoC"
-- 
1.7.2.2

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [U-Boot] [PATCH V2 13/24] SPEAr: Enable udc and usb-console support only for usbtty configuration
  2012-03-30  6:54 [U-Boot] [PATCH V2 00/24] SPEAr: Update platform support for SPEAr3xx/6xx Amit Virdi
                   ` (11 preceding siblings ...)
  2012-03-30  6:55 ` [U-Boot] [PATCH V2 12/24] SPEAr: Enable usb device high speed support Amit Virdi
@ 2012-03-30  6:55 ` Amit Virdi
  2012-03-30  6:55 ` [U-Boot] [PATCH V2 14/24] SPEAr: Enable autoneg for ethernet Amit Virdi
                   ` (10 subsequent siblings)
  23 siblings, 0 replies; 28+ messages in thread
From: Amit Virdi @ 2012-03-30  6:55 UTC (permalink / raw)
  To: u-boot

From: Vipin KUMAR <vipin.kumar@st.com>

This patch enables the UDC and usb-console support only for usbtty
configurations

Signed-off-by: Vipin Kumar <vipin.kumar@st.com>
Signed-off-by: Amit Virdi <amit.virdi@st.com>
Acked-by: Stefan Roese <sr@denx.de>
---
 include/configs/spear-common.h |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/include/configs/spear-common.h b/include/configs/spear-common.h
index ce01026..801cb90 100644
--- a/include/configs/spear-common.h
+++ b/include/configs/spear-common.h
@@ -39,6 +39,7 @@
 #define CONFIG_PHY_RESET_DELAY			10000		/* in usec */
 
 /* USBD driver configuration */
+#if defined(CONFIG_SPEAR_USBTTY)
 #define CONFIG_DW_UDC
 #define CONFIG_USB_DEVICE
 #define CONFIG_USBD_HS
@@ -47,6 +48,8 @@
 #define CONFIG_USBD_PRODUCT_NAME		"SPEAr SoC"
 #define CONFIG_USBD_MANUFACTURER		"ST Microelectronics"
 
+#endif
+
 #define CONFIG_EXTRA_ENV_USBTTY			"usbtty=cdc_acm\0"
 
 /* I2C driver configuration */
-- 
1.7.2.2

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [U-Boot] [PATCH V2 14/24] SPEAr: Enable autoneg for ethernet
  2012-03-30  6:54 [U-Boot] [PATCH V2 00/24] SPEAr: Update platform support for SPEAr3xx/6xx Amit Virdi
                   ` (12 preceding siblings ...)
  2012-03-30  6:55 ` [U-Boot] [PATCH V2 13/24] SPEAr: Enable udc and usb-console support only for usbtty configuration Amit Virdi
@ 2012-03-30  6:55 ` Amit Virdi
  2012-03-30  6:55 ` [U-Boot] [PATCH V2 15/24] SPEAr: Enable dcache for fast file transfer Amit Virdi
                   ` (9 subsequent siblings)
  23 siblings, 0 replies; 28+ messages in thread
From: Amit Virdi @ 2012-03-30  6:55 UTC (permalink / raw)
  To: u-boot

From: Shiraz Hashim <shiraz.hashim@st.com>

Enabling autoneg avoids situation on few phys with fixed configuration. For
example, in one situation, nfs boot timed out when phy configuration is 100Mbps.
In another situtation, when traffic is directed to SPEAr, either thru
cross-cable or thru switch, the TFTP or DHCP command in u-boot starts to timeout
very often.

When Autoneg is ON, same phys started working perfectly.

Reported-by: Deepak Sikri <deepak.sikri@st.com>
Reported-by: Armando Visconti <armando.visconti@st.com>
Signed-off-by: Shiraz Hashim <shiraz.hashim@st.com>
Signed-off-by: Amit Virdi <amit.virdi@st.com>
---
 include/configs/spear-common.h |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/include/configs/spear-common.h b/include/configs/spear-common.h
index 801cb90..0ba4544 100644
--- a/include/configs/spear-common.h
+++ b/include/configs/spear-common.h
@@ -37,6 +37,7 @@
 #define CONFIG_DW0_PHY				1
 #define CONFIG_NET_MULTI
 #define CONFIG_PHY_RESET_DELAY			10000		/* in usec */
+#define CONFIG_DW_AUTONEG
 
 /* USBD driver configuration */
 #if defined(CONFIG_SPEAR_USBTTY)
-- 
1.7.2.2

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [U-Boot] [PATCH V2 15/24] SPEAr: Enable dcache for fast file transfer
  2012-03-30  6:54 [U-Boot] [PATCH V2 00/24] SPEAr: Update platform support for SPEAr3xx/6xx Amit Virdi
                   ` (13 preceding siblings ...)
  2012-03-30  6:55 ` [U-Boot] [PATCH V2 14/24] SPEAr: Enable autoneg for ethernet Amit Virdi
@ 2012-03-30  6:55 ` Amit Virdi
  2012-03-30  6:55 ` [U-Boot] [PATCH V2 16/24] SPEAr: Enable CONFIG_SYS_FLASH_PROTECTION Amit Virdi
                   ` (8 subsequent siblings)
  23 siblings, 0 replies; 28+ messages in thread
From: Amit Virdi @ 2012-03-30  6:55 UTC (permalink / raw)
  To: u-boot

From: Shiraz Hashim <shiraz.hashim@st.com>

Enable data cache with 1:1 mapping of DDR to enable fast file
transfer over tty which was doing lot of copy.

This feature is enabled only for flashing operation i.e. when
CONFIG_SPEAR_USBTTY is enabled.

This has been tested on SPEAr320, SPEAr600 and SPEAr900 evaluation
boards.

Following figures show an estimate on the performance improvements. The
test setup was a Linux host (not Windows) and involved measurement of
only binary transfer time, through kermit. The flash erase and flash
copy time would be unaffected by these patches.

Another thing is this that the timings remained more or less same across
ARM9 and Cortex based devices, hence reporting only one of the cases.

Before Enhancements
===================

$ time ukermit.small -p /dev/ttyACM0 -f spear320_uImage.img
Downloading file: 100.00% completed(2014080/2014080 bytes)
real    0m41.228s
user    0m0.002s
sys     0m0.064s

After Enhancements
==================

$ time ukermit.large -p /dev/ttyACM0 -f spear320_uImage.img
Downloading file: 100.00% completed(2014080/2014080 bytes)
real    0m5.441s
user    0m0.001s
sys     0m0.001s

Signed-off-by: Shiraz Hashim <shiraz.hashim@st.com>
Signed-off-by: Amit Virdi <amit.virdi@st.com>
---
 board/spear/common/spr_misc.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/board/spear/common/spr_misc.c b/board/spear/common/spr_misc.c
index 043c72a..99a6595 100644
--- a/board/spear/common/spr_misc.c
+++ b/board/spear/common/spr_misc.c
@@ -76,6 +76,10 @@ int misc_init_r(void)
 	setenv("stdin", "usbtty");
 	setenv("stdout", "usbtty");
 	setenv("stderr", "usbtty");
+
+#ifndef CONFIG_SYS_NO_DCACHE
+	dcache_enable();
+#endif
 #endif
 	return 0;
 }
-- 
1.7.2.2

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [U-Boot] [PATCH V2 16/24] SPEAr: Enable CONFIG_SYS_FLASH_PROTECTION
  2012-03-30  6:54 [U-Boot] [PATCH V2 00/24] SPEAr: Update platform support for SPEAr3xx/6xx Amit Virdi
                   ` (14 preceding siblings ...)
  2012-03-30  6:55 ` [U-Boot] [PATCH V2 15/24] SPEAr: Enable dcache for fast file transfer Amit Virdi
@ 2012-03-30  6:55 ` Amit Virdi
  2012-03-30  6:55 ` [U-Boot] [PATCH V2 17/24] SPEAr: Correct the definition of CONFIG_SYS_MONITOR_BASE Amit Virdi
                   ` (7 subsequent siblings)
  23 siblings, 0 replies; 28+ messages in thread
From: Amit Virdi @ 2012-03-30  6:55 UTC (permalink / raw)
  To: u-boot

From: Vipin Kumar <vipin.kumar@st.com>

This patch enables flash protection(lock/unlock) for CFI devices.
This is necessary because the Parallel NOR flash connected on the spear
boards, M28W64, can be locked/unlocked on a sector basis. Moreover, all its
sectors are in locked state at reset and these have to be unlocked explicitly
before being erased or written.

Signed-off-by: Vipin Kumar <vipin.kumar@st.com>
Signed-off-by: Amit Virdi <amit.virdi@st.com>
Acked-by: Stefan Roese <sr@denx.de>
---
 include/configs/spear3xx_evb.h |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/include/configs/spear3xx_evb.h b/include/configs/spear3xx_evb.h
index d603785..242e648 100644
--- a/include/configs/spear3xx_evb.h
+++ b/include/configs/spear3xx_evb.h
@@ -111,6 +111,7 @@
 #define CONFIG_FLASH_CFI_DRIVER
 
 #if defined(CONFIG_SPEAR310)
+#define CONFIG_SYS_FLASH_PROTECTION
 #define CONFIG_SYS_FLASH_BASE			0x50000000
 #define CONFIG_SYS_CS1_FLASH_BASE		0x60000000
 #define CONFIG_SYS_CS2_FLASH_BASE		0x70000000
@@ -126,6 +127,7 @@
 #define CONFIG_SYS_MAX_FLASH_BANKS		6
 
 #elif defined(CONFIG_SPEAR320)
+#define CONFIG_SYS_FLASH_PROTECTION
 #define CONFIG_SYS_FLASH_BASE			0x44000000
 #define CONFIG_SYS_CS1_FLASH_BASE		0x45000000
 #define CONFIG_SYS_CS2_FLASH_BASE		0x46000000
-- 
1.7.2.2

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [U-Boot] [PATCH V2 17/24] SPEAr: Correct the definition of CONFIG_SYS_MONITOR_BASE
  2012-03-30  6:54 [U-Boot] [PATCH V2 00/24] SPEAr: Update platform support for SPEAr3xx/6xx Amit Virdi
                   ` (15 preceding siblings ...)
  2012-03-30  6:55 ` [U-Boot] [PATCH V2 16/24] SPEAr: Enable CONFIG_SYS_FLASH_PROTECTION Amit Virdi
@ 2012-03-30  6:55 ` Amit Virdi
  2012-03-30  6:55 ` [U-Boot] [PATCH V2 18/24] SPEAr: Enable CONFIG_SYS_FLASH_EMPTY_INFO macro Amit Virdi
                   ` (6 subsequent siblings)
  23 siblings, 0 replies; 28+ messages in thread
From: Amit Virdi @ 2012-03-30  6:55 UTC (permalink / raw)
  To: u-boot

From: Vipin Kumar <vipin.kumar@st.com>

The below text is copy pasted from README
- CONFIG_SYS_MONITOR_BASE:
	Physical start address of boot monitor code (set by
	make config files to be same as the text base address
	(TEXT_BASE) used when linking) - same as
	CONFIG_SYS_FLASH_BASE when booting from flash.

This patch corrects the definition of CONFIG_SYS_MONITOR_BASE and sets it to
TEXT_BASE

Signed-off-by: Vipin Kumar <vipin.kumar@st.com>
Signed-off-by: Amit Virdi <amit.virdi@st.com>
---
 include/configs/spear-common.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/configs/spear-common.h b/include/configs/spear-common.h
index 0ba4544..def8daf 100644
--- a/include/configs/spear-common.h
+++ b/include/configs/spear-common.h
@@ -161,8 +161,7 @@
 						"0x4C0000; bootm 0x1600000"
 #endif
 
-#define CONFIG_SYS_MONITOR_BASE			CONFIG_SYS_FLASH_BASE
-#define CONFIG_ENV_ADDR				(CONFIG_SYS_MONITOR_BASE + \
+#define CONFIG_ENV_ADDR				(CONFIG_SYS_FLASH_BASE + \
 						CONFIG_SYS_MONITOR_LEN)
 #elif defined(CONFIG_ENV_IS_IN_NAND)
 /*
@@ -199,6 +198,7 @@
 
 
 #define CONFIG_ENV_SIZE				0x02000
+#define CONFIG_SYS_MONITOR_BASE			CONFIG_SYS_TEXT_BASE
 
 /* Miscellaneous configurable options */
 #define CONFIG_ARCH_CPU_INIT
-- 
1.7.2.2

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [U-Boot] [PATCH V2 18/24] SPEAr: Enable CONFIG_SYS_FLASH_EMPTY_INFO macro
  2012-03-30  6:54 [U-Boot] [PATCH V2 00/24] SPEAr: Update platform support for SPEAr3xx/6xx Amit Virdi
                   ` (16 preceding siblings ...)
  2012-03-30  6:55 ` [U-Boot] [PATCH V2 17/24] SPEAr: Correct the definition of CONFIG_SYS_MONITOR_BASE Amit Virdi
@ 2012-03-30  6:55 ` Amit Virdi
  2012-03-30  6:55 ` [U-Boot] [PATCH V2 19/24] SPEAr: Enable ONFI nand flash detection for spear3xx and 6xx and evb Amit Virdi
                   ` (5 subsequent siblings)
  23 siblings, 0 replies; 28+ messages in thread
From: Amit Virdi @ 2012-03-30  6:55 UTC (permalink / raw)
  To: u-boot

From: Vipin Kumar <vipin.kumar@st.com>

Enable CONFIG_SYS_FLASH_EMPTY_INFO macro to enable reporting of empty sector
information through flinfo command.

Signed-off-by: Vipin Kumar <vipin.kumar@st.com>
Signed-off-by: Amit Virdi <amit.virdi@st.com>
Acked-by: Stefan Roese <sr@denx.de>
---
 include/configs/spear-common.h |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/include/configs/spear-common.h b/include/configs/spear-common.h
index def8daf..97c278f 100644
--- a/include/configs/spear-common.h
+++ b/include/configs/spear-common.h
@@ -81,7 +81,6 @@
 						CONFIG_SYS_CS1_FLASH_BASE}
 #define CONFIG_SYS_MAX_FLASH_SECT		128
 
-#define CONFIG_SYS_FLASH_EMPTY_INFO		1
 #define CONFIG_SYS_FLASH_ERASE_TOUT		(3 * CONFIG_SYS_HZ)
 #define CONFIG_SYS_FLASH_WRITE_TOUT		(3 * CONFIG_SYS_HZ)
 
@@ -230,6 +229,8 @@
 #define CONFIG_SYS_CONSOLE_INFO_QUIET		1
 #define CONFIG_SYS_64BIT_VSPRINTF		1
 
+#define CONFIG_SYS_FLASH_EMPTY_INFO
+
 /* Stack sizes */
 #define CONFIG_STACKSIZE			(128*1024)
 
-- 
1.7.2.2

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [U-Boot] [PATCH V2 19/24] SPEAr: Enable ONFI nand flash detection for spear3xx and 6xx and evb
  2012-03-30  6:54 [U-Boot] [PATCH V2 00/24] SPEAr: Update platform support for SPEAr3xx/6xx Amit Virdi
                   ` (17 preceding siblings ...)
  2012-03-30  6:55 ` [U-Boot] [PATCH V2 18/24] SPEAr: Enable CONFIG_SYS_FLASH_EMPTY_INFO macro Amit Virdi
@ 2012-03-30  6:55 ` Amit Virdi
  2012-03-30  6:55 ` [U-Boot] [PATCH V2 20/24] SPEAr: Remove CONFIG_MTD_NAND_VERIFY_WRITE to speed up NAND access Amit Virdi
                   ` (4 subsequent siblings)
  23 siblings, 0 replies; 28+ messages in thread
From: Amit Virdi @ 2012-03-30  6:55 UTC (permalink / raw)
  To: u-boot

From: Vipin Kumar <vipin.kumar@st.com>

Signed-off-by: Vipin Kumar <vipin.kumar@st.com>
Signed-off-by: Amit Virdi <amit.virdi@st.com>
Acked-by: Stefan Roese <sr@denx.de>
---
 include/configs/spear-common.h |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/include/configs/spear-common.h b/include/configs/spear-common.h
index 97c278f..76248e6 100644
--- a/include/configs/spear-common.h
+++ b/include/configs/spear-common.h
@@ -105,6 +105,8 @@
 #define CONFIG_NAND_FSMC
 #define CONFIG_SYS_MAX_NAND_DEVICE		1
 #define CONFIG_MTD_NAND_VERIFY_WRITE		1
+#define CONFIG_SYS_NAND_ONFI_DETECTION
+#define CONFIG_SYS_NAND_QUIET_TEST
 
 /*
  * Command support defines
-- 
1.7.2.2

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [U-Boot] [PATCH V2 20/24] SPEAr: Remove CONFIG_MTD_NAND_VERIFY_WRITE to speed up NAND access
  2012-03-30  6:54 [U-Boot] [PATCH V2 00/24] SPEAr: Update platform support for SPEAr3xx/6xx Amit Virdi
                   ` (18 preceding siblings ...)
  2012-03-30  6:55 ` [U-Boot] [PATCH V2 19/24] SPEAr: Enable ONFI nand flash detection for spear3xx and 6xx and evb Amit Virdi
@ 2012-03-30  6:55 ` Amit Virdi
  2012-03-30  6:55 ` [U-Boot] [PATCH V2 21/24] SPEAr: explicitly select clk src for UART Amit Virdi
                   ` (3 subsequent siblings)
  23 siblings, 0 replies; 28+ messages in thread
From: Amit Virdi @ 2012-03-30  6:55 UTC (permalink / raw)
  To: u-boot

When CONFIG_MTD_NAND_VERIFY_WRITE is defined, nand driver read back the data
everytime it writes. This process unnecessarily slows down the nand access.

Signed-off-by: Amit Virdi <amit.virdi@st.com>
Acked-by: Stefan Roese <sr@denx.de>
---
 include/configs/spear-common.h |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/include/configs/spear-common.h b/include/configs/spear-common.h
index 76248e6..673f483 100644
--- a/include/configs/spear-common.h
+++ b/include/configs/spear-common.h
@@ -104,7 +104,6 @@
 #define CONFIG_MTD_PARTITIONS
 #define CONFIG_NAND_FSMC
 #define CONFIG_SYS_MAX_NAND_DEVICE		1
-#define CONFIG_MTD_NAND_VERIFY_WRITE		1
 #define CONFIG_SYS_NAND_ONFI_DETECTION
 #define CONFIG_SYS_NAND_QUIET_TEST
 
-- 
1.7.2.2

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [U-Boot] [PATCH V2 21/24] SPEAr: explicitly select clk src for UART
  2012-03-30  6:54 [U-Boot] [PATCH V2 00/24] SPEAr: Update platform support for SPEAr3xx/6xx Amit Virdi
                   ` (19 preceding siblings ...)
  2012-03-30  6:55 ` [U-Boot] [PATCH V2 20/24] SPEAr: Remove CONFIG_MTD_NAND_VERIFY_WRITE to speed up NAND access Amit Virdi
@ 2012-03-30  6:55 ` Amit Virdi
  2012-03-30  6:55 ` [U-Boot] [PATCH V2 22/24] SPEAr: Correct SoC ID offset in misc configuration space Amit Virdi
                   ` (2 subsequent siblings)
  23 siblings, 0 replies; 28+ messages in thread
From: Amit Virdi @ 2012-03-30  6:55 UTC (permalink / raw)
  To: u-boot

From: Shiraz Hashim <shiraz.hashim@st.com>

UART in u-boot intends to run on 48MHz clock supplied by USB PLL.
Explicitly select the intended clock source.

Signed-off-by: Shiraz Hashim <shiraz.hashim@st.com>
Signed-off-by: Amit Virdi <amit.virdi@st.com>
Acked-by: Stefan Roese <sr@denx.de>
---
 arch/arm/cpu/arm926ejs/spear/cpu.c         |    7 ++++++-
 arch/arm/include/asm/arch-spear/spr_misc.h |    2 ++
 2 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/arch/arm/cpu/arm926ejs/spear/cpu.c b/arch/arm/cpu/arm926ejs/spear/cpu.c
index 9e074bc..e299de3 100644
--- a/arch/arm/cpu/arm926ejs/spear/cpu.c
+++ b/arch/arm/cpu/arm926ejs/spear/cpu.c
@@ -30,7 +30,7 @@ int arch_cpu_init(void)
 {
 	struct misc_regs *const misc_p =
 	    (struct misc_regs *)CONFIG_SPEAR_MISCBASE;
-	u32 periph1_clken;
+	u32 periph1_clken, periph_clk_cfg;
 
 	periph1_clken = readl(&misc_p->periph1_clken);
 
@@ -42,6 +42,11 @@ int arch_cpu_init(void)
 
 #if defined(CONFIG_PL011_SERIAL)
 	periph1_clken |= MISC_UART0ENB;
+
+	periph_clk_cfg = readl(&misc_p->periph_clk_cfg);
+	periph_clk_cfg &= ~CONFIG_SPEAR_UARTCLKMSK;
+	periph_clk_cfg |= CONFIG_SPEAR_UART48M;
+	writel(periph_clk_cfg, &misc_p->periph_clk_cfg);
 #endif
 #if defined(CONFIG_DESIGNWARE_ETH)
 	periph1_clken |= MISC_ETHENB;
diff --git a/arch/arm/include/asm/arch-spear/spr_misc.h b/arch/arm/include/asm/arch-spear/spr_misc.h
index b10c726..384944d 100644
--- a/arch/arm/include/asm/arch-spear/spr_misc.h
+++ b/arch/arm/include/asm/arch-spear/spr_misc.h
@@ -110,6 +110,8 @@ struct misc_regs {
 /* PERIPH_CLK_CFG value */
 #define MISC_GPT3SYNTH			0x00000400
 #define MISC_GPT4SYNTH			0x00000800
+#define CONFIG_SPEAR_UART48M		0
+#define CONFIG_SPEAR_UARTCLKMSK		(0x1 << 4)
 
 /* PRSC_CLK_CFG value */
 /*
-- 
1.7.2.2

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [U-Boot] [PATCH V2 22/24] SPEAr: Correct SoC ID offset in misc configuration space
  2012-03-30  6:54 [U-Boot] [PATCH V2 00/24] SPEAr: Update platform support for SPEAr3xx/6xx Amit Virdi
                   ` (20 preceding siblings ...)
  2012-03-30  6:55 ` [U-Boot] [PATCH V2 21/24] SPEAr: explicitly select clk src for UART Amit Virdi
@ 2012-03-30  6:55 ` Amit Virdi
  2012-03-30  6:55 ` [U-Boot] [PATCH V2 23/24] cleanup/SPEAr: Remove unnecessary parenthesis Amit Virdi
  2012-03-30  6:55 ` [U-Boot] [PATCH V2 24/24] cleanup/SPEAr: Define configuration flags more elegantly Amit Virdi
  23 siblings, 0 replies; 28+ messages in thread
From: Amit Virdi @ 2012-03-30  6:55 UTC (permalink / raw)
  To: u-boot

From: Shiraz Hashim <shiraz.hashim@st.com>

SoC Core ID offset is 0x30 in miscellaneous configuration address
space. It was wrongly mentioned as periph2 clk enable.

Signed-off-by: Shiraz Hashim <shiraz.hashim@st.com>
Signed-off-by: Amit Virdi <amit.virdi@st.com>
Acked-by: Stefan Roese <sr@denx.de>
---
 arch/arm/include/asm/arch-spear/spr_misc.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/arm/include/asm/arch-spear/spr_misc.h b/arch/arm/include/asm/arch-spear/spr_misc.h
index 384944d..b8fcf49 100644
--- a/arch/arm/include/asm/arch-spear/spr_misc.h
+++ b/arch/arm/include/asm/arch-spear/spr_misc.h
@@ -37,7 +37,7 @@ struct misc_regs {
 	u32 amba_clk_cfg;	/* 0x24 */
 	u32 periph_clk_cfg;	/* 0x28 */
 	u32 periph1_clken;	/* 0x2C */
-	u32 periph2_clken;	/* 0x30 */
+	u32 soc_core_id;	/* 0x30 */
 	u32 ras_clken;		/* 0x34 */
 	u32 periph1_rst;	/* 0x38 */
 	u32 periph2_rst;	/* 0x3C */
-- 
1.7.2.2

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [U-Boot] [PATCH V2 23/24] cleanup/SPEAr: Remove unnecessary parenthesis
  2012-03-30  6:54 [U-Boot] [PATCH V2 00/24] SPEAr: Update platform support for SPEAr3xx/6xx Amit Virdi
                   ` (21 preceding siblings ...)
  2012-03-30  6:55 ` [U-Boot] [PATCH V2 22/24] SPEAr: Correct SoC ID offset in misc configuration space Amit Virdi
@ 2012-03-30  6:55 ` Amit Virdi
  2012-03-30  6:55 ` [U-Boot] [PATCH V2 24/24] cleanup/SPEAr: Define configuration flags more elegantly Amit Virdi
  23 siblings, 0 replies; 28+ messages in thread
From: Amit Virdi @ 2012-03-30  6:55 UTC (permalink / raw)
  To: u-boot

In SPEAr configuration files, unnecessary paranthesis are used in some
\#defines. Remove them as they serve no purpose

Signed-off-by: Amit Virdi <amit.virdi@st.com>
Acked-by: Stefan Roese <sr@denx.de>
---
 arch/arm/include/asm/arch-spear/spr_gpt.h |    4 ++--
 include/configs/spear-common.h            |    8 ++++----
 include/configs/spear3xx_evb.h            |    6 +++---
 include/configs/spear6xx_evb.h            |    2 +-
 4 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/arch/arm/include/asm/arch-spear/spr_gpt.h b/arch/arm/include/asm/arch-spear/spr_gpt.h
index 965b5ab..d95ba52 100644
--- a/arch/arm/include/asm/arch-spear/spr_gpt.h
+++ b/arch/arm/include/asm/arch-spear/spr_gpt.h
@@ -79,7 +79,7 @@ struct gpt_regs {
 #define GPT_FREE_RUNNING		0xFFFF
 
 /* Timer, HZ specific defines */
-#define CONFIG_SPEAR_HZ			(1000)
-#define CONFIG_SPEAR_HZ_CLOCK		(8300000)
+#define CONFIG_SPEAR_HZ			1000
+#define CONFIG_SPEAR_HZ_CLOCK		8300000
 
 #endif
diff --git a/include/configs/spear-common.h b/include/configs/spear-common.h
index 673f483..aee5815 100644
--- a/include/configs/spear-common.h
+++ b/include/configs/spear-common.h
@@ -62,7 +62,7 @@
 #define CONFIG_I2C_CHIPADDRESS			0x50
 
 /* Timer, HZ specific defines */
-#define CONFIG_SYS_HZ				(1000)
+#define CONFIG_SYS_HZ				1000
 
 /* Flash configuration */
 #if defined(CONFIG_FLASH_PNOR)
@@ -74,9 +74,9 @@
 #if defined(CONFIG_ST_SMI)
 
 #define CONFIG_SYS_MAX_FLASH_BANKS		2
-#define CONFIG_SYS_FLASH_BASE			(0xF8000000)
-#define CONFIG_SYS_CS1_FLASH_BASE		(0xF9000000)
-#define CONFIG_SYS_FLASH_BANK_SIZE		(0x01000000)
+#define CONFIG_SYS_FLASH_BASE			0xF8000000
+#define CONFIG_SYS_CS1_FLASH_BASE		0xF9000000
+#define CONFIG_SYS_FLASH_BANK_SIZE		0x01000000
 #define CONFIG_SYS_FLASH_ADDR_BASE		{CONFIG_SYS_FLASH_BASE, \
 						CONFIG_SYS_CS1_FLASH_BASE}
 #define CONFIG_SYS_MAX_FLASH_SECT		128
diff --git a/include/configs/spear3xx_evb.h b/include/configs/spear3xx_evb.h
index 242e648..d63c9df 100644
--- a/include/configs/spear3xx_evb.h
+++ b/include/configs/spear3xx_evb.h
@@ -150,13 +150,13 @@
 #define CONFIG_SYS_FSMC_NAND_8BIT
 
 #if defined(CONFIG_SPEAR300)
-#define CONFIG_SYS_NAND_BASE			(0x80000000)
+#define CONFIG_SYS_NAND_BASE			0x80000000
 
 #elif defined(CONFIG_SPEAR310)
-#define CONFIG_SYS_NAND_BASE			(0x40000000)
+#define CONFIG_SYS_NAND_BASE			0x40000000
 
 #elif defined(CONFIG_SPEAR320)
-#define CONFIG_SYS_NAND_BASE			(0x50000000)
+#define CONFIG_SYS_NAND_BASE			0x50000000
 
 #endif
 
diff --git a/include/configs/spear6xx_evb.h b/include/configs/spear6xx_evb.h
index 3e0f50b..4a76134 100644
--- a/include/configs/spear6xx_evb.h
+++ b/include/configs/spear6xx_evb.h
@@ -51,7 +51,7 @@
 /* NAND flash configuration */
 #define CONFIG_SYS_FSMC_NAND_SP
 #define CONFIG_SYS_FSMC_NAND_8BIT
-#define CONFIG_SYS_NAND_BASE			(0xD2000000)
+#define CONFIG_SYS_NAND_BASE			0xD2000000
 
 /* Environment Settings */
 #define CONFIG_EXTRA_ENV_SETTINGS              CONFIG_EXTRA_ENV_USBTTY
-- 
1.7.2.2

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [U-Boot] [PATCH V2 24/24] cleanup/SPEAr: Define configuration flags more elegantly
  2012-03-30  6:54 [U-Boot] [PATCH V2 00/24] SPEAr: Update platform support for SPEAr3xx/6xx Amit Virdi
                   ` (22 preceding siblings ...)
  2012-03-30  6:55 ` [U-Boot] [PATCH V2 23/24] cleanup/SPEAr: Remove unnecessary parenthesis Amit Virdi
@ 2012-03-30  6:55 ` Amit Virdi
  23 siblings, 0 replies; 28+ messages in thread
From: Amit Virdi @ 2012-03-30  6:55 UTC (permalink / raw)
  To: u-boot

In SPEAr, some of the configuration flags eg. CONFIG_SPEAR_EMI, were given value
"1", which isn't required. Define the flags without assigning any value

Signed-off-by: Amit Virdi <amit.virdi@st.com>
Acked-by: Stefan Roese <sr@denx.de>
---
 include/configs/spear-common.h |   16 ++++++++--------
 include/configs/spear3xx_evb.h |   20 ++++++++++----------
 include/configs/spear6xx_evb.h |    2 +-
 3 files changed, 19 insertions(+), 19 deletions(-)

diff --git a/include/configs/spear-common.h b/include/configs/spear-common.h
index aee5815..766a315 100644
--- a/include/configs/spear-common.h
+++ b/include/configs/spear-common.h
@@ -66,7 +66,7 @@
 
 /* Flash configuration */
 #if defined(CONFIG_FLASH_PNOR)
-#define CONFIG_SPEAR_EMI			1
+#define CONFIG_SPEAR_EMI
 #else
 #define CONFIG_ST_SMI
 #endif
@@ -205,11 +205,11 @@
 #define CONFIG_BOARD_EARLY_INIT_F
 #define CONFIG_DISPLAY_CPUINFO
 #define CONFIG_BOOT_PARAMS_ADDR			0x00000100
-#define CONFIG_CMDLINE_TAG			1
-#define CONFIG_SETUP_MEMORY_TAGS		1
-#define CONFIG_MISC_INIT_R			1
-#define CONFIG_ZERO_BOOTDELAY_CHECK		1
-#define CONFIG_AUTOBOOT_KEYED			1
+#define CONFIG_CMDLINE_TAG
+#define CONFIG_SETUP_MEMORY_TAGS
+#define CONFIG_MISC_INIT_R
+#define CONFIG_ZERO_BOOTDELAY_CHECK
+#define CONFIG_AUTOBOOT_KEYED
 #define CONFIG_AUTOBOOT_STOP_STR		" "
 #define CONFIG_AUTOBOOT_PROMPT			\
 		"Hit SPACE in %d seconds to stop autoboot.\n", bootdelay
@@ -227,8 +227,8 @@
 #define CONFIG_SYS_MAXARGS			16
 #define CONFIG_SYS_BARGSIZE			CONFIG_SYS_CBSIZE
 #define CONFIG_SYS_LOAD_ADDR			0x00800000
-#define CONFIG_SYS_CONSOLE_INFO_QUIET		1
-#define CONFIG_SYS_64BIT_VSPRINTF		1
+#define CONFIG_SYS_CONSOLE_INFO_QUIET
+#define CONFIG_SYS_64BIT_VSPRINTF
 
 #define CONFIG_SYS_FLASH_EMPTY_INFO
 
diff --git a/include/configs/spear3xx_evb.h b/include/configs/spear3xx_evb.h
index d63c9df..3cd56dc 100644
--- a/include/configs/spear3xx_evb.h
+++ b/include/configs/spear3xx_evb.h
@@ -29,14 +29,14 @@
  * (easy to change)
  */
 #if defined(CONFIG_spear300)
-#define CONFIG_SPEAR3XX				1
-#define CONFIG_SPEAR300				1
+#define CONFIG_SPEAR3XX
+#define CONFIG_SPEAR300
 #elif defined(CONFIG_spear310)
-#define CONFIG_SPEAR3XX				1
-#define CONFIG_SPEAR310				1
+#define CONFIG_SPEAR3XX
+#define CONFIG_SPEAR310
 #elif defined(CONFIG_spear320)
-#define CONFIG_SPEAR3XX				1
-#define CONFIG_SPEAR320				1
+#define CONFIG_SPEAR3XX
+#define CONFIG_SPEAR320
 #endif
 
 #if defined(CONFIG_usbtty)
@@ -52,17 +52,17 @@
 #include <configs/spear-common.h>
 
 /* Ethernet driver configuration */
-#define CONFIG_DW_ALTDESCRIPTOR			1
+#define CONFIG_DW_ALTDESCRIPTOR
 
 #if defined(CONFIG_SPEAR310)
-#define CONFIG_MACB				1
+#define CONFIG_MACB
 #define CONFIG_MACB0_PHY			0x01
 #define CONFIG_MACB1_PHY			0x03
 #define CONFIG_MACB2_PHY			0x05
 #define CONFIG_MACB3_PHY			0x07
 
 #elif defined(CONFIG_SPEAR320)
-#define CONFIG_MACB				1
+#define CONFIG_MACB
 #define CONFIG_MACB0_PHY			0x01
 
 #endif
@@ -141,7 +141,7 @@
 #endif
 
 #define CONFIG_SYS_MAX_FLASH_SECT		(127 + 8)
-#define CONFIG_SYS_FLASH_QUIET_TEST		1
+#define CONFIG_SYS_FLASH_QUIET_TEST
 
 #endif
 
diff --git a/include/configs/spear6xx_evb.h b/include/configs/spear6xx_evb.h
index 4a76134..31b8725 100644
--- a/include/configs/spear6xx_evb.h
+++ b/include/configs/spear6xx_evb.h
@@ -28,7 +28,7 @@
  * High Level Configuration Options
  * (easy to change)
  */
-#define CONFIG_SPEAR600				1
+#define CONFIG_SPEAR600
 
 #if defined(CONFIG_usbtty)
 #define CONFIG_SPEAR_USBTTY
-- 
1.7.2.2

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [U-Boot] [PATCH V2 12/24] SPEAr: Enable usb device high speed support
  2012-03-30  6:55 ` [U-Boot] [PATCH V2 12/24] SPEAr: Enable usb device high speed support Amit Virdi
@ 2012-03-31 18:28   ` Marek Vasut
  2012-04-02  6:50     ` Amit Virdi
  0 siblings, 1 reply; 28+ messages in thread
From: Marek Vasut @ 2012-03-31 18:28 UTC (permalink / raw)
  To: u-boot

Dear Amit Virdi,

> From: Vipin KUMAR <vipin.kumar@st.com>

Cc me with usb related stuff please.

Does USBTTY work for you? Tom complained about it.

> 
> This patch enables the support for usb high speed device for spear platform
> SOCs
> 
> Signed-off-by: Vipin Kumar <vipin.kumar@st.com>
> Signed-off-by: Amit Virdi <amit.virdi@st.com>
> ---
>  include/configs/spear-common.h |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/include/configs/spear-common.h
> b/include/configs/spear-common.h index df8bec5..ce01026 100644
> --- a/include/configs/spear-common.h
> +++ b/include/configs/spear-common.h
> @@ -41,6 +41,7 @@
>  /* USBD driver configuration */
>  #define CONFIG_DW_UDC
>  #define CONFIG_USB_DEVICE
> +#define CONFIG_USBD_HS
>  #define CONFIG_USB_TTY
> 
>  #define CONFIG_USBD_PRODUCT_NAME		"SPEAr SoC"

Best regards,
Marek Vasut

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [U-Boot] [PATCH V2 12/24] SPEAr: Enable usb device high speed support
  2012-03-31 18:28   ` Marek Vasut
@ 2012-04-02  6:50     ` Amit Virdi
  2012-04-02 14:14       ` Tom Rini
  0 siblings, 1 reply; 28+ messages in thread
From: Amit Virdi @ 2012-04-02  6:50 UTC (permalink / raw)
  To: u-boot

Dear Marek,

On 3/31/2012 11:58 PM, Marek Vasut wrote:
> Dear Amit Virdi,
>
>> From: Vipin KUMAR<vipin.kumar@st.com>
>
> Cc me with usb related stuff please.
>

Ok, I'll take care in future.

> Does USBTTY work for you? Tom complained about it.
>

Yes it works and we haven't found any issue till date. Infact, Vipin has 
developed a tool for flashing using usbtty and we have been using it for 
quite long.

What kind of problems did Tom faced?

Best Regards
Amit Virdi

>>
>> This patch enables the support for usb high speed device for spear platform
>> SOCs
>>
>> Signed-off-by: Vipin Kumar<vipin.kumar@st.com>
>> Signed-off-by: Amit Virdi<amit.virdi@st.com>
>> ---
>>   include/configs/spear-common.h |    1 +
>>   1 files changed, 1 insertions(+), 0 deletions(-)
>>
>> diff --git a/include/configs/spear-common.h
>> b/include/configs/spear-common.h index df8bec5..ce01026 100644
>> --- a/include/configs/spear-common.h
>> +++ b/include/configs/spear-common.h
>> @@ -41,6 +41,7 @@
>>   /* USBD driver configuration */
>>   #define CONFIG_DW_UDC
>>   #define CONFIG_USB_DEVICE
>> +#define CONFIG_USBD_HS
>>   #define CONFIG_USB_TTY
>>
>>   #define CONFIG_USBD_PRODUCT_NAME		"SPEAr SoC"
>
> Best regards,
> Marek Vasut
>

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [U-Boot] [PATCH V2 12/24] SPEAr: Enable usb device high speed support
  2012-04-02  6:50     ` Amit Virdi
@ 2012-04-02 14:14       ` Tom Rini
  0 siblings, 0 replies; 28+ messages in thread
From: Tom Rini @ 2012-04-02 14:14 UTC (permalink / raw)
  To: u-boot

On 04/01/2012 11:50 PM, Amit Virdi wrote:
> Dear Marek,
>
> On 3/31/2012 11:58 PM, Marek Vasut wrote:
>> Dear Amit Virdi,
>>
>>> From: Vipin KUMAR<vipin.kumar@st.com>
>>
>> Cc me with usb related stuff please.
>>
>
> Ok, I'll take care in future.
>
>> Does USBTTY work for you? Tom complained about it.
>>
>
> Yes it works and we haven't found any issue till date. Infact, Vipin has
> developed a tool for flashing using usbtty and we have been using it for
> quite long.
>
> What kind of problems did Tom faced?

On a beagleboard it's acting like the buffer isn't being flushed at 
first.  If I type 'help' after switching from UART I have to hit space a 
few times to see all the output.

-- 
Tom

^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2012-04-02 14:14 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-30  6:54 [U-Boot] [PATCH V2 00/24] SPEAr: Update platform support for SPEAr3xx/6xx Amit Virdi
2012-03-30  6:54 ` [U-Boot] [PATCH V2 01/24] SPEAr: Fix ARM relocation support Amit Virdi
2012-03-30  6:54 ` [U-Boot] [PATCH V2 02/24] SPEAr: Eliminate dependency on Xloader table Amit Virdi
2012-03-30  6:54 ` [U-Boot] [PATCH V2 03/24] SPEAr: Place ethaddr write and read within CONFIG_CMD_NET Amit Virdi
2012-03-30  6:54 ` [U-Boot] [PATCH V2 04/24] SPEAr: Configure network support for spear SoCs Amit Virdi
2012-03-30  6:54 ` [U-Boot] [PATCH V2 05/24] SPEAr: Add macb driver support for spear310 and spear320 Amit Virdi
2012-03-30  6:54 ` [U-Boot] [PATCH V2 06/24] SPEAr: Add interface information in initialization Amit Virdi
2012-03-30  6:54 ` [U-Boot] [PATCH V2 07/24] SPEAr: Add basic arch related support for SPEAr SoCs Amit Virdi
2012-03-30  6:54 ` [U-Boot] [PATCH V2 08/24] SPEAr: Add configuration options for spear3xx and spear6xx boards Amit Virdi
2012-03-30  6:54 ` [U-Boot] [PATCH V2 09/24] SPEAr: Remove unused flag (CONFIG_SYS_HZ_CLOCK) Amit Virdi
2012-03-30  6:54 ` [U-Boot] [PATCH V2 10/24] SPEAr: Change the default environment variables Amit Virdi
2012-03-30  6:54 ` [U-Boot] [PATCH V2 11/24] SPEAr: Initialize SNOR in early_board_init_f Amit Virdi
2012-03-30  6:55 ` [U-Boot] [PATCH V2 12/24] SPEAr: Enable usb device high speed support Amit Virdi
2012-03-31 18:28   ` Marek Vasut
2012-04-02  6:50     ` Amit Virdi
2012-04-02 14:14       ` Tom Rini
2012-03-30  6:55 ` [U-Boot] [PATCH V2 13/24] SPEAr: Enable udc and usb-console support only for usbtty configuration Amit Virdi
2012-03-30  6:55 ` [U-Boot] [PATCH V2 14/24] SPEAr: Enable autoneg for ethernet Amit Virdi
2012-03-30  6:55 ` [U-Boot] [PATCH V2 15/24] SPEAr: Enable dcache for fast file transfer Amit Virdi
2012-03-30  6:55 ` [U-Boot] [PATCH V2 16/24] SPEAr: Enable CONFIG_SYS_FLASH_PROTECTION Amit Virdi
2012-03-30  6:55 ` [U-Boot] [PATCH V2 17/24] SPEAr: Correct the definition of CONFIG_SYS_MONITOR_BASE Amit Virdi
2012-03-30  6:55 ` [U-Boot] [PATCH V2 18/24] SPEAr: Enable CONFIG_SYS_FLASH_EMPTY_INFO macro Amit Virdi
2012-03-30  6:55 ` [U-Boot] [PATCH V2 19/24] SPEAr: Enable ONFI nand flash detection for spear3xx and 6xx and evb Amit Virdi
2012-03-30  6:55 ` [U-Boot] [PATCH V2 20/24] SPEAr: Remove CONFIG_MTD_NAND_VERIFY_WRITE to speed up NAND access Amit Virdi
2012-03-30  6:55 ` [U-Boot] [PATCH V2 21/24] SPEAr: explicitly select clk src for UART Amit Virdi
2012-03-30  6:55 ` [U-Boot] [PATCH V2 22/24] SPEAr: Correct SoC ID offset in misc configuration space Amit Virdi
2012-03-30  6:55 ` [U-Boot] [PATCH V2 23/24] cleanup/SPEAr: Remove unnecessary parenthesis Amit Virdi
2012-03-30  6:55 ` [U-Boot] [PATCH V2 24/24] cleanup/SPEAr: Define configuration flags more elegantly Amit Virdi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox