On Mon, 2009-08-10 at 19:16 +0300, Felipe Balbi wrote: > Hi, > > On Mon, Aug 10, 2009 at 10:33:19AM -0400, Peter Barada wrote: > > On Sat, 2009-08-08 at 10:17 +0300, Felipe Balbi wrote: > > > Hi, > > > > > > On Sat, Aug 08, 2009 at 09:43:13AM +0300, Felipe Balbi wrote: > > > > On Fri, Aug 07, 2009 at 10:17:12PM +0200, Balbi Felipe (Nokia-D/Helsinki) wrote: > > > > > On Fri, Aug 07, 2009 at 09:22:33PM +0200, ext Peter Barada wrote: > > > > > > Someting strange is going on. If I boot with the MUSB->OTG adapter -> > > > > > > thumbdrive plugged in, and then modprobe the driver, it finds the > > > > > > thumbdrive. I can then remove/reinsert the OTG adapter -> thumbdrive > > > > > > multiple times, and each time it is enumerated. > > > > > > > > > > > > If I boot w/o the OTG adapter -> thumbdrive plugged in, modprobe the > > > > > > musb driver, and then plug in the OTG adaptor ->thumbdrive, it is not > > > > > > enumerated. > > > > > > > > > > > > Any idea why I need the OTG adapter -> thumbdrive plugged in at kernel > > > > > > boot for it to enumerate the thumbdrive? > > > > > > > > > > which board are you using ? > > > > > > > > ok, got you. it's 35xx-based with twl4030. > > > > > > > > when you plug the micro-a cable, see on drivers/usb/otg/twl4030-usb.c > > > > what happens. You should have a print about the link status, see if that > > > > is ID. > > > > > > > > Then try something like this patch: > > > > > > > > diff --git a/drivers/usb/otg/twl4030-usb.c b/drivers/usb/otg/twl4030-usb.c > > > > index 9e3e7a5..4bc5b7f 100644 > > > > --- a/drivers/usb/otg/twl4030-usb.c > > > > +++ b/drivers/usb/otg/twl4030-usb.c > > > > Felipe, > > > > Thanks for the patch. With the following modified patch (to fit my tree > > as my pull was from the Kevin's PM tree, commit > > 7c5cb7862d32cb344be7831d466535d5255e35ac) it worked like a charm: > > Great, I'll clean it up and send it to Greg for mainline integration. Actually, not quite. I noticed that twl4030_vbus_work only sets Vbus, never clears it. With that change and the driver configured for OTG mode (I had it host when I tested), it doesn't enumerate. I added code to decipher the link state, and on startup I now see: Jan 1 00:00:13 OMAP-35x user.debug kernel: twl4030_usb twl4030_usb: HW_CONDITIONS 0x72/114; link 1 (None) Then when I load the driver: Jan 1 00:01:30 OMAP-35x user.debug kernel: twl4030_usb twl4030_usb: HW_CONDITIONS 0xf2/242; link 2 (Vbus) Jan 1 00:01:30 OMAP-35x user.debug kernel: twl4030_usb twl4030_usb: HW_CONDITIONS 0x72/114; link 1 (None) And when I plug in the OTG adapter/thumbdrive: Jan 1 00:02:24 OMAP-35x user.debug kernel: twl4030_usb twl4030_usb: HW_CONDITIONS 0x76/118; link 3 (ID) and Vbus goes to +5V 30mS after ID grounds, and stays at 5V for only 30mS then goes back to ground. Pulling out and reinserting repeast the cycle. During this total time, only two interrupts occur ont he MUSB controller. It looks like the connect interrupt is not occuring. I'm adding more code to track the interrupts for both the twl4030-usb and musb_hdrc so I can understand better what's happening (and more importantly what's not). -- Peter Barada <peterb@xxxxxxxxxxx> Logic Product Development, Inc. -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html