rockchip: Init driver otg_data for rk3288 usb phy
RK3288 needs to init the otg_data in board level to make the phy driver work. Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
This commit is contained in:
parent
e76943ca6f
commit
17224b325f
@ -82,6 +82,34 @@ int board_usb_init(int index, enum usb_init_type init)
|
||||
}
|
||||
otg_data.regs_otg = ofnode_get_addr(node);
|
||||
|
||||
#ifdef CONFIG_ROCKCHIP_RK3288
|
||||
int ret;
|
||||
u32 phandle, offset;
|
||||
ofnode phy_node;
|
||||
|
||||
ret = ofnode_read_u32(node, "phys", &phandle);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
node = ofnode_get_by_phandle(phandle);
|
||||
if (!ofnode_valid(node)) {
|
||||
debug("Not found usb phy device\n");
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
phy_node = ofnode_get_parent(node);
|
||||
if (!ofnode_valid(node)) {
|
||||
debug("Not found usb phy device\n");
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
otg_data.phy_of_node = phy_node;
|
||||
ret = ofnode_read_u32(node, "reg", &offset);
|
||||
if (ret)
|
||||
return ret;
|
||||
otg_data.regs_phy = offset +
|
||||
(u32)syscon_get_first_range(ROCKCHIP_SYSCON_GRF);
|
||||
#endif
|
||||
return dwc2_udc_probe(&otg_data);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user