linux/drivers/usb/dwc3
Neal Frager c0484aa1ad usb: dwc3: xilinx: make sure pipe clock is deselected in usb2 only mode
commit a48f744bef upstream.

When the USB3 PHY is not defined in the Linux device tree, there could
still be a case where there is a USB3 PHY active on the board and enabled
by the first stage bootloader. If serdes clock is being used then the USB
will fail to enumerate devices in 2.0 only mode.

To solve this, make sure that the PIPE clock is deselected whenever the
USB3 PHY is not defined and guarantees that the USB2 only mode will work
in all cases.

Fixes: 9678f3361a ("usb: dwc3: xilinx: Skip resets and USB3 register settings for USB2.0 mode")
Cc: stable@vger.kernel.org
Signed-off-by: Neal Frager <neal.frager@amd.com>
Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
Acked-by: Peter Korsgaard <peter@korsgaard.com>
Link: https://lore.kernel.org/r/1733163111-1414816-1-git-send-email-radhey.shyam.pandey@amd.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2024-12-19 18:11:24 +01:00
..
core.c usb: dwc3: fix fault at system suspend if device was already runtime suspended 2024-11-14 13:19:39 +01:00
core.h usb: dwc3: gadget: Rewrite endpoint allocation flow 2024-12-14 19:59:42 +01:00
debug.h usb: dwc3: Add function suspend and function wakeup support 2023-03-29 10:27:01 +02:00
debugfs.c usb: dwc3: debugfs: Resume dwc3 before accessing registers 2023-05-13 17:56:22 +09:00
drd.c usb: dwc3: Fix default mode initialization 2023-12-03 07:33:10 +01:00
dwc3-am62.c usb: dwc3-am62: Disable wakeup at remove 2024-04-03 15:28:25 +02:00
dwc3-exynos.c usb: dwc3: exynos: Add support for Exynos850 variant 2023-08-22 14:47:22 +02:00
dwc3-haps.c usb: dwc3: haps: Constify the software node 2021-02-04 15:42:06 +01:00
dwc3-imx8mp.c usb: dwc3: remove unnecessary platform_set_drvdata() 2023-08-22 14:45:19 +02:00
dwc3-keystone.c usb: dwc3: remove unnecessary platform_set_drvdata() 2023-08-22 14:45:19 +02:00
dwc3-meson-g12a.c usb: dwc3: meson-g12a: do post init to fix broken usb after resumption 2023-08-22 14:44:09 +02:00
dwc3-octeon.c just cleanups and fixes 2023-09-07 10:35:14 -07:00
dwc3-of-simple.c usb: dwc3: dwc3-octeon: Convert to glue driver 2023-08-04 14:52:15 +02:00
dwc3-omap.c usb: dwc3: omap: add missing depopulate in probe error path 2024-09-04 13:28:29 +02:00
dwc3-pci.c usb: dwc3: pci: add support for the Intel Panther Lake 2024-07-18 13:21:19 +02:00
dwc3-qcom.c USB: dwc3: qcom: fix wakeup after probe deferral 2023-12-03 07:33:10 +01:00
dwc3-st.c usb: dwc3: st: add missing depopulate in probe error path 2024-09-04 13:28:29 +02:00
dwc3-xilinx.c usb: dwc3: xilinx: make sure pipe clock is deselected in usb2 only mode 2024-12-19 18:11:24 +01:00
ep0.c usb: dwc3: ep0: Don't reset resource alloc flag 2024-12-14 20:00:22 +01:00
gadget.c usb: dwc3: gadget: Rewrite endpoint allocation flow 2024-12-14 19:59:42 +01:00
gadget.h usb: dwc3: gadget: Rewrite endpoint allocation flow 2024-12-14 19:59:42 +01:00
host.c usb: dwc3: core: Prevent phy suspend during init 2024-05-17 12:02:29 +02:00
io.h usb: dwc3: fix incorrect kernel-doc comment syntax in files 2021-04-02 15:20:51 +02:00
Kconfig usb: dwc3: dwc3-octeon: Convert to glue driver 2023-08-04 14:52:15 +02:00
Makefile usb: dwc3: dwc3-octeon: Convert to glue driver 2023-08-04 14:52:15 +02:00
trace.c usb: dwc3: fix incorrect kernel-doc comment syntax in files 2021-04-02 15:20:51 +02:00
trace.h usb: dwc3: change some trace event __dynamic_array() to __get_buf() 2023-03-09 15:35:03 +01:00
ulpi.c usb: dwc3: ulpi: Fix USB2.0 HS/FS/LS PHY suspend regression 2020-12-28 15:55:44 +01:00