aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Chen <peter.chen@freescale.com>2011-11-18 14:02:45 +0800
committerEric Miao <eric.miao@linaro.org>2011-12-01 11:36:43 +0800
commitc6a0aefdde1a2b188d7e7bb3d85fc15e7698e16c (patch)
tree1b2d871e0cf7722f576495de772a2b306ea2c629
parent70cfc557f4c04ff2b86cd6f1435fffe182839138 (diff)
ENGR00162583-3 usb header: avoid class driver access register after usb is off
- An well-behavior class driver should disable their endpoints after being notified disconnect with host, we use all endpoints are stopped (ep->stopped) to indicates the class driver will not visit device driver any more. the ep-stopped will be initialized as 1 for non-control endpoint it will be 0 after fsl_ep_enable, and be 1 after fsl_ep_disable. Where is a non-sleep wait routine at disconnect event for waiting all endpoints are stopped - Some controller's (like i.mx6q) DP will change from J to SE0 slowly after the cable disconnects with host, in that case there will be a wakeup interrupt after driver enables the wakeup interrupt. For i.mx6q, there is a discharge routine for DP after the disconnection. - Should not wait vbus to low during first otg switch, as the wait will be timeout when the usb cable is connecting to host. Signed-off-by: Peter Chen <peter.chen@freescale.com>
-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 cb2bcc1a47c..a1f00c200c6 100644
--- a/include/linux/fsl_devices.h
+++ b/include/linux/fsl_devices.h
@@ -119,6 +119,7 @@ struct fsl_usb2_platform_data {
enum usb_wakeup_event (*is_wakeup_event)(struct fsl_usb2_platform_data *);
void (*wakeup_handler)(struct fsl_usb2_platform_data *);
void (*hsic_post_ops)(void);
+ void (*gadget_discharge_dp) (bool);
struct fsl_usb2_wakeup_platform_data *wakeup_pdata;
struct platform_device *pdev;