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

laforge at sita.openmoko.org laforge at sita.openmoko.org
Mon Feb 5 16:07:12 CET 2007


Author: laforge
Date: 2007-02-05 16:07:11 +0100 (Mon, 05 Feb 2007)
New Revision: 670

Modified:
   trunk/src/target/u-boot/patches/uboot-s3c2410_udc.patch
Log:
- increase pullup off/on delay (in case we get resetted, we need to cause bus reset) to 1ms
- call real interrupt handler only in case of interrupt, not dual irq/polling mess


Modified: trunk/src/target/u-boot/patches/uboot-s3c2410_udc.patch
===================================================================
--- trunk/src/target/u-boot/patches/uboot-s3c2410_udc.patch	2007-02-05 13:55:19 UTC (rev 669)
+++ trunk/src/target/u-boot/patches/uboot-s3c2410_udc.patch	2007-02-05 15:07:11 UTC (rev 670)
@@ -2,8 +2,8 @@
 
 Index: u-boot.git/drivers/Makefile
 ===================================================================
---- u-boot.git.orig/drivers/Makefile	2007-02-04 20:00:53.000000000 +0100
-+++ u-boot.git/drivers/Makefile	2007-02-04 20:01:43.000000000 +0100
+--- u-boot.git.orig/drivers/Makefile	2007-02-05 15:16:25.000000000 +0100
++++ u-boot.git/drivers/Makefile	2007-02-05 15:16:31.000000000 +0100
 @@ -46,7 +46,7 @@
  	  sl811_usb.o sm501.o smc91111.o smiLynxEM.o \
  	  status_led.o sym53c8xx.o ahci.o \
@@ -16,8 +16,8 @@
 Index: u-boot.git/drivers/usbdcore_s3c2410.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ u-boot.git/drivers/usbdcore_s3c2410.c	2007-02-05 14:51:57.000000000 +0100
-@@ -0,0 +1,700 @@
++++ u-boot.git/drivers/usbdcore_s3c2410.c	2007-02-05 16:06:09.000000000 +0100
+@@ -0,0 +1,703 @@
 +/* S3C2410 USB Device Controller Driver for u-boot
 + *
 + * (C) Copyright 2007 by OpenMoko, Inc.
@@ -418,10 +418,15 @@
 +-------------------------------------------------------------------------------
 +*/
 +
++/* this is just an empty wrapper for usbtty who assumes polling operation */
++void udc_irq(void)
++{
++}
++
 +/* Handle general USB interrupts and dispatch according to type.
 + * This function implements TRM Figure 14-13.
 + */
-+int udc_irq(void)
++void s3c2410_udc_irq(void)
 +{
 +	struct usb_endpoint_instance *ep0 = udc_device->bus->endpoint_array;
 +	u_int32_t save_idx = inl(S3C2410_UDC_INDEX_REG);
@@ -474,8 +479,6 @@
 +		}
 +	}
 +	S3C2410_UDC_SETIX(save_idx);
-+
-+	return usb_status | usbd_status;
 +}
 +
 +/*
@@ -617,7 +620,7 @@
 +
 +	/* create a short disconnect, since we might come out of reset */
 +	udc_disconnect();
-+	udelay(10);
++	udelay(1000);
 +
 +	// s3c2410_gpio_setpin(GTA01_GPIO_USB_PULLUP, 1);
 +	gpio->GPBDAT |= (1 << 9);
@@ -721,7 +724,7 @@
 Index: u-boot.git/drivers/usbdcore_s3c2410.h
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ u-boot.git/drivers/usbdcore_s3c2410.h	2007-02-04 20:01:43.000000000 +0100
++++ u-boot.git/drivers/usbdcore_s3c2410.h	2007-02-05 15:16:31.000000000 +0100
 @@ -0,0 +1,273 @@
 +/* linux/include/asm/arch-s3c2410/regs-udc.h
 + *
@@ -998,8 +1001,8 @@
 +#endif
 Index: u-boot.git/include/s3c2410.h
 ===================================================================
---- u-boot.git.orig/include/s3c2410.h	2007-02-04 20:00:53.000000000 +0100
-+++ u-boot.git/include/s3c2410.h	2007-02-04 20:01:43.000000000 +0100
+--- u-boot.git.orig/include/s3c2410.h	2007-02-05 15:16:25.000000000 +0100
++++ u-boot.git/include/s3c2410.h	2007-02-05 15:16:31.000000000 +0100
 @@ -233,4 +233,40 @@
  		 rINTPND;\
  		 }
@@ -1043,8 +1046,8 @@
  #endif /*__S3C2410_H__*/
 Index: u-boot.git/drivers/usbdcore_ep0.c
 ===================================================================
---- u-boot.git.orig/drivers/usbdcore_ep0.c	2007-02-04 20:01:39.000000000 +0100
-+++ u-boot.git/drivers/usbdcore_ep0.c	2007-02-05 14:52:38.000000000 +0100
+--- u-boot.git.orig/drivers/usbdcore_ep0.c	2007-02-05 15:16:25.000000000 +0100
++++ u-boot.git/drivers/usbdcore_ep0.c	2007-02-05 16:05:14.000000000 +0100
 @@ -43,7 +43,7 @@
  
  #include <common.h>
@@ -1109,8 +1112,8 @@
  		case USB_REQ_SET_DESCRIPTOR:	/* XXX should we support this? */
 Index: u-boot.git/include/configs/gta01.h
 ===================================================================
---- u-boot.git.orig/include/configs/gta01.h	2007-02-04 20:00:53.000000000 +0100
-+++ u-boot.git/include/configs/gta01.h	2007-02-04 20:01:43.000000000 +0100
+--- u-boot.git.orig/include/configs/gta01.h	2007-02-05 15:16:25.000000000 +0100
++++ u-boot.git/include/configs/gta01.h	2007-02-05 15:16:31.000000000 +0100
 @@ -173,6 +173,16 @@
  #define CONFIG_USB_OHCI		1
  #endif
@@ -1130,15 +1133,15 @@
   */
 Index: u-boot.git/cpu/arm920t/s3c24x0/interrupts.c
 ===================================================================
---- u-boot.git.orig/cpu/arm920t/s3c24x0/interrupts.c	2007-02-04 20:00:53.000000000 +0100
-+++ u-boot.git/cpu/arm920t/s3c24x0/interrupts.c	2007-02-04 20:01:43.000000000 +0100
+--- u-boot.git.orig/cpu/arm920t/s3c24x0/interrupts.c	2007-02-05 15:16:25.000000000 +0100
++++ u-boot.git/cpu/arm920t/s3c24x0/interrupts.c	2007-02-05 15:36:40.000000000 +0100
 @@ -222,6 +222,13 @@
  	S3C24X0_INTERRUPT * irq = S3C24X0_GetBase_INTERRUPT();
  	u_int32_t intpnd = irq->INTPND;
  
 +#ifdef CONFIG_USB_DEVICE
 +	if (intpnd & BIT_USBD) {
-+		udc_irq();
++		s3c2410_udc_irq();
 +		irq->SRCPND = BIT_USBD;
 +		irq->INTPND = BIT_USBD;
 +	}
@@ -1148,8 +1151,8 @@
  
 Index: u-boot.git/drivers/usbtty.h
 ===================================================================
---- u-boot.git.orig/drivers/usbtty.h	2007-02-04 20:00:53.000000000 +0100
-+++ u-boot.git/drivers/usbtty.h	2007-02-04 20:01:43.000000000 +0100
+--- u-boot.git.orig/drivers/usbtty.h	2007-02-05 15:16:25.000000000 +0100
++++ u-boot.git/drivers/usbtty.h	2007-02-05 15:16:31.000000000 +0100
 @@ -29,6 +29,8 @@
  #include "usbdcore_mpc8xx.h"
  #elif defined(CONFIG_OMAP1510)





More information about the commitlog mailing list