Re: [PATCH] usb: xhci: add support for performing fake doorbell

From: Rob Herring
Date: Sat Oct 08 2016 - 21:46:15 EST


On Sat, Oct 01, 2016 at 11:58:10PM +0200, RafaÅ MiÅecki wrote:
> From: RafaÅ MiÅecki <rafal@xxxxxxxxxx>
>
> Broadcom's Northstar XHCI controllers seem to need a special start
> procedure to work correctly. There isn't any official documentation on
> 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@xxxxxxxxxx>
> ---
> 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(-)
>
> diff --git a/Documentation/devicetree/bindings/usb/usb-xhci.txt b/Documentation/devicetree/bindings/usb/usb-xhci.txt
> index 966885c..ce01b7f 100644
> --- a/Documentation/devicetree/bindings/usb/usb-xhci.txt
> +++ b/Documentation/devicetree/bindings/usb/usb-xhci.txt
> @@ -26,6 +26,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

You should use Northstar XHCI compatible string to enable this. Then the
DT doesn't need updating.

Rob