---
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