MUSB: More TUSB OTG support
Add more host/OTG functionality.
New Features:
- Cable based role switching (using the ID pin) mostly works. This gives
much of the end-user value for USB OTG; there's also dynamic role
switching (using special HNP protocol with another OTG device), which
surely won't work yet.
- Root can write 0/N to /sys/module/musb_hdrc/parameters/musb_otg to
disable OTG functionality, forcing B-Default mode (with optional SRP
support, but without 8mA current limits) when it's set. Change this
before the gadget driver initializes (e.g. before "modprobe").
Bugfixes:
- Fix many OTG mode startup glitches, notably for the root hub.
- Add workaround for "issue 4".
Cleanups:
- Remove more mode-specific #ifdeffery
- ReMoveSomeCamelCasing
- Quieter startup
- Quash another Kconfig rebellion
- Add missing bit declaration
- Tersify TUSB irq messages
Open Issues:
- Nothing passes remote wakeup down to root hub (unchanged)
- Strange VBUS errors (unchanged; workaround: use hub modified for
N770, providing 5V supply till TUSB board does so reliably);
- Plug in/out as peripheral many times; fine. As host (with modified
hub), ditto. Now peripheral again ... fails.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Showing
Please register or sign in to comment