summaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
authorDavid Daney2011-04-27 19:54:22 +0200
committerGreg Kroah-Hartman2011-05-03 19:09:32 +0200
commit14be249c969817e05c4f1ce042906e1c5be68873 (patch)
tree1045874eafc11e3ae74b993f14359249229e9552 /drivers/usb
parentusb: octeon2-common.c: Configure ports for proper electrical characteristics. (diff)
downloadkernel-qcow2-linux-14be249c969817e05c4f1ce042906e1c5be68873.tar.gz
kernel-qcow2-linux-14be249c969817e05c4f1ce042906e1c5be68873.tar.xz
kernel-qcow2-linux-14be249c969817e05c4f1ce042906e1c5be68873.zip
usb: Configure octeon2 glue logic for proper uSOF cycle period.
The reset value of the uSOF cycle period is incorrect. Set it to 60,000 bits. Without this, several commercial USB flash memory devices and hubs fail to work properly. Signed-off-by: David Daney <ddaney@caviumnetworks.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/host/octeon2-common.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/usb/host/octeon2-common.c b/drivers/usb/host/octeon2-common.c
index aef6364d6314..d9df423f3d12 100644
--- a/drivers/usb/host/octeon2-common.c
+++ b/drivers/usb/host/octeon2-common.c
@@ -183,6 +183,9 @@ end_clock:
cvmx_write_csr(CVMX_UCTLX_UPHY_PORTX_CTL_STATUS(i, 0),
port_ctl_status.u64);
}
+
+ /* Set uSOF cycle period to 60,000 bits. */
+ cvmx_write_csr(CVMX_UCTLX_EHCI_FLA(0), 0x20ull);
exit:
mutex_unlock(&octeon2_usb_clocks_mutex);
}