r3564 - trunk/src/target/u-boot/patches

laforge at sita.openmoko.org laforge at sita.openmoko.org
Tue Dec 4 18:58:06 CET 2007


Author: laforge
Date: 2007-12-04 18:57:54 +0100 (Tue, 04 Dec 2007)
New Revision: 3564

Modified:
   trunk/src/target/u-boot/patches/bbt-create-optional.patch
   trunk/src/target/u-boot/patches/console-ansi.patch
   trunk/src/target/u-boot/patches/enable-splash-bmp.patch
   trunk/src/target/u-boot/patches/env_nand_oob.patch
   trunk/src/target/u-boot/patches/nand-badisbad.patch
   trunk/src/target/u-boot/patches/nand-createbbt.patch
   trunk/src/target/u-boot/patches/nand-dynamic_partitions.patch
   trunk/src/target/u-boot/patches/neo1973-chargefast.patch
   trunk/src/target/u-boot/patches/splashimage-command.patch
   trunk/src/target/u-boot/patches/uboot-20061030-neo1973.patch
   trunk/src/target/u-boot/patches/uboot-bbt-quiet.patch
   trunk/src/target/u-boot/patches/uboot-dfu.patch
   trunk/src/target/u-boot/patches/uboot-gta02.patch
   trunk/src/target/u-boot/patches/uboot-license.patch
   trunk/src/target/u-boot/patches/uboot-nand-markbad-reallybad.patch
   trunk/src/target/u-boot/patches/uboot-s3c2410_fb.patch
   trunk/src/target/u-boot/patches/uboot-s3c2410_udc.patch
   trunk/src/target/u-boot/patches/uboot-s3c2440.patch
   trunk/src/target/u-boot/patches/uboot-s3c2442.patch
   trunk/src/target/u-boot/patches/uboot-s3c2443.patch
   trunk/src/target/u-boot/patches/uboot-serial_terminal.patch
   trunk/src/target/u-boot/patches/uboot-smdk2443.patch
   trunk/src/target/u-boot/patches/uboot-usbtty-acm.patch
   trunk/src/target/u-boot/patches/usbdcore-multiple_configs.patch
   trunk/src/target/u-boot/patches/usbtty-irq-racecondition-fix.patch
Log:
sync patches with u-boot mainline '8d4f040a3c15036a6ea25a9c39e7d89fefa8440d' (compiles but untested)


Modified: trunk/src/target/u-boot/patches/bbt-create-optional.patch
===================================================================
--- trunk/src/target/u-boot/patches/bbt-create-optional.patch	2007-12-04 15:47:21 UTC (rev 3563)
+++ trunk/src/target/u-boot/patches/bbt-create-optional.patch	2007-12-04 17:57:54 UTC (rev 3564)
@@ -22,10 +22,10 @@
  #else
  	nand->options = 0;
  #endif
-Index: u-boot/drivers/nand/nand_bbt.c
+Index: u-boot/drivers/mtd/nand/nand_bbt.c
 ===================================================================
---- u-boot.orig/drivers/nand/nand_bbt.c
-+++ u-boot/drivers/nand/nand_bbt.c
+--- u-boot.orig/drivers/mtd/nand/nand_bbt.c
++++ u-boot/drivers/nand/mtd/nand_bbt.c
 @@ -678,7 +678,8 @@
  		}
  create:

Modified: trunk/src/target/u-boot/patches/console-ansi.patch
===================================================================
--- trunk/src/target/u-boot/patches/console-ansi.patch	2007-12-04 15:47:21 UTC (rev 3563)
+++ trunk/src/target/u-boot/patches/console-ansi.patch	2007-12-04 17:57:54 UTC (rev 3564)
@@ -4,10 +4,10 @@
 
 - Werner Almesberger <werner at openmoko.org>
 
-Index: u-boot/drivers/cfb_console.c
+Index: u-boot/drivers/video/cfb_console.c
 ===================================================================
---- u-boot.orig/drivers/cfb_console.c
-+++ u-boot/drivers/cfb_console.c
+--- u-boot.orig/drivers/video/cfb_console.c
++++ u-boot/drivers/video/cfb_console.c
 @@ -181,6 +181,7 @@ CONFIG_VIDEO_HW_CURSOR:	     - Uses the 
  
  #include <version.h>

Modified: trunk/src/target/u-boot/patches/enable-splash-bmp.patch
===================================================================
--- trunk/src/target/u-boot/patches/enable-splash-bmp.patch	2007-12-04 15:47:21 UTC (rev 3563)
+++ trunk/src/target/u-boot/patches/enable-splash-bmp.patch	2007-12-04 17:57:54 UTC (rev 3564)
@@ -6,10 +6,10 @@
 
 - Werner Almesberger <werner at openmoko.org>
 
-Index: u-boot/drivers/cfb_console.c
+Index: u-boot/drivers/video/cfb_console.c
 ===================================================================
---- u-boot.orig/drivers/cfb_console.c
-+++ u-boot/drivers/cfb_console.c
+--- u-boot.orig/drivers/video/cfb_console.c
++++ u-boot/drivers/video/cfb_console.c
 @@ -191,6 +191,7 @@
  #if defined(CONFIG_CMD_BMP) || defined(CONFIG_SPLASH_SCREEN)
  #include <watchdog.h>

Modified: trunk/src/target/u-boot/patches/env_nand_oob.patch
===================================================================
--- trunk/src/target/u-boot/patches/env_nand_oob.patch	2007-12-04 15:47:21 UTC (rev 3563)
+++ trunk/src/target/u-boot/patches/env_nand_oob.patch	2007-12-04 17:57:54 UTC (rev 3564)
@@ -97,14 +97,14 @@
 ===================================================================
 --- u-boot.orig/common/Makefile
 +++ u-boot/common/Makefile
-@@ -46,6 +46,7 @@
- COBJS-y += cmd_display.o
- COBJS-y += cmd_doc.o
- COBJS-y += cmd_dtt.o
+@@ -50,6 +50,7 @@
+ COBJS-$(CONFIG_CMD_DISPLAY) += cmd_display.o
+ COBJS-$(CONFIG_CMD_DOC) += cmd_doc.o
+ COBJS-$(CONFIG_CMD_DTT) += cmd_dtt.o
 +COBJS-y += cmd_dynenv.o
  COBJS-y += cmd_eeprom.o
- COBJS-y += cmd_elf.o
- COBJS-y += cmd_ext2.o
+ COBJS-$(CONFIG_CMD_ELF) += cmd_elf.o
+ COBJS-$(CONFIG_CMD_EXT2) += cmd_ext2.o
 Index: u-boot/common/cmd_dynenv.c
 ===================================================================
 --- /dev/null

Modified: trunk/src/target/u-boot/patches/nand-badisbad.patch
===================================================================
--- trunk/src/target/u-boot/patches/nand-badisbad.patch	2007-12-04 15:47:21 UTC (rev 3563)
+++ trunk/src/target/u-boot/patches/nand-badisbad.patch	2007-12-04 17:57:54 UTC (rev 3564)
@@ -6,10 +6,10 @@
 
 - Werner Almesberger <werner at openmoko.org>
 
-Index: u-boot/drivers/nand/nand_base.c
+Index: u-boot/drivers/mtd/nand/nand_base.c
 ===================================================================
---- u-boot.orig/drivers/nand/nand_base.c
-+++ u-boot/drivers/nand/nand_base.c
+--- u-boot.orig/drivers/mtd/nand/nand_base.c
++++ u-boot/drivers/mtd/nand/nand_base.c
 @@ -517,11 +517,14 @@ static int nand_block_checkbad (struct m
  {
  	struct nand_chip *this = mtd->priv;

Modified: trunk/src/target/u-boot/patches/nand-createbbt.patch
===================================================================
--- trunk/src/target/u-boot/patches/nand-createbbt.patch	2007-12-04 15:47:21 UTC (rev 3563)
+++ trunk/src/target/u-boot/patches/nand-createbbt.patch	2007-12-04 17:57:54 UTC (rev 3564)
@@ -110,10 +110,10 @@
  
  static int nand_load_image(cmd_tbl_t *cmdtp, nand_info_t *nand,
  			   ulong offset, ulong addr, char *cmd)
-Index: u-boot/drivers/nand/nand_bbt.c
+Index: u-boot/drivers/mtd/nand/nand_bbt.c
 ===================================================================
---- u-boot.orig/drivers/nand/nand_bbt.c
-+++ u-boot/drivers/nand/nand_bbt.c
+--- u-boot.orig/drivers/mtd/nand/nand_bbt.c
++++ u-boot/drivers/mtd/nand/nand_bbt.c
 @@ -795,7 +795,8 @@
  
  	len = mtd->size >> (this->bbt_erase_shift + 2);

Modified: trunk/src/target/u-boot/patches/nand-dynamic_partitions.patch
===================================================================
--- trunk/src/target/u-boot/patches/nand-dynamic_partitions.patch	2007-12-04 15:47:21 UTC (rev 3563)
+++ trunk/src/target/u-boot/patches/nand-dynamic_partitions.patch	2007-12-04 17:57:54 UTC (rev 3564)
@@ -17,8 +17,8 @@
 
 Index: u-boot/drivers/nand/nand_bbt.c
 ===================================================================
---- u-boot.orig/drivers/nand/nand_bbt.c
-+++ u-boot/drivers/nand/nand_bbt.c
+--- u-boot.orig/drivers/mtd/nand/nand_bbt.c
++++ u-boot/drivers/mtd/nand/nand_bbt.c
 @@ -1044,9 +1044,86 @@
  	switch ((int)res) {
  	case 0x00:	return 0;

Modified: trunk/src/target/u-boot/patches/neo1973-chargefast.patch
===================================================================
--- trunk/src/target/u-boot/patches/neo1973-chargefast.patch	2007-12-04 15:47:21 UTC (rev 3563)
+++ trunk/src/target/u-boot/patches/neo1973-chargefast.patch	2007-12-04 17:57:54 UTC (rev 3564)
@@ -1,7 +1,7 @@
-Index: u-boot/drivers/usbtty.c
+Index: u-boot/drivers/serial/usbtty.c
 ===================================================================
---- u-boot.orig/drivers/usbtty.c
-+++ u-boot/drivers/usbtty.c
+--- u-boot.orig/drivers/serial/usbtty.c
++++ u-boot/drivers/serial/usbtty.c
 @@ -54,7 +54,7 @@
  /*
   * Defines
@@ -263,8 +263,8 @@
  
 Index: u-boot/drivers/usbtty.h
 ===================================================================
---- u-boot.orig/drivers/usbtty.h
-+++ u-boot/drivers/usbtty.h
+--- u-boot.orig/drivers/serial/usbtty.h
++++ u-boot/drivers/serial/usbtty.h
 @@ -59,7 +59,7 @@
  #define USBTTY_DEVICE_CLASS	COMMUNICATIONS_DEVICE_CLASS
  

Modified: trunk/src/target/u-boot/patches/splashimage-command.patch
===================================================================
--- trunk/src/target/u-boot/patches/splashimage-command.patch	2007-12-04 15:47:21 UTC (rev 3563)
+++ trunk/src/target/u-boot/patches/splashimage-command.patch	2007-12-04 17:57:54 UTC (rev 3564)
@@ -3,10 +3,10 @@
 
 - Werner Almesberger <werner at openmoko.org>
 
-Index: u-boot/drivers/cfb_console.c
+Index: u-boot/drivers/video/cfb_console.c
 ===================================================================
---- u-boot.orig/drivers/cfb_console.c
-+++ u-boot/drivers/cfb_console.c
+--- u-boot.orig/drivers/video/cfb_console.c
++++ u-boot/drivers/video/cfb_console.c
 @@ -1121,7 +1121,13 @@ static void *video_logo (void)
  	ulong addr;
  

Modified: trunk/src/target/u-boot/patches/uboot-20061030-neo1973.patch
===================================================================
--- trunk/src/target/u-boot/patches/uboot-20061030-neo1973.patch	2007-12-04 15:47:21 UTC (rev 3563)
+++ trunk/src/target/u-boot/patches/uboot-20061030-neo1973.patch	2007-12-04 17:57:54 UTC (rev 3564)
@@ -8,7 +8,7 @@
 ===================================================================
 --- u-boot.orig/Makefile
 +++ u-boot/Makefile
-@@ -2195,6 +2195,14 @@
+@@ -2244,6 +2244,14 @@
  sbc2410x_config: unconfig
  	@$(MKCONFIG) $(@:_config=) arm arm920t sbc2410x NULL s3c24x0
  
@@ -44,184 +44,6 @@
  # ifdef CONFIG_AUTOBOOT_KEYED
  		int prev = disable_ctrlc(1);	/* disable Control C checking */
  # endif
-Index: u-boot/drivers/Makefile
-===================================================================
---- u-boot.orig/drivers/Makefile
-+++ u-boot/drivers/Makefile
-@@ -142,6 +142,7 @@
- #
- COBJS-y += ali512x.o
- COBJS-y += ns87308.o
-+COBJS-y += pcf50606.o
- COBJS-y += status_led.o
- 
- COBJS	:= $(COBJS-y)
-Index: u-boot/drivers/pcf50606.c
-===================================================================
---- /dev/null
-+++ u-boot/drivers/pcf50606.c
-@@ -0,0 +1,161 @@
-+
-+#include <common.h>
-+
-+#ifdef CONFIG_DRIVER_PCF50606
-+
-+#include <i2c.h>
-+#include <pcf50606.h>
-+#include <asm/atomic.h>
-+#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
-+
-+#define PCF50606_I2C_ADDR		0x08
-+
-+void __pcf50606_reg_write(u_int8_t reg, u_int8_t val)
-+{
-+	i2c_write(PCF50606_I2C_ADDR, reg, 1, &val, 1);
-+}
-+
-+u_int8_t __pcf50606_reg_read(u_int8_t reg)
-+{
-+	u_int8_t tmp;
-+	i2c_read(PCF50606_I2C_ADDR, reg, 1, &tmp, 1);
-+	return tmp;
-+}
-+
-+void pcf50606_reg_write(u_int8_t reg, u_int8_t val)
-+{
-+	unsigned long flags;
-+
-+	local_irq_save(flags);
-+	__pcf50606_reg_write(reg, val);
-+	local_irq_restore(flags);
-+}
-+
-+u_int8_t pcf50606_reg_read(u_int8_t reg)
-+{
-+	unsigned long flags;
-+	u_int8_t tmp;
-+
-+	local_irq_save(flags);
-+	tmp = __pcf50606_reg_read(reg);
-+	local_irq_restore(flags);
-+
-+	return tmp;
-+}
-+
-+void pcf50606_reg_set_bit_mask(u_int8_t reg, u_int8_t mask, u_int8_t val)
-+{
-+	unsigned long flags;
-+	u_int8_t tmp;
-+
-+	local_irq_save(flags);
-+	tmp = __pcf50606_reg_read(reg);
-+	__pcf50606_reg_write(reg, (val & mask) | (tmp & ~mask));
-+	local_irq_restore(flags);
-+}
-+
-+void pcf50606_reg_clear_bits(u_int8_t reg, u_int8_t bits)
-+{
-+	unsigned long flags;
-+	u_int8_t tmp;
-+
-+	local_irq_save(flags);
-+	tmp = pcf50606_reg_read(reg);
-+	pcf50606_reg_write(reg, (tmp & ~bits));
-+	local_irq_restore(flags);
-+}
-+
-+static const u_int8_t regs_valid[] = {
-+	PCF50606_REG_OOCS, PCF50606_REG_INT1M, PCF50606_REG_INT2M,
-+	PCF50606_REG_INT3M, PCF50606_REG_OOCC1, PCF50606_REG_OOCC2,
-+	PCF50606_REG_PSSC, PCF50606_REG_PWROKM, PCF50606_REG_DCDC1,
-+	PCF50606_REG_DCDC2, PCF50606_REG_DCDC3, PCF50606_REG_DCDC4,
-+	PCF50606_REG_DCDEC1, PCF50606_REG_DCDEC2, PCF50606_REG_DCUDC1,
-+	PCF50606_REG_DCUDC2, PCF50606_REG_IOREGC, PCF50606_REG_D1REGC1,
-+	PCF50606_REG_D2REGC1, PCF50606_REG_D3REGC1, PCF50606_REG_LPREGC1,
-+	PCF50606_REG_LPREGC2, PCF50606_REG_MBCC1, PCF50606_REG_MBCC2,
-+	PCF50606_REG_MBCC3, PCF50606_REG_BBCC, PCF50606_REG_ADCC1,
-+	PCF50606_REG_ADCC2, PCF50606_REG_ACDC1, PCF50606_REG_BVMC,
-+	PCF50606_REG_PWMC1, PCF50606_REG_LEDC1, PCF50606_REG_LEDC2,
-+	PCF50606_REG_GPOC1, PCF50606_REG_GPOC2, PCF50606_REG_GPOC3,
-+	PCF50606_REG_GPOC4, PCF50606_REG_GPOC5,
-+};
-+
-+
-+/* initialize PCF50606 register set */
-+void pcf50606_init(void)
-+{
-+	unsigned long flags;
-+	int i;
-+
-+	local_irq_save(flags);
-+	for (i = 0; i < ARRAY_SIZE(regs_valid); i++) {
-+		__pcf50606_reg_write(regs_valid[i],
-+				     pcf50606_initial_regs[regs_valid[i]]);
-+	}
-+	local_irq_restore(flags);
-+}
-+
-+void pcf50606_charge_autofast(int on)
-+{
-+	if (on) {
-+		printf("Enabling automatic fast charge\n");
-+		pcf50606_reg_set_bit_mask(PCF50606_REG_MBCC1,
-+					  PCF50606_MBCC1_AUTOFST,
-+					  PCF50606_MBCC1_AUTOFST);
-+	} else {
-+		printf("Disabling fast charge\n");
-+		pcf50606_reg_write(PCF50606_REG_MBCC1, 0x00);
-+	}
-+}
-+
-+#if defined(CONFIG_RTC_PCF50606) && defined(CONFIG_CMD_DATE)
-+
-+#include <rtc.h>
-+
-+static unsigned bcd2bin (uchar n)
-+{
-+	return ((((n >> 4) & 0x0F) * 10) + (n & 0x0F));
-+}
-+
-+static unsigned char bin2bcd (unsigned int n)
-+{
-+	return (((n / 10) << 4) | (n % 10));
-+}
-+
-+
-+void rtc_get(struct rtc_time *tmp)
-+{
-+	tmp->tm_sec = bcd2bin(pcf50606_reg_read(PCF50606_REG_RTCSC));
-+	tmp->tm_min = bcd2bin(pcf50606_reg_read(PCF50606_REG_RTCMN));
-+	tmp->tm_hour = bcd2bin(pcf50606_reg_read(PCF50606_REG_RTCHR));
-+	tmp->tm_wday = bcd2bin(pcf50606_reg_read(PCF50606_REG_RTCWD));
-+	tmp->tm_mday = bcd2bin(pcf50606_reg_read(PCF50606_REG_RTCDT));
-+	tmp->tm_mon = bcd2bin(pcf50606_reg_read(PCF50606_REG_RTCMT));
-+	tmp->tm_year = bcd2bin(pcf50606_reg_read(PCF50606_REG_RTCYR));
-+	if (tmp->tm_year < 70)
-+		tmp->tm_year += 2000;
-+	else
-+		tmp->tm_year += 1900;
-+	tmp->tm_yday = 0;
-+	tmp->tm_isdst = 0;
-+}
-+
-+void rtc_set(struct rtc_time *tmp)
-+{
-+	pcf50606_reg_write(PCF50606_REG_RTCSC, bin2bcd(tmp->tm_sec));
-+	pcf50606_reg_write(PCF50606_REG_RTCMN, bin2bcd(tmp->tm_min));
-+	pcf50606_reg_write(PCF50606_REG_RTCHR, bin2bcd(tmp->tm_hour));
-+	pcf50606_reg_write(PCF50606_REG_RTCWD, bin2bcd(tmp->tm_wday));
-+	pcf50606_reg_write(PCF50606_REG_RTCDT, bin2bcd(tmp->tm_mday));
-+	pcf50606_reg_write(PCF50606_REG_RTCMT, bin2bcd(tmp->tm_mon));
-+	pcf50606_reg_write(PCF50606_REG_RTCYR, bin2bcd(tmp->tm_year % 100));
-+}
-+
-+void rtc_reset(void)
-+{
-+	/* FIXME */
-+}
-+#endif /* CONFIG_RTC_PCF50606 && CONFIG_CMD_DATE */
-+
-+#endif /* CONFIG DRIVER_PCF50606 */
 Index: u-boot/include/pcf50606.h
 ===================================================================
 --- /dev/null
@@ -2418,3 +2240,181 @@
  	return 0;
  }
  
+Index: u-boot/drivers/misc/Makefile
+===================================================================
+--- u-boot.orig/drivers/misc/Makefile
++++ u-boot/drivers/misc/Makefile
+@@ -27,6 +27,7 @@
+ 
+ COBJS-y += ali512x.o
+ COBJS-y += ns87308.o
++COBJS-y += pcf50606.o
+ COBJS-y += status_led.o
+ 
+ COBJS	:= $(COBJS-y)
+Index: u-boot/drivers/misc/pcf50606.c
+===================================================================
+--- /dev/null
++++ u-boot/drivers/misc/pcf50606.c
+@@ -0,0 +1,161 @@
++
++#include <common.h>
++
++#ifdef CONFIG_DRIVER_PCF50606
++
++#include <i2c.h>
++#include <pcf50606.h>
++#include <asm/atomic.h>
++#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
++
++#define PCF50606_I2C_ADDR		0x08
++
++void __pcf50606_reg_write(u_int8_t reg, u_int8_t val)
++{
++	i2c_write(PCF50606_I2C_ADDR, reg, 1, &val, 1);
++}
++
++u_int8_t __pcf50606_reg_read(u_int8_t reg)
++{
++	u_int8_t tmp;
++	i2c_read(PCF50606_I2C_ADDR, reg, 1, &tmp, 1);
++	return tmp;
++}
++
++void pcf50606_reg_write(u_int8_t reg, u_int8_t val)
++{
++	unsigned long flags;
++
++	local_irq_save(flags);
++	__pcf50606_reg_write(reg, val);
++	local_irq_restore(flags);
++}
++
++u_int8_t pcf50606_reg_read(u_int8_t reg)
++{
++	unsigned long flags;
++	u_int8_t tmp;
++
++	local_irq_save(flags);
++	tmp = __pcf50606_reg_read(reg);
++	local_irq_restore(flags);
++
++	return tmp;
++}
++
++void pcf50606_reg_set_bit_mask(u_int8_t reg, u_int8_t mask, u_int8_t val)
++{
++	unsigned long flags;
++	u_int8_t tmp;
++
++	local_irq_save(flags);
++	tmp = __pcf50606_reg_read(reg);
++	__pcf50606_reg_write(reg, (val & mask) | (tmp & ~mask));
++	local_irq_restore(flags);
++}
++
++void pcf50606_reg_clear_bits(u_int8_t reg, u_int8_t bits)
++{
++	unsigned long flags;
++	u_int8_t tmp;
++
++	local_irq_save(flags);
++	tmp = pcf50606_reg_read(reg);
++	pcf50606_reg_write(reg, (tmp & ~bits));
++	local_irq_restore(flags);
++}
++
++static const u_int8_t regs_valid[] = {
++	PCF50606_REG_OOCS, PCF50606_REG_INT1M, PCF50606_REG_INT2M,
++	PCF50606_REG_INT3M, PCF50606_REG_OOCC1, PCF50606_REG_OOCC2,
++	PCF50606_REG_PSSC, PCF50606_REG_PWROKM, PCF50606_REG_DCDC1,
++	PCF50606_REG_DCDC2, PCF50606_REG_DCDC3, PCF50606_REG_DCDC4,
++	PCF50606_REG_DCDEC1, PCF50606_REG_DCDEC2, PCF50606_REG_DCUDC1,
++	PCF50606_REG_DCUDC2, PCF50606_REG_IOREGC, PCF50606_REG_D1REGC1,
++	PCF50606_REG_D2REGC1, PCF50606_REG_D3REGC1, PCF50606_REG_LPREGC1,
++	PCF50606_REG_LPREGC2, PCF50606_REG_MBCC1, PCF50606_REG_MBCC2,
++	PCF50606_REG_MBCC3, PCF50606_REG_BBCC, PCF50606_REG_ADCC1,
++	PCF50606_REG_ADCC2, PCF50606_REG_ACDC1, PCF50606_REG_BVMC,
++	PCF50606_REG_PWMC1, PCF50606_REG_LEDC1, PCF50606_REG_LEDC2,
++	PCF50606_REG_GPOC1, PCF50606_REG_GPOC2, PCF50606_REG_GPOC3,
++	PCF50606_REG_GPOC4, PCF50606_REG_GPOC5,
++};
++
++
++/* initialize PCF50606 register set */
++void pcf50606_init(void)
++{
++	unsigned long flags;
++	int i;
++
++	local_irq_save(flags);
++	for (i = 0; i < ARRAY_SIZE(regs_valid); i++) {
++		__pcf50606_reg_write(regs_valid[i],
++				     pcf50606_initial_regs[regs_valid[i]]);
++	}
++	local_irq_restore(flags);
++}
++
++void pcf50606_charge_autofast(int on)
++{
++	if (on) {
++		printf("Enabling automatic fast charge\n");
++		pcf50606_reg_set_bit_mask(PCF50606_REG_MBCC1,
++					  PCF50606_MBCC1_AUTOFST,
++					  PCF50606_MBCC1_AUTOFST);
++	} else {
++		printf("Disabling fast charge\n");
++		pcf50606_reg_write(PCF50606_REG_MBCC1, 0x00);
++	}
++}
++
++#if defined(CONFIG_RTC_PCF50606) && defined(CONFIG_CMD_DATE)
++
++#include <rtc.h>
++
++static unsigned bcd2bin (uchar n)
++{
++	return ((((n >> 4) & 0x0F) * 10) + (n & 0x0F));
++}
++
++static unsigned char bin2bcd (unsigned int n)
++{
++	return (((n / 10) << 4) | (n % 10));
++}
++
++
++void rtc_get(struct rtc_time *tmp)
++{
++	tmp->tm_sec = bcd2bin(pcf50606_reg_read(PCF50606_REG_RTCSC));
++	tmp->tm_min = bcd2bin(pcf50606_reg_read(PCF50606_REG_RTCMN));
++	tmp->tm_hour = bcd2bin(pcf50606_reg_read(PCF50606_REG_RTCHR));
++	tmp->tm_wday = bcd2bin(pcf50606_reg_read(PCF50606_REG_RTCWD));
++	tmp->tm_mday = bcd2bin(pcf50606_reg_read(PCF50606_REG_RTCDT));
++	tmp->tm_mon = bcd2bin(pcf50606_reg_read(PCF50606_REG_RTCMT));
++	tmp->tm_year = bcd2bin(pcf50606_reg_read(PCF50606_REG_RTCYR));
++	if (tmp->tm_year < 70)
++		tmp->tm_year += 2000;
++	else
++		tmp->tm_year += 1900;
++	tmp->tm_yday = 0;
++	tmp->tm_isdst = 0;
++}
++
++void rtc_set(struct rtc_time *tmp)
++{
++	pcf50606_reg_write(PCF50606_REG_RTCSC, bin2bcd(tmp->tm_sec));
++	pcf50606_reg_write(PCF50606_REG_RTCMN, bin2bcd(tmp->tm_min));
++	pcf50606_reg_write(PCF50606_REG_RTCHR, bin2bcd(tmp->tm_hour));
++	pcf50606_reg_write(PCF50606_REG_RTCWD, bin2bcd(tmp->tm_wday));
++	pcf50606_reg_write(PCF50606_REG_RTCDT, bin2bcd(tmp->tm_mday));
++	pcf50606_reg_write(PCF50606_REG_RTCMT, bin2bcd(tmp->tm_mon));
++	pcf50606_reg_write(PCF50606_REG_RTCYR, bin2bcd(tmp->tm_year % 100));
++}
++
++void rtc_reset(void)
++{
++	/* FIXME */
++}
++#endif /* CONFIG_RTC_PCF50606 && CONFIG_CMD_DATE */
++
++#endif /* CONFIG DRIVER_PCF50606 */

Modified: trunk/src/target/u-boot/patches/uboot-bbt-quiet.patch
===================================================================
--- trunk/src/target/u-boot/patches/uboot-bbt-quiet.patch	2007-12-04 15:47:21 UTC (rev 3563)
+++ trunk/src/target/u-boot/patches/uboot-bbt-quiet.patch	2007-12-04 17:57:54 UTC (rev 3564)
@@ -4,8 +4,8 @@
 
 Index: u-boot/drivers/nand/nand_bbt.c
 ===================================================================
---- u-boot.orig/drivers/nand/nand_bbt.c	2007-02-16 23:54:02.000000000 +0100
-+++ u-boot/drivers/nand/nand_bbt.c	2007-02-16 23:54:05.000000000 +0100
+--- u-boot.orig/drivers/mtd/nand/nand_bbt.c	2007-02-16 23:54:02.000000000 +0100
++++ u-boot/drivers/mtd/nand/nand_bbt.c	2007-02-16 23:54:05.000000000 +0100
 @@ -157,10 +157,6 @@
  					this->bbt[offs + (act >> 3)] |= 0x2 << (act & 0x06);
  					continue;

Modified: trunk/src/target/u-boot/patches/uboot-dfu.patch
===================================================================
--- trunk/src/target/u-boot/patches/uboot-dfu.patch	2007-12-04 15:47:21 UTC (rev 3563)
+++ trunk/src/target/u-boot/patches/uboot-dfu.patch	2007-12-04 17:57:54 UTC (rev 3564)
@@ -1,7 +1,7 @@
-Index: u-boot/drivers/usbdcore_ep0.c
+Index: u-boot/drivers/usb/usbdcore_ep0.c
 ===================================================================
---- u-boot.orig/drivers/usbdcore_ep0.c
-+++ u-boot/drivers/usbdcore_ep0.c
+--- u-boot.orig/drivers/usb/usbdcore_ep0.c
++++ u-boot/drivers/usb/usbdcore_ep0.c
 @@ -51,10 +51,15 @@
   */
  
@@ -86,10 +86,10 @@
  			return 0;
  
  		case USB_REQ_GET_STATUS:
-Index: u-boot/drivers/usbdfu.c
+Index: u-boot/drivers/usb/usbdfu.c
 ===================================================================
 --- /dev/null
-+++ u-boot/drivers/usbdfu.c
++++ u-boot/drivers/usb/usbdfu.c
 @@ -0,0 +1,1069 @@
 +/*
 + * (C) 2007 by OpenMoko, Inc.
@@ -154,7 +154,7 @@
 +extern struct list_head devices;
 +
 +#include "usbdcore_s3c2410.h"
-+#include "usbtty.h"			/* for STR_* defs */
++#include "../serial/usbtty.h"			/* for STR_* defs */
 +
 +#define RET_NOTHING	0
 +#define RET_ZLP		1
@@ -1160,11 +1160,11 @@
 +	}
 +}
 +#endif /* CONFIG_USBD_DFU */
-Index: u-boot/drivers/Makefile
+Index: u-boot/drivers/usb/Makefile
 ===================================================================
---- u-boot.orig/drivers/Makefile
-+++ u-boot/drivers/Makefile
-@@ -132,6 +132,7 @@
+--- u-boot.orig/drivers/usb/Makefile
++++ u-boot/drivers/usb/Makefile
+@@ -28,6 +28,7 @@
  COBJS-y += isp116x-hcd.o
  COBJS-y += sl811_usb.o
  COBJS-y += usb_ohci.o
@@ -1172,10 +1172,10 @@
  COBJS-y += usbdcore.o
  COBJS-y += usbdcore_ep0.o
  COBJS-y += usbdcore_mpc8xx.o
-Index: u-boot/drivers/usbdcore.c
+Index: u-boot/drivers/usb/usbdcore.c
 ===================================================================
---- u-boot.orig/drivers/usbdcore.c
-+++ u-boot/drivers/usbdcore.c
+--- u-boot.orig/drivers/usb/usbdcore.c
++++ u-boot/drivers/usb/usbdcore.c
 @@ -31,6 +31,7 @@
  
  #include <malloc.h>
@@ -1228,10 +1228,10 @@
 +	dfu_event(device, event, data);
 +#endif
  }
-Index: u-boot/drivers/usbtty.c
+Index: u-boot/drivers/serial/usbtty.c
 ===================================================================
---- u-boot.orig/drivers/usbtty.c
-+++ u-boot/drivers/usbtty.c
+--- u-boot.orig/drivers/serial/usbtty.c
++++ u-boot/drivers/serial/usbtty.c
 @@ -31,6 +31,8 @@
  #include "usbtty.h"
  #include "usb_cdc_acm.h"
@@ -1577,10 +1577,10 @@
  void urb_link_init (urb_link * ul);
  void urb_detach (struct urb *urb);
  urb_link *first_urb_link (urb_link * hd);
-Index: u-boot/drivers/usbtty.h
+Index: u-boot/drivers/serial/usbtty.h
 ===================================================================
---- u-boot.orig/drivers/usbtty.h
-+++ u-boot/drivers/usbtty.h
+--- u-boot.orig/drivers/serial/usbtty.h
++++ u-boot/drivers/serial/usbtty.h
 @@ -70,4 +70,10 @@
  #define STR_CTRL_INTERFACE	0x06
  #define STR_COUNT		0x07
@@ -1993,7 +1993,7 @@
 ===================================================================
 --- u-boot.orig/Makefile
 +++ u-boot/Makefile
-@@ -270,6 +270,12 @@
+@@ -278,6 +278,12 @@
  $(obj)u-boot.bin:	$(obj)u-boot
  		$(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
  

Modified: trunk/src/target/u-boot/patches/uboot-gta02.patch
===================================================================
--- trunk/src/target/u-boot/patches/uboot-gta02.patch	2007-12-04 15:47:21 UTC (rev 3563)
+++ trunk/src/target/u-boot/patches/uboot-gta02.patch	2007-12-04 17:57:54 UTC (rev 3564)
@@ -1199,10 +1199,10 @@
 +
 +#endif /* _PCF50633_H */
 +
-Index: u-boot/drivers/pcf50633.c
+Index: u-boot/drivers/misc/pcf50633.c
 ===================================================================
 --- /dev/null
-+++ u-boot/drivers/pcf50633.c
++++ u-boot/drivers/misc/pcf50633.c
 @@ -0,0 +1,218 @@
 +#include <common.h>
 +
@@ -1670,10 +1670,10 @@
 +sinclude $(OBJTREE)/board/$(BOARDDIR)/config.tmp
 +
 +TEXT_BASE = 0x33F80000
-Index: u-boot/drivers/smedia3362.c
+Index: u-boot/drivers/video/smedia3362.c
 ===================================================================
 --- /dev/null
-+++ u-boot/drivers/smedia3362.c
++++ u-boot/drivers/video/smedia3362.c
 @@ -0,0 +1,188 @@
 +/*
 + * (C) Copyright 2007 by OpenMoko, Inc.
@@ -1865,8 +1865,8 @@
 +#endif /* CONFIG_VIDEO_GLAMO3362 */
 Index: u-boot/drivers/Makefile
 ===================================================================
---- u-boot.orig/drivers/Makefile
-+++ u-boot/drivers/Makefile
+--- u-boot.orig/drivers/video/Makefile
++++ u-boot/drivers/video/Makefile
 @@ -67,6 +67,7 @@
  COBJS-y += serial_max3100.o
  COBJS-y += serial_xuartlite.o
@@ -1875,6 +1875,10 @@
  COBJS-y += smiLynxEM.o
  COBJS-y += usbtty.o
  COBJS-y += videomodes.o
+Index: u-boot/drivers/misc/Makefile
+===================================================================
+--- u-boot.orig/drivers/misc/Makefile
++++ u-boot/drivers/misc/Makefile
 @@ -145,6 +146,7 @@
  COBJS-y += ali512x.o
  COBJS-y += ns87308.o
@@ -1899,10 +1903,10 @@
  					nand_info[i].erasesize >> 10);
  		}
  		return 0;
-Index: u-boot/drivers/nand/nand_ids.c
+Index: u-boot/drivers/mtd/nand/nand_ids.c
 ===================================================================
---- u-boot.orig/drivers/nand/nand_ids.c
-+++ u-boot/drivers/nand/nand_ids.c
+--- u-boot.orig/drivers/mtd/nand/nand_ids.c
++++ u-boot/drivers/mtd/nand/nand_ids.c
 @@ -67,7 +67,7 @@
  
  	{"NAND 256MiB 3,3V 8-bit", 	0x71, 512, 256, 0x4000, 0},
@@ -1948,10 +1952,10 @@
  #endif
  		break;
  	default:
-Index: u-boot/drivers/smedia3362.h
+Index: u-boot/drivers/video/smedia3362.h
 ===================================================================
 --- /dev/null
-+++ u-boot/drivers/smedia3362.h
++++ u-boot/drivers/video/smedia3362.h
 @@ -0,0 +1,385 @@
 +#ifndef _GLAMO_REGS_H
 +#define _GLAMO_REGS_H

Modified: trunk/src/target/u-boot/patches/uboot-license.patch
===================================================================
--- trunk/src/target/u-boot/patches/uboot-license.patch	2007-12-04 15:47:21 UTC (rev 3563)
+++ trunk/src/target/u-boot/patches/uboot-license.patch	2007-12-04 17:57:54 UTC (rev 3564)
@@ -2,13 +2,13 @@
 ===================================================================
 --- u-boot.orig/common/Makefile
 +++ u-boot/common/Makefile
-@@ -62,6 +62,7 @@
- COBJS-y += cmd_immap.o
- COBJS-y += cmd_itest.o
- COBJS-y += cmd_jffs2.o
-+COBJS-y += cmd_license.o
+@@ -68,6 +68,7 @@
+ COBJS-$(CONFIG_CMD_IMMAP) += cmd_immap.o
+ COBJS-$(CONFIG_CMD_ITEST) += cmd_itest.o
+ COBJS-$(CONFIG_CMD_JFFS2) += cmd_jffs2.o
++COBJS-$(CONFIG_CMD_LICENSE) += cmd_license.o
  COBJS-y += cmd_load.o
- COBJS-y += cmd_log.o
+ COBJS-$(CONFIG_LOGBUFFER) += cmd_log.o
  COBJS-y += cmd_mem.o
 Index: u-boot/common/cmd_license.c
 ===================================================================

Modified: trunk/src/target/u-boot/patches/uboot-nand-markbad-reallybad.patch
===================================================================
--- trunk/src/target/u-boot/patches/uboot-nand-markbad-reallybad.patch	2007-12-04 15:47:21 UTC (rev 3563)
+++ trunk/src/target/u-boot/patches/uboot-nand-markbad-reallybad.patch	2007-12-04 17:57:54 UTC (rev 3564)
@@ -5,10 +5,10 @@
 at some later point.
 
 Signed-off-by: Harald Welte <laforge at openmoko.org>
-Index: u-boot/drivers/nand/nand_base.c
+Index: u-boot/drivers/mtd/nand/nand_base.c
 ===================================================================
---- u-boot.orig/drivers/nand/nand_base.c	2007-03-01 12:47:31.000000000 +0100
-+++ u-boot/drivers/nand/nand_base.c	2007-03-01 12:48:08.000000000 +0100
+--- u-boot.orig/drivers/mtd/nand/nand_base.c	2007-03-01 12:47:31.000000000 +0100
++++ u-boot/drivers/mtd/nand/nand_base.c	2007-03-01 12:48:08.000000000 +0100
 @@ -481,7 +481,7 @@
  
  	/* Do we have a flash based bad block table ? */

Modified: trunk/src/target/u-boot/patches/uboot-s3c2410_fb.patch
===================================================================
--- trunk/src/target/u-boot/patches/uboot-s3c2410_fb.patch	2007-12-04 15:47:21 UTC (rev 3563)
+++ trunk/src/target/u-boot/patches/uboot-s3c2410_fb.patch	2007-12-04 17:57:54 UTC (rev 3564)
@@ -1,19 +1,19 @@
-Index: u-boot/drivers/Makefile
+Index: u-boot/drivers/video/Makefile
 ===================================================================
---- u-boot.orig/drivers/Makefile
-+++ u-boot/drivers/Makefile
-@@ -59,6 +59,7 @@
- COBJS-y += pc_keyb.o
- COBJS-y += ps2ser.o
- COBJS-y += ps2mult.o
+--- u-boot.orig/drivers/video/Makefile
++++ u-boot/drivers/video/Makefile
+@@ -28,6 +28,7 @@
+ COBJS-y += ati_radeon_fb.o
+ COBJS-y += cfb_console.o
+ COBJS-y += ct69000.o
 +COBJS-y += s3c2410_fb.o
- COBJS-y += s3c4510b_uart.o
  COBJS-y += sed13806.o
  COBJS-y += sed156x.o
-Index: u-boot/drivers/s3c2410_fb.c
+ COBJS-y += sm501.o
+Index: u-boot/drivers/video/s3c2410_fb.c
 ===================================================================
 --- /dev/null
-+++ u-boot/drivers/s3c2410_fb.c
++++ u-boot/drivers/video/s3c2410_fb.c
 @@ -0,0 +1,166 @@
 +/*
 + * (C) Copyright 2006 by OpenMoko, Inc.
@@ -181,34 +181,3 @@
 +}
 +
 +#endif /* CONFIG_VIDEO_S3C2410 */
-Index: u-boot/drivers/cfb_console.c
-===================================================================
---- u-boot.orig/drivers/cfb_console.c
-+++ u-boot/drivers/cfb_console.c
-@@ -141,6 +141,14 @@
- #endif
- 
- /*****************************************************************************/
-+/* Defines for the S3C2410 driver					     */
-+/*****************************************************************************/
-+#ifdef CONFIG_VIDEO_S3C2410
-+/* it actually is little-endian, but the host CPU, too ! */
-+//#define VIDEO_FB_LITTLE_ENDIAN
-+#endif
-+
-+/*****************************************************************************/
- /* Include video_fb.h after definitions of VIDEO_HW_RECTFILL etc	     */
- /*****************************************************************************/
- #include <video_fb.h>
-@@ -307,6 +315,11 @@
- #define SHORTSWAP32(x)	 (x)
- #endif
- 
-+#ifdef CONFIG_VIDEO_S3C2410
-+#undef SHORTSWAP32
-+#define	SHORTSWAP32(x)	((((x) & 0xffff) << 16) | (((x) >> 16) & 0xffff))
-+#endif
-+
- #if defined(DEBUG) || defined(DEBUG_CFB_CONSOLE)
- #define PRINTD(x)	  printf(x)
- #else

Modified: trunk/src/target/u-boot/patches/uboot-s3c2410_udc.patch
===================================================================
--- trunk/src/target/u-boot/patches/uboot-s3c2410_udc.patch	2007-12-04 15:47:21 UTC (rev 3563)
+++ trunk/src/target/u-boot/patches/uboot-s3c2410_udc.patch	2007-12-04 17:57:54 UTC (rev 3564)
@@ -1,21 +1,21 @@
 USB Device Controller Driver for Samsung S3C2410 SoC
 
-Index: u-boot/drivers/Makefile
+Index: u-boot/drivers/usb/Makefile
 ===================================================================
---- u-boot.orig/drivers/Makefile
-+++ u-boot/drivers/Makefile
-@@ -136,6 +136,7 @@
+--- u-boot.orig/drivers/usb/Makefile
++++ u-boot/drivers/usb/Makefile
+@@ -32,6 +32,7 @@
  COBJS-y += usbdcore_ep0.o
  COBJS-y += usbdcore_mpc8xx.o
  COBJS-y += usbdcore_omap1510.o
 +COBJS-y += usbdcore_s3c2410.o
  
- #
- # Miscellaneous Drivers
-Index: u-boot/drivers/usbdcore_s3c2410.c
+ COBJS	:= $(COBJS-y)
+ SRCS 	:= $(COBJS:.o=.c)
+Index: u-boot/drivers/usb/usbdcore_s3c2410.c
 ===================================================================
 --- /dev/null
-+++ u-boot/drivers/usbdcore_s3c2410.c
++++ u-boot/drivers/usb/usbdcore_s3c2410.c
 @@ -0,0 +1,751 @@
 +/* S3C2410 USB Device Controller Driver for u-boot
 + *
@@ -768,10 +768,244 @@
 +}
 +
 +#endif /* CONFIG_S3C2410 && CONFIG_USB_DEVICE */
-Index: u-boot/drivers/usbdcore_s3c2410.h
+Index: u-boot/drivers/usb/usbdcore_ep0.c
 ===================================================================
+--- u-boot.orig/drivers/usb/usbdcore_ep0.c
++++ u-boot/drivers/usb/usbdcore_ep0.c
+@@ -193,9 +193,13 @@
+ 	if (!urb || !urb->buffer || !urb->buffer_length
+ 	    || (urb->buffer_length < 255)) {
+ 		dbg_ep0 (2, "invalid urb %p", urb);
++		serial_printf("invalid urb %p", urb);
+ 		return -1L;
+ 	}
+ 
++	/* re-initialize the ep0 buffer pointer */
++	urb->buffer = (u8 *) urb->buffer_data;
++
+ 	/* setup tx urb */
+ 	urb->actual_length = 0;
+ 	cp = (char*)urb->buffer;
+@@ -211,15 +215,8 @@
+ 			     usbd_device_device_descriptor (device, port))) {
+ 				return -1;
+ 			}
+-			/* copy descriptor for this device */
+-			copy_config (urb, device_descriptor,
+-				     sizeof (struct usb_device_descriptor),
+-				     max);
+-
+-			/* correct the correct control endpoint 0 max packet size into the descriptor */
+-			device_descriptor =
+-				(struct usb_device_descriptor *) urb->buffer;
+-
++			urb->buffer = device_descriptor;
++			urb->actual_length = MIN(sizeof(*device_descriptor), max);
+ 		}
+ 		dbg_ep0(3, "copied device configuration, actual_length: 0x%x", urb->actual_length);
+ 		break;
+@@ -252,11 +249,9 @@
+ 					 index);
+ 				return -1;
+ 			}
+-			dbg_ep0(0, "attempt to copy %d bytes to urb\n",cpu_to_le16(configuration_descriptor->wTotalLength));
+-			copy_config (urb, configuration_descriptor,
+-
+-					cpu_to_le16(configuration_descriptor->wTotalLength),
+-				     max);
++			urb->buffer = configuration_descriptor;
++			urb->actual_length =
++				MIN(le16_to_cpu(configuration_descriptor->wTotalLength), max);
+ 		}
+ 
+ 		break;
+@@ -389,6 +384,7 @@
+ 	dbg_ep0 (0, "entering ep0_recv_setup()");
+ 	if (!urb || !urb->device) {
+ 		dbg_ep0 (3, "invalid URB %p", urb);
++		serial_printf("invalid URB %p", urb);
+ 		return -1;
+ 	}
+ 
+@@ -417,6 +413,7 @@
+ 		}
+ 		dbg_ep0 (1, "non standard request: %x",
+ 			 request->bmRequestType & USB_REQ_TYPE_MASK);
++		serial_printf("non standard request: %x", request->bmRequestType & USB_REQ_TYPE_MASK);
+ 		return -1;	/* Stall here */
+ 	}
+ 
+@@ -465,6 +462,8 @@
+ 		dbg_ep0 (1, "request %s not allowed in UNKNOWN state: %s",
+ 			 USBD_DEVICE_REQUESTS (request->bRequest),
+ 			 usbd_device_states[device->device_state]);
++		serial_printf("request %s not allowed in UNKNOWN state: %s", USBD_DEVICE_REQUESTS (request->bRequest), usbd_device_states[device->device_state]);
++		break;
+ 		return -1;
+ 	}
+ 
+@@ -563,6 +562,7 @@
+ 			/*dbg_ep0(2, "address: %d %d %d", */
+ 			/*        request->wValue, le16_to_cpu(request->wValue), device->address); */
+ 
++			//udc_set_address(device->address);
+ 			return 0;
+ 
+ 		case USB_REQ_SET_DESCRIPTOR:	/* XXX should we support this? */
+Index: u-boot/include/configs/neo1973_gta01.h
+===================================================================
+--- u-boot.orig/include/configs/neo1973_gta01.h
++++ u-boot/include/configs/neo1973_gta01.h
+@@ -163,6 +163,16 @@
+ #define CONFIG_USB_OHCI		1
+ #endif
+ 
++#define CONFIG_USB_DEVICE	1
++#define CONFIG_USB_TTY		1
++#define CFG_CONSOLE_IS_IN_ENV	1
++#define CONFIG_USBD_VENDORID 		0x1457     /* Linux/NetChip */
++#define CONFIG_USBD_PRODUCTID_GSERIAL	0x5120    /* gserial */
++#define CONFIG_USBD_PRODUCTID_CDCACM 	0x5119    /* CDC ACM */
++#define CONFIG_USBD_MANUFACTURER	"OpenMoko, Inc"
++#define CONFIG_USBD_PRODUCT_NAME	"Neo1973 Bootloader " U_BOOT_VERSION
++#define CONFIG_EXTRA_ENV_SETTINGS 	"usbtty=cdc_acm\0"
++
+ /*-----------------------------------------------------------------------
+  * Physical Memory Map
+  */
+Index: u-boot/cpu/arm920t/s3c24x0/interrupts.c
+===================================================================
+--- u-boot.orig/cpu/arm920t/s3c24x0/interrupts.c
++++ u-boot/cpu/arm920t/s3c24x0/interrupts.c
+@@ -222,6 +222,13 @@
+ 	S3C24X0_INTERRUPT * irq = S3C24X0_GetBase_INTERRUPT();
+ 	u_int32_t intpnd = irq->INTPND;
+ 
++#ifdef CONFIG_USB_DEVICE
++	if (intpnd & BIT_USBD) {
++		s3c2410_udc_irq();
++		irq->SRCPND = BIT_USBD;
++		irq->INTPND = BIT_USBD;
++	}
++#endif /* USB_DEVICE */
+ }
+ #endif /* USE_IRQ */
+ 
+Index: u-boot/drivers/serial/usbtty.h
+===================================================================
+--- u-boot.orig/drivers/serial/usbtty.h
++++ u-boot/drivers/serial/usbtty.h
+@@ -29,6 +29,8 @@
+ #include "usbdcore_mpc8xx.h"
+ #elif defined(CONFIG_OMAP1510)
+ #include "usbdcore_omap1510.h"
++#elif defined(CONFIG_S3C2410)
++#include "usbdcore_s3c2410.h"
+ #endif
+ 
+ #include <version_autogenerated.h>
+Index: u-boot/board/neo1973/common/cmd_neo1973.c
+===================================================================
+--- u-boot.orig/board/neo1973/common/cmd_neo1973.c
++++ u-boot/board/neo1973/common/cmd_neo1973.c
+@@ -94,6 +94,18 @@
+ 			neo1973_gps(1);
+ 		else
+ 			neo1973_gps(0);
++	} else if (!strcmp(argv[1], "udc")) {
++		if (argc < 3)
++			goto out_help;
++		if (!strcmp(argv[2], "pullup")) {
++			if (argc < 4)
++				goto out_help;
++			if (!strcmp(argv[3], "on"))
++				udc_connect();
++			else
++				udc_disconnect();
++		} else
++			goto out_help;
+ 	} else {
+ out_help:
+ 		printf("Usage:\n%s\n", cmdtp->usage);
+@@ -120,5 +132,6 @@
+ 	"neo1973 vibrator (on|off) - switch vibrator on or off\n"
+ 	"neo1973 gsm (on|off) - switch GSM Modem on or off\n"
+ 	"neo1973 gps (on|off) - switch GPS system on or off\n"
++	"neo1973 udc pullup (on|off) - switch USB device controller pull-up on or off\n"
+ );
+ #endif	/* CONFIG_CMD_BDI */
+Index: u-boot/board/neo1973/gta01/Makefile
+===================================================================
+--- u-boot.orig/board/neo1973/gta01/Makefile
++++ u-boot/board/neo1973/gta01/Makefile
+@@ -25,7 +25,7 @@
+ 
+ LIB	= lib$(BOARD).a
+ 
+-OBJS	:= gta01.o pcf50606.o ../common/cmd_neo1973.o ../common/jbt6k74.o
++OBJS	:= gta01.o pcf50606.o ../common/cmd_neo1973.o ../common/jbt6k74.o ../common/udc.o
+ SOBJS	:= ../common/lowlevel_init.o
+ 
+ $(LIB):	$(OBJS) $(SOBJS)
+Index: u-boot/board/neo1973/common/udc.c
+===================================================================
 --- /dev/null
-+++ u-boot/drivers/usbdcore_s3c2410.h
++++ u-boot/board/neo1973/common/udc.c
+@@ -0,0 +1,23 @@
++
++#include <common.h>
++#include <usbdcore.h>
++#include <s3c2410.h>
++
++void udc_ctrl(enum usbd_event event, int param)
++{
++	S3C24X0_GPIO * const gpio = S3C24X0_GetBase_GPIO();
++
++	switch (event) {
++	case UDC_CTRL_PULLUP_ENABLE:
++#if defined(CONFIG_ARCH_GTA01_v4) || defined(CONFIG_ARCH_GTA01B_v2) || \
++    defined(CONFIG_ARCH_GTA01B_v3) || defined(CONFIG_ARCH_GTA01B_v4)
++		if (param)
++			gpio->GPBDAT |= (1 << 9);
++		else
++			gpio->GPBDAT &= ~(1 << 9);
++#endif
++		break;
++	default:
++		break;
++	}
++}
+Index: u-boot/include/usbdcore.h
+===================================================================
+--- u-boot.orig/include/usbdcore.h
++++ u-boot/include/usbdcore.h
+@@ -671,4 +671,10 @@
+ void usbd_rcv_complete(struct usb_endpoint_instance *endpoint, int len, int urb_bad);
+ void usbd_tx_complete (struct usb_endpoint_instance *endpoint);
+ 
++enum usbd_event {
++	UDC_CTRL_PULLUP_ENABLE,
++};
++
++void udc_ctrl(enum usbd_event event, int param);
++#endif
+ #endif
+Index: u-boot/board/neo1973/gta01/gta01.c
+===================================================================
+--- u-boot.orig/board/neo1973/gta01/gta01.c
++++ u-boot/board/neo1973/gta01/gta01.c
+@@ -334,6 +334,7 @@
+ void neo1973_poweroff(void)
+ {
+ 	serial_printf("poweroff\n");
++	udc_disconnect();
+ 	pcf50606_reg_write(PCF50606_REG_OOCC1, PCF50606_OOCC1_GOSTDBY);
+ 	/* don't return to caller */
+ 	while (1) ;
+Index: u-boot/include/usbdcore_s3c2410.h
+===================================================================
+--- /dev/null
++++ u-boot/include/usbdcore_s3c2410.h
 @@ -0,0 +1,273 @@
 +/* linux/include/asm/arch-s3c2410/regs-udc.h
 + *
@@ -1046,237 +1280,3 @@
 +#define UDC_BULK_PACKET_SIZE	16
 +
 +#endif
-Index: u-boot/drivers/usbdcore_ep0.c
-===================================================================
---- u-boot.orig/drivers/usbdcore_ep0.c
-+++ u-boot/drivers/usbdcore_ep0.c
-@@ -193,9 +193,13 @@
- 	if (!urb || !urb->buffer || !urb->buffer_length
- 	    || (urb->buffer_length < 255)) {
- 		dbg_ep0 (2, "invalid urb %p", urb);
-+		serial_printf("invalid urb %p", urb);
- 		return -1L;
- 	}
- 
-+	/* re-initialize the ep0 buffer pointer */
-+	urb->buffer = (u8 *) urb->buffer_data;
-+
- 	/* setup tx urb */
- 	urb->actual_length = 0;
- 	cp = (char*)urb->buffer;
-@@ -211,15 +215,8 @@
- 			     usbd_device_device_descriptor (device, port))) {
- 				return -1;
- 			}
--			/* copy descriptor for this device */
--			copy_config (urb, device_descriptor,
--				     sizeof (struct usb_device_descriptor),
--				     max);
--
--			/* correct the correct control endpoint 0 max packet size into the descriptor */
--			device_descriptor =
--				(struct usb_device_descriptor *) urb->buffer;
--
-+			urb->buffer = device_descriptor;
-+			urb->actual_length = MIN(sizeof(*device_descriptor), max);
- 		}
- 		dbg_ep0(3, "copied device configuration, actual_length: 0x%x", urb->actual_length);
- 		break;
-@@ -252,11 +249,9 @@
- 					 index);
- 				return -1;
- 			}
--			dbg_ep0(0, "attempt to copy %d bytes to urb\n",cpu_to_le16(configuration_descriptor->wTotalLength));
--			copy_config (urb, configuration_descriptor,
--
--					cpu_to_le16(configuration_descriptor->wTotalLength),
--				     max);
-+			urb->buffer = configuration_descriptor;
-+			urb->actual_length =
-+				MIN(le16_to_cpu(configuration_descriptor->wTotalLength), max);
- 		}
- 
- 		break;
-@@ -389,6 +384,7 @@
- 	dbg_ep0 (0, "entering ep0_recv_setup()");
- 	if (!urb || !urb->device) {
- 		dbg_ep0 (3, "invalid URB %p", urb);
-+		serial_printf("invalid URB %p", urb);
- 		return -1;
- 	}
- 
-@@ -417,6 +413,7 @@
- 		}
- 		dbg_ep0 (1, "non standard request: %x",
- 			 request->bmRequestType & USB_REQ_TYPE_MASK);
-+		serial_printf("non standard request: %x", request->bmRequestType & USB_REQ_TYPE_MASK);
- 		return -1;	/* Stall here */
- 	}
- 
-@@ -465,6 +462,8 @@
- 		dbg_ep0 (1, "request %s not allowed in UNKNOWN state: %s",
- 			 USBD_DEVICE_REQUESTS (request->bRequest),
- 			 usbd_device_states[device->device_state]);
-+		serial_printf("request %s not allowed in UNKNOWN state: %s", USBD_DEVICE_REQUESTS (request->bRequest), usbd_device_states[device->device_state]);
-+		break;
- 		return -1;
- 	}
- 
-@@ -563,6 +562,7 @@
- 			/*dbg_ep0(2, "address: %d %d %d", */
- 			/*        request->wValue, le16_to_cpu(request->wValue), device->address); */
- 
-+			//udc_set_address(device->address);
- 			return 0;
- 
- 		case USB_REQ_SET_DESCRIPTOR:	/* XXX should we support this? */
-Index: u-boot/include/configs/neo1973_gta01.h
-===================================================================
---- u-boot.orig/include/configs/neo1973_gta01.h
-+++ u-boot/include/configs/neo1973_gta01.h
-@@ -163,6 +163,16 @@
- #define CONFIG_USB_OHCI		1
- #endif
- 
-+#define CONFIG_USB_DEVICE	1
-+#define CONFIG_USB_TTY		1
-+#define CFG_CONSOLE_IS_IN_ENV	1
-+#define CONFIG_USBD_VENDORID 		0x1457     /* Linux/NetChip */
-+#define CONFIG_USBD_PRODUCTID_GSERIAL	0x5120    /* gserial */
-+#define CONFIG_USBD_PRODUCTID_CDCACM 	0x5119    /* CDC ACM */
-+#define CONFIG_USBD_MANUFACTURER	"OpenMoko, Inc"
-+#define CONFIG_USBD_PRODUCT_NAME	"Neo1973 Bootloader " U_BOOT_VERSION
-+#define CONFIG_EXTRA_ENV_SETTINGS 	"usbtty=cdc_acm\0"
-+
- /*-----------------------------------------------------------------------
-  * Physical Memory Map
-  */
-Index: u-boot/cpu/arm920t/s3c24x0/interrupts.c
-===================================================================
---- u-boot.orig/cpu/arm920t/s3c24x0/interrupts.c
-+++ u-boot/cpu/arm920t/s3c24x0/interrupts.c
-@@ -222,6 +222,13 @@
- 	S3C24X0_INTERRUPT * irq = S3C24X0_GetBase_INTERRUPT();
- 	u_int32_t intpnd = irq->INTPND;
- 
-+#ifdef CONFIG_USB_DEVICE
-+	if (intpnd & BIT_USBD) {
-+		s3c2410_udc_irq();
-+		irq->SRCPND = BIT_USBD;
-+		irq->INTPND = BIT_USBD;
-+	}
-+#endif /* USB_DEVICE */
- }
- #endif /* USE_IRQ */
- 
-Index: u-boot/drivers/usbtty.h
-===================================================================
---- u-boot.orig/drivers/usbtty.h
-+++ u-boot/drivers/usbtty.h
-@@ -29,6 +29,8 @@
- #include "usbdcore_mpc8xx.h"
- #elif defined(CONFIG_OMAP1510)
- #include "usbdcore_omap1510.h"
-+#elif defined(CONFIG_S3C2410)
-+#include "usbdcore_s3c2410.h"
- #endif
- 
- #include <version_autogenerated.h>
-Index: u-boot/board/neo1973/common/cmd_neo1973.c
-===================================================================
---- u-boot.orig/board/neo1973/common/cmd_neo1973.c
-+++ u-boot/board/neo1973/common/cmd_neo1973.c
-@@ -94,6 +94,18 @@
- 			neo1973_gps(1);
- 		else
- 			neo1973_gps(0);
-+	} else if (!strcmp(argv[1], "udc")) {
-+		if (argc < 3)
-+			goto out_help;
-+		if (!strcmp(argv[2], "pullup")) {
-+			if (argc < 4)
-+				goto out_help;
-+			if (!strcmp(argv[3], "on"))
-+				udc_connect();
-+			else
-+				udc_disconnect();
-+		} else
-+			goto out_help;
- 	} else {
- out_help:
- 		printf("Usage:\n%s\n", cmdtp->usage);
-@@ -120,5 +132,6 @@
- 	"neo1973 vibrator (on|off) - switch vibrator on or off\n"
- 	"neo1973 gsm (on|off) - switch GSM Modem on or off\n"
- 	"neo1973 gps (on|off) - switch GPS system on or off\n"
-+	"neo1973 udc pullup (on|off) - switch USB device controller pull-up on or off\n"
- );
- #endif	/* CONFIG_CMD_BDI */
-Index: u-boot/board/neo1973/gta01/Makefile
-===================================================================
---- u-boot.orig/board/neo1973/gta01/Makefile
-+++ u-boot/board/neo1973/gta01/Makefile
-@@ -25,7 +25,7 @@
- 
- LIB	= lib$(BOARD).a
- 
--OBJS	:= gta01.o pcf50606.o ../common/cmd_neo1973.o ../common/jbt6k74.o
-+OBJS	:= gta01.o pcf50606.o ../common/cmd_neo1973.o ../common/jbt6k74.o ../common/udc.o
- SOBJS	:= ../common/lowlevel_init.o
- 
- $(LIB):	$(OBJS) $(SOBJS)
-Index: u-boot/board/neo1973/common/udc.c
-===================================================================
---- /dev/null
-+++ u-boot/board/neo1973/common/udc.c
-@@ -0,0 +1,23 @@
-+
-+#include <common.h>
-+#include <usbdcore.h>
-+#include <s3c2410.h>
-+
-+void udc_ctrl(enum usbd_event event, int param)
-+{
-+	S3C24X0_GPIO * const gpio = S3C24X0_GetBase_GPIO();
-+
-+	switch (event) {
-+	case UDC_CTRL_PULLUP_ENABLE:
-+#if defined(CONFIG_ARCH_GTA01_v4) || defined(CONFIG_ARCH_GTA01B_v2) || \
-+    defined(CONFIG_ARCH_GTA01B_v3) || defined(CONFIG_ARCH_GTA01B_v4)
-+		if (param)
-+			gpio->GPBDAT |= (1 << 9);
-+		else
-+			gpio->GPBDAT &= ~(1 << 9);
-+#endif
-+		break;
-+	default:
-+		break;
-+	}
-+}
-Index: u-boot/include/usbdcore.h
-===================================================================
---- u-boot.orig/include/usbdcore.h
-+++ u-boot/include/usbdcore.h
-@@ -671,4 +671,10 @@
- void usbd_rcv_complete(struct usb_endpoint_instance *endpoint, int len, int urb_bad);
- void usbd_tx_complete (struct usb_endpoint_instance *endpoint);
- 
-+enum usbd_event {
-+	UDC_CTRL_PULLUP_ENABLE,
-+};
-+
-+void udc_ctrl(enum usbd_event event, int param);
-+#endif
- #endif
-Index: u-boot/board/neo1973/gta01/gta01.c
-===================================================================
---- u-boot.orig/board/neo1973/gta01/gta01.c
-+++ u-boot/board/neo1973/gta01/gta01.c
-@@ -334,6 +334,7 @@
- void neo1973_poweroff(void)
- {
- 	serial_printf("poweroff\n");
-+	udc_disconnect();
- 	pcf50606_reg_write(PCF50606_REG_OOCC1, PCF50606_OOCC1_GOSTDBY);
- 	/* don't return to caller */
- 	while (1) ;

Modified: trunk/src/target/u-boot/patches/uboot-s3c2440.patch
===================================================================
--- trunk/src/target/u-boot/patches/uboot-s3c2440.patch	2007-12-04 15:47:21 UTC (rev 3563)
+++ trunk/src/target/u-boot/patches/uboot-s3c2440.patch	2007-12-04 17:57:54 UTC (rev 3564)
@@ -161,10 +161,10 @@
  } /*__attribute__((__packed__))*/ S3C2410_SDI;
  
  
-Index: u-boot/rtc/s3c24x0_rtc.c
+Index: u-boot/drivers/rtc/s3c24x0_rtc.c
 ===================================================================
---- u-boot.orig/rtc/s3c24x0_rtc.c
-+++ u-boot/rtc/s3c24x0_rtc.c
+--- u-boot.orig/drivers/rtc/s3c24x0_rtc.c
++++ u-boot/rtc/drivers/s3c24x0_rtc.c
 @@ -34,6 +34,8 @@
  #include <s3c2400.h>
  #elif defined(CONFIG_S3C2410)
@@ -717,10 +717,10 @@
  		gpio->GPECON = old_gpecon;
  #endif
  #ifdef CONFIG_S3C2400
-Index: u-boot/drivers/usbdcore_s3c2410.c
+Index: u-boot/drivers/usb/usbdcore_s3c2410.c
 ===================================================================
---- u-boot.orig/drivers/usbdcore_s3c2410.c
-+++ u-boot/drivers/usbdcore_s3c2410.c
+--- u-boot.orig/drivers/usb/usbdcore_s3c2410.c
++++ u-boot/drivers/usb/usbdcore_s3c2410.c
 @@ -24,7 +24,7 @@
  
  #include <config.h>
@@ -730,10 +730,10 @@
  
  #include <common.h>
  
-Index: u-boot/drivers/usbtty.h
+Index: u-boot/drivers/serial/usbtty.h
 ===================================================================
---- u-boot.orig/drivers/usbtty.h
-+++ u-boot/drivers/usbtty.h
+--- u-boot.orig/drivers/serial/usbtty.h
++++ u-boot/drivers/serial/usbtty.h
 @@ -29,7 +29,7 @@
  #include "usbdcore_mpc8xx.h"
  #elif defined(CONFIG_OMAP1510)
@@ -1347,10 +1347,10 @@
 -# endif /* defined(CONFIG_S3C2400) || defined(CONFIG_S3C2410) */
 +# endif /* defined(CONFIG_S3C2400) || defined(CONFIG_S3C2410) || defined(CONFIG_S3C2440) */
  #endif /* defined(CONFIG_USB_OHCI) && defined(CFG_USB_OHCI_CPU_INIT) */
-Index: u-boot/drivers/usb_ohci.c
+Index: u-boot/drivers/usb/usb_ohci.c
 ===================================================================
---- u-boot.orig/drivers/usb_ohci.c
-+++ u-boot/drivers/usb_ohci.c
+--- u-boot.orig/drivers/usb/usb_ohci.c
++++ u-boot/drivers/usb/usb_ohci.c
 @@ -62,6 +62,7 @@
  #if defined(CONFIG_ARM920T) || \
      defined(CONFIG_S3C2400) || \

Modified: trunk/src/target/u-boot/patches/uboot-s3c2442.patch
===================================================================
--- trunk/src/target/u-boot/patches/uboot-s3c2442.patch	2007-12-04 15:47:21 UTC (rev 3563)
+++ trunk/src/target/u-boot/patches/uboot-s3c2442.patch	2007-12-04 17:57:54 UTC (rev 3564)
@@ -519,8 +519,8 @@
  	   So we need to copy the interrupt vectors, etc.  */
 Index: u-boot/drivers/usbdcore_s3c2410.c
 ===================================================================
---- u-boot.orig/drivers/usbdcore_s3c2410.c
-+++ u-boot/drivers/usbdcore_s3c2410.c
+--- u-boot.orig/drivers/usb/usbdcore_s3c2410.c
++++ u-boot/drivers/usb/usbdcore_s3c2410.c
 @@ -24,7 +24,8 @@
  
  #include <config.h>
@@ -533,8 +533,8 @@
  
 Index: u-boot/drivers/usbtty.h
 ===================================================================
---- u-boot.orig/drivers/usbtty.h
-+++ u-boot/drivers/usbtty.h
+--- u-boot.orig/drivers/serial/usbtty.h
++++ u-boot/drivers/serial/usbtty.h
 @@ -29,7 +29,8 @@
  #include "usbdcore_mpc8xx.h"
  #elif defined(CONFIG_OMAP1510)
@@ -646,10 +646,10 @@
  	S3C24X0_REG32	SDIIMSK;
  	S3C24X0_REG32	SDIDAT;
  #endif
-Index: u-boot/rtc/s3c24x0_rtc.c
+Index: u-boot/drivers/rtc/s3c24x0_rtc.c
 ===================================================================
---- u-boot.orig/rtc/s3c24x0_rtc.c
-+++ u-boot/rtc/s3c24x0_rtc.c
+--- u-boot.orig/drivers/rtc/s3c24x0_rtc.c
++++ u-boot/drivers/rtc/s3c24x0_rtc.c
 @@ -34,7 +34,7 @@
  #include <s3c2400.h>
  #elif defined(CONFIG_S3C2410)

Modified: trunk/src/target/u-boot/patches/uboot-s3c2443.patch
===================================================================
--- trunk/src/target/u-boot/patches/uboot-s3c2443.patch	2007-12-04 15:47:21 UTC (rev 3563)
+++ trunk/src/target/u-boot/patches/uboot-s3c2443.patch	2007-12-04 17:57:54 UTC (rev 3564)
@@ -144,10 +144,10 @@
        defined(CONFIG_VCMA9)
  	tbclk = CFG_HZ;
  #else
-Index: u-boot/drivers/usbdcore_s3c2410.c
+Index: u-boot/drivers/usb/usbdcore_s3c2410.c
 ===================================================================
---- u-boot.orig/drivers/usbdcore_s3c2410.c
-+++ u-boot/drivers/usbdcore_s3c2410.c
+--- u-boot.orig/drivers/usb/usbdcore_s3c2410.c
++++ u-boot/drivers/usb/usbdcore_s3c2410.c
 @@ -25,7 +25,7 @@
  #include <config.h>
  

Modified: trunk/src/target/u-boot/patches/uboot-serial_terminal.patch
===================================================================
--- trunk/src/target/u-boot/patches/uboot-serial_terminal.patch	2007-12-04 15:47:21 UTC (rev 3563)
+++ trunk/src/target/u-boot/patches/uboot-serial_terminal.patch	2007-12-04 17:57:54 UTC (rev 3564)
@@ -5,13 +5,13 @@
 ===================================================================
 --- u-boot.orig/common/Makefile
 +++ u-boot/common/Makefile
-@@ -78,6 +78,7 @@
+@@ -86,6 +86,7 @@
  COBJS-y += cmd_sata.o
- COBJS-y += cmd_scsi.o
- COBJS-y += cmd_spi.o
-+COBJS-y += cmd_terminal.o
- COBJS-y += cmd_universe.o
- COBJS-y += cmd_usb.o
+ COBJS-$(CONFIG_CMD_SCSI) += cmd_scsi.o
+ COBJS-$(CONFIG_CMD_SPI) += cmd_spi.o
++COBJS-$(CONFIG_CMD_TERMINAL) += cmd_terminal.o
+ COBJS-$(CONFIG_CMD_UNIVERSE) += cmd_universe.o
+ COBJS-$(CONFIG_CMD_USB) += cmd_usb.o
  COBJS-y += cmd_vfd.o
 Index: u-boot/common/cmd_terminal.c
 ===================================================================

Modified: trunk/src/target/u-boot/patches/uboot-smdk2443.patch
===================================================================
--- trunk/src/target/u-boot/patches/uboot-smdk2443.patch	2007-12-04 15:47:21 UTC (rev 3563)
+++ trunk/src/target/u-boot/patches/uboot-smdk2443.patch	2007-12-04 17:57:54 UTC (rev 3564)
@@ -1410,10 +1410,10 @@
 +		break;
 +	}
 +}
-Index: u-boot/drivers/usb_ohci.c
+Index: u-boot/drivers/usb/usb_ohci.c
 ===================================================================
---- u-boot.orig/drivers/usb_ohci.c
-+++ u-boot/drivers/usb_ohci.c
+--- u-boot.orig/drivers/usb/usb_ohci.c
++++ u-boot/drivers/usb/usb_ohci.c
 @@ -63,6 +63,7 @@
      defined(CONFIG_S3C2400) || \
      defined(CONFIG_S3C2410) || \

Modified: trunk/src/target/u-boot/patches/uboot-usbtty-acm.patch
===================================================================
--- trunk/src/target/u-boot/patches/uboot-usbtty-acm.patch	2007-12-04 15:47:21 UTC (rev 3563)
+++ trunk/src/target/u-boot/patches/uboot-usbtty-acm.patch	2007-12-04 17:57:54 UTC (rev 3564)
@@ -4,10 +4,10 @@
 handhelds.org.  Please don't complain to me about coding style issues
 or whitespace changes in this one - HW.
 
-Index: u-boot/drivers/usbtty.c
+Index: u-boot/drivers/serial/usbtty.c
 ===================================================================
---- u-boot.orig/drivers/usbtty.c
-+++ u-boot/drivers/usbtty.c
+--- u-boot.orig/drivers/serial/usbtty.c
++++ u-boot/drivers/serial/usbtty.c
 @@ -1,7 +1,7 @@
  /*
   * (C) Copyright 2003
@@ -40,10 +40,10 @@
  	/* prepare buffers... */
  	buf_init (&usbtty_input, USBTTY_BUFFER_SIZE);
  	buf_init (&usbtty_output, USBTTY_BUFFER_SIZE);
-Index: u-boot/drivers/usbtty.h
+Index: u-boot/drivers/serial/usbtty.h
 ===================================================================
---- u-boot.orig/drivers/usbtty.h
-+++ u-boot/drivers/usbtty.h
+--- u-boot.orig/drivers/serial/usbtty.h
++++ u-boot/drivers/serial/usbtty.h
 @@ -27,7 +27,7 @@
  #include "usbdcore.h"
  #if defined(CONFIG_PPC)
@@ -70,8 +70,8 @@
  
 Index: u-boot/drivers/usbdcore_omap1510.c
 ===================================================================
---- u-boot.orig/drivers/usbdcore_omap1510.c
-+++ u-boot/drivers/usbdcore_omap1510.c
+--- u-boot.orig/drivers/usb/usbdcore_omap1510.c
++++ u-boot/drivers/usb/usbdcore_omap1510.c
 @@ -960,7 +960,7 @@
  /* Handle general USB interrupts and dispatch according to type.
   * This function implements TRM Figure 14-13.

Modified: trunk/src/target/u-boot/patches/usbdcore-multiple_configs.patch
===================================================================
--- trunk/src/target/u-boot/patches/usbdcore-multiple_configs.patch	2007-12-04 15:47:21 UTC (rev 3563)
+++ trunk/src/target/u-boot/patches/usbdcore-multiple_configs.patch	2007-12-04 17:57:54 UTC (rev 3564)
@@ -11,10 +11,10 @@
 
 Signed-off-by: Harald Welte <laforge at openmoko.org>
 
-Index: u-boot/drivers/usbdcore_ep0.c
+Index: u-boot/drivers/usb/usbdcore_ep0.c
 ===================================================================
---- u-boot.orig/drivers/usbdcore_ep0.c
-+++ u-boot/drivers/usbdcore_ep0.c
+--- u-boot.orig/drivers/usb/usbdcore_ep0.c
++++ u-boot/drivers/usb/usbdcore_ep0.c
 @@ -237,8 +237,8 @@
  				return -1;
  			}
@@ -43,10 +43,10 @@
  			/* reset interface and alternate settings */
  			device->interface = device->alternate = 0;
  
-Index: u-boot/drivers/usbdcore.c
+Index: u-boot/drivers/usb/usbdcore.c
 ===================================================================
---- u-boot.orig/drivers/usbdcore.c
-+++ u-boot/drivers/usbdcore.c
+--- u-boot.orig/drivers/usb/usbdcore.c
++++ u-boot/drivers/usb/usbdcore.c
 @@ -147,12 +147,9 @@
  static struct usb_configuration_instance *usbd_device_configuration_instance (struct usb_device_instance *device,
  		unsigned int port, unsigned int configuration)

Modified: trunk/src/target/u-boot/patches/usbtty-irq-racecondition-fix.patch
===================================================================
--- trunk/src/target/u-boot/patches/usbtty-irq-racecondition-fix.patch	2007-12-04 15:47:21 UTC (rev 3563)
+++ trunk/src/target/u-boot/patches/usbtty-irq-racecondition-fix.patch	2007-12-04 17:57:54 UTC (rev 3564)
@@ -2,10 +2,10 @@
 lack of lacking in the case of irq-accelerated usb device drivers (such as our
 s3c24xx udc driver).
 
-Index: u-boot/drivers/usbtty.c
+Index: u-boot/drivers/serial/usbtty.c
 ===================================================================
---- u-boot.orig/drivers/usbtty.c
-+++ u-boot/drivers/usbtty.c
+--- u-boot.orig/drivers/serial/usbtty.c
++++ u-boot/drivers/serial/usbtty.c
 @@ -26,6 +26,7 @@
  #ifdef CONFIG_USB_TTY
  





More information about the commitlog mailing list