u-boot/drivers/phy
Paul Kocialkowski 0d5824cbc9 phy: sun4i-usb: Fix PHY0 routing and passby configuration for MUSB
Recent Allwinner platforms (starting with the H3) only use the MUSB
controller for peripheral mode and use HCI for host mode. As a result,
extra steps need to be taken to properly route USB signals to one or
the other. More precisely, the following is required:
* Routing the pins to either HCI/MUSB (controlled by PHY);
* Enabling USB PHY passby in HCI mode (controlled by PMU).

The current code will enable passby for each PHY and reroute PHY0 to
MUSB, which is inconsistent and results in broken USB peripheral support.

Passby on PHY0 must only be enabled when we want to use HCI. Since
host/device mode detection is not available from the PHY code and
because U-Boot does not support changing the mode dynamically anyway,
we can just mux the controller to MUSB if it is enabled and mux it to
HCI otherwise.

This fixes USB peripheral support for platforms with PHY0 dual-route,
especially H3/H5 and V3s.

Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2021-07-10 01:22:09 +01:00
..
allwinner phy: sun4i-usb: Fix PHY0 routing and passby configuration for MUSB 2021-07-10 01:22:09 +01:00
marvell phy: marvell: utmi: update utmi config which fixes usb2.0 instability 2021-04-29 07:45:24 +02:00
rockchip common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
bcm6318-usbh-phy.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
bcm6348-usbh-phy.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
bcm6358-usbh-phy.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
bcm6368-usbh-phy.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
Kconfig phy: Add Amlogic AXG MIPI PCIe Analog PHY driver 2021-02-10 10:00:51 +01:00
keystone-usb-phy.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
Makefile phy: Add Amlogic AXG MIPI PCIe Analog PHY driver 2021-02-10 10:00:51 +01:00
meson-axg-mipi-dphy.c phy: Add Amlogic AXG MIPI D-PHY driver 2021-02-10 10:00:51 +01:00
meson-axg-mipi-pcie-analog.c phy: Add Amlogic AXG MIPI PCIe Analog PHY driver 2021-02-10 10:00:51 +01:00
meson-g12a-usb2.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
meson-g12a-usb3-pcie.c phy: meson-g12a-usb3-pcie: add support for PCIe ops 2021-04-19 16:59:33 +02:00
meson-gxbb-usb2.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
meson-gxl-usb2.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
msm8916-usbh-phy.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
mt76x8-usb-phy.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
mt7620-usb-phy.c phy: add USB PHY driver for MediaTek MT7620 SoC 2021-01-24 21:39:26 +01:00
nop-phy.c phy: nop-phy: Add standard usb-nop-xceiv compat string 2021-04-18 04:29:35 +02:00
omap-usb2-phy.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
phy-bcm-sr-pcie.c dm: treewide: Rename 'platdata' variables to just 'plat' 2020-12-13 16:51:08 -07:00
phy-core-mipi-dphy.c phy: dphy: Add configuration helpers 2021-02-10 10:00:51 +01:00
phy-da8xx-usb.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
phy-mtk-tphy.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
phy-qcom-ipq4019-usb.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
phy-rcar-gen2.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
phy-rcar-gen3.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
phy-stm32-usbphyc.c phy: stm32-usbphyc: migrate trace to dev and log macro 2021-01-13 09:52:58 +01:00
phy-ti-am654.c dm: core: Access device ofnode through functions 2021-01-05 12:24:41 -07:00
phy-uclass.c dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
sandbox-phy.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
sti_usb_phy.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
ti-pipe3-phy.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00