linux/drivers/phy/qualcomm
Marijn Suijten d60c471a86 phy: Revert "phy: qualcomm: usb28nm: Add MDM9607 init sequence"
This reverts commit 557a28811c.

This commit introduced an init sequence from downstream DT [1] in the
driver.  As mentioned by the comment above the HSPHY_INIT_CFG macro for
this sequence:

    /*
     * The macro is used to define an initialization sequence.  Each tuple
     * is meant to program 'value' into phy register at 'offset' with 'delay'
     * in us followed.
     */

Instead of corresponding to offsets into the phy register, the sequence
read by the downstream driver [2] is passed into ulpi_write [3] which
crafts the address-value pair into a new value and writes it into the
same register at USB_ULPI_VIEWPORT [4].  In other words, this init
sequence is programmed into the hardware in a totally different way than
downstream and is unlikely to achieve the desired result, if the hsphy
is working at all.

An alternative method needs to be found to write these init values at
the desired location.  Fortunately mdm9607 did not land upstream yet [5]
and should have its compatible revised to use the generic one, instead
of a compatible that writes wrong data to the wrong registers.

[1]: https://android.googlesource.com/kernel/msm/+/android-7.1.0_r0.2/arch/arm/boot/dts/qcom/mdm9607.dtsi#585
[2]: https://android.googlesource.com/kernel/msm/+/android-7.1.0_r0.2/drivers/usb/phy/phy-msm-usb.c#4183
[3]: https://android.googlesource.com/kernel/msm/+/android-7.1.0_r0.2/drivers/usb/phy/phy-msm-usb.c#468
[4]: https://android.googlesource.com/kernel/msm/+/android-7.1.0_r0.2/drivers/usb/phy/phy-msm-usb.c#418
[5]: https://lore.kernel.org/linux-arm-msm/20210805222812.40731-1-konrad.dybcio@somainline.org/

Reported-by: Michael Srba <Michael.Srba@seznam.cz>
Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org>
Reviewed-by: Stephan Gerhold <stephan@gerhold.net>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Link: https://lore.kernel.org/r/20221214223733.648167-1-marijn.suijten@somainline.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2023-01-13 23:15:42 +05:30
..
Kconfig phy: qcom-qmp-pcie: add support for sc8280xp 4-lane PHYs 2022-11-10 12:34:55 +05:30
Makefile phy: qcom-qmp: switch to new split QMP PHY driver 2022-06-09 23:49:41 +05:30
phy-ath79-usb.c phy: ath79-usb: Fix the main reset name to match the DT binding 2019-01-16 18:00:57 +05:30
phy-qcom-apq8064-sata.c phy: qualcomm: convert to devm_platform_ioremap_resource(_byname) 2020-11-16 12:47:47 +05:30
phy-qcom-edp.c phy: qcom: edp: Postpone clk_set_rate until the PLL is up 2022-09-02 22:27:12 +05:30
phy-qcom-ipq806x-sata.c phy: qualcomm: convert to devm_platform_ioremap_resource(_byname) 2020-11-16 12:47:47 +05:30
phy-qcom-ipq806x-usb.c drivers: phy: qcom: ipq806x-usb: conver latch function to pool macro 2022-01-24 09:58:12 +05:30
phy-qcom-ipq4019-usb.c phy: qualcomm: convert to devm_platform_ioremap_resource(_byname) 2020-11-16 12:47:47 +05:30
phy-qcom-pcie2.c phy: qualcomm: convert to devm_platform_ioremap_resource(_byname) 2020-11-16 12:47:47 +05:30
phy-qcom-qmp-combo.c phy: qcom-qmp-combo: add support for updated sc8280xp binding 2022-11-24 22:51:51 +05:30
phy-qcom-qmp-pcie-msm8996.c phy: qcom-qmp: drop unused type header 2022-11-24 22:55:17 +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: qcom-qmp-pcie: drop redundant clock allocation 2022-11-24 22:55:17 +05:30
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-pcie-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-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-v5_20.h phy: qcom-qmp-pcie: Fix high latency with 4x2 PHY when ASPM is enabled 2022-11-10 12:45:45 +05:30
phy-qcom-qmp-pcs-pcie-v5.h phy: qcom-qmp-pcie: add support for sc8280xp 2022-11-10 12:34:55 +05:30
phy-qcom-qmp-pcs-ufs-v3.h phy: qcom-qmp: split PCS_UFS V3 symbols to separate header 2022-07-07 10:36:00 +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: move PCS V5 registers to separate headers 2022-07-07 10:36:00 +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-v2.h phy: qcom-qmp-usb: define QPHY_V2_PCS_PLL_LOCK_CHK_DLY_TIME register 2022-07-07 10:36:01 +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_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-v4.h phy: qcom-qmp: move PCS V4 registers to separate headers 2022-07-07 10:36:00 +05:30
phy-qcom-qmp-pcs-v5_20.h phy: qcom-qmp-pcie: Fix sm8450_qmp_gen4x2_pcie_pcs_tbl[] register names 2022-11-10 12:45:46 +05:30
phy-qcom-qmp-pcs-v5.h phy: qcom-qmp-combo: Add sc8280xp USB/DP combo phys 2022-08-30 13:08:03 +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.h phy: qcom-qmp: qserdes-com: add missing registers 2022-07-07 10:36:00 +05:30
phy-qcom-qmp-qserdes-pll.h phy: qcom-qmp: move QSERDES PLL registers to separate header 2022-07-07 10:35:59 +05:30
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_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-v4.h phy: qcom-qmp: qserdes-com-v4: add missing registers 2022-07-07 10:36:00 +05:30
phy-qcom-qmp-qserdes-txrx-v5_5nm.h phy: qcom-qmp-combo: Add sc8280xp USB/DP combo phys 2022-08-30 13:08:03 +05:30
phy-qcom-qmp-qserdes-txrx-v5_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.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: drop unused type header 2022-11-24 22:55:17 +05:30
phy-qcom-qmp-usb.c phy: qcom-qmp-usb: drop redundant clock allocation 2022-11-24 22:55:17 +05:30
phy-qcom-qmp.h phy: qcom-qmp-pcie: Fix sm8450_qmp_gen4x2_pcie_pcs_tbl[] register names 2022-11-10 12:45:46 +05:30
phy-qcom-qusb2.c phy: qcom-qusb2: Use dev_err_probe() to simplify code 2022-09-24 12:07:29 +05:30
phy-qcom-snps-femto-v2.c phy: qcom-snps: Use dev_err_probe() to simplify code 2022-09-24 12:07:30 +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: qualcomm: phy-qcom-usb-hs: repair non-kernel-doc comment 2021-08-06 17:15:29 +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