At some i.mx SoCs, when controller works at host mode, the PHY register needs to be changed at device connect, disconnect, bus suspend and resume due to the SoC limitations. The phy notification should be added according to below rules: 1. Only set HW_USBPHY_CTRL.ENHOSTDISCONDETECT during high speed host mode. 2. Do not set HW_USBPHY_CTRL.ENHOSTDISCONDETECT during the reset and speed negotiation period. 3. Do not set HW_USBPHY_CTRL.ENHOSTDISCONDETECT during host suspend/resume sequence. Please refer: i.mx23RM(page 413) for detail. http://www.freescale.com/files/dsp/doc/ref_manual/IMX23RM.pdf Freescale i.MX SoC, i.mx23, i.mx28 and i.mx6(i.mx6SL does not need to follow the 3rd rule) need to follow above rules. The correct notification setting method should be: 1. Set connect notify after the second bus reset. 2. Set disconnect notify after disconnection. 3. Set suspend nofity after bus goes to suspend (portsc.suspendM=1). 4. Set resume notify after resume (portsc.fpr=0). Peter Chen (4): usb: phy: add notify_suspend/notify_resume callback usb: mxs-phy: implement notify_suspend/notify_resume callback usb: chipidea: add phy notify at suspend/resume procedure usb: refine phy notify operation during connection and disconnection drivers/usb/chipidea/host.c | 75 +++++++++++++++++++++++++++++++++++++++++- drivers/usb/core/hub.c | 14 ++++---- drivers/usb/otg/mxs-phy.c | 56 +++++++++++++++++++++++++------- include/linux/usb/phy.h | 44 +++++++++++++++++++++---- 4 files changed, 161 insertions(+), 28 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html