Series add support for SW babble control logic found in new silicon versions of AM335x. Runtime differentiation of silicon version is done by checking the BABBLE_CTL register. For newer silicon the register default value read is 0x4 and for older versions its 0x0.
Patch 1 -> Handle Babble only if MUSB is in HOST mode Patch 2 -> Convert recover work to delayed work. Patch 3 -> usb_phy_vbus_(off/_on) are NOPs for am335x PHY so use usb_phy(_shutdown/_init) in musb_platform_reset() Patch 4 -> Add return value for musb_platform_reset() in prepration to support SW babble_ctrl Patch 5 -> Add the sw_babble_control() Patch 6 -> Enable sw babble control for newer silicon v4 -> v5 : Added a debug print before resetting MUSB. changed a musb_readb to dsps_readb introduced in Patch#5 of v4. v3 -> v4 : Fixes an issue in gagdet mode - BUS RESET should not be handled as a BABBLE. Added a check for the same.(Patch #1) Enable sw babble control properly (Patch #6) v2 -> v3 : Modify musb_platform_reset() to return zero on success. George Cherian (6): usb: musb: core: Handle Babble condition only in HOST mode usb: musb: core: Convert babble recover work to delayed work usb: musb: dsps: Call usb_phy(_shutdown/_init) during musb_platform_reset() usb: musb: core: Convert the musb_platform_reset to have a return value. usb: musb: dsps: Add the sw_babble_control() usb: musb: dsps: Enable sw babble control for newer silicon drivers/usb/musb/musb_core.c | 27 ++++++++------ drivers/usb/musb/musb_core.h | 12 +++--- drivers/usb/musb/musb_dsps.c | 87 ++++++++++++++++++++++++++++++++++++++++++-- drivers/usb/musb/musb_regs.h | 7 ++++ 4 files changed, 113 insertions(+), 20 deletions(-) -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/