Linux MIPS Architecture development
 help / color / mirror / Atom feed
* no power on USB on linux 2.6?
@ 2005-06-15 13:46 Thomas Sattler
  2005-06-15 13:57 ` Bruno Randolf
  0 siblings, 1 reply; 3+ messages in thread
From: Thomas Sattler @ 2005-06-15 13:46 UTC (permalink / raw)
  To: linux-mips

Hi there ...

My name is Thomas I'm trying to use an USB-headset on a meshcube, a MIPS
based embedded device (http://meshcube.org/meshwiki/). If I plug in the
headset while running 2.4.27 a led on the headset turns on. If I do the
same with 2.6.12-rc6 (latest MIPS CVS) nothing happens. I also tried an
optical USB-mouse with the same result. All these tests are done with
Debian GNU/Linux Sarge 3.1 on NFS-root.

My kernelconfig is:
  $ sed '/^#/d;/USB/!d' .config
  CONFIG_SND_USB_AUDIO=m
  CONFIG_USB=y
  CONFIG_USB_DEBUG=y
  CONFIG_USB_DEVICEFS=y
  CONFIG_USB_ARCH_HAS_HCD=y
  CONFIG_USB_ARCH_HAS_OHCI=y
  CONFIG_USB_EHCI_HCD=m
  CONFIG_USB_OHCI_HCD=y
  CONFIG_USB_HID=y
  CONFIG_USB_HIDINPUT=y

kernel boot messages are:
  usbcore: registered new driver usbfs
  usbcore: registered new driver hub
    [...]
  au1xxx-ohci au1xxx-ohci.0: Au1xxx OHCI
  au1xxx-ohci au1xxx-ohci.0: new USB bus registered, assigned bus number 1
  au1xxx-ohci au1xxx-ohci.0: irq 26, io mem 0x10100000
  usb usb1: Product: Au1xxx OHCI
  usb usb1: Manufacturer: Linux 2.6.12-rc6 ohci_hcd
  usb usb1: SerialNumber: Au1xxx
  hub 1-0:1.0: USB hub found
  hub 1-0:1.0: 2 ports detected
  USB Universal Host Controller Interface driver v2.2
  sl811: driver sl811-hcd, 19 May 2005

FYI 2.4.27 messages:
  usb.c: registered new driver usbdevfs
  usb.c: registered new driver hub
  host/usb-ohci.c: USB OHCI at membase 0xb0100000, IRQ 26
  host/usb-ohci.c: usb-builtin, non-PCI OHCI
  usb.c: new USB bus registered, assigned bus number 1
  hub.c: USB hub found
  hub.c: 2 ports detected

hotplug (initscripts) report:
  Starting hotplug subsystem:
     pci     
     pci      [success]
     usb     
     usb      [success]
     isapnp  
     isapnp   [success]
     ide     
     ide      [success]
     input   
     input    [success]
     scsi    
     scsi     [success]
  done.

the proc-filesystem tells:
  $ cat /proc/bus/usb/devices
  T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
  B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
  D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
  P:  Vendor=0000 ProdID=0000 Rev= 2.06
  S:  Manufacturer=Linux 2.6.11 ohci_hcd
  S:  Product=Au1xxx OHCI
  S:  SerialNumber=au1xxx
  C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=  0mA
  I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
  E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

As far as I can see USB drivers are working correctly, hardware is
detected but the USB is not working. Any hints?

TIA
Thomas

-- 
Please keep mailinglists in english as they are meant to be
read in the whole world. -- Feel free to send PM in german.

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

* Re: no power on USB on linux 2.6?
  2005-06-15 13:46 no power on USB on linux 2.6? Thomas Sattler
@ 2005-06-15 13:57 ` Bruno Randolf
  2005-06-15 18:12   ` Thomas Sattler
  0 siblings, 1 reply; 3+ messages in thread
From: Bruno Randolf @ 2005-06-15 13:57 UTC (permalink / raw)
  To: Thomas Sattler; +Cc: linux-mips

[-- Attachment #1: Type: text/plain, Size: 2985 bytes --]

hi thomas!

i think the problem is that in arch/mips/au1000/mtx-1/board_setup.c the power 
switch for USB is turned on if CONFIG_USB_OHCI is defined. this seems to have 
changed to CONFIG_USB_OHCI_HCD.

bruno


On Wednesday 15 June 2005 15:46, you wrote:
> Hi there ...
>
> My name is Thomas I'm trying to use an USB-headset on a meshcube, a MIPS
> based embedded device (http://meshcube.org/meshwiki/). If I plug in the
> headset while running 2.4.27 a led on the headset turns on. If I do the
> same with 2.6.12-rc6 (latest MIPS CVS) nothing happens. I also tried an
> optical USB-mouse with the same result. All these tests are done with
> Debian GNU/Linux Sarge 3.1 on NFS-root.
>
> My kernelconfig is:
>   $ sed '/^#/d;/USB/!d' .config
>   CONFIG_SND_USB_AUDIO=m
>   CONFIG_USB=y
>   CONFIG_USB_DEBUG=y
>   CONFIG_USB_DEVICEFS=y
>   CONFIG_USB_ARCH_HAS_HCD=y
>   CONFIG_USB_ARCH_HAS_OHCI=y
>   CONFIG_USB_EHCI_HCD=m
>   CONFIG_USB_OHCI_HCD=y
>   CONFIG_USB_HID=y
>   CONFIG_USB_HIDINPUT=y
>
> kernel boot messages are:
>   usbcore: registered new driver usbfs
>   usbcore: registered new driver hub
>     [...]
>   au1xxx-ohci au1xxx-ohci.0: Au1xxx OHCI
>   au1xxx-ohci au1xxx-ohci.0: new USB bus registered, assigned bus number 1
>   au1xxx-ohci au1xxx-ohci.0: irq 26, io mem 0x10100000
>   usb usb1: Product: Au1xxx OHCI
>   usb usb1: Manufacturer: Linux 2.6.12-rc6 ohci_hcd
>   usb usb1: SerialNumber: Au1xxx
>   hub 1-0:1.0: USB hub found
>   hub 1-0:1.0: 2 ports detected
>   USB Universal Host Controller Interface driver v2.2
>   sl811: driver sl811-hcd, 19 May 2005
>
> FYI 2.4.27 messages:
>   usb.c: registered new driver usbdevfs
>   usb.c: registered new driver hub
>   host/usb-ohci.c: USB OHCI at membase 0xb0100000, IRQ 26
>   host/usb-ohci.c: usb-builtin, non-PCI OHCI
>   usb.c: new USB bus registered, assigned bus number 1
>   hub.c: USB hub found
>   hub.c: 2 ports detected
>
> hotplug (initscripts) report:
>   Starting hotplug subsystem:
>      pci
>      pci      [success]
>      usb
>      usb      [success]
>      isapnp
>      isapnp   [success]
>      ide
>      ide      [success]
>      input
>      input    [success]
>      scsi
>      scsi     [success]
>   done.
>
> the proc-filesystem tells:
>   $ cat /proc/bus/usb/devices
>   T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
>   B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
>   D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
>   P:  Vendor=0000 ProdID=0000 Rev= 2.06
>   S:  Manufacturer=Linux 2.6.11 ohci_hcd
>   S:  Product=Au1xxx OHCI
>   S:  SerialNumber=au1xxx
>   C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=  0mA
>   I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
>   E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms
>
> As far as I can see USB drivers are working correctly, hardware is
> detected but the USB is not working. Any hints?
>
> TIA
> Thomas

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

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

* Re: no power on USB on linux 2.6?
  2005-06-15 13:57 ` Bruno Randolf
@ 2005-06-15 18:12   ` Thomas Sattler
  0 siblings, 0 replies; 3+ messages in thread
From: Thomas Sattler @ 2005-06-15 18:12 UTC (permalink / raw)
  To: Bruno Randolf; +Cc: linux-mips

[-- Attachment #1: Type: text/plain, Size: 467 bytes --]

Hi there ...

If Bruno is right and CONFIG_USB_OHCI simply was renamed to
CONFIG_USB_OHCI_HCD than there are currently six files in
the CVS that sould be patched (patch attached):

arch/mips/au1000/csb250/board_setup.c
arch/mips/au1000/mtx-1/board_setup.c
arch/mips/au1000/pb1000/board_setup.c
arch/mips/au1000/pb1100/board_setup.c
arch/mips/au1000/pb1500/board_setup.c
drivers/char/au1000_gpio.c

BTW: My cube is playing ABBA 'Dancing Queen' right now! :-)

Thomas


[-- Attachment #2: usbohci2usbohcihcd.patch --]
[-- Type: text/plain, Size: 5872 bytes --]

diff -Nur linux-latest/arch/mips/au1000/csb250/board_setup.c linux-patched/arch/mips/au1000/csb250/board_setup.c
--- linux-latest/arch/mips/au1000/csb250/board_setup.c	2005-01-15 00:59:07.000000000 +0100
+++ linux-patched/arch/mips/au1000/csb250/board_setup.c	2005-06-15 19:53:17.000000000 +0200
@@ -59,7 +59,7 @@
 	au_writel(0, SYS_PINSTATERD);
 	udelay(100);
 
-#if defined (CONFIG_USB_OHCI) || defined (CONFIG_AU1X00_USB_DEVICE)
+#if defined (CONFIG_USB_OHCI_HCD) || defined (CONFIG_AU1X00_USB_DEVICE)
 
 	/* GPIO201 is input for PCMCIA card detect */
 	/* GPIO203 is input for PCMCIA interrupt request */
@@ -88,7 +88,7 @@
 	/*
 	 * Route 48MHz FREQ2 into USB Host and/or Device
 	 */
-#ifdef CONFIG_USB_OHCI
+#ifdef CONFIG_USB_OHCI_HCD
 	sys_clksrc |= ((4<<12) | (0<<11) | (0<<10));
 #endif
 #ifdef CONFIG_AU1X00_USB_DEVICE
@@ -103,7 +103,7 @@
 	pin_func |= 0x8000;
 #endif
 	au_writel(pin_func, SYS_PINFUNC);
-#endif // defined (CONFIG_USB_OHCI) || defined (CONFIG_AU1X00_USB_DEVICE)
+#endif // defined (CONFIG_USB_OHCI_HCD) || defined (CONFIG_AU1X00_USB_DEVICE)
 
 	/* Configure GPIO2....it's used by PCI among other things.
 	*/
diff -Nur linux-latest/arch/mips/au1000/mtx-1/board_setup.c linux-patched/arch/mips/au1000/mtx-1/board_setup.c
--- linux-latest/arch/mips/au1000/mtx-1/board_setup.c	2005-06-15 17:35:59.000000000 +0200
+++ linux-patched/arch/mips/au1000/mtx-1/board_setup.c	2005-06-15 19:53:17.000000000 +0200
@@ -52,7 +52,7 @@
 
 void __init board_setup(void)
 {
-#if defined (CONFIG_USB_OHCI) || defined (CONFIG_AU1X00_USB_DEVICE)
+#if defined (CONFIG_USB_OHCI_HCD) || defined (CONFIG_AU1X00_USB_DEVICE)
 #ifdef CONFIG_AU1X00_USB_DEVICE
 	// 2nd USB port is USB device
 	au_writel(au_readl(SYS_PINFUNC) & (u32)(~0x8000), SYS_PINFUNC);
@@ -60,7 +60,7 @@
 	// enable USB power switch
 	au_writel( au_readl(GPIO2_DIR) | 0x10, GPIO2_DIR );
 	au_writel( 0x100000, GPIO2_OUTPUT );
-#endif // defined (CONFIG_USB_OHCI) || defined (CONFIG_AU1X00_USB_DEVICE)
+#endif // defined (CONFIG_USB_OHCI_HCD) || defined (CONFIG_AU1X00_USB_DEVICE)
 
 #ifdef CONFIG_PCI
 #if defined(__MIPSEB__)
diff -Nur linux-latest/arch/mips/au1000/pb1000/board_setup.c linux-patched/arch/mips/au1000/pb1000/board_setup.c
--- linux-latest/arch/mips/au1000/pb1000/board_setup.c	2005-01-19 03:18:44.000000000 +0100
+++ linux-patched/arch/mips/au1000/pb1000/board_setup.c	2005-06-15 19:53:17.000000000 +0200
@@ -55,7 +55,7 @@
 	au_writel(0, SYS_PINSTATERD);
 	udelay(100);
 
-#if defined (CONFIG_USB_OHCI) || defined (CONFIG_AU1X00_USB_DEVICE)
+#if defined (CONFIG_USB_OHCI_HCD) || defined (CONFIG_AU1X00_USB_DEVICE)
 	/* zero and disable FREQ2 */
 	sys_freqctrl = au_readl(SYS_FREQCTRL0);
 	sys_freqctrl &= ~0xFFF00000;
@@ -103,7 +103,7 @@
 	/*
 	 * Route 48MHz FREQ2 into USB Host and/or Device
 	 */
-#ifdef CONFIG_USB_OHCI
+#ifdef CONFIG_USB_OHCI_HCD
 	sys_clksrc |= ((4<<12) | (0<<11) | (0<<10));
 #endif
 #ifdef CONFIG_AU1X00_USB_DEVICE
@@ -121,7 +121,7 @@
 	au_writel(pin_func, SYS_PINFUNC);
 	au_writel(0x2800, SYS_TRIOUTCLR);
 	au_writel(0x0030, SYS_OUTPUTCLR);
-#endif // defined (CONFIG_USB_OHCI) || defined (CONFIG_AU1X00_USB_DEVICE)
+#endif // defined (CONFIG_USB_OHCI_HCD) || defined (CONFIG_AU1X00_USB_DEVICE)
 
 	// make gpio 15 an input (for interrupt line)
 	pin_func = au_readl(SYS_PINFUNC) & (u32)(~0x100);
diff -Nur linux-latest/arch/mips/au1000/pb1100/board_setup.c linux-patched/arch/mips/au1000/pb1100/board_setup.c
--- linux-latest/arch/mips/au1000/pb1100/board_setup.c	2005-01-15 00:56:38.000000000 +0100
+++ linux-patched/arch/mips/au1000/pb1100/board_setup.c	2005-06-15 19:53:17.000000000 +0200
@@ -56,7 +56,7 @@
 	au_writel(0, SYS_PININPUTEN);
 	udelay(100);
 
-#if defined (CONFIG_USB_OHCI) || defined (CONFIG_AU1X00_USB_DEVICE)
+#if defined (CONFIG_USB_OHCI_HCD) || defined (CONFIG_AU1X00_USB_DEVICE)
 	// configure pins GPIO[14:9] as GPIO
 	pin_func = au_readl(SYS_PINFUNC) & (u32)(~0x80);
 
@@ -98,7 +98,7 @@
 	pin_func |= 0x8000;
 #endif
 	au_writel(pin_func, SYS_PINFUNC);
-#endif // defined (CONFIG_USB_OHCI) || defined (CONFIG_AU1X00_USB_DEVICE)
+#endif // defined (CONFIG_USB_OHCI_HCD) || defined (CONFIG_AU1X00_USB_DEVICE)
 
 	/* Enable sys bus clock divider when IDLE state or no bus activity. */
 	au_writel(au_readl(SYS_POWERCTRL) | (0x3 << 5), SYS_POWERCTRL);
diff -Nur linux-latest/arch/mips/au1000/pb1500/board_setup.c linux-patched/arch/mips/au1000/pb1500/board_setup.c
--- linux-latest/arch/mips/au1000/pb1500/board_setup.c	2005-01-15 00:56:38.000000000 +0100
+++ linux-patched/arch/mips/au1000/pb1500/board_setup.c	2005-06-15 19:53:17.000000000 +0200
@@ -57,7 +57,7 @@
 	au_writel(0, SYS_PINSTATERD);
 	udelay(100);
 
-#if defined (CONFIG_USB_OHCI) || defined (CONFIG_AU1X00_USB_DEVICE)
+#if defined (CONFIG_USB_OHCI_HCD) || defined (CONFIG_AU1X00_USB_DEVICE)
 
 	/* GPIO201 is input for PCMCIA card detect */
 	/* GPIO203 is input for PCMCIA interrupt request */
@@ -86,7 +86,7 @@
 	/*
 	 * Route 48MHz FREQ2 into USB Host and/or Device
 	 */
-#ifdef CONFIG_USB_OHCI
+#ifdef CONFIG_USB_OHCI_HCD
 	sys_clksrc |= ((4<<12) | (0<<11) | (0<<10));
 #endif
 #ifdef CONFIG_AU1X00_USB_DEVICE
@@ -101,7 +101,7 @@
 	pin_func |= 0x8000;
 #endif
 	au_writel(pin_func, SYS_PINFUNC);
-#endif // defined (CONFIG_USB_OHCI) || defined (CONFIG_AU1X00_USB_DEVICE)
+#endif // defined (CONFIG_USB_OHCI_HCD) || defined (CONFIG_AU1X00_USB_DEVICE)
 
 
 
diff -Nur linux-latest/drivers/char/au1000_gpio.c linux-patched/drivers/char/au1000_gpio.c
--- linux-latest/drivers/char/au1000_gpio.c	2005-02-28 14:35:57.000000000 +0100
+++ linux-patched/drivers/char/au1000_gpio.c	2005-06-15 19:53:17.000000000 +0200
@@ -84,7 +84,7 @@
 	avail_mask &= ~(inl(IC1_MASKRD) &
 			(inl(IC1_CFG0RD) | inl(IC1_CFG1RD)));
 
-#ifdef CONFIG_USB_OHCI
+#ifdef CONFIG_USB_OHCI_HCD
 	avail_mask &= ~((1<<4) | (1<<11));
 #ifndef CONFIG_AU1X00_USB_DEVICE
 	avail_mask &= ~((1<<5) | (1<<13));

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

end of thread, other threads:[~2005-06-15 18:13 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-06-15 13:46 no power on USB on linux 2.6? Thomas Sattler
2005-06-15 13:57 ` Bruno Randolf
2005-06-15 18:12   ` Thomas Sattler

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