usbdebug: Allow an USB hub on the debug dongle

Some development kits with USB 2.0 HS OTG have an USB hub instead
of being directly connected to the USB host/device controller.

Send the necessary initialisation sequence, using HUB CLASS requests
of PORT_POWER and PORT_RESET to enable a pre-selected port number
where a device supporting debug descriptor is located.

This also adds the Kconfig option for BeagleBone.

Change-Id: I7a5d0ba0962a9ca06bf3196232ed4a03bdfb2b06
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: http://review.coreboot.org/3925
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
This commit is contained in:
Kyösti Mälkki
2013-08-23 23:33:16 +03:00
parent 8f485dee0d
commit d2dac0a7d6
2 changed files with 128 additions and 2 deletions

View File

@ -173,10 +173,11 @@ config USBDEBUG
If unsure, say N.
if USBDEBUG
config USBDEBUG_HCD_INDEX
int "Index for EHCI controller to use with usbdebug"
default 0
depends on USBDEBUG
help
Some boards have multiple EHCI controllers with possibly only
one having the Debug Port capability on an external USB port.
@ -188,7 +189,6 @@ config USBDEBUG_HCD_INDEX
config USBDEBUG_DEFAULT_PORT
int "Default USB port to use as Debug Port"
default 0
depends on USBDEBUG
help
Selects which physical USB port usbdebug dongle is connected to.
Setting of 0 means to scan possible ports starting from 1.
@ -202,6 +202,27 @@ config USBDEBUG_DEFAULT_PORT
your mainboard) is highly board-specific, and you'll likely
have to find out by trial-and-error.
choice
prompt "Type of dongle"
default USBDEBUG_DONGLE_STD
config USBDEBUG_DONGLE_STD
bool "Net20DC or compatible"
config USBDEBUG_DONGLE_BEAGLEBONE
bool "BeagleBone"
help
Use this to configure the USB hub on BeagleBone board.
endchoice
config USBDEBUG_OPTIONAL_HUB_PORT
int
default 2 if USBDEBUG_DONGLE_BEAGLEBONE
default 0
endif # USBDEBUG
# TODO: Deps?
# TODO: Improve description.
config ONBOARD_VGA_IS_PRIMARY