• Sebastian Andrzej Siewior's avatar
    usb: musb: am335x-evm: Do not remove the session bit HOST-only mode · 781f1798
    Sebastian Andrzej Siewior authored
    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: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
    Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
    781f1798
am335x-evm.dts 12 KB