aboutsummaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior2013-08-20 18:35:49 +0200
committerFelipe Balbi2013-08-27 14:18:41 -0500
commit781f17983015dae33324e34d1bb831e715fa04d4 (patch)
tree3325350ea933ed6bc1c4797116646f14055f8e22 /arch
parent9dfa36218dadf1821da5823773dd689b4e650e00 (diff)
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>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/boot/dts/am335x-evm.dts1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/am335x-evm.dts b/arch/arm/boot/dts/am335x-evm.dts
index 648a67e74d1b..e8ec8756e498 100644
--- a/arch/arm/boot/dts/am335x-evm.dts
+++ b/arch/arm/boot/dts/am335x-evm.dts
@@ -192,6 +192,7 @@
usb@47401800 {
status = "okay";
+ dr_mode = "host";
};
dma-controller@07402000 {