Migrate to use ofnode_* instead of fdt_* so that we may able to use live
dt for usb udc driver.

Signed-off-by: Kever Yang <[email protected]>
---

 arch/arm/mach-rockchip/board.c      | 14 ++++++--------
 drivers/usb/phy/rockchip_usb2_phy.c |  5 ++---
 include/usb/dwc2_udc.h              |  4 +++-
 3 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/arch/arm/mach-rockchip/board.c b/arch/arm/mach-rockchip/board.c
index 8ca3463731..c4b0b9dfe2 100644
--- a/arch/arm/mach-rockchip/board.c
+++ b/arch/arm/mach-rockchip/board.c
@@ -61,28 +61,26 @@ static struct dwc2_plat_otg_data otg_data = {
 
 int board_usb_init(int index, enum usb_init_type init)
 {
-       int node;
+       ofnode 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, "snps,dwc2");
-
-       while (node > 0) {
-               mode = fdt_getprop(blob, node, "dr_mode", NULL);
+       node = ofnode_by_compatible(ofnode_null(), "snps,dwc2");
+       while (ofnode_valid(node)) {
+               mode = ofnode_read_string(node, "dr_mode");
                if (mode && strcmp(mode, "otg") == 0) {
                        matched = true;
                        break;
                }
 
-               node = fdt_node_offset_by_compatible(blob, node, "snps,dwc2");
+               node = ofnode_by_compatible(node, "snps,dwc2");
        }
        if (!matched) {
                debug("Not found usb_otg device\n");
                return -ENODEV;
        }
-       otg_data.regs_otg = fdtdec_get_addr(blob, node, "reg");
+       otg_data.regs_otg = ofnode_get_addr(node);
 
        return dwc2_udc_probe(&otg_data);
 }
diff --git a/drivers/usb/phy/rockchip_usb2_phy.c 
b/drivers/usb/phy/rockchip_usb2_phy.c
index 16e899954a..69e408b6c1 100644
--- a/drivers/usb/phy/rockchip_usb2_phy.c
+++ b/drivers/usb/phy/rockchip_usb2_phy.c
@@ -5,7 +5,6 @@
 
 #include <common.h>
 #include <asm/io.h>
-#include <linux/libfdt.h>
 
 #include "../gadget/dwc2_udc_otg_priv.h"
 
@@ -71,8 +70,8 @@ void otg_phy_init(struct dwc2_udc *dev)
 
        for (i = 0; i < ARRAY_SIZE(rockchip_usb2_phy_dt_ids); i++) {
                of_id = &rockchip_usb2_phy_dt_ids[i];
-               if (fdt_node_check_compatible(gd->fdt_blob, pdata->phy_of_node,
-                                             of_id->compatible) == 0) {
+               if (ofnode_device_is_compatible(pdata->phy_of_node,
+                                               of_id->compatible)){
                        phy_cfg = (struct rockchip_usb2_phy_cfg *)of_id->data;
                        break;
                }
diff --git a/include/usb/dwc2_udc.h b/include/usb/dwc2_udc.h
index a6c12212a9..a2af381a66 100644
--- a/include/usb/dwc2_udc.h
+++ b/include/usb/dwc2_udc.h
@@ -8,12 +8,14 @@
 #ifndef __DWC2_USB_GADGET
 #define __DWC2_USB_GADGET
 
+#include <dm/ofnode.h>
+
 #define PHY0_SLEEP              (1 << 5)
 #define DWC2_MAX_HW_ENDPOINTS  16
 
 struct dwc2_plat_otg_data {
        void            *priv;
-       int             phy_of_node;
+       ofnode          phy_of_node;
        int             (*phy_control)(int on);
        uintptr_t       regs_phy;
        uintptr_t       regs_otg;
-- 
2.17.1

_______________________________________________
U-Boot mailing list
[email protected]
https://lists.denx.de/listinfo/u-boot

Reply via email to