mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-07 21:24:00 +08:00
781f179830
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> |
||
---|---|---|
.. | ||
am35x.c | ||
blackfin.c | ||
blackfin.h | ||
cppi_dma.c | ||
cppi_dma.h | ||
da8xx.c | ||
davinci.c | ||
davinci.h | ||
Kconfig | ||
Makefile | ||
musb_am335x.c | ||
musb_core.c | ||
musb_core.h | ||
musb_cppi41.c | ||
musb_debug.h | ||
musb_debugfs.c | ||
musb_dma.h | ||
musb_dsps.c | ||
musb_gadget_ep0.c | ||
musb_gadget.c | ||
musb_gadget.h | ||
musb_host.c | ||
musb_host.h | ||
musb_io.h | ||
musb_regs.h | ||
musb_virthub.c | ||
musbhsdma.c | ||
musbhsdma.h | ||
omap2430.c | ||
omap2430.h | ||
tusb6010_omap.c | ||
tusb6010.c | ||
tusb6010.h | ||
ux500_dma.c | ||
ux500.c |