usb, davinci: usb 2.0 problem on an am1808 based board
Manjunathappa, Prakash
prakash.pm at ti.com
Mon May 21 06:18:00 EDT 2012
Hi Heiko,
On Mon, May 21, 2012 at 11:40:33, Heiko Schocher wrote:
> Hello Manjunathappa,
>
> Manjunathappa, Prakash wrote:
> > Hi Heiko,
> >
> > I do not know how putting delay helped MSC device detection.
> > Can you please check if MUSB is coming up in "b_idle" state(by
> > $cat /sys/devices/platform/musb-da8xx/musb-hdrc/mode)?
> > State should move to b_peripheral on connecting gadget cable.
>
> We have connected the USB0_ID pin to ground -> host only mode, so
> I could not try this.
>
Ok, So it is coming up in which state, "$cat /sys/devices/platform/musb-da8xx/musb-hdrc/mode"?
> > If you connect MSC device via mini-A connector, state should change to "a_host".
> > OTG timer is responsible for above state changes, can you please check if below
> > changes are present?
> > diff --git a/drivers/usb/musb/da8xx.c b/drivers/usb/musb/da8xx.c index 4da7492..a1a692e 100644
> > --- a/drivers/usb/musb/da8xx.c
> > +++ b/drivers/usb/musb/da8xx.c
> > @@ -76,6 +76,7 @@
> > #define DA8XX_INTR_TX_SHIFT 0
> > #define DA8XX_INTR_TX_MASK (DA8XX_USB_TX_EP_MASK << DA8XX_INTR_TX_SHIFT)
> >
> > +#define A_WAIT_BCON_TIMEOUT 1100 /* in ms */
> > #define DA8XX_MENTOR_CORE_OFFSET 0x400
> >
> > #define CFGCHIP2 IO_ADDRESS(DA8XX_SYSCFG0_BASE + DA8XX_CFGCHIP2_REG)
> > @@ -443,6 +444,7 @@ static int da8xx_musb_init(struct musb *musb)
> > rev, __raw_readl(CFGCHIP2),
> > musb_readb(reg_base, DA8XX_USB_CTRL_REG));
> >
> > + musb->a_wait_bcon = A_WAIT_BCON_TIMEOUT;
> > musb->isr = da8xx_musb_interrupt;
> > return 0;
> > fail:
>
> No, this change is not in current mainline ...
>
> Added this patch, and I get:
>
> $ make -s uImage
> drivers/usb/musb/da8xx.c: In function 'da8xx_musb_init':
> drivers/usb/musb/da8xx.c:448:22: error: 'A_WAIT_BCON_TIMEOUT' undeclared (first use in this function)
> drivers/usb/musb/da8xx.c:448:22: note: each undeclared identifier is reported only once for each function it appears in
> make[3]: *** [drivers/usb/musb/da8xx.o] Error 1
> make[2]: *** [drivers/usb/musb] Error 2
> make[1]: *** [drivers/usb] Error 2
> make: *** [drivers] Error 2
> $
>
> Do you mean
>
> musb->a_wait_bcon = OTG_TIME_A_WAIT_BCON;
>
> ? This is setup in musb_core.c::allocate_instance() as Sergei Shtylyov
> already commented ... nevertheless tried with this define your patch,
> and my USB stick gets detected too...
>
Does that mean issue got fixed or Do you still have delay in da8xx_musb_interrupt handler?
Thanks,
Prakash
More information about the linux-arm-kernel
mailing list