aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm53xx
diff options
context:
space:
mode:
authorRafał Miłecki <rafal@milecki.pl>2016-12-07 09:21:11 +0100
committerRafał Miłecki <rafal@milecki.pl>2016-12-07 09:22:39 +0100
commitee55a19a618a30182213937c8c96e056d8f9ed41 (patch)
treeb826b22e6e79300ee711aa704a03e764f8da796b /target/linux/bcm53xx
parent4fbd3aa278903bfc74341aafaeef86ff98e82e09 (diff)
downloadupstream-ee55a19a618a30182213937c8c96e056d8f9ed41.tar.gz
upstream-ee55a19a618a30182213937c8c96e056d8f9ed41.tar.bz2
upstream-ee55a19a618a30182213937c8c96e056d8f9ed41.zip
bcm53xx: update patch adding fake USB doorbell
Rob suggested I should use of_machine_is_compatible insteak of a new property and updated patch has been sent. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Diffstat (limited to 'target/linux/bcm53xx')
-rw-r--r--target/linux/bcm53xx/patches-4.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch34
1 files changed, 8 insertions, 26 deletions
diff --git a/target/linux/bcm53xx/patches-4.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch b/target/linux/bcm53xx/patches-4.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
index 0e8a65a182..9d8b7e8387 100644
--- a/target/linux/bcm53xx/patches-4.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
+++ b/target/linux/bcm53xx/patches-4.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
@@ -1,40 +1,22 @@
-From 37df205cdb69d17d5e815385fc1af3c97d1fe20b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
Date: Sat, 1 Oct 2016 22:54:48 +0200
Subject: [PATCH] usb: xhci: add support for performing fake doorbell
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
Broadcom's Northstar XHCI controllers seem to need a special start
-procedure to work correctly. There isn't any official documentation on
+procedure to work correctly. There isn't any official documentation of
this, the problem is that controller doesn't detect any connected
devices with default setup. Moreover connecting USB device to controller
that doesn't run properly can cause SoC's watchdog issues.
A workaround that was successfully tested on multiple devices is to
-perform a fake doorbell. This patch adds code for doing that and a DT
-binding enabling it.
-
-Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+perform a fake doorbell. This patch adds code for doing this and enables
+it on BCM4708 family.
---
- Documentation/devicetree/bindings/usb/usb-xhci.txt | 2 +
- drivers/usb/host/xhci-plat.c | 6 +++
- drivers/usb/host/xhci.c | 63 ++++++++++++++++++++--
- drivers/usb/host/xhci.h | 1 +
- 4 files changed, 69 insertions(+), 3 deletions(-)
+ drivers/usb/host/xhci-plat.c | 6 +++++
+ drivers/usb/host/xhci.c | 63 +++++++++++++++++++++++++++++++++++++++++---
+ drivers/usb/host/xhci.h | 1 +
+ 3 files changed, 67 insertions(+), 3 deletions(-)
---- a/Documentation/devicetree/bindings/usb/usb-xhci.txt
-+++ b/Documentation/devicetree/bindings/usb/usb-xhci.txt
-@@ -12,6 +12,8 @@ Required properties:
- Optional properties:
- - clocks: reference to a clock
- - usb3-lpm-capable: determines if platform is USB3 LPM capable
-+ - usb3-fake-doorbell: determines if controller requires a fake doorbell when
-+ starting it
-
- Example:
- usb@f0931000 {
--- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c
@@ -38,12 +38,18 @@ static const struct xhci_driver_override
@@ -51,7 +33,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
*/
xhci->quirks |= XHCI_PLAT;
+
-+ if (node && of_property_read_bool(node, "usb3-fake-doorbell"))
++ if (node && of_machine_is_compatible("brcm,bcm4708"))
+ xhci->quirks |= XHCI_FAKE_DOORBELL;
}