Just another round here trying to push forward a patch series submitted originally by Yu Chen to get HiKey960 dev-board's USB functionality working. The full patchset (including dts changes not submitted here) can be found here: https://git.linaro.org/people/john.stultz/android-dev.git/log/?id=950276ae1baab3a22836d1f89aeadbb08adf41e0 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. I tried to document the previously undocumented bindings, fixed up a few minor checkpatch issues and tried to address previous feedback as best I could. I'd greatly appreciate any feedback or thoughts! thanks -john New in v6: * Felipe previously had disliked extending the dwc3 binding to allow for more flexible clock and resest lists, so in the last series I switched back to the dwc3-simple-of.c approach, but Rob pushed back on the last series, and with no reply from Felipe, I've switched back to this appraoch. Clear guidance would be appreciated here! * Fixed build issue Reported-by: 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 (5): dt-bindings: usb: generic: Add role-switch-default-mode binding usb: dwc3: Add support for role-switch-default-mode binding 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 Yu Chen (3): 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 | 6 + drivers/misc/Kconfig | 6 + drivers/misc/Makefile | 1 + drivers/misc/hisi_hikey_usb.c | 178 ++++++++++++++++++ drivers/usb/dwc3/core.c | 22 +-- drivers/usb/dwc3/core.h | 6 + drivers/usb/dwc3/drd.c | 96 +++++++++- 9 files changed, 341 insertions(+), 19 deletions(-) create mode 100644 Documentation/devicetree/bindings/misc/hisilicon-hikey-usb.txt create mode 100644 drivers/misc/hisi_hikey_usb.c -- 2.17.1