On 11/04/16 16:26, Felipe Balbi wrote: > > Hi, > > Roger Quadros <rogerq@xxxxxx> writes: >> On 11/04/16 15:18, Felipe Balbi wrote: >>> >>> Hi, >>> >>> Roger Quadros <rogerq@xxxxxx> writes: >>>> Don't make any decisions regarding VBUS session based on ID >>>> status. That is best left to the OTG core. >>> >>> what about builds who don't want OTG and/or dual-role ? >>> >>>> Pass ID and VBUS events independent of each other so that OTG >>>> core knows exactly what to do. >>>> >>>> This makes dual-role with extcon work with OTG irq on OMAP platforms. >>>> >>>> Signed-off-by: Roger Quadros <rogerq@xxxxxx> >>>> --- >>>> drivers/usb/dwc3/dwc3-omap.c | 15 ++++++--------- >>>> 1 file changed, 6 insertions(+), 9 deletions(-) >>>> >>>> diff --git a/drivers/usb/dwc3/dwc3-omap.c b/drivers/usb/dwc3/dwc3-omap.c >>>> index 51ca098..c9b918d 100644 >>>> --- a/drivers/usb/dwc3/dwc3-omap.c >>>> +++ b/drivers/usb/dwc3/dwc3-omap.c >>>> @@ -233,19 +233,14 @@ static void dwc3_omap_set_mailbox(struct dwc3_omap *omap, >>>> } >>>> >>>> val = dwc3_omap_read_utmi_ctrl(omap); >>>> - val &= ~(USBOTGSS_UTMI_OTG_CTRL_IDDIG >>>> - | USBOTGSS_UTMI_OTG_CTRL_VBUSVALID >>>> - | USBOTGSS_UTMI_OTG_CTRL_SESSEND); >>>> - val |= USBOTGSS_UTMI_OTG_CTRL_SESSVALID >>>> - | USBOTGSS_UTMI_OTG_CTRL_POWERPRESENT; >>>> + val &= ~USBOTGSS_UTMI_OTG_CTRL_IDDIG; >>> >>> this creates the possibility of having a USB peripheral with VBUS_VALID, >>> right >> >> Sorry, I didn't get what you meant. > > if you're touching these bits independently from each other, won't you > have a situation where you notify IDFLOAT but don't notify that VBUS is > off ? > We're setting the mailbox state for both ID and VBUS in dwc3_omap_extcon_register() depending on the initial extcon state. After that, ID and VBUS will be signalled only when they change. cheers, -roger -- 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