From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kever Yang Date: Wed, 16 Oct 2019 17:13:31 +0800 Subject: [U-Boot] [PATCH 1/2] rockchip: usb: Migrate to use ofnode Message-ID: <20191016091332.31436-1-kever.yang@rock-chips.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 --- 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 #include -#include #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 + #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