mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-06 10:57:46 +00:00
usb: musb: am335x-evm: Do not remove the session bit HOST-only mode
This is what I observe: On the first connect, the musb starts with DEVCTL.Session set. On disconnect, musb_core calls try_idle. That functions removes the Session bit signalizing that the session is over (something that only in OTG is required). A new device, that is plugged, is no longer recognized. I've setup a timer and checked the DEVCTL register and I haven't seen a change in VBus and I saw the B-Device bit set. After setting the IDDIG into A mode and forcing the device to behave like a A device, I didn't see a change. Neither VBUS goes to 0b11 nor does a session start request comes. In the TI-v3.2 kernel they skip to call musb_platform_try_idle() in the OTG_STATE_A_WAIT_BCON state while not in OTG mode. Since the second port hast a standard A plug the patch changes the port to run in host mode only and skips the timer which would remove DEVCTL.Session so we can reconnect to another device later. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
parent
9dfa36218d
commit
781f179830
2 changed files with 3 additions and 0 deletions
|
@ -192,6 +192,7 @@ usb@47401000 {
|
||||||
|
|
||||||
usb@47401800 {
|
usb@47401800 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
dr_mode = "host";
|
||||||
};
|
};
|
||||||
|
|
||||||
dma-controller@07402000 {
|
dma-controller@07402000 {
|
||||||
|
|
|
@ -231,6 +231,8 @@ static void dsps_musb_try_idle(struct musb *musb, unsigned long timeout)
|
||||||
glue->last_timer = jiffies;
|
glue->last_timer = jiffies;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (musb->port_mode == MUSB_PORT_MODE_HOST)
|
||||||
|
return;
|
||||||
|
|
||||||
if (time_after(glue->last_timer, timeout) &&
|
if (time_after(glue->last_timer, timeout) &&
|
||||||
timer_pending(&glue->timer)) {
|
timer_pending(&glue->timer)) {
|
||||||
|
|
Loading…
Reference in a new issue