mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-09-20 22:52:00 +00:00
rockchip: usb: Migrate to use ofnode
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 <kever.yang@rock-chips.com>
This commit is contained in:
parent
deebba82d9
commit
e76943ca6f
3 changed files with 11 additions and 12 deletions
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue