• David Brownell's avatar
    MUSB: More TUSB OTG support · e3071039
    David Brownell authored
    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: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
    e3071039
tusb6010.h 13.7 KB