[RFC][PATCH v3 00/11] HiKey960 USB support

From: John Stultz
Date: Tue Oct 15 2019 - 23:35:07 EST


I'm just trying to pick up a patch series submitted previously
by Yu Chen to get HiKey960 dev-board's USB functionality
working.

The current full patchset can be found here:
https://git.linaro.org/people/john.stultz/android-dev.git/log/?id=305b332b46901c82d762e44d2ef8c96107a0c94e

Previously I sent this series out as two separate series, to
try to make the review a little easier. However, the partial
series was causing some confusion as well, so this time I've
sent almost all of it in one go.

NOTE: I unfortunately don't have any deep knowledge of the
hardware other then the previously submitted code and what I
can intuit from testing, but I tried to document the previously
undocumented bindings as best I could, fixed up a few minor
checkpatch issues and tried to address previous feedback as best
I could.

I'd greatly appreciate feedback or thoughts!

thanks
-john

New in v3:
* Avoiding adding a hisi specific dwc3 binding and instead
trying to make the dwc core binding more flexible as suggsted
by Rob Herring.

* Made the GCTL soft reset unconditional as suggested by
Jack Pham.

* Given the negative feedback on the usb class role-switch
notifier method for the hub logic to hook into, I've reworked
the hub logic to be an usb-role-switch intermediary.

* Lots of minor fixups and cleanups, some reported by the
kbuild test robot <lkp@xxxxxxxxx>


Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Cc: Rob Herring <robh+dt@xxxxxxxxxx>
Cc: Mark Rutland <mark.rutland@xxxxxxx>
CC: ShuFan Lee <shufan_lee@xxxxxxxxxxx>
Cc: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>
Cc: Suzuki K Poulose <suzuki.poulose@xxxxxxx>
Cc: Chunfeng Yun <chunfeng.yun@xxxxxxxxxxxx>
Cc: Yu Chen <chenyu56@xxxxxxxxxx>
Cc: Felipe Balbi <balbi@xxxxxxxxxx>
Cc: Hans de Goede <hdegoede@xxxxxxxxxx>
Cc: Andy Shevchenko <andy.shevchenko@xxxxxxxxx>
Cc: Jun Li <lijun.kernel@xxxxxxxxx>
Cc: Valentin Schneider <valentin.schneider@xxxxxxx>
Cc: Jack Pham <jackp@xxxxxxxxxxxxxx>
Cc: linux-usb@xxxxxxxxxxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx

John Stultz (6):
dt-bindings: usb: rt1711h: Add connector bindings
dt-bindings: usb: dwc3: Allow clock list & resets to be more flexible
usb: dwc3: Rework clock initialization to be more flexible
usb: dwc3: Rework resets initialization to be more flexible
dt-bindings: usb: generic: Add role-switch-default-host binding
usb: dwc3: Add host-mode as default support

Yu Chen (5):
usb: dwc3: Execute GCTL Core Soft Reset while switch modes
usb: dwc3: Increase timeout for CmdAct cleared by device controller
usb: dwc3: Registering a role switch in the DRD code.
dt-bindings: misc: Add bindings for HiSilicon usb hub and data role
switch functionality on HiKey960
misc: hisi_hikey_usb: Driver to support usb functionality of Hikey960

.../bindings/misc/hisilicon-hikey-usb.txt | 40 ++++
.../devicetree/bindings/usb/dwc3.txt | 5 +-
.../devicetree/bindings/usb/generic.txt | 5 +
.../bindings/usb/richtek,rt1711h.txt | 29 +++
drivers/misc/Kconfig | 6 +
drivers/misc/Makefile | 1 +
drivers/misc/hisi_hikey_usb.c | 178 ++++++++++++++++++
drivers/usb/dwc3/Kconfig | 1 +
drivers/usb/dwc3/core.c | 38 ++--
drivers/usb/dwc3/core.h | 6 +
drivers/usb/dwc3/drd.c | 78 +++++++-
drivers/usb/dwc3/gadget.c | 2 +-
12 files changed, 369 insertions(+), 20 deletions(-)
create mode 100644 Documentation/devicetree/bindings/misc/hisilicon-hikey-usb.txt
create mode 100644 drivers/misc/hisi_hikey_usb.c

--
2.17.1