Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 289618
b: refs/heads/master
c: 45b3cd4
h: refs/heads/master
v: v3
  • Loading branch information
Felipe Balbi committed Feb 6, 2012
1 parent 734fbbc commit 60f0877
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 13 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 8db7ed15f2557e26371e4b2d98fee290d992b715
refs/heads/master: 45b3cd4ad79b31289aa7da7a6448ec5afb7780a4
34 changes: 22 additions & 12 deletions trunk/drivers/usb/dwc3/dwc3-omap.c
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@
#include <linux/dma-mapping.h>
#include <linux/ioport.h>
#include <linux/io.h>
#include <linux/of.h>
#include <linux/module.h>

#include "core.h"
Expand Down Expand Up @@ -197,14 +198,18 @@ static irqreturn_t dwc3_omap_interrupt(int irq, void *_omap)
static int __devinit dwc3_omap_probe(struct platform_device *pdev)
{
struct dwc3_omap_data *pdata = pdev->dev.platform_data;
struct device_node *node = pdev->dev.of_node;

struct platform_device *dwc3;
struct dwc3_omap *omap;
struct resource *res;

int devid;
int size;
int ret = -ENOMEM;
int irq;

const u32 *utmi_mode;
u32 reg;

void __iomem *base;
Expand Down Expand Up @@ -269,19 +274,24 @@ static int __devinit dwc3_omap_probe(struct platform_device *pdev)

reg = dwc3_readl(omap->base, USBOTGSS_UTMI_OTG_STATUS);

if (!pdata) {
dev_dbg(&pdev->dev, "missing platform data\n");
utmi_mode = of_get_property(node, "utmi-mode", &size);
if (utmi_mode && size == sizeof(*utmi_mode)) {
reg |= *utmi_mode;
} else {
switch (pdata->utmi_mode) {
case DWC3_OMAP_UTMI_MODE_SW:
reg |= USBOTGSS_UTMI_OTG_STATUS_SW_MODE;
break;
case DWC3_OMAP_UTMI_MODE_HW:
reg &= ~USBOTGSS_UTMI_OTG_STATUS_SW_MODE;
break;
default:
dev_dbg(&pdev->dev, "UNKNOWN utmi mode %d\n",
pdata->utmi_mode);
if (!pdata) {
dev_dbg(&pdev->dev, "missing platform data\n");
} else {
switch (pdata->utmi_mode) {
case DWC3_OMAP_UTMI_MODE_SW:
reg |= USBOTGSS_UTMI_OTG_STATUS_SW_MODE;
break;
case DWC3_OMAP_UTMI_MODE_HW:
reg &= ~USBOTGSS_UTMI_OTG_STATUS_SW_MODE;
break;
default:
dev_dbg(&pdev->dev, "UNKNOWN utmi mode %d\n",
pdata->utmi_mode);
}
}
}

Expand Down

0 comments on commit 60f0877

Please sign in to comment.