usb: Configure octeon2 glue logic for proper uSOF cycle period.
authorDavid Daney <ddaney@caviumnetworks.com>
Wed, 27 Apr 2011 17:54:22 +0000 (10:54 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 3 May 2011 17:09:32 +0000 (10:09 -0700)
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>
drivers/usb/host/octeon2-common.c

index aef6364d63143c8537a06cc4d43ab3e1e14eece5..d9df423f3d1209872544f53657e6db1577a4082f 100644 (file)
@@ -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);
 }