1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/phy
BH Hsieh 55f1a5f7c9 phy: tegra: xusb: reset VBUS & ID OVERRIDE
Observed VBUS_OVERRIDE & ID_OVERRIDE might be programmed
with unexpected value prior to XUSB PADCTL driver, this
could also occur in virtualization scenario.

For example, UEFI firmware programs ID_OVERRIDE=GROUNDED to set
a type-c port to host mode and keeps the value to kernel.
If the type-c port is connected a usb host, below errors can be
observed right after usb host mode driver gets probed. The errors
would keep until usb role class driver detects the type-c port
as device mode and notifies usb device mode driver to set both
ID_OVERRIDE and VBUS_OVERRIDE to correct value by XUSB PADCTL
driver.

[  173.765814] usb usb3-port2: Cannot enable. Maybe the USB cable is bad?
[  173.765837] usb usb3-port2: config error

Taking virtualization into account, asserting XUSB PADCTL
reset would break XUSB functions used by other guest OS,
hence only reset VBUS & ID OVERRIDE of the port in
utmi_phy_init.

Fixes: bbf711682c ("phy: tegra: xusb: Add Tegra186 support")
Cc: stable@vger.kernel.org
Change-Id: Ic63058d4d49b4a1f8f9ab313196e20ad131cc591
Signed-off-by: BH Hsieh <bhsieh@nvidia.com>
Signed-off-by: Henry Lin <henryl@nvidia.com>
Link: https://lore.kernel.org/r/20250122105943.8057-1-henryl@nvidia.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2025-02-14 18:03:05 +05:30
..
allwinner phy: sun4i-usb: Remove unused of_gpio.h 2024-12-08 21:37:32 +05:30
amlogic phy: constify of_phandle_args in xlate 2024-02-23 17:43:14 +05:30
broadcom phy: usb: Toggle the PHY power during init 2024-12-04 19:45:35 +05:30
cadence phy-for-6.13 2024-11-27 13:33:43 -08:00
freescale phy: freescale: fsl-samsung-hdmi: Limit PLL lock detection clock divider to valid range 2025-02-13 23:00:45 +05:30
hisilicon phy: HiSilicon: Don't use "proxy" headers 2024-12-08 21:36:59 +05:30
ingenic phy: Explicitly include correct DT includes 2023-07-17 11:52:56 +05:30
intel phy: Switch back to struct platform_driver::remove() 2024-10-17 20:33:03 +05:30
lantiq phy: constify of_phandle_args in xlate 2024-02-23 17:43:14 +05:30
marvell phy: marvell: Fix spelling mistake "exlicitly" -> "explicitly" 2024-12-04 19:41:59 +05:30
mediatek phy-for-6.14 2025-01-29 14:32:38 -08:00
microchip phy: lan969x-serdes: add support for lan969x serdes driver 2024-10-22 00:02:04 +05:30
motorola phy: Switch back to struct platform_driver::remove() 2024-10-17 20:33:03 +05:30
mscc phy: constify of_phandle_args in xlate 2024-02-23 17:43:14 +05:30
nuvoton phy: nuvoton: add new driver for the Nuvoton MA35 SoC USB 2.0 PHY 2024-08-29 23:52:37 +05:30
qualcomm phy-for-6.14 2025-01-29 14:32:38 -08:00
ralink phy: constify of_phandle_args in xlate 2024-02-23 17:43:14 +05:30
realtek USB / Thunderbolt (USB4) changes for 6.13-rc1 2024-11-29 11:19:31 -08:00
renesas phy: Switch back to struct platform_driver::remove() 2024-10-17 20:33:03 +05:30
rockchip phy: rockchip: naneng-combphy: compatible reset with old DT 2025-02-04 10:42:37 +05:30
samsung phy: exynos5-usbdrd: gs101: ensure power is gated to SS phy in phy_exit() 2025-02-14 17:58:21 +05:30
socionext phy: constify of_phandle_args in xlate 2024-02-23 17:43:14 +05:30
st phy: stm32: Fix constant-value overflow assertion 2025-02-10 22:26:07 +05:30
starfive phy: starfive: jh7110-usb: Fix link configuration to controller 2024-10-17 20:19:44 +05:30
sunplus phy: sunplus: return negative error code in sp_usb_phy_probe 2023-11-27 18:39:18 +05:30
tegra phy: tegra: xusb: reset VBUS & ID OVERRIDE 2025-02-14 18:03:05 +05:30
ti phy: ti: gmii-sel: Do not use syscon helper to build regmap 2025-02-14 18:00:01 +05:30
xilinx phy: Switch back to struct platform_driver::remove() 2024-10-17 20:33:03 +05:30
Kconfig phy: add NXP PTN3222 eUSB2 to USB2 redriver 2024-10-17 20:48:27 +05:30
Makefile phy: add NXP PTN3222 eUSB2 to USB2 redriver 2024-10-17 20:48:27 +05:30
phy-airoha-pcie-regs.h phy: airoha: Fix REG_CSR_2L_RX{0,1}_REV0 definitions 2024-10-17 20:52:48 +05:30
phy-airoha-pcie.c phy: airoha: Fix REG_CSR_2L_JCPLL_SDM_HREN config in airoha_pcie_phy_init_ssc_jcpll() 2024-10-17 20:52:48 +05:30
phy-can-transceiver.c phy: phy-can-transceiver: insert space after include 2023-12-21 22:39:59 +05:30
phy-core-mipi-dphy.c phy: dphy: add support to calculate the timing based on hs_clk_rate 2022-10-27 14:38:04 +03:00
phy-core.c phy-for-6.14 2025-01-29 14:32:38 -08:00
phy-lgm-usb.c phy: Switch back to struct platform_driver::remove() 2024-10-17 20:33:03 +05:30
phy-lpc18xx-usb-otg.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
phy-nxp-ptn3222.c phy: add NXP PTN3222 eUSB2 to USB2 redriver 2024-10-17 20:48:27 +05:30
phy-pistachio-usb.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 2019-06-05 17:37:15 +02:00
phy-xgene.c phy: constify of_phandle_args in xlate 2024-02-23 17:43:14 +05:30