Files
u-boot/drivers
Stefan Brüns ac3abf0b7d usb: musb: Fix hub port setting for SPLIT transactions
The ifdef'ed Linux kernel code uses the 1 based port number, whereas U-Boot
puts a 0 based port number into the register. The reason the 0 based port
number apparently works can probably be taken from the USB 2.0 spec:

8.4.2.2 Start-Split Transaction Token
... The host must correctly set the port field for single and multiple TT
hub implementations. A single TT hub implementation *may ignore* the port
field.

Actually, as far as I understand, a multi TT hub defaults to single TT
(bAlternateSetting: 0) until switched via SetInterface, so even "port 42"
would work.

The change was verified by hardcoding the port number to a wrong value,
SPLIT transactions kept working (although using a DWC2 instead of MUSB).
Tested hubs are the RPi onboard SMC9514 and an external "05e3:0608
Genesys Logic, Inc. USB-2.0 4-Port HUB". The former is a multi TT hub,
the latter single TT only.

Addendum: Tested on sunxi/MUSB by Hans de Goede

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Tested-by: Hans de Goede <hdegoede@redhat.com>
2015-12-31 16:16:30 +01:00
..
2015-11-02 10:38:00 +09:00
2015-12-05 18:22:23 -05:00
2015-12-01 08:07:22 -07:00
2015-10-22 14:22:22 -04:00
2015-12-05 18:22:32 -05:00
2015-12-11 06:30:01 +01:00
2015-12-09 17:44:56 +08:00
2015-05-26 14:13:12 +02:00
2015-12-12 15:56:08 -05:00
2015-10-23 09:42:28 -06:00
2015-10-12 12:56:32 -04:00