The patchset adds support for usb functionality of Hikey960, includes: - usb phy driver for Hisilicon Kirin Soc hi3660 - usb driver for HiKey960 board - some adjustment in dwc3 and usb role driver - dts for support usb of HiKey960 --- v5: * Split modification of usb role into two patches, the first one introduces stubs for the exiting functions, and the second adds notifier functions. v6: * Add a fix of usb_role_switch_register_notifier initialization from John Stultz <john.stultz@xxxxxxxxxx> --- Yu Chen (13): dt-bindings: phy: Add support for HiSilicon's hi3660 USB PHY dt-bindings: misc: Add bindings for HiSilicon usb hub and data role switch functionality on HiKey960 usb: dwc3: dwc3-of-simple: Add support for dwc3 of Hisilicon Soc Platform usb: dwc3: Add splitdisable quirk for Hisilicon Kirin Soc usb: dwc3: Execute GCTL Core Soft Reset while switch mdoe for Hisilicon Kirin Soc usb: dwc3: Increase timeout for CmdAct cleared by device controller phy: Add usb phy support for hi3660 Soc of Hisilicon usb: roles: Introduce stubs for the exiting functions in role.h. usb: roles: Add usb role switch notifier. usb: dwc3: Registering a role switch in the DRD code. hikey960: Support usb functionality of Hikey960 usb: gadget: Add configfs attribuite for controling match_existing_only dts: hi3660: Add support for usb on Hikey960 .../bindings/misc/hisilicon-hikey-usb.txt | 52 +++++ .../devicetree/bindings/phy/phy-hi3660-usb3.txt | 26 +++ MAINTAINERS | 8 + arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts | 53 +++++ arch/arm64/boot/dts/hisilicon/hi3660.dtsi | 73 +++++++ drivers/misc/Kconfig | 6 + drivers/misc/Makefile | 1 + drivers/misc/hisi_hikey_usb.c | 162 ++++++++++++++ drivers/phy/hisilicon/Kconfig | 10 + drivers/phy/hisilicon/Makefile | 1 + drivers/phy/hisilicon/phy-hi3660-usb3.c | 233 +++++++++++++++++++++ drivers/usb/dwc3/Kconfig | 1 + drivers/usb/dwc3/core.c | 45 ++++ drivers/usb/dwc3/core.h | 15 ++ drivers/usb/dwc3/drd.c | 78 ++++++- drivers/usb/dwc3/dwc3-of-simple.c | 4 +- drivers/usb/dwc3/gadget.c | 2 +- drivers/usb/gadget/configfs.c | 32 +++ drivers/usb/roles/class.c | 35 +++- include/linux/usb/role.h | 46 ++++ 20 files changed, 879 insertions(+), 4 deletions(-) create mode 100644 Documentation/devicetree/bindings/misc/hisilicon-hikey-usb.txt create mode 100644 Documentation/devicetree/bindings/phy/phy-hi3660-usb3.txt create mode 100644 drivers/misc/hisi_hikey_usb.c create mode 100644 drivers/phy/hisilicon/phy-hi3660-usb3.c -- 2.15.0-rc2