CHROMIUM: exynos: reset external HSIC hub
authorVincent Palatin <vpalatin@chromium.org>
Fri, 26 Oct 2012 16:24:51 +0000 (09:24 -0700)
committerChromeBot <chrome-bot@google.com>
Thu, 10 Jan 2013 21:56:31 +0000 (13:56 -0800)
commit9c8b4165bc823bbdbe3349340dd7abfc199e5f92
tree7df098bbe78d5dbc7e0231d5fa1e7e568ca79f70
parentd9bb491d6924b78800af1b8514f6346fe7077058
CHROMIUM: exynos: reset external HSIC hub

The former code was only ensuring that the reset line was released but
neither doing an actual reset pulse if it was already before nor
ensuring we had proper reset timings.
If the HSIC hub was used before booting (e.g on Spring, the external
USB2 port is connected the HSIC hub, so the bootloader is using it to
boot from USB), we need to do a proper 100us low reset pulse, then wait
for 4 ms for the hub to finish initialization (as per SMSC 3503
datasheet).

Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
BUG=chrome-os-partner:14490
TEST=boot on Spring from a USB key connected to the external USB2 port
(which is connected to the HSIC hub
boot on Snow, do a "lsusb" and see the internal USB peripherals
connected the HSIC hub are there (e.g."ID 1410:a021 Novatel wireless"
 and "ID 2232:1037" which is webcam).

Change-Id: Idb15188aa1b1d502387a5e67b3598d016eeb6ab7
Reviewed-on: https://gerrit.chromium.org/gerrit/36693
Reviewed-by: Doug Anderson <dianders@chromium.org>
Commit-Queue: Vincent Palatin <vpalatin@chromium.org>
Tested-by: Vincent Palatin <vpalatin@chromium.org>
arch/arm/boot/dts/cros5250-common.dtsi
arch/arm/mach-exynos/setup-usb-phy.c