summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>2017-11-01 23:51:00 +0100
committerPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>2017-11-01 23:51:00 +0100
commit215c2ea913e305b5dcfe8b8cb0cb6148dcc81f6f (patch)
tree2335a016fca0060ff71d4be06971d3024792095c
parent6084d94f19939f3ac0ce70124251a192dde592e2 (diff)
[wip, squash] trigger usb reset workaround for usb1 only; still hard-coded
-rw-r--r--drivers/usb/host/xhci.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index d27eeccffb..776b6d0a12 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -1037,8 +1037,10 @@ static int xhci_submit_root(struct usb_device *udev, unsigned long pipe,
xhci_writel(status_reg, reg);
break;
case USB_PORT_FEAT_POWER:
- // if (le16_to_cpu(req->index) == 1)
+ if ((strcmp(ctrl->dev->name, "usb@fe900000") == 0) &&
+ le16_to_cpu(req->index) == 1)
{
+ printf("%s: dev='%s': USB workaround\n", __func__, ctrl->dev->name);
struct udevice *regulator;
int ret = regulator_get_by_platname("usbhub_enable", &regulator);
if (ret) {