[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