Re: Chipidea gadget unplug/disconnect event

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jul 04, 2014 at 11:54:57AM +0200, Michael Grzeschik wrote:
> On Fri, Jul 04, 2014 at 01:39:08AM +0000, Peter Chen wrote:
> >  
> > > > >
> > > >
> > > > Yes, it has already implemented at ci_usc_vbus_session.
> > > >
> > > > > I see the code path in ci_udc_vbus_session of udc.c to trigger such
> > > > > an event, but unfortunately it was never possible to run into that
> > > code.
> > > > >
> > > > > The function ci_otg_work in otg.c is prepared to do that in case the
> > > > > irq got triggered by OTGSC_BSVIS bit change.
> > > > >
> > > > > This is true for plugging, but never happened to be called on
> > > unplugging.
> > > > > Is there anything missing to get this working? Or is this completely
> > > > > impossible by the core? I was already fiddling around with the other
> > > > > irq cases OTGSC_*IE, but never got anything useful.
> > > >
> > > > Once the vbus lower than B_SESSION_VALID, it will trigger (set
> > > > OTGSC_BSVIS too) BSV interrupt.
> > > 
> > > By theory! ;)
> > > 
> > > > Check your vbus after unplugging please.
> > > 
> > > Today I measured the voltage level on vbus and it still had ~2.6V while
> > > being not connected to anything.
> > > 
> > > > > I am working on the imx25 otg capable SoC.
> > > 
> > > I validated this with two different imx25 boards and realized, that we
> > > have this external vbus divider errata for that SoC.
> > > 
> > > Errata: ENGcm09152
> > > 
> > > Its likely that the issue is related to this problem as the vbus was not
> > > connected to anything different, than the SoC in that case.
> > > 
> >  
> > Check the voltage at both cpu side (otgsc get value from it) and connector.
> > check if you have a big cap at vbus.
> 
> > check if set otgsc.vd makes things different
> 
> This bit changes a lot! :) With that bit set, it works as
> expected. The odd thing is that, without having an gadget
> loaded (not having RUN/STOP bit set in USBCMD) it was working
> already as expected. After starting the controller with setting
> RUN/STOP bit in USBCMD no plug/unplug irqs occurred anymore.
> 

It is not reasonable dp pullup will affect vbus, check if the board
design causes it or the SoC (or its setting) causes it, I add Fabio
in cc list, if possible, we can check if Freescale evk has this problem
or not.

-- 
Best Regards,
Peter Chen
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux