2
0
mirror of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-09-04 20:19:47 +08:00
linux/drivers/usb/chipidea
Xu Yang 421255afa2 usb: chipidea: imx: improve usbmisc_imx7d_pullup()
When add workaround for ERR051725, the usbmisc will put PHY to
Non-driving mode (OPMODE = 01) after stopping the device controller
and put PHY back to Normal mode (OPMODE = 00) after starting the device
controller.

However, this will bring issue for host controller. Because the PHY may
stay in Non-driving mode after switching the role from device to host.
Then the port will not work if USB device is attached. To fix this issue,
improving the workaround by putting PHY to Non-driving mode for a certain
period and back to Normal mode finally. To make host detect a disconnect
signal, the period should be at least 125us (a micro-frame time) for
high-speed link.

And only working as high-speed mode will need workaround for ERR051725.
So this will also filter the pullup event for high-speed.

Fixes: 11992b4100 ("usb: chipidea: imx: implement workaround for ERR051725")
Reviewed-by: Jun Li <jun.li@nxp.com>
Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
Acked-by: Peter Chen <peter.chen@kernel.org>
Link: https://lore.kernel.org/r/20250811100833.862876-1-xu.yang_2@nxp.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-08-13 17:19:10 +02:00
..
bits.h
ci_hdrc_imx.c usb: chipidea: imx: improve usbmisc_imx7d_pullup() 2025-08-13 17:19:10 +02:00
ci_hdrc_imx.h usb: chipidea: imx: add imx_usbmisc_pullup() hook 2025-06-19 12:28:25 +02:00
ci_hdrc_msm.c usb: Switch back to struct platform_driver::remove() 2024-10-04 15:13:03 +02:00
ci_hdrc_npcm.c usb: Switch back to struct platform_driver::remove() 2024-10-04 15:13:03 +02:00
ci_hdrc_pci.c usb: chipidea: ci_hdrc_pci: Fix improper use of kerneldoc format 2020-07-09 17:19:56 +02:00
ci_hdrc_tegra.c usb: Switch back to struct platform_driver::remove() 2024-10-04 15:13:03 +02:00
ci_hdrc_usb2.c usb: Switch back to struct platform_driver::remove() 2024-10-04 15:13:03 +02:00
ci.h usb: chipidea: udc: limit usb request length to max 16KB 2024-10-04 15:13:58 +02:00
core.c usb: Use (of|device)_property_present() for non-boolean properties 2024-11-05 13:29:26 +01:00
debug.c usb: chipidea: debug: remove redundant 'role' debug file 2023-03-23 17:27:46 +01:00
host.c USB: Use str_enable_disable-like helpers 2025-01-15 18:28:13 +01:00
host.h
Kconfig usb: chipidea: Add support for NPCM 2023-10-21 12:46:00 +02:00
Makefile usb: chipidea: Add support for NPCM 2023-10-21 12:46:00 +02:00
otg_fsm.c USB: chipidea: Switch to use hrtimer_setup() 2025-02-18 11:19:01 +01:00
otg_fsm.h
otg.c usb: chipidea: add CI_HDRC_FORCE_VBUS_ACTIVE_ALWAYS flag 2023-10-21 12:45:45 +02:00
otg.h usb: chipidea: core: add controller resume support when controller is powered off 2022-10-23 14:34:53 +02:00
trace.c usb: chipidea: add tracepoint support for udc 2020-12-10 08:45:26 +08:00
trace.h tracing/treewide: Remove second parameter of __assign_str() 2024-05-22 20:14:47 -04:00
udc.c Merge merge point of tag 'usb-6.16-rc5' into usb-next 2025-07-05 07:52:33 +02:00
udc.h usb: chipidea: udc: create bounce buffer for problem sglist entries if possible 2024-10-04 15:13:58 +02:00
ulpi.c Revert "usb: chipidea: move ci_ulpi_init after the phy initialization" 2024-06-04 14:51:09 +02:00
usbmisc_imx.c usb: chipidea: imx: improve usbmisc_imx7d_pullup() 2025-08-13 17:19:10 +02:00