usb: hub: fix power good delay timing
authorStephen Warren <swarren@nvidia.com>
Mon, 19 May 2014 20:21:17 +0000 (14:21 -0600)
committerMarek Vasut <marex@denx.de>
Sun, 1 Jun 2014 17:19:16 +0000 (19:19 +0200)
commit0d437bcaf9be36d7bb954cb261635678c790dff7
tree0c831e4de044ba7dc395038659b2c3b559710646
parentbd694244db7bc9699548ca276f992aa5ce9bbac0
usb: hub: fix power good delay timing

usb_hub_power_on() currently waits for the maximum of (a) the hub port's
power output to become good, (b) the max time the USB specification
allows a device to take to connect.

However, these two operations must occur in series rather than in
parallel. First, the power supply ramps up to the level required to
power the USB device, and then the device may take a certain amount of
time to connect (assert D+/D- pullups).

Related, the maximum time that a device has to assert pullups is 1s not
100ms.

This is explained in "Connect Timing ECN.pdf", itself part of
usb_20_042814.zip from www.usb.org.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
common/usb_hub.c