The approach taken here is to introduce 2 new separate drivers: one for the eusb2 and one for the usbcon. The eusb2 driver is modelled to take a phandle to the usbcon and configure/unconfigure it for the eUSB2 to become accessible and not cause a hang whenever its registers are touched. A new USBDP driver will be added later on, so that pipe3 and super-speed can be configured. Best regards, Ivaylo Ivaylo Ivanov (4): dt-bindings: phy: add samsung,exynos2200-snps-eusb2-phy schema file dt-bindings: phy: add samsung,exynos2200-usbcon-phy schema file phy: samsung: add Exynos2200 SNPS eUSB2 driver phy: samsung: add Exynos2200 usb phy controller .../samsung,exynos2200-snps-eusb2-phy.yaml | 75 ++++ .../phy/samsung,exynos2200-usbcon-phy.yaml | 70 ++++ drivers/phy/samsung/Kconfig | 26 ++ drivers/phy/samsung/Makefile | 2 + .../phy/samsung/phy-exynos2200-snps-eusb2.c | 351 ++++++++++++++++++ drivers/phy/samsung/phy-exynos2200-usbcon.c | 241 ++++++++++++ include/linux/soc/samsung/exynos-regs-pmu.h | 3 + 7 files changed, 768 insertions(+) create mode 100644 Documentation/devicetree/bindings/phy/samsung,exynos2200-snps-eusb2-phy.yaml create mode 100644 Documentation/devicetree/bindings/phy/samsung,exynos2200-usbcon-phy.yaml create mode 100644 drivers/phy/samsung/phy-exynos2200-snps-eusb2.c create mode 100644 drivers/phy/samsung/phy-exynos2200-usbcon.c -- 2.43.0