Hi, On Wed, Mar 06, 2013 at 05:56:35PM +0800, Peter Chen wrote: > - During the connect/disconnect host, we need to pullup > and pulldown dp > - Make sure the dp is not pullup until the vbus is on when > flag CI13XXX_PULLUP_ON_VBUS is set > - Using hw_device_state when set run/stop bit > > Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> > --- > drivers/usb/chipidea/udc.c | 10 ++++++++-- > 1 files changed, 8 insertions(+), 2 deletions(-) > > diff --git a/drivers/usb/chipidea/udc.c b/drivers/usb/chipidea/udc.c > index e82dae4..70f9f2d 100644 > --- a/drivers/usb/chipidea/udc.c > +++ b/drivers/usb/chipidea/udc.c > @@ -91,8 +91,10 @@ static int hw_device_state(struct ci13xxx *ci, u32 dma) > /* interrupt, error, port change, reset, sleep/suspend */ > hw_write(ci, OP_USBINTR, ~0, > USBi_UI|USBi_UEI|USBi_PCI|USBi_URI|USBi_SLI); > + hw_write(ci, OP_USBCMD, USBCMD_RS, USBCMD_RS); > } else { > hw_write(ci, OP_USBINTR, ~0, 0); > + hw_write(ci, OP_USBCMD, USBCMD_RS, 0); this patch doesn't make sense to me. What will happen is that you will be enabling pullups when vbus_session() gets called and this might not be what gadget driver wants. You don't want to fiddle with that yourself since I'm changing the framework so that gadget driver will always request pullups to be enabled. Alex, I don't think this patch is correct -- balbi
Attachment:
signature.asc
Description: Digital signature