[PATCH v4 00/10] Add Rockchip USBPHY DM driver

Johan Jonker jbx6244 at gmail.com
Thu Jun 4 01:46:55 CEST 2026


The Rockchip SoCs with an USB node and compatible = "snps,dwc2" can be
HOST or OTG while the PHY driver is hard coded and initiated in the
board.c file. Above construction is not very U-boot DM alike.
This is an attempt to decouple the USBPHY into a DM driver.

On older Rockchip SOCs an usbphy DT node is placed under a SYSCOM node.

grf: grf at 20008000 {
	usbphy: usbphy {

		usbphy0: usb-phy at 17c {
		};

		usbphy1: usb-phy at 188 {
		};
	};
};

Changed V2:

Add grf function that binds the usbphy driver to the grf syscom driver.

=> dm tree
 Class     Seq    Probed  Driver                Name
-----------------------------------------------------------
 syscon        9  [ + ]   rk3066_syscon         |-- grf at 20008000
 nop           0  [ + ]   rockchip_usbphy       |   `-- usbphy
 phy           0  [ + ]   rockchip_usbphy_port  |       |-- usb-phy at 17c
 phy           1  [ + ]   rockchip_usbphy_port  |       `-- usb-phy at 188

Changed V3:
rebase
compile rk3066 SPL with SPL_OF_REAL
add SCLK_OTGPHYx enable and disable
make drivers available in SPL
enable USB in SPL for MK808

Changed V4:
restyle
remove clk patches
remove reset patch
(Jonas)
reword
replaced deprecated help word
call dm_scan_fdt_dev to bind grf child
split Makefile and Kconfig sort
fixup SPL_PHY_ROCKCHIP_USB2
remove DECLARE_GLOBAL_DATA_PTR
add bind rollback
use device_get_supply_regulator
use regulator_set_enable_if_allowed
use reset_assert_bulk functions
init the port in the port probe function
protect against a blank struct
remove of_xlate
remove select RESET_ROCKCHIP
use uclass_find_device_by_of_offset

Johan Jonker (10):
  rockchip: configs: compile rk3066 SPL with SPL_OF_REAL
  usb: Kconfig: add SPL_USB_DWC2
  phy: rockchip: sort Makefile and Kconfig
  rockchip: bind grf syscon usbphy subnode
  phy: rockchip: add phy-rockchip-usb2.c
  rockchip: configs: use phy-rockchip-usb2 DM driver
  usb: phy: remove rockchip_usb2_phy.c
  rockchip: spl-boot-order: add usb boot option
  arm: dts: rockchip: add USB required properties in SPL for mk808
  rockchip: configs: enable USB in SPL for mk808

 arch/arm/dts/rk3066a-mk808-u-boot.dtsi        |  18 ++
 arch/arm/mach-rockchip/board.c                |  28 ---
 arch/arm/mach-rockchip/rk3066/syscon_rk3066.c |   3 +
 arch/arm/mach-rockchip/rk3188/syscon_rk3188.c |   3 +
 arch/arm/mach-rockchip/rk3288/syscon_rk3288.c |   3 +
 arch/arm/mach-rockchip/spl-boot-order.c       |   3 +
 configs/chromebit_mickey_defconfig            |   2 +-
 configs/chromebook_jerry_defconfig            |   2 +-
 configs/chromebook_minnie_defconfig           |   2 +-
 configs/chromebook_speedy_defconfig           |   2 +-
 configs/evb-rk3288-rk808_defconfig            |   2 +-
 configs/firefly-rk3288_defconfig              |   4 +-
 configs/miqi-rk3288_defconfig                 |   4 +-
 configs/mk808_defconfig                       |  17 +-
 configs/phycore-rk3288_defconfig              |   2 +-
 configs/popmetal-rk3288_defconfig             |   2 +-
 configs/rock-pi-n8-rk3288_defconfig           |   2 +-
 configs/rock2_defconfig                       |   2 +-
 configs/rock_defconfig                        |   2 +-
 configs/tinker-rk3288_defconfig               |   4 +-
 configs/tinker-s-rk3288_defconfig             |   4 +-
 configs/vyasa-rk3288_defconfig                |   2 +-
 drivers/Makefile                              |   3 +-
 drivers/phy/rockchip/Kconfig                  |  41 ++-
 drivers/phy/rockchip/Makefile                 |   7 +-
 drivers/phy/rockchip/phy-rockchip-usb2.c      | 235 ++++++++++++++++++
 drivers/usb/common/Makefile                   |   2 +-
 drivers/usb/host/Kconfig                      |  11 +
 drivers/usb/host/Makefile                     |   2 +-
 drivers/usb/phy/Kconfig                       |   3 -
 drivers/usb/phy/Makefile                      |   1 -
 drivers/usb/phy/rockchip_usb2_phy.c           | 113 ---------
 include/usb/dwc2_udc.h                        |   1 -
 33 files changed, 338 insertions(+), 194 deletions(-)
 create mode 100644 drivers/phy/rockchip/phy-rockchip-usb2.c
 delete mode 100644 drivers/usb/phy/rockchip_usb2_phy.c

--
2.39.5



More information about the U-Boot mailing list