mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-02-17 22:49:02 +00:00
rockchip: use standard dr_mode parsing function
Instead of duplicating the string values here, use usb_get_dr_mode() to handle the property lookup and converting the values to an enum. This is implemented with a switch in preparation for the next patch which adds extra handling for peripheral mode. Signed-off-by: John Keeping <john@metanate.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
This commit is contained in:
parent
afb4f55565
commit
51c54080ff
1 changed files with 9 additions and 3 deletions
|
@ -212,6 +212,7 @@ void enable_caches(void)
|
|||
#include <usb.h>
|
||||
|
||||
#if defined(CONFIG_USB_GADGET_DWC2_OTG)
|
||||
#include <linux/usb/otg.h>
|
||||
#include <usb/dwc2_udc.h>
|
||||
|
||||
static struct dwc2_plat_otg_data otg_data = {
|
||||
|
@ -223,18 +224,23 @@ static struct dwc2_plat_otg_data otg_data = {
|
|||
int board_usb_init(int index, enum usb_init_type init)
|
||||
{
|
||||
ofnode node;
|
||||
const char *mode;
|
||||
bool matched = false;
|
||||
|
||||
/* find the usb_otg node */
|
||||
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) {
|
||||
switch (usb_get_dr_mode(node)) {
|
||||
case USB_DR_MODE_OTG:
|
||||
matched = true;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (matched)
|
||||
break;
|
||||
|
||||
node = ofnode_by_compatible(node, "snps,dwc2");
|
||||
}
|
||||
if (!matched) {
|
||||
|
|
Loading…
Add table
Reference in a new issue