usb: dwc2: add 'mode' which based on Kconfig select or dts setting

According to the "dr_mode", the otg controller can work as
device role and host role. Some boards always want to use host mode
and some other boards want to use gadget mode. We use the dts setting
to set dwc2's mode, rather than fixing it to whatever hardware says.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
Acked-by: Paul Zimmerman <paulz@synopsys.com>
Tested-by: Doug Anderson <dianders@chromium.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Kever Yang
2014-08-06 09:01:50 +08:00
committed by Greg Kroah-Hartman
parent fc1b0e2aa3
commit c0155b9d5e
3 changed files with 27 additions and 0 deletions

View File

@@ -42,6 +42,8 @@
#include <linux/of_device.h>
#include <linux/platform_device.h>
#include <linux/usb/of.h>
#include "core.h"
#include "hcd.h"
@@ -200,6 +202,8 @@ static int dwc2_driver_probe(struct platform_device *dev)
dev_dbg(&dev->dev, "mapped PA %08lx to VA %p\n",
(unsigned long)res->start, hsotg->regs);
hsotg->dr_mode = of_usb_get_dr_mode(dev->dev.of_node);
retval = dwc2_hcd_init(hsotg, irq, params);
if (retval)
return retval;