]> git.baikalelectronics.ru Git - uboot.git/commit
usb: hub: Update handling connect status/change in usb_scan_port()
authorBin Meng <bmeng.cn@gmail.com>
Wed, 19 Jul 2017 13:49:57 +0000 (21:49 +0800)
committerMarek Vasut <marex@denx.de>
Fri, 28 Jul 2017 21:34:18 +0000 (23:34 +0200)
commit4dc4dd4b2741bd4091451929b060312c394596aa
treee691ff42ea35e747e93098e1c6162abb63905e02
parent1df68eca0a6cecc186d065b59592851eb76c0928
usb: hub: Update handling connect status/change in usb_scan_port()

It was observed that on Intel MinnowMax board, when xHCI is enabled
in the BayTrail SoC, with a USB 3.0 device connected to the bottom
USB 3.0 port (mapped to xHCI root port #7), its PORTSC register is
always 0x201203 (CCS = 1, CSC = 0). The root cause of such behavior
is unknown yet. Connect status change bit is set on the same port
with a USB 2.0 device (mapped to xHCI port #1, which is a different
port on the root hub).

With current logic in usb_scan_port(), the enumeration process will
abort if it does not detect a connect status change on a hub port.
However since a device connection status is correctly reported, the
enumeration process can still continue.

With this change, USB device connected to the bottom blue port on
MinnowMax board can be enumerated under either SS or HS mode.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
Tested-by: Stefan Roese <sr@denx.de>
Tested-by: Dinh Nguyen <dinguyen@kernel.org>
common/usb_hub.c