[U-Boot] [PATCH 03/24] rockchip: clean up board_usb_init() for all SoCs

Kever Yang kever.yang at rock-chips.com
Mon Jul 22 12:02:00 UTC 2019


Use "snps,dwc2" for compatible name and and common variable
names so that we can share the common code for all SoCs.

Signed-off-by: Kever Yang <kever.yang at rock-chips.com>
---

 arch/arm/mach-rockchip/rk3036-board.c  | 10 +++---
 arch/arm/mach-rockchip/rk3128-board.c  | 10 +++---
 arch/arm/mach-rockchip/rk322x-board.c  | 10 +++---
 arch/arm/mach-rockchip/rk3288-board.c  | 38 ++++----------------
 arch/arm/mach-rockchip/rv1108-board.c  | 49 ++++++--------------------
 board/rockchip/evb_rk3328/evb-rk3328.c | 11 +++---
 6 files changed, 36 insertions(+), 92 deletions(-)

diff --git a/arch/arm/mach-rockchip/rk3036-board.c b/arch/arm/mach-rockchip/rk3036-board.c
index c594c4d61c..b7967b8577 100644
--- a/arch/arm/mach-rockchip/rk3036-board.c
+++ b/arch/arm/mach-rockchip/rk3036-board.c
@@ -59,7 +59,7 @@ void enable_caches(void)
 #include <usb.h>
 #include <usb/dwc2_udc.h>
 
-static struct dwc2_plat_otg_data rk3036_otg_data = {
+static struct dwc2_plat_otg_data otg_data = {
 	.rx_fifo_sz	= 512,
 	.np_tx_fifo_sz	= 16,
 	.tx_fifo_sz	= 128,
@@ -74,7 +74,7 @@ int board_usb_init(int index, enum usb_init_type init)
 
 	/* find the usb_otg node */
 	node = fdt_node_offset_by_compatible(blob, -1,
-					"rockchip,rk3288-usb");
+					"snps,dwc2");
 
 	while (node > 0) {
 		mode = fdt_getprop(blob, node, "dr_mode", NULL);
@@ -84,15 +84,15 @@ int board_usb_init(int index, enum usb_init_type init)
 		}
 
 		node = fdt_node_offset_by_compatible(blob, node,
-					"rockchip,rk3288-usb");
+					"snps,dwc2");
 	}
 	if (!matched) {
 		debug("Not found usb_otg device\n");
 		return -ENODEV;
 	}
-	rk3036_otg_data.regs_otg = fdtdec_get_addr(blob, node, "reg");
+	otg_data.regs_otg = fdtdec_get_addr(blob, node, "reg");
 
-	return dwc2_udc_probe(&rk3036_otg_data);
+	return dwc2_udc_probe(&otg_data);
 }
 
 int board_usb_cleanup(int index, enum usb_init_type init)
diff --git a/arch/arm/mach-rockchip/rk3128-board.c b/arch/arm/mach-rockchip/rk3128-board.c
index 636ee65fee..cfc41286e7 100644
--- a/arch/arm/mach-rockchip/rk3128-board.c
+++ b/arch/arm/mach-rockchip/rk3128-board.c
@@ -66,7 +66,7 @@ void enable_caches(void)
 #include <usb.h>
 #include <usb/dwc2_udc.h>
 
-static struct dwc2_plat_otg_data rk3128_otg_data = {
+static struct dwc2_plat_otg_data otg_data = {
 	.rx_fifo_sz	= 512,
 	.np_tx_fifo_sz	= 16,
 	.tx_fifo_sz	= 128,
@@ -81,7 +81,7 @@ int board_usb_init(int index, enum usb_init_type init)
 
 	/* find the usb_otg node */
 	node = fdt_node_offset_by_compatible(blob, -1,
-					     "rockchip,rk3128-usb");
+					"snps,dwc2");
 
 	while (node > 0) {
 		mode = fdt_getprop(blob, node, "dr_mode", NULL);
@@ -91,15 +91,15 @@ int board_usb_init(int index, enum usb_init_type init)
 		}
 
 		node = fdt_node_offset_by_compatible(blob, node,
-						     "rockchip,rk3128-usb");
+					"snps,dwc2");
 	}
 	if (!matched) {
 		debug("Not found usb_otg device\n");
 		return -ENODEV;
 	}
-	rk3128_otg_data.regs_otg = fdtdec_get_addr(blob, node, "reg");
+	otg_data.regs_otg = fdtdec_get_addr(blob, node, "reg");
 
-	return dwc2_udc_probe(&rk3128_otg_data);
+	return dwc2_udc_probe(&otg_data);
 }
 
 int board_usb_cleanup(int index, enum usb_init_type init)
diff --git a/arch/arm/mach-rockchip/rk322x-board.c b/arch/arm/mach-rockchip/rk322x-board.c
index c0a537616c..5103ad4ccc 100644
--- a/arch/arm/mach-rockchip/rk322x-board.c
+++ b/arch/arm/mach-rockchip/rk322x-board.c
@@ -70,7 +70,7 @@ void enable_caches(void)
 #include <usb.h>
 #include <usb/dwc2_udc.h>
 
-static struct dwc2_plat_otg_data rk322x_otg_data = {
+static struct dwc2_plat_otg_data otg_data = {
 	.rx_fifo_sz	= 512,
 	.np_tx_fifo_sz	= 16,
 	.tx_fifo_sz	= 128,
@@ -85,7 +85,7 @@ int board_usb_init(int index, enum usb_init_type init)
 
 	/* find the usb_otg node */
 	node = fdt_node_offset_by_compatible(blob, -1,
-					"rockchip,rk3288-usb");
+					"snps,dwc2");
 
 	while (node > 0) {
 		mode = fdt_getprop(blob, node, "dr_mode", NULL);
@@ -95,15 +95,15 @@ int board_usb_init(int index, enum usb_init_type init)
 		}
 
 		node = fdt_node_offset_by_compatible(blob, node,
-					"rockchip,rk3288-usb");
+					"snps,dwc2");
 	}
 	if (!matched) {
 		debug("Not found usb_otg device\n");
 		return -ENODEV;
 	}
-	rk322x_otg_data.regs_otg = fdtdec_get_addr(blob, node, "reg");
+	otg_data.regs_otg = fdtdec_get_addr(blob, node, "reg");
 
-	return dwc2_udc_probe(&rk322x_otg_data);
+	return dwc2_udc_probe(&otg_data);
 }
 
 int board_usb_cleanup(int index, enum usb_init_type init)
diff --git a/arch/arm/mach-rockchip/rk3288-board.c b/arch/arm/mach-rockchip/rk3288-board.c
index a250d50387..23c5343eb8 100644
--- a/arch/arm/mach-rockchip/rk3288-board.c
+++ b/arch/arm/mach-rockchip/rk3288-board.c
@@ -171,7 +171,7 @@ void enable_caches(void)
 #include <usb.h>
 #include <usb/dwc2_udc.h>
 
-static struct dwc2_plat_otg_data rk3288_otg_data = {
+static struct dwc2_plat_otg_data otg_data = {
 	.rx_fifo_sz	= 512,
 	.np_tx_fifo_sz	= 16,
 	.tx_fifo_sz	= 128,
@@ -179,15 +179,14 @@ static struct dwc2_plat_otg_data rk3288_otg_data = {
 
 int board_usb_init(int index, enum usb_init_type init)
 {
-	int node, phy_node;
+	int node;
 	const char *mode;
 	bool matched = false;
 	const void *blob = gd->fdt_blob;
-	u32 grf_phy_offset;
 
 	/* find the usb_otg node */
 	node = fdt_node_offset_by_compatible(blob, -1,
-					"rockchip,rk3288-usb");
+					"snps,dwc2");
 
 	while (node > 0) {
 		mode = fdt_getprop(blob, node, "dr_mode", NULL);
@@ -197,40 +196,15 @@ int board_usb_init(int index, enum usb_init_type init)
 		}
 
 		node = fdt_node_offset_by_compatible(blob, node,
-					"rockchip,rk3288-usb");
+					"snps,dwc2");
 	}
 	if (!matched) {
 		debug("Not found usb_otg device\n");
 		return -ENODEV;
 	}
-	rk3288_otg_data.regs_otg = fdtdec_get_addr(blob, node, "reg");
+	otg_data.regs_otg = fdtdec_get_addr(blob, node, "reg");
 
-	node = fdtdec_lookup_phandle(blob, node, "phys");
-	if (node <= 0) {
-		debug("Not found usb phy device\n");
-		return -ENODEV;
-	}
-
-	phy_node = fdt_parent_offset(blob, node);
-	if (phy_node <= 0) {
-		debug("Not found usb phy device\n");
-		return -ENODEV;
-	}
-
-	rk3288_otg_data.phy_of_node = phy_node;
-	grf_phy_offset = fdtdec_get_addr(blob, node, "reg");
-
-	/* find the grf node */
-	node = fdt_node_offset_by_compatible(blob, -1,
-					"rockchip,rk3288-grf");
-	if (node <= 0) {
-		debug("Not found grf device\n");
-		return -ENODEV;
-	}
-	rk3288_otg_data.regs_phy = grf_phy_offset +
-				fdtdec_get_addr(blob, node, "reg");
-
-	return dwc2_udc_probe(&rk3288_otg_data);
+	return dwc2_udc_probe(&otg_data);
 }
 
 int board_usb_cleanup(int index, enum usb_init_type init)
diff --git a/arch/arm/mach-rockchip/rv1108-board.c b/arch/arm/mach-rockchip/rv1108-board.c
index 3412f2c063..3c683cb8ac 100644
--- a/arch/arm/mach-rockchip/rv1108-board.c
+++ b/arch/arm/mach-rockchip/rv1108-board.c
@@ -11,7 +11,7 @@ DECLARE_GLOBAL_DATA_PTR;
 #include <usb.h>
 #include <usb/dwc2_udc.h>
 
-static struct dwc2_plat_otg_data rv1108_otg_data = {
+static struct dwc2_plat_otg_data otg_data = {
 	.rx_fifo_sz	= 512,
 	.np_tx_fifo_sz	= 16,
 	.tx_fifo_sz	= 128,
@@ -19,14 +19,14 @@ static struct dwc2_plat_otg_data rv1108_otg_data = {
 
 int board_usb_init(int index, enum usb_init_type init)
 {
-	const void *blob = gd->fdt_blob;
-	bool matched = false;
-	int node, phy_node;
-	u32 grf_phy_offset;
+	int node;
 	const char *mode;
+	bool matched = false;
+	const void *blob = gd->fdt_blob;
 
 	/* find the usb_otg node */
-	node = fdt_node_offset_by_compatible(blob, -1, "rockchip,rk3066-usb");
+	node = fdt_node_offset_by_compatible(blob, -1, "snps,dwc2");
+
 	while (node > 0) {
 		mode = fdt_getprop(blob, node, "dr_mode", NULL);
 		if (mode && strcmp(mode, "otg") == 0) {
@@ -34,44 +34,15 @@ int board_usb_init(int index, enum usb_init_type init)
 			break;
 		}
 
-		node = fdt_node_offset_by_compatible(blob, node,
-						     "rockchip,rk3066-usb");
+		node = fdt_node_offset_by_compatible(blob, node, "snps,dwc2");
 	}
-
 	if (!matched) {
-		debug("usb_otg device not found\n");
-		return -ENODEV;
-	}
-
-	rv1108_otg_data.regs_otg = fdtdec_get_addr(blob, node, "reg");
-
-	node = fdtdec_lookup_phandle(blob, node, "phys");
-	if (node <= 0) {
-		debug("phys node not found\n");
+		debug("Not found usb_otg device\n");
 		return -ENODEV;
 	}
+	otg_data.regs_otg = fdtdec_get_addr(blob, node, "reg");
 
-	phy_node = fdt_parent_offset(blob, node);
-	if (phy_node <= 0) {
-		debug("usb phy node not found\n");
-		return -ENODEV;
-	}
-
-	rv1108_otg_data.phy_of_node = phy_node;
-	grf_phy_offset = fdtdec_get_addr(blob, node, "reg");
-
-	/* find the grf node */
-	node = fdt_node_offset_by_compatible(blob, -1,
-					     "rockchip,rv1108-grf");
-	if (node <= 0) {
-		debug("grf node not found\n");
-		return -ENODEV;
-	}
-
-	rv1108_otg_data.regs_phy = grf_phy_offset + fdtdec_get_addr(blob, node,
-								    "reg");
-
-	return dwc2_udc_probe(&rv1108_otg_data);
+	return dwc2_udc_probe(&otg_data);
 }
 
 int board_usb_cleanup(int index, enum usb_init_type init)
diff --git a/board/rockchip/evb_rk3328/evb-rk3328.c b/board/rockchip/evb_rk3328/evb-rk3328.c
index bc9ef5e98b..64595c783d 100644
--- a/board/rockchip/evb_rk3328/evb-rk3328.c
+++ b/board/rockchip/evb_rk3328/evb-rk3328.c
@@ -26,7 +26,7 @@ int board_init(void)
 #include <usb.h>
 #include <usb/dwc2_udc.h>
 
-static struct dwc2_plat_otg_data rk3328_otg_data = {
+static struct dwc2_plat_otg_data otg_data = {
 	.rx_fifo_sz	= 512,
 	.np_tx_fifo_sz	= 16,
 	.tx_fifo_sz	= 128,
@@ -41,7 +41,7 @@ int board_usb_init(int index, enum usb_init_type init)
 
 	/* find the usb_otg node */
 	node = fdt_node_offset_by_compatible(blob, -1,
-					"rockchip,rk3328-usb");
+					"snps,dwc2");
 
 	while (node > 0) {
 		mode = fdt_getprop(blob, node, "dr_mode", NULL);
@@ -51,16 +51,15 @@ int board_usb_init(int index, enum usb_init_type init)
 		}
 
 		node = fdt_node_offset_by_compatible(blob, node,
-					"rockchip,rk3328-usb");
+					"snps,dwc2");
 	}
 	if (!matched) {
 		debug("Not found usb_otg device\n");
 		return -ENODEV;
 	}
+	otg_data.regs_otg = fdtdec_get_addr(blob, node, "reg");
 
-	rk3328_otg_data.regs_otg = fdtdec_get_addr(blob, node, "reg");
-
-	return dwc2_udc_probe(&rk3328_otg_data);
+	return dwc2_udc_probe(&otg_data);
 }
 
 int board_usb_cleanup(int index, enum usb_init_type init)
-- 
2.17.1



More information about the U-Boot mailing list