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>
This commit is contained in:
		@@ -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>
 | 
					From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
 | 
				
			||||||
Date: Sat, 1 Oct 2016 22:54:48 +0200
 | 
					Date: Sat, 1 Oct 2016 22:54:48 +0200
 | 
				
			||||||
Subject: [PATCH] usb: xhci: add support for performing fake doorbell
 | 
					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
 | 
					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
 | 
					this, the problem is that controller doesn't detect any connected
 | 
				
			||||||
devices with default setup. Moreover connecting USB device to controller
 | 
					devices with default setup. Moreover connecting USB device to controller
 | 
				
			||||||
that doesn't run properly can cause SoC's watchdog issues.
 | 
					that doesn't run properly can cause SoC's watchdog issues.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
A workaround that was successfully tested on multiple devices is to
 | 
					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
 | 
					perform a fake doorbell. This patch adds code for doing this and enables
 | 
				
			||||||
binding enabling it.
 | 
					it on BCM4708 family.
 | 
				
			||||||
 | 
					 | 
				
			||||||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
 | 
					 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
 Documentation/devicetree/bindings/usb/usb-xhci.txt |  2 +
 | 
					 drivers/usb/host/xhci-plat.c |  6 +++++
 | 
				
			||||||
 drivers/usb/host/xhci-plat.c                       |  6 +++
 | 
					 drivers/usb/host/xhci.c      | 63 +++++++++++++++++++++++++++++++++++++++++---
 | 
				
			||||||
 drivers/usb/host/xhci.c                            | 63 ++++++++++++++++++++--
 | 
					 drivers/usb/host/xhci.h      |  1 +
 | 
				
			||||||
 drivers/usb/host/xhci.h                            |  1 +
 | 
					 3 files changed, 67 insertions(+), 3 deletions(-)
 | 
				
			||||||
 4 files changed, 69 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
 | 
					--- a/drivers/usb/host/xhci-plat.c
 | 
				
			||||||
+++ b/drivers/usb/host/xhci-plat.c
 | 
					+++ b/drivers/usb/host/xhci-plat.c
 | 
				
			||||||
@@ -38,12 +38,18 @@ static const struct xhci_driver_override
 | 
					@@ -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;
 | 
					 	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;
 | 
					+		xhci->quirks |= XHCI_FAKE_DOORBELL;
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user