USB2 on A3700 only works because U-Boot initializes the UTMI PHYs (one wired to each USB controller). While there is no issue with regular use, this architecture does not allow suspend to RAM to work as the PHYs must be re-initialized at resume. In order to support this feature, this series adds a UTMI PHY driver for the A3700 SoC. The A3700 device tree is updated to reference the PHYs. Thanks, Miquèl Changes since v4: ================= * Drop USB patches as they have been sent in a separate series. No real functional changes since the v4 though, kind of a resend of the PHY patches from the "A3700 USB S2RAM support" series. Changes since v3: ================= * Bindings: as suggested by Gregory and Rob, used the "-misc" suffix instead of "-miscellaneous" and prefixed the compatible with "armada-3700" to follow what has been used for the other IPs of the same SoC (and added Rob's ack). Changes since v2: ================= * Typos * UTMI PHY bindings: > New name for the USB2 host/PHY syscons (+ changes in the DT). > Clearly state that the PHYs are different between OTG and host-only controllers. * UTMI PHY driver: > Use GENMASK macro. > Removed useless checks on driver data retrieval. > Dropped the empty ->remove() hook. > Updated the licence macro to match the SPDX tag. > Used the of_device_get_match_data() helper. > Removed the use of a local variable in the ->probe() for the driver's operations. > Fixed the driver co-author: Igal, not Evan. Changes since v1: ================= * Add UTMI PHY driver/bindings/DT changes to bring S2RAM support to both USB ports available on the A3700 SoC. * Rebased on top of v5.0-rc1. Miquel Raynal (6): phy: add A3700 UTMI PHY driver dt-bindings: phy: mvebu-utmi: add UTMI PHY bindings MAINTAINERS: phy: fill Armada 3700 PHY drivers entry ARM64: dts: marvell: armada-37xx: fix USB2 memory region ARM64: dts: marvell: armada-37xx: declare USB2 UTMI PHYs ARM64: dts: marvell: armada-37xx: link USB hosts with their PHYs .../bindings/phy/phy-mvebu-utmi.txt | 38 +++ MAINTAINERS | 4 +- arch/arm64/boot/dts/marvell/armada-37xx.dtsi | 34 ++- drivers/phy/marvell/Kconfig | 9 + drivers/phy/marvell/Makefile | 1 + drivers/phy/marvell/phy-mvebu-a3700-utmi.c | 278 ++++++++++++++++++ 6 files changed, 362 insertions(+), 2 deletions(-) create mode 100644 Documentation/devicetree/bindings/phy/phy-mvebu-utmi.txt create mode 100644 drivers/phy/marvell/phy-mvebu-a3700-utmi.c -- 2.19.1