linux/drivers/phy
Bjorn Andersson 2851117f8f phy: qcom-qmp-combo: Introduce orientation switching
The data lanes of the QMP PHY is swapped in order to handle changing
orientation of the USB Type-C cable. Register a typec_switch device to
allow a TCPM to configure the orientation.

The newly introduced orientation variable is adjusted based on the
request, and the initialized components are brought down and up again.
To keep track of what parts needs to be cycled new variables to keep
track of the individual init_count is introduced.

Both the USB and the DisplayPort altmode signals are properly switched.
For DisplayPort the controller will after the TCPM having established
orientation power on the PHY, so this is not done implicitly, but for
USB the PHY typically is kept initialized across the switch, and must
therefore then be reinitialized.

This is based on initial work by Wesley Cheng.

Link: https://lore.kernel.org/r/20201009082843.28503-3-wcheng@codeaurora.org/
Reviewed-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Tested-by: Abel Vesa <abel.vesa@linaro.org>
Tested-by: Steev Klimaszewski <steev@kali.org>
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on HDK8450
Tested-by: Johan Hovold <johan+linaro@kernel.org>	# X13s
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
Link: https://lore.kernel.org/r/20230515032743.400170-6-quic_bjorande@quicinc.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2023-05-19 23:17:19 +05:30
..
allwinner phy: Use of_property_present() for testing DT property presence 2023-03-20 18:14:58 +05:30
amlogic Merge branch 'fixes' into next 2023-05-19 23:16:43 +05:30
broadcom phy: Use of_property_present() for testing DT property presence 2023-03-20 18:14:58 +05:30
cadence phy: cadence: salvo: Add cdns,usb2-disconnect-threshold-microvolt property 2023-05-19 23:14:06 +05:30
freescale phy: freescale: imx8m-pcie: Use devm_platform_ioremap_resource() 2023-05-16 19:51:24 +05:30
hisilicon phy: hisilicon: Allow building phy-hisi-inno-usb2 on ARM32 2023-05-16 19:44:29 +05:30
ingenic phy: ingenic: Fix a typo in ingenic_usb_phy_probe() 2021-03-30 23:35:17 +05:30
intel phy-for-6.4 2023-05-03 11:17:34 -07:00
lantiq phy: lantiq: rcu-usb2: wait after clock enable 2021-01-13 19:29:03 +05:30
marvell phy: marvell: drop of_match_ptr for ID table 2023-03-20 18:14:59 +05:30
mediatek phy: mediatek: rework the floating point comparisons to fixed point 2023-05-16 19:48:06 +05:30
microchip phy: sparx5-serdes: add skip_cmu_cfg check when configuring lanes 2023-05-08 17:13:01 +05:30
motorola phy: motorola: phy-mapphone-mdm6600: Convert to platform remove callback returning void 2023-03-20 18:14:56 +05:30
mscc phy: phy-ocelot-serdes: add ability to be used in a non-syscon configuration 2023-03-20 09:08:48 +00:00
qualcomm phy: qcom-qmp-combo: Introduce orientation switching 2023-05-19 23:17:19 +05:30
ralink phy: ralink: mt7621-pci: add sentinel to quirks table 2022-11-05 13:01:25 +05:30
renesas phy: renesas: r8a779f0-ether-serdes: Convert to platform remove callback returning void 2023-03-20 18:14:57 +05:30
rockchip phy: rockchip: remove unused hw_to_inno function 2023-04-12 21:47:50 +05:30
samsung phy: Revert "phy: Remove SOC_EXYNOS4212 dep. from PHY_EXYNOS4X12_USB" 2023-05-16 19:38:39 +05:30
socionext phy: uniphier-usb3ss: fix unintended writing zeros to PHY register 2021-12-24 10:06:38 +05:30
st phy: stm32-usphyc: add 200 to 300 us delay to fix timeout on some machines 2023-03-31 18:59:16 +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: Add missing tegra_xusb_port_unregister for usb2_port and ulpi_port 2023-04-12 21:51:42 +05:30
ti phy: ti: gmii-sel: Enable USXGMII mode for J784S4 2023-05-16 20:01:44 +05:30
xilinx phy: xilinx: phy-zynqmp: mention SGMII as supported protocol 2023-03-31 19:08:48 +05:30
Kconfig phy: xgene: Depend on ARCH_XGENE rather than plain arm64 2023-03-20 18:14:59 +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: fixes for 6.2 2023-02-14 19:25:45 +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 driver core: class: remove module * from class_create() 2023-03-17 15:16:33 +01:00
phy-lgm-usb.c phy: phy-lgm-usb: Convert to platform remove callback returning void 2023-03-20 18:14:56 +05:30
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