linux/drivers/phy/qualcomm
Abel Vesa c2b9214c34 phy: qcom: edp: Make the number of clocks flexible
[ Upstream commit 7d51b70926 ]

On X Elite, the DP PHY needs another clock called ref, while all other
platforms do not.

The current X Elite devices supported upstream work fine without this
clock, because the boot firmware leaves this clock enabled. But we should
not rely on that. Also, even though this change breaks the ABI, it is
needed in order to make the driver disables this clock along with the
other ones, for a proper bring-down of the entire PHY.

So in order to handle these clocks on different platforms, make the driver
get all the clocks regardless of how many there are provided.

Cc: stable@vger.kernel.org # v6.10
Fixes: db83c107dc ("phy: qcom: edp: Add v6 specific ops and X1E80100 platform support")
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
Link: https://patch.msgid.link/20251224-phy-qcom-edp-add-missing-refclk-v5-2-3f45d349b5ac@oss.qualcomm.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2026-03-04 07:20:56 -05:00
..
Kconfig phy: qcom: Add M31 based eUSB2 PHY driver 2025-06-15 21:58:52 +05:30
Makefile phy: qcom: Add M31 based eUSB2 PHY driver 2025-06-15 21:58:52 +05:30
phy-ath79-usb.c phy: Explicitly include correct DT includes 2023-07-17 11:52:56 +05:30
phy-qcom-apq8064-sata.c phy: Switch back to struct platform_driver::remove() 2024-10-17 20:33:03 +05:30
phy-qcom-edp.c phy: qcom: edp: Make the number of clocks flexible 2026-03-04 07:20:56 -05:00
phy-qcom-eusb2-repeater.c phy-for-6.18 2025-10-06 10:34:22 -07:00
phy-qcom-ipq806x-sata.c phy: Switch back to struct platform_driver::remove() 2024-10-17 20:33:03 +05:30
phy-qcom-ipq806x-usb.c phy: qualcomm: ipq806x-usb: drop unused module alias 2025-08-13 12:19:25 +05:30
phy-qcom-ipq4019-usb.c phy: Explicitly include correct DT includes 2023-07-17 11:52:56 +05:30
phy-qcom-m31-eusb2.c phy: qcom: m31-eusb2: Fix the error log while enabling clock 2025-09-01 18:19:12 +05:30
phy-qcom-m31.c phy: qcom: phy-qcom-m31: Update IPQ5332 M31 USB phy initialization sequence 2025-07-22 19:00:06 +05:30
phy-qcom-pcie2.c phy: qualcomm: pcie2: register as clock provider 2023-01-12 22:44:29 +05:30
phy-qcom-qmp-combo.c phy: qcom: qmp-combo: register a typec mux to change the QMPPHY_MODE 2025-08-20 22:19:09 +05:30
phy-qcom-qmp-common.h phy: qcom: qmp: Add debug prints for register writes 2024-07-31 22:23:07 +05:30
phy-qcom-qmp-dp-com-v3.h phy: qcom: qmp: split DP PHY registers to separate headers 2024-01-30 22:35:38 +05:30
phy-qcom-qmp-dp-phy-v3.h phy: qcom: qmp: split DP PHY registers to separate headers 2024-01-30 22:35:38 +05:30
phy-qcom-qmp-dp-phy-v4.h phy: qcom: qmp: split DP PHY registers to separate headers 2024-01-30 22:35:38 +05:30
phy-qcom-qmp-dp-phy-v5.h phy: qcom: qmp-combo: fix VCO div offset on v5_5nm and v6 2024-04-12 16:56:28 +05:30
phy-qcom-qmp-dp-phy-v6.h phy: qcom: qmp-combo: fix VCO div offset on v5_5nm and v6 2024-04-12 16:56:28 +05:30
phy-qcom-qmp-dp-phy.h phy: qcom: qmp: split DP PHY registers to separate headers 2024-01-30 22:35:38 +05:30
phy-qcom-qmp-pcie-msm8996.c phy: qcom: qmp-pcie-msm8996: Simplify with scoped for each OF child loop 2024-08-30 13:26:37 +05:30
phy-qcom-qmp-pcie-qhp.h phy: qcom-qmp: move PCIE QHP registers to separate header 2022-07-07 10:36:00 +05:30
phy-qcom-qmp-pcie.c phy-for-6.18 2025-10-06 10:34:22 -07:00
phy-qcom-qmp-pcs-misc-v3.h phy: qcom-qmp: move PCS V3 registers to separate headers 2022-07-07 10:35:59 +05:30
phy-qcom-qmp-pcs-misc-v4.h phy: qcom-qmp: move PCS MISC V4 registers to separate header 2023-09-21 15:53:58 +02:00
phy-qcom-qmp-pcs-pcie-v4.h phy: qcom-qmp: pcs-pcie-v4: add missing registers 2022-07-07 10:36:01 +05:30
phy-qcom-qmp-pcs-pcie-v4_20.h phy: qualcomm: qmp-pcie: split PCS_LANE1 region 2024-12-08 21:30:08 +05:30
phy-qcom-qmp-pcs-pcie-v5.h phy: qcom-qmp: Add missing register definitions for PCS V5 2024-06-03 19:32:32 +05:30
phy-qcom-qmp-pcs-pcie-v5_20.h phy: qcom: qmp-pcie: Update PHY settings for QCS8300 & SA8775P 2025-06-26 16:38:46 -07:00
phy-qcom-qmp-pcs-pcie-v6.h phy: qualcomm: qmp-pcie: define several new registers 2024-12-08 21:30:08 +05:30
phy-qcom-qmp-pcs-pcie-v6_20.h phy: qcom: qmp-pcie: Update PCIe1 PHY settings for SM8550 2024-01-30 22:34:54 +05:30
phy-qcom-qmp-pcs-pcie-v6_30.h phy: qcom: qmp: Add phy register and clk setting for x1e80100 PCIe3 2024-10-17 18:21:52 +05:30
phy-qcom-qmp-pcs-sgmii.h phy: qcom: sgmii-eth: move PCS registers to separate header 2024-01-30 22:35:39 +05:30
phy-qcom-qmp-pcs-ufs-v2.h phy: qcom-qmp-ufs: rework regs layout arrays 2023-01-12 22:48:42 +05:30
phy-qcom-qmp-pcs-ufs-v3.h phy: qcom-qmp-ufs: rework regs layout arrays 2023-01-12 22:48:42 +05:30
phy-qcom-qmp-pcs-ufs-v4.h phy: qcom-qmp: move PCS V4 registers to separate headers 2022-07-07 10:36:00 +05:30
phy-qcom-qmp-pcs-ufs-v5.h phy: qcom-qmp-ufs: Add HS G4 mode support to SM8250 SoC 2023-01-17 11:54:57 +05:30
phy-qcom-qmp-pcs-ufs-v6.h phy: qcom: qmp-ufs: update SM8650 tables for Gear 4 & 5 2024-04-12 15:14:08 +05:30
phy-qcom-qmp-pcs-usb-v4.h phy: qcom-qmp: move PCS V4 registers to separate headers 2022-07-07 10:36:00 +05:30
phy-qcom-qmp-pcs-usb-v5.h phy: qcom-qmp: move PCS V5 registers to separate headers 2022-07-07 10:36:00 +05:30
phy-qcom-qmp-pcs-usb-v6.h phy: qcom-qmp-combo: use v6 registers in v6 regs layout 2023-10-13 15:35:21 +05:30
phy-qcom-qmp-pcs-usb-v7.h phy: qcom-qmp: pcs-usb: Add v7 register offsets 2023-12-21 22:37:39 +05:30
phy-qcom-qmp-pcs-usb-v8.h phy: qcom: qmp-combo: Add new PHY sequences for SM8750 2025-06-15 21:58:52 +05:30
phy-qcom-qmp-pcs-v2.h phy: qcom: qmp: Add phy register and clk setting for QCS615 PCIe 2024-12-04 19:11:17 +05:30
phy-qcom-qmp-pcs-v3.h phy: qcom-qmp: pcs-v3: add missing registers 2022-07-07 10:36:01 +05:30
phy-qcom-qmp-pcs-v4.h phy: qcom-qmp: move PCS V4 registers to separate headers 2022-07-07 10:36:00 +05:30
phy-qcom-qmp-pcs-v4_20.h phy: qcom-qmp: split allegedly 4.20 and 5.20 PCS registers 2022-07-07 10:36:00 +05:30
phy-qcom-qmp-pcs-v5.h phy: qcom-qmp-pcie: rename regs layout arrays 2023-01-12 22:48:41 +05:30
phy-qcom-qmp-pcs-v5_20.h phy: qcom: qmp-pcie: Update PHY settings for QCS8300 & SA8775P 2025-06-26 16:38:46 -07:00
phy-qcom-qmp-pcs-v6-n4.h phy: qcom-qmp: pcs: Add missing v6 N4 register offsets 2024-06-03 19:30:47 +05:30
phy-qcom-qmp-pcs-v6.h phy: qualcomm: qmp-pcie: define several new registers 2024-12-08 21:30:08 +05:30
phy-qcom-qmp-pcs-v6_20.h phy: qcom: qmp-pcie: Update PCIe1 PHY settings for SM8550 2024-01-30 22:34:54 +05:30
phy-qcom-qmp-pcs-v6_30.h phy: qcom: qmp: Add phy register and clk setting for x1e80100 PCIe3 2024-10-17 18:21:52 +05:30
phy-qcom-qmp-pcs-v7.h phy: qcom-qmp-pcie: add dual lane PHY support for SM8750 2025-08-19 13:00:57 +05:30
phy-qcom-qmp-pcs-v8.h phy: qcom: qmp-combo: Add new PHY sequences for SM8750 2025-06-15 21:58:52 +05:30
phy-qcom-qmp-qserdes-com-v3.h phy: qcom-qmp: qserdes-com-v3: add missing registers 2022-07-07 10:36:00 +05:30
phy-qcom-qmp-qserdes-com-v4.h phy: qcom-qmp: qserdes-com-v4: add missing registers 2022-07-07 10:36:00 +05:30
phy-qcom-qmp-qserdes-com-v5.h phy: qcom-qmp: qserdes-com-v5: add missing registers 2022-07-07 10:36:00 +05:30
phy-qcom-qmp-qserdes-com-v6.h phy: qcom-qmp-ufs: Add PHY Configuration support for sm8750 2025-03-11 12:24:46 +01:00
phy-qcom-qmp-qserdes-com-v7.h phy: qcom-qmp: qserdes-com: Add v7 register offsets 2023-12-21 22:37:39 +05:30
phy-qcom-qmp-qserdes-com-v8.h phy: qcom: qmp-combo: Add new PHY sequences for SM8750 2025-06-15 21:58:52 +05:30
phy-qcom-qmp-qserdes-com.h phy: qcom-qmp: fix typo in QSERDES_COM_CMN_RSVD5 value 2023-01-12 22:48:41 +05:30
phy-qcom-qmp-qserdes-ln-shrd-v5.h phy: qcom: qmp-pcie: Update PHY settings for QCS8300 & SA8775P 2025-06-26 16:38:46 -07:00
phy-qcom-qmp-qserdes-ln-shrd-v6.h phy: qcom-qmp: qserdes-lane-shared: Add v6 register offsets 2023-02-10 22:28:00 +05:30
phy-qcom-qmp-qserdes-pll.h phy: qcom-qmp: Add missing offsets for Qserdes PLL registers. 2024-06-03 19:32:32 +05:30
phy-qcom-qmp-qserdes-txrx-ufs-v6.h phy: qcom: qmp-ufs: update SM8650 tables for Gear 4 & 5 2024-04-12 15:14:08 +05:30
phy-qcom-qmp-qserdes-txrx-ufs-v7.h phy: qcom-qmp-ufs: Add PHY Configuration support for sm8750 2025-03-11 12:24:46 +01:00
phy-qcom-qmp-qserdes-txrx-v3.h phy: qcom-qmp: qserdes-com-v3: add missing registers 2022-07-07 10:36:00 +05:30
phy-qcom-qmp-qserdes-txrx-v4.h phy: qcom-qmp: qserdes-com-v4: add missing registers 2022-07-07 10:36:00 +05:30
phy-qcom-qmp-qserdes-txrx-v4_20.h phy: qcom-qmp: split allegedly 4.20 and 5.20 TX/RX registers 2022-07-07 10:36:00 +05:30
phy-qcom-qmp-qserdes-txrx-v5.h phy: qcom-qmp: qserdes-com-v5: add missing registers 2022-07-07 10:36:00 +05:30
phy-qcom-qmp-qserdes-txrx-v5_5nm.h phy: qcom-qmp: remove duplicate v5_5nm register definitions 2023-01-12 22:48:41 +05:30
phy-qcom-qmp-qserdes-txrx-v5_20.h phy: qcom-qmp-pcie: add support for sa8775p 2023-07-18 11:37:10 +05:30
phy-qcom-qmp-qserdes-txrx-v6.h phy: qualcomm: qmp-pcie: define several new registers 2024-12-08 21:30:08 +05:30
phy-qcom-qmp-qserdes-txrx-v6_20.h phy: qcom: qmp-pcie: Update PCIe1 PHY settings for SM8550 2024-01-30 22:34:54 +05:30
phy-qcom-qmp-qserdes-txrx-v6_n4.h phy: qcom-qmp: qserdes-txrx: Add missing registers offsets 2024-06-03 19:30:47 +05:30
phy-qcom-qmp-qserdes-txrx-v7.h phy: qcom-qmp-pcie: add dual lane PHY support for SM8750 2025-08-19 13:00:57 +05:30
phy-qcom-qmp-qserdes-txrx-v8.h phy: qcom: qmp-combo: Add new PHY sequences for SM8750 2025-06-15 21:58:52 +05:30
phy-qcom-qmp-qserdes-txrx.h phy: qcom-qmp: qserdes-com: add missing registers 2022-07-07 10:36:00 +05:30
phy-qcom-qmp-ufs.c phy: qcom-qmp-ufs: Add PHY and PLL regulator load 2025-09-01 17:33:10 +05:30
phy-qcom-qmp-usb-legacy.c phy: qcom: qmp-usb-legacy: fix NULL-deref on runtime suspend 2024-10-17 18:33:46 +05:30
phy-qcom-qmp-usb.c phy: qcom-qmp-usb: Fix an NULL vs IS_ERR() bug 2025-05-14 09:29:44 +01:00
phy-qcom-qmp-usbc.c phy: qcom: qmp-usbc: Add qmp configuration for QCS615 2025-03-11 01:13:30 +05:30
phy-qcom-qmp.h phy: qcom: qmp-pcie: Update PHY settings for QCS8300 & SA8775P 2025-06-26 16:38:46 -07:00
phy-qcom-qusb2.c phy: qcom-qusb2: Fix NULL pointer dereference on early suspend 2026-01-23 11:21:21 +01:00
phy-qcom-sgmii-eth.c phy: qcom: sgmii-eth: move PCS registers to separate header 2024-01-30 22:35:39 +05:30
phy-qcom-snps-femto-v2.c phy-for-6.6 2023-09-03 10:38:02 -07:00
phy-qcom-uniphy-pcie-28lp.c phy: qualcomm: qcom-uniphy-pcie 28LP add support for IPQ5018 2025-04-11 17:11:47 +05:30
phy-qcom-usb-hs-28nm.c phy: Revert "phy: qualcomm: usb28nm: Add MDM9607 init sequence" 2023-01-13 23:15:42 +05:30
phy-qcom-usb-hs.c phy: Explicitly include correct DT includes 2023-07-17 11:52:56 +05:30
phy-qcom-usb-hsic.c phy: qualcomm: call clk_disable_unprepare in the error handling 2022-09-24 12:48:10 +05:30
phy-qcom-usb-ss.c phy: qualcomm: usb: Add SuperSpeed PHY driver 2020-03-20 19:34:29 +05:30