Skip to contentSkip to conversation

USB ehci fix and test on ixp4xx hardware

RFC PATCH New Michael Trimarchi 4 participants 6 messages Dec 12, 2008 USB

lore
Share & tools
lore
#0 lore raw

RFC PATCH 1/1 USB ehci fix and test on ixp4xx hardware

EHCI fix code and ixp4xx test.
USB ehci configuration parameter:

#define CONFIG_CMD_USB 1
#define CONFIG_USB_STORAGE 1
#define CONFIG_USB_EHCI

#define CONFIG_USB_EHCI_IXP4XX          1
#define CONFIG_EHCI_IS_TDI              1
#define CONFIG_EHCI_DESC_BIG_ENDIAN     1
#define CONFIG_EHCI_MMIO_BIG_ENDIAN     1

#define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 2
#define CONFIG_LEGACY_USB_INIT_SEQ 1

2 USB Device(s) found
scanning bus for storage devices... 0 Storage Device(s) found
=> usb tree

Device Tree:
1 Hub (1.5MBit/s, 0mA)

  |  u-boot EHCI Host Controller
  |
  |+-2  Mass Storage (12MBit/s, 100mA)
       Sony Storage Media 0C07040930296

=>

---
 drivers/usb/usb_ehci.h      |   49 ++++++++++--------
 drivers/usb/usb_ehci_core.c |  122 ++++++++++++++++++++++++++----------------
 2 files changed, 102 insertions(+), 69 deletions(-)
drivers/usb/usb_ehci.h +27 -22
index 90b137a..9e8e7b2 100644
@@ -1,5 +1,6 @@
 /*-
  * Copyright (c) 2007-2008, Juniper Networks, Inc.
+ * Copyright (c) 2008, Michael Trimarchi <[email protected]>
  * All rights reserved.
  *
  * This program is free software; you can redistribute it and/or
@@ -21,6 +22,10 @@
 #ifndef USB_EHCI_H
 #define USB_EHCI_H
 
+#if !defined(CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS)
+#error "USB EHCI define MAX_ROOT_PORTS"
+#endif
+
 /* (shifted) direction/type/recipient from the USB 2.0 spec, table 9.2 */
 #define DeviceRequest \
 	((USB_DIR_IN | USB_TYPE_STANDARD | USB_RECIP_DEVICE) << 8)
@@ -45,10 +50,12 @@ struct ehci_hccr {
 #define HC_LENGTH(p)		(((p) >> 0) & 0x00ff)
 #define HC_VERSION(p)		(((p) >> 16) & 0xffff)
 	uint32_t cr_hcsparams;
+#define HCS_PPC(p)		((p) & (1 << 4))
+#define HCS_INDICATOR(p)        ((p) & (1 << 16)) /* Port indicators */
 #define HCS_N_PORTS(p)		(((p) >> 0) & 0xf)
 	uint32_t cr_hccparams;
 	uint8_t cr_hcsp_portrt[8];
-};
+} __attribute__ ((packed));
 
 struct ehci_hcor {
 	uint32_t or_usbcmd;
@@ -71,9 +78,9 @@ struct ehci_hcor {
 	uint32_t _reserved_[9];
 	uint32_t or_configflag;
 #define FLAG_CF		(1 << 0)	/* true:  we'll support "high speed" */
-	uint32_t or_portsc[2];
+	uint32_t or_portsc[CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS];
 	uint32_t or_systune;
-};
+} __attribute__ ((packed));
 
 #define USBMODE		0x68		/* USB Device mode */
 #define USBMODE_SDIS	(1 << 3)	/* Stream disable */
@@ -123,26 +130,24 @@ struct usb_linux_config_descriptor {
 #define cpu_to_hc32(x)		cpu_to_le32((x))
 #endif
 
-#define EHCI_PS_WKOC_E		0x00400000	/* RW wake on over current */
-#define EHCI_PS_WKDSCNNT_E	0x00200000	/* RW wake on disconnect */
-#define EHCI_PS_WKCNNT_E	0x00100000	/* RW wake on connect */
-#define EHCI_PS_PTC		0x000f0000	/* RW port test control */
-#define EHCI_PS_PIC		0x0000c000	/* RW port indicator control */
-#define EHCI_PS_PO		0x00002000	/* RW port owner */
-#define EHCI_PS_PP		0x00001000	/* RW,RO port power */
-#define EHCI_PS_LS		0x00000c00	/* RO line status */
-#define EHCI_PS_PR		0x00000100	/* RW port reset */
-#define EHCI_PS_SUSP		0x00000080	/* RW suspend */
-#define EHCI_PS_FPR		0x00000040	/* RW force port resume */
-#define EHCI_PS_OCC		0x00000020	/* RWC over current change */
-#define EHCI_PS_OCA		0x00000010	/* RO over current active */
-#define EHCI_PS_PEC		0x00000008	/* RWC port enable change */
-#define EHCI_PS_PE		0x00000004	/* RW port enable */
-#define EHCI_PS_CSC		0x00000002	/* RWC connect status change */
-#define EHCI_PS_CS		0x00000001	/* RO connect status */
+#define EHCI_PS_WKOC_E		(1 << 22)	/* RW wake on over current */
+#define EHCI_PS_WKDSCNNT_E	(1 << 21)	/* RW wake on disconnect */
+#define EHCI_PS_WKCNNT_E	(1 << 20)	/* RW wake on connect */
+#define EHCI_PS_PO		(1 << 13)	/* RW port owner */
+#define EHCI_PS_PP		(1 << 12)	/* RW,RO port power */
+#define EHCI_PS_LS		(3 << 10)	/* RO line status */
+#define EHCI_PS_PR		(1 << 8)	/* RW port reset */
+#define EHCI_PS_SUSP		(1 << 7)	/* RW suspend */
+#define EHCI_PS_FPR		(1 << 6)	/* RW force port resume */
+#define EHCI_PS_OCC		(1 << 5)	/* RWC over current change */
+#define EHCI_PS_OCA		(1 << 4)	/* RO over current active */
+#define EHCI_PS_PEC		(1 << 3)	/* RWC port enable change */
+#define EHCI_PS_PE		(1 << 2)	/* RW port enable */
+#define EHCI_PS_CSC		(1 << 1)	/* RWC connect status change */
+#define EHCI_PS_CS		(1 << 0)	/* RO connect status */
 #define EHCI_PS_CLEAR		(EHCI_PS_OCC | EHCI_PS_PEC | EHCI_PS_CSC)
 
-#define EHCI_PS_IS_LOWSPEED(x)	(((x) & EHCI_PS_LS) == 0x00000400)
+#define EHCI_PS_IS_LOWSPEED(x)	(((x) & EHCI_PS_LS) == (1 << 10))
 
 /*
  * Schedule Interface Space.
@@ -178,7 +183,7 @@ struct QH {
 };
 
 /* Low level intit functions */
-
 int ehci_hcd_init(void);
 int ehci_hcd_stop(void);
+
 #endif /* USB_EHCI_H */
drivers/usb/usb_ehci_core.c +75 -47

222 lines not on this page · raw message

Signature · 1 line
1.5.6.5
#1 lore raw

RFC PATCH 1/1 USB ehci fix and test on ixp4xx hardware

Quoted 38 lines · Michael Trimarchi

EHCI fix code and ixp4xx test.
USB ehci configuration parameter:

#define CONFIG_CMD_USB 1
#define CONFIG_USB_STORAGE 1
#define CONFIG_USB_EHCI

#define CONFIG_USB_EHCI_IXP4XX          1
#define CONFIG_EHCI_IS_TDI              1
#define CONFIG_EHCI_DESC_BIG_ENDIAN     1
#define CONFIG_EHCI_MMIO_BIG_ENDIAN     1

#define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 2
#define CONFIG_LEGACY_USB_INIT_SEQ 1

2 USB Device(s) found
scanning bus for storage devices... 0 Storage Device(s) found
=> usb tree

Device Tree:
1 Hub (1.5MBit/s, 0mA)

  |  u-boot EHCI Host Controller
  |
  |+-2  Mass Storage (12MBit/s, 100mA)
       Sony Storage Media 0C07040930296

=>

---
 drivers/usb/usb_ehci.h      |   49 ++++++++++--------
 drivers/usb/usb_ehci_core.c |  122 ++++++++++++++++++++++++++----------------
 2 files changed, 102 insertions(+), 69 deletions(-)
drivers/usb/usb_ehci.h +0 -0
index 90b137a..9e8e7b2 100644

drivers/usb/usb_ehci.h line 3

Quoted 3 lines
drivers/usb/usb_ehci.h +1 -0
@@ -1,5 +1,6 @@
 /*-
  * Copyright (c) 2007-2008, Juniper Networks, Inc.
+ * Copyright (c) 2008, Michael Trimarchi <[email protected]>

please remove you do not do enough modification to claim the copytight

drivers/usb/usb_ehci.h line 27

Quoted 10 lines
drivers/usb/usb_ehci.h +3 -0
  * All rights reserved.
  *
  * This program is free software; you can redistribute it and/or
@@ -21,6 +22,10 @@
 #ifndef USB_EHCI_H
 #define USB_EHCI_H
 
+#if !defined(CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS)
+#error "USB EHCI define MAX_ROOT_PORTS"
+#endif

I'll prefer this
#if !defined(CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS)
#define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 2
#endif

other wise you must update everyone

drivers/usb/usb_ehci.h struct ehci_hccr { · line 54

Quoted 10 lines
drivers/usb/usb_ehci.h +3 -0
+
 /* (shifted) direction/type/recipient from the USB 2.0 spec, table 9.2 */
 #define DeviceRequest \
 	((USB_DIR_IN | USB_TYPE_STANDARD | USB_RECIP_DEVICE) << 8)
@@ -45,10 +50,12 @@ struct ehci_hccr {
 #define HC_LENGTH(p)		(((p) >> 0) & 0x00ff)
 #define HC_VERSION(p)		(((p) >> 16) & 0xffff)
 	uint32_t cr_hcsparams;
+#define HCS_PPC(p)		((p) & (1 << 4))
+#define HCS_INDICATOR(p)        ((p) & (1 << 16)) /* Port indicators */
			   ^^^^^^^^

whitespace please fix

Quoted 50 lines
drivers/usb/usb_ehci.h +12 -20
 #define HCS_N_PORTS(p)		(((p) >> 0) & 0xf)
 	uint32_t cr_hccparams;
 	uint8_t cr_hcsp_portrt[8];
-};
+} __attribute__ ((packed));
 
 struct ehci_hcor {
 	uint32_t or_usbcmd;
@@ -71,9 +78,9 @@ struct ehci_hcor {
 	uint32_t _reserved_[9];
 	uint32_t or_configflag;
 #define FLAG_CF		(1 << 0)	/* true:  we'll support "high speed" */
-	uint32_t or_portsc[2];
+	uint32_t or_portsc[CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS];
 	uint32_t or_systune;
-};
+} __attribute__ ((packed));
 
 #define USBMODE		0x68		/* USB Device mode */
 #define USBMODE_SDIS	(1 << 3)	/* Stream disable */
@@ -123,26 +130,24 @@ struct usb_linux_config_descriptor {
 #define cpu_to_hc32(x)		cpu_to_le32((x))
 #endif
 
-#define EHCI_PS_WKOC_E		0x00400000	/* RW wake on over current */
-#define EHCI_PS_WKDSCNNT_E	0x00200000	/* RW wake on disconnect */
-#define EHCI_PS_WKCNNT_E	0x00100000	/* RW wake on connect */
-#define EHCI_PS_PTC		0x000f0000	/* RW port test control */
-#define EHCI_PS_PIC		0x0000c000	/* RW port indicator control */
-#define EHCI_PS_PO		0x00002000	/* RW port owner */
-#define EHCI_PS_PP		0x00001000	/* RW,RO port power */
-#define EHCI_PS_LS		0x00000c00	/* RO line status */
-#define EHCI_PS_PR		0x00000100	/* RW port reset */
-#define EHCI_PS_SUSP		0x00000080	/* RW suspend */
-#define EHCI_PS_FPR		0x00000040	/* RW force port resume */
-#define EHCI_PS_OCC		0x00000020	/* RWC over current change */
-#define EHCI_PS_OCA		0x00000010	/* RO over current active */
-#define EHCI_PS_PEC		0x00000008	/* RWC port enable change */
-#define EHCI_PS_PE		0x00000004	/* RW port enable */
-#define EHCI_PS_CSC		0x00000002	/* RWC connect status change */
-#define EHCI_PS_CS		0x00000001	/* RO connect status */
+#define EHCI_PS_WKOC_E		(1 << 22)	/* RW wake on over current */
+#define EHCI_PS_WKDSCNNT_E	(1 << 21)	/* RW wake on disconnect */
+#define EHCI_PS_WKCNNT_E	(1 << 20)	/* RW wake on connect */
+#define EHCI_PS_PO		(1 << 13)	/* RW port owner */
+#define EHCI_PS_PP		(1 << 12)	/* RW,RO port power */
+#define EHCI_PS_LS		(3 << 10)	/* RO line status */
+#define EHCI_PS_PR		(1 << 8)	/* RW port reset */
+#define EHCI_PS_SUSP		(1 << 7)	/* RW suspend */
+#define EHCI_PS_FPR		(1 << 6)	/* RW force port resume */

drivers/usb/usb_ehci.h struct usb_linux_config_descriptor { · line 150

Quoted 10 lines
drivers/usb/usb_ehci.h +7 -1
+#define EHCI_PS_OCC		(1 << 5)	/* RWC over current change */
+#define EHCI_PS_OCA		(1 << 4)	/* RO over current active */
+#define EHCI_PS_PEC		(1 << 3)	/* RWC port enable change */
+#define EHCI_PS_PE		(1 << 2)	/* RW port enable */
+#define EHCI_PS_CSC		(1 << 1)	/* RWC connect status change */
+#define EHCI_PS_CS		(1 << 0)	/* RO connect status */
 #define EHCI_PS_CLEAR		(EHCI_PS_OCC | EHCI_PS_PEC | EHCI_PS_CSC)
 
-#define EHCI_PS_IS_LOWSPEED(x)	(((x) & EHCI_PS_LS) == 0x00000400)
+#define EHCI_PS_IS_LOWSPEED(x)	(((x) & EHCI_PS_LS) == (1 << 10))

IMHP It's personnal preference

drivers/usb/usb_ehci.h struct QH { · line 188

Quoted 11 lines
drivers/usb/usb_ehci.h +1 -1
 /*
  * Schedule Interface Space.
@@ -178,7 +183,7 @@ struct QH {
 };
 
 /* Low level intit functions */
-
 int ehci_hcd_init(void);
 int ehci_hcd_stop(void);
+

ditto

Quoted 22 lines
drivers/usb/usb_ehci.h +0 -0
 #endif /* USB_EHCI_H */
drivers/usb/usb_ehci_core.c +1 -1
index ec50874..167867e 100644
@@ -1,6 +1,7 @@
 /*-
  * Copyright (c) 2007-2008, Juniper Networks, Inc.
  * Copyright (c) 2008, Excito Elektronik i Sk?ne AB
+ * Copyright (c) 2008, Michael Trimarchi <[email protected]>
  * All rights reserved.
  *
  * This program is free software; you can redistribute it and/or
@@ -18,7 +19,6 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  * MA 02111-1307 USA
  */
-#define DEBUG
 #include <common.h>
 #include <asm/byteorder.h>
 #include <usb.h>

drivers/usb/usb_ehci_core.c static struct descriptor { · line 102

Quoted 4 lines
drivers/usb/usb_ehci_core.c +1 -0
@@ -99,6 +99,12 @@ static struct descriptor {
 	},
 };
 
+#if defined CONFIG_EHCI_IS_TDI

please use ifdef or if defined()

drivers/usb/usb_ehci_core.c static struct descriptor { · line 106

Quoted 4 lines
drivers/usb/usb_ehci_core.c +4 -0
+#define ehci_is_TDI()	1
+#else
+#define ehci_is_TDI()	0
+#endif

please replace with (1) and (0)

drivers/usb/usb_ehci_core.c static struct descriptor { · line 107

Quoted 1 line
drivers/usb/usb_ehci_core.c +1 -0
+

Best Regards,
J.

author
#2 lore raw

RFC PATCH 1/1 USB ehci fix and test on ixp4xx hardware

Hi,

Quoted 35 lines · Jean-Christophe PLAGNIOL-VILLARD
Quoted 33 lines · Michael Trimarchi

EHCI fix code and ixp4xx test.
USB ehci configuration parameter:

#define CONFIG_CMD_USB 1
#define CONFIG_USB_STORAGE 1
#define CONFIG_USB_EHCI

#define CONFIG_USB_EHCI_IXP4XX          1
#define CONFIG_EHCI_IS_TDI              1
#define CONFIG_EHCI_DESC_BIG_ENDIAN     1
#define CONFIG_EHCI_MMIO_BIG_ENDIAN     1

#define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 2
#define CONFIG_LEGACY_USB_INIT_SEQ 1

2 USB Device(s) found
scanning bus for storage devices... 0 Storage Device(s) found
=> usb tree

Device Tree:
1 Hub (1.5MBit/s, 0mA)

  |  u-boot EHCI Host Controller
  |
  |+-2  Mass Storage (12MBit/s, 100mA)
       Sony Storage Media 0C07040930296

=>

---
 drivers/usb/usb_ehci.h      |   49 ++++++++++--------
 drivers/usb/usb_ehci_core.c |  122 ++++++++++++++++++++++++++----------------
 2 files changed, 102 insertions(+), 69 deletions(-)
Quoted 11 lines

drivers/usb/usb_ehci.h line 4

Quoted 9 lines
drivers/usb/usb_ehci.h +1 -0
index 90b137a..9e8e7b2 100644
@@ -1,5 +1,6 @@
 /*-
  * Copyright (c) 2007-2008, Juniper Networks, Inc.
+ * Copyright (c) 2008, Michael Trimarchi <[email protected]>
 

please remove you do not do enough modification to claim the copytight

Ok, I do few changes before, but if you think that they aren't a lot, I'll remove it.

Quoted 16 lines

drivers/usb/usb_ehci.h line 28

Quoted 11 lines
drivers/usb/usb_ehci.h +0 -0
  * All rights reserved.
  *

* This program is free software; you can redistribute it and/or

drivers/usb/usb_ehci.h +3 -0
@@ -21,6 +22,10 @@
 #ifndef USB_EHCI_H
 #define USB_EHCI_H
 
+#if !defined(CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS)
+#error "USB EHCI define MAX_ROOT_PORTS"
+#endif
 

I'll prefer this
#if !defined(CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS)
#define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 2
#endif

Quoted 2 lines

other wise you must update everyone

ok

Quoted 12 lines

drivers/usb/usb_ehci.h struct ehci_hccr { · line 55

Quoted 11 lines
drivers/usb/usb_ehci.h +1 -0
+
 /* (shifted) direction/type/recipient from the USB 2.0 spec, table 9.2 */
 #define DeviceRequest \
drivers/usb/usb_ehci.h +2 -0
 	((USB_DIR_IN | USB_TYPE_STANDARD | USB_RECIP_DEVICE) << 8)
@@ -45,10 +50,12 @@ struct ehci_hccr {
 #define HC_LENGTH(p)		(((p) >> 0) & 0x00ff)
 #define HC_VERSION(p)		(((p) >> 16) & 0xffff)
 	uint32_t cr_hcsparams;
+#define HCS_PPC(p)		((p) & (1 << 4))
+#define HCS_INDICATOR(p)        ((p) & (1 << 16)) /* Port indicators */
 
			   ^^^^^^^^
Quoted 2 lines

whitespace please fix

ok

Quoted 58 lines
Quoted 58 lines
drivers/usb/usb_ehci.h +1 -1
 #define HCS_N_PORTS(p)		(((p) >> 0) & 0xf)
 	uint32_t cr_hccparams;
 	uint8_t cr_hcsp_portrt[8];
-};
+} __attribute__ ((packed));
 
 struct ehci_hcor {
drivers/usb/usb_ehci.h +17 -19
 	uint32_t or_usbcmd;
@@ -71,9 +78,9 @@ struct ehci_hcor {
 	uint32_t _reserved_[9];
 	uint32_t or_configflag;
 #define FLAG_CF		(1 << 0)	/* true:  we'll support "high speed" */
-	uint32_t or_portsc[2];
+	uint32_t or_portsc[CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS];
 	uint32_t or_systune;
-};
+} __attribute__ ((packed));
 
 #define USBMODE		0x68		/* USB Device mode */
 #define USBMODE_SDIS	(1 << 3)	/* Stream disable */
@@ -123,26 +130,24 @@ struct usb_linux_config_descriptor {
 #define cpu_to_hc32(x)		cpu_to_le32((x))
 #endif
 
-#define EHCI_PS_WKOC_E		0x00400000	/* RW wake on over current */
-#define EHCI_PS_WKDSCNNT_E	0x00200000	/* RW wake on disconnect */
-#define EHCI_PS_WKCNNT_E	0x00100000	/* RW wake on connect */
-#define EHCI_PS_PTC		0x000f0000	/* RW port test control */
-#define EHCI_PS_PIC		0x0000c000	/* RW port indicator control */
-#define EHCI_PS_PO		0x00002000	/* RW port owner */
-#define EHCI_PS_PP		0x00001000	/* RW,RO port power */
-#define EHCI_PS_LS		0x00000c00	/* RO line status */
-#define EHCI_PS_PR		0x00000100	/* RW port reset */
-#define EHCI_PS_SUSP		0x00000080	/* RW suspend */
-#define EHCI_PS_FPR		0x00000040	/* RW force port resume */
-#define EHCI_PS_OCC		0x00000020	/* RWC over current change */
-#define EHCI_PS_OCA		0x00000010	/* RO over current active */
-#define EHCI_PS_PEC		0x00000008	/* RWC port enable change */
-#define EHCI_PS_PE		0x00000004	/* RW port enable */
-#define EHCI_PS_CSC		0x00000002	/* RWC connect status change */
-#define EHCI_PS_CS		0x00000001	/* RO connect status */
+#define EHCI_PS_WKOC_E		(1 << 22)	/* RW wake on over current */
+#define EHCI_PS_WKDSCNNT_E	(1 << 21)	/* RW wake on disconnect */
+#define EHCI_PS_WKCNNT_E	(1 << 20)	/* RW wake on connect */
+#define EHCI_PS_PO		(1 << 13)	/* RW port owner */
+#define EHCI_PS_PP		(1 << 12)	/* RW,RO port power */
+#define EHCI_PS_LS		(3 << 10)	/* RO line status */
+#define EHCI_PS_PR		(1 << 8)	/* RW port reset */
+#define EHCI_PS_SUSP		(1 << 7)	/* RW suspend */
+#define EHCI_PS_FPR		(1 << 6)	/* RW force port resume */
+#define EHCI_PS_OCC		(1 << 5)	/* RWC over current change */
+#define EHCI_PS_OCA		(1 << 4)	/* RO over current active */
+#define EHCI_PS_PEC		(1 << 3)	/* RWC port enable change */
+#define EHCI_PS_PE		(1 << 2)	/* RW port enable */
+#define EHCI_PS_CSC		(1 << 1)	/* RWC connect status change */
+#define EHCI_PS_CS		(1 << 0)	/* RO connect status */
 #define EHCI_PS_CLEAR		(EHCI_PS_OCC | EHCI_PS_PEC | EHCI_PS_CSC)
 
Quoted 5 lines

drivers/usb/usb_ehci.h struct usb_linux_config_descriptor { · line 151

Quoted 3 lines
drivers/usb/usb_ehci.h +1 -1
-#define EHCI_PS_IS_LOWSPEED(x)	(((x) & EHCI_PS_LS) == 0x00000400)
+#define EHCI_PS_IS_LOWSPEED(x)	(((x) & EHCI_PS_LS) == (1 << 10))
 

IMHP It's personnal preference

I think that it is more readable.

Quoted 6 lines
Quoted 6 lines
drivers/usb/usb_ehci.h +0 -0
 /*
  * Schedule Interface Space.
@@ -178,7 +183,7 @@ struct QH {
 };
 
Quoted 8 lines

drivers/usb/usb_ehci.h struct QH {

Quoted 6 lines
drivers/usb/usb_ehci.h +1 -1
 /* Low level intit functions */
-
 int ehci_hcd_init(void);
 int ehci_hcd_stop(void);
+
 

ditto

ok

Quoted 36 lines
Quoted 22 lines

#endif /* USB_EHCI_H */

drivers/usb/usb_ehci_core.c +1 -1
index ec50874..167867e 100644
@@ -1,6 +1,7 @@
 /*-
  * Copyright (c) 2007-2008, Juniper Networks, Inc.
  * Copyright (c) 2008, Excito Elektronik i Sk?ne AB
+ * Copyright (c) 2008, Michael Trimarchi <[email protected]>
  * All rights reserved.
  *
  * This program is free software; you can redistribute it and/or
@@ -18,7 +19,6 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  * MA 02111-1307 USA
  */
-#define DEBUG
 #include <common.h>
 #include <asm/byteorder.h>
 #include <usb.h>

drivers/usb/usb_ehci_core.c static struct descriptor { · line 103

Quoted 5 lines
drivers/usb/usb_ehci_core.c +1 -0
@@ -99,6 +99,12 @@ static struct descriptor {
 	},
 };
 
+#if defined CONFIG_EHCI_IS_TDI
 

please use ifdef or if defined()

drivers/usb/usb_ehci_core.c static struct descriptor {

Quoted 5 lines
drivers/usb/usb_ehci_core.c +4 -0
+#define ehci_is_TDI()	1
+#else
+#define ehci_is_TDI()	0
+#endif
 

please replace with (1) and (0)

Quoted 7 lines

drivers/usb/usb_ehci_core.c static struct descriptor { · line 110

Quoted 2 lines
drivers/usb/usb_ehci_core.c +1 -0
+
 

Best Regards,
J.

I send another version with your comment fixed.

Regards Michael

#3 lore raw

RFC PATCH 1/1 USB ehci fix and test on ixp4xx hardware

In reply to Jean-Christophe PLAGNIOL-VILLARD
Quoted 1 line · Jean-Christophe PLAGNIOL-VILLARD

On 11:00 Fri 12 Dec , Michael Trimarchi wrote:

<snip>

Quoted 10 lines

drivers/usb/usb_ehci.h line 3

Quoted 8 lines
drivers/usb/usb_ehci.h +1 -0
index 90b137a..9e8e7b2 100644
@@ -1,5 +1,6 @@
 /*-
  * Copyright (c) 2007-2008, Juniper Networks, Inc.
+ * Copyright (c) 2008, Michael Trimarchi <[email protected]>

please remove you do not do enough modification to claim the copytight

Jean-Christophe, did you follow Michael's EHCI patches from the last days? He did quite a lot of work in this driver (e.g. big endian support etc). Definitely enough for adding his Copyright here from my point of view.

Best regards,
Stefan

=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de
=====================================================================

#4 lore raw

RFC PATCH 1/1 USB ehci fix and test on ixp4xx?hardware

Quoted 16 lines · Stefan Roese
Quoted 1 line · Jean-Christophe PLAGNIOL-VILLARD

On 11:00 Fri 12 Dec , Michael Trimarchi wrote:

<snip>

Quoted 10 lines

drivers/usb/usb_ehci.h line 3

Quoted 8 lines
drivers/usb/usb_ehci.h +1 -0
index 90b137a..9e8e7b2 100644
@@ -1,5 +1,6 @@
 /*-
  * Copyright (c) 2007-2008, Juniper Networks, Inc.
+ * Copyright (c) 2008, Michael Trimarchi <[email protected]>

please remove you do not do enough modification to claim the copytight

Quoted 1 line

Jean-Christophe, did you follow Michael's EHCI patches from the last days? He

not too much sorry I've seen after his e-mail
I've miss the Author due different e-amil name "Michael" somtimes and full namy otherwise

Quoted 2 lines

did quite a lot of work in this driver (e.g. big endian support etc). Definitely enough for adding his Copyright here from my point of view.

sure

Best Regards,
J.

#5 lore raw

RFC PATCH 1/1 USB ehci fix and test on ixp4xx hardware

In reply to Stefan Roese

Hello All,

Quoted 4 lines
Quoted 1 line

please remove you do not do enough modification to claim the copytight

Jean-Christophe, did you follow Michael's EHCI patches from the last days? He did quite a lot of work in this driver (e.g. big endian support etc). Definitely enough for adding his Copyright here from my point of view.

I agree on this with Stefan.

Kind Regards,

Remy

Quoted 14 lines

Best regards,
Stefan

=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de
=====================================================================
_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot