linux-stable/drivers/phy
Johan Hovold 667347e338 phy: qcom-qmp-combo: fix broken power on
[ Upstream commit 7a7d86d14d ]

The PHY is powered on during phy-init by setting the SW_PWRDN bit in the
COM_POWER_DOWN_CTRL register and then setting the same bit in the in the
PCS_POWER_DOWN_CONTROL register that belongs to the USB part of the
PHY.

Currently, whether power on succeeds depends on probe order and having
the USB part of the PHY be initialised first. In case the DP part of the
PHY is instead initialised first, the intended power on of the USB block
results in a corrupted DP_PHY register (e.g. DP_PHY_AUX_CFG8).

Add a pointer to the USB part of the PHY to the driver data and use that
to power on the PHY also if the DP part of the PHY is initialised first.

Fixes: 52e013d0bf ("phy: qcom-qmp: Add support for DP in USB3+DP combo phy")
Cc: stable@vger.kernel.org	# 5.10
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Link: https://lore.kernel.org/r/20221114081346.5116-5-johan+linaro@kernel.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-01-12 12:01:56 +01:00
..
allwinner phy: sun4i-usb: Add support for the H616 USB PHY 2023-01-04 11:28:56 +01:00
amlogic phy: amlogic: phy-meson-axg-mipi-pcie-analog: Hold reference returned by of_get_parent() 2022-09-20 11:56:38 +05:30
broadcom phy: usb: Fix clock imbalance for suspend/resume 2022-12-31 13:32:48 +01:00
cadence phy: cadence-torrent: Remove unused regmap field from state struct 2022-07-08 10:40:43 +05:30
freescale phy: freescale: imx8m-pcie: Fix the wrong order of phy_init() and phy_power_on() 2022-10-03 10:34:46 +02:00
hisilicon phy: HiSilicon: Fix copy and paste bug in error handling 2021-11-23 10:42:13 +05:30
ingenic
intel phy: intel: Use dev_err_probe() to simplify code 2022-09-24 12:34:56 +05:30
lantiq
marvell phy: marvell: phy-mvebu-a3700-comphy: Reset COMPHY registers before USB 3.0 power on 2022-12-31 13:32:46 +01:00
mediatek phy: phy-mtk-dp: make array driving_params static const 2022-09-29 21:01:27 +05:30
microchip phy-for-6.1 2022-10-07 16:03:01 -07:00
motorola treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_30.RULE (part 2) 2022-06-10 14:51:35 +02:00
mscc
qualcomm phy: qcom-qmp-combo: fix broken power on 2023-01-12 12:01:56 +01:00
ralink phy: ralink: mt7621-pci: add sentinel to quirks table 2022-11-05 13:01:25 +05:30
renesas phy: renesas: phy-rcar-gen3-usb2: Add USB2.0 PHY support for RZ/G2L 2021-08-06 18:12:30 +05:30
rockchip phy: rockchip-snps-pcie3: only look for rockchip,pipe-grf on rk3588 2022-09-29 11:43:04 +05:30
samsung pci-v5.20-changes 2022-08-04 19:30:35 -07:00
socionext phy: uniphier-usb3ss: fix unintended writing zeros to PHY register 2021-12-24 10:06:38 +05:30
st phy: stm32: fix an error code in probe 2022-10-17 10:55:26 +05:30
sunplus phy: sunplus: Fix an IS_ERR() vs NULL bug in sp_usb_phy_probe 2022-11-05 00:29:57 +05:30
tegra phy: tegra: xusb: Fix crash during pad power on/down 2022-10-17 11:07:37 +05:30
ti phy: ti: phy-j721e-wiz: fix reference leaks in wiz_probe() 2022-09-24 11:59:37 +05:30
xilinx phy: xilinx: zynqmp: Fix bus width setting for SGMII 2022-01-27 10:55:26 +05:30
Kconfig phy: usb: Add USB2.0 phy driver for Sunplus SP7021 2022-09-02 21:01:24 +05:30
Makefile phy: usb: Add USB2.0 phy driver for Sunplus SP7021 2022-09-02 21:01:24 +05:30
phy-can-transceiver.c phy: phy-can-transceiver: Add support for setting mux 2022-04-11 20:14:10 +05:30
phy-core-mipi-dphy.c phy: dphy: Correct lpx parameter and its derivatives(ta_{get,go,sure}) 2022-02-25 14:14:06 +05:30
phy-core.c phy: core: Warn when phy_power_on is called before phy_init 2022-04-20 14:45:15 +05:30
phy-lgm-usb.c
phy-lpc18xx-usb-otg.c
phy-pistachio-usb.c
phy-xgene.c phy: phy-xgene.c: Fix alignment of comment 2021-05-31 14:08:55 +05:30