--- sys/arch/armv7/conf/GENERIC | 1 + sys/dev/fdt/rkusbphy.c | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+)
diff --git a/sys/arch/armv7/conf/GENERIC b/sys/arch/armv7/conf/GENERIC index 994fa565976..a51819233a6 100644 --- a/sys/arch/armv7/conf/GENERIC +++ b/sys/arch/armv7/conf/GENERIC @@ -214,6 +214,7 @@ mvtemp* at fdt? rkclock* at fdt? early 1 rkgrf* at fdt? early 1 rkpinctrl* at fdt? early 1 +rkusbphy* at fdt? early 1 rkgpio* at fdt? rkiic* at fdt? iic* at rkiic? diff --git a/sys/dev/fdt/rkusbphy.c b/sys/dev/fdt/rkusbphy.c index 032d7b454d3..ccd69c279fa 100644 --- a/sys/dev/fdt/rkusbphy.c +++ b/sys/dev/fdt/rkusbphy.c @@ -61,6 +61,30 @@ struct rkusbphy_chip { const struct rkusbphy_regs *c_regs; }; +/* + * RK3128 has one USB2PHY. + */ + +static const struct rkusbphy_regs rkusbphy_rk3128_usb_regs = { + /* shift, mask, set */ + .clk_enable = { 0x0190, 15, 0x1, 0x0 }, + + .otg = { + .phy_enable = { 0x017c, 0, 0x1ff, 0 }, + }, + + .host = { + .phy_enable = { 0x0194, 0, 0x1ff, 0 }, + }, +}; + +static const struct rkusbphy_chip rkusbphy_rk3128[] = { + { + .c_base_addr = 0x17c, + .c_regs = &rkusbphy_rk3128_usb_regs, + }, +}; + /* * RK3399 has two USB2PHY nodes that share a GRF. */ @@ -258,6 +282,7 @@ struct rkusbphy_id { #define RKUSBPHY_ID(_n, _c) { _n, _c, nitems(_c) } static const struct rkusbphy_id rkusbphy_ids[] = { + RKUSBPHY_ID("rockchip,rk3128-usb2phy", rkusbphy_rk3128), RKUSBPHY_ID("rockchip,rk3399-usb2phy", rkusbphy_rk3399), RKUSBPHY_ID("rockchip,rk3528-usb2phy", rkusbphy_rk3528), RKUSBPHY_ID("rockchip,rk3568-usb2phy", rkusbphy_rk3568), -- 2.47.1