OpenCloudOS-Kernel/drivers/phy
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
..
allwinner phy: allwinner: phy-sun6i-mipi-dphy: Add the A100 DPHY variant 2022-11-24 23:04:24 +05:30
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: phy-brcm-usb: Utilize platform_get_irq_byname_optional() 2022-11-07 10:20:25 +05:30
cadence phy: cadence-torrent: Remove unused `regmap` field from state struct 2022-07-08 10:40:43 +05:30
freescale phy: freescale: imx8m-pcie: Add i.MX8MP PCIe PHY support 2022-10-17 11:01:03 +05:30
hisilicon phy: HiSilicon: Fix copy and paste bug in error handling 2021-11-23 10:42:13 +05:30
ingenic phy: ingenic: Fix a typo in ingenic_usb_phy_probe() 2021-03-30 23:35:17 +05:30
intel phy: intel: Use dev_err_probe() to simplify code 2022-09-24 12:34:56 +05:30
lantiq phy: lantiq: rcu-usb2: wait after clock enable 2021-01-13 19:29:03 +05:30
marvell phy: use devm_platform_get_and_ioremap_resource() 2022-11-24 23:23:07 +05:30
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 treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
qualcomm phy: Revert "phy: qualcomm: usb28nm: Add MDM9607 init sequence" 2023-01-13 23:15:42 +05:30
ralink phy: ralink: mt7621-pci: add sentinel to quirks table 2022-11-05 13:01:25 +05:30
renesas phy: renesas: r8a779f0-eth-serdes: Fix register setting 2023-01-13 00:00:08 +05:30
rockchip phy: rockchip-inno-usb2: Fix missing clk_disable_unprepare() in rockchip_usb2phy_power_on() 2023-01-13 23:10:52 +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:58:02 +05:30
sunplus phy: usb: sunplus: Fix potential null-ptr-deref in sp_usb_phy_probe() 2023-01-12 23:43:35 +05:30
tegra phy: tegra: xusb: Remove usb3 supply 2022-11-07 10:20:25 +05:30
ti phy: ti: fix Kconfig warning and operator precedence 2023-01-11 13:24:33 +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: add support to calculate the timing based on hs_clk_rate 2022-10-27 14:38:04 +03:00
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: Add USB3 PHY support for Intel LGM SoC 2020-09-11 17:12:49 +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-pistachio-usb.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 422 2019-06-05 17:37:15 +02:00
phy-xgene.c phy: phy-xgene.c: Fix alignment of comment 2021-05-31 14:08:55 +05:30