aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/fsl_devices.h
diff options
context:
space:
mode:
authorChangming Huang <jerry.huang@nxp.com>2016-11-29 13:45:38 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-12-05 15:13:58 +0100
commit9d4b82706357f2eb23f45309227fc94d11eea255 (patch)
tree6cfe74d0824423d75256a71587bec8d73e24b032 /include/linux/fsl_devices.h
parentusb: hub: Wait for connection to be reestablished after port reset (diff)
downloadlinux-dev-9d4b82706357f2eb23f45309227fc94d11eea255.tar.xz
linux-dev-9d4b82706357f2eb23f45309227fc94d11eea255.zip
fsl/usb: Workarourd for USB erratum-A005697
The EHCI specification states the following in the SUSP bit description: In the Suspend state, the port is sensitive to resume detection. Note that the bit status does not change until the port is suspended and that there may be a delay in suspending a port if there is a transaction currently in progress on the USB. However, in NXP USBDR controller, the PORTSCx[SUSP] bit changes immediately when the application sets it and not when the port is actually suspended. So the application must wait for at least 10 milliseconds after a port indicates that it is suspended, to make sure this port has entered suspended state before initiating this port resume using the Force Port Resume bit. This bit is for NXP controller, not EHCI compatible. Signed-off-by: Changming Huang <jerry.huang@nxp.com> Signed-off-by: Ramneek Mehresh <ramneek.mehresh@nxp.com> Acked-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/fsl_devices.h')
-rw-r--r--include/linux/fsl_devices.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/fsl_devices.h b/include/linux/fsl_devices.h
index f2912914141a..60cef8227534 100644
--- a/include/linux/fsl_devices.h
+++ b/include/linux/fsl_devices.h
@@ -100,6 +100,7 @@ struct fsl_usb2_platform_data {
unsigned already_suspended:1;
unsigned has_fsl_erratum_a007792:1;
unsigned has_fsl_erratum_a005275:1;
+ unsigned has_fsl_erratum_a005697:1;
unsigned check_phy_clk_valid:1;
/* register save area for suspend/resume */