These patches introduce the MediaTek USB3 Dual-Role Controller driver. The driver can be configured as Dual-Role Device, Peripheral only and Host only(xHCI) modes, and it's ported from Linux Kernel 5.8-rc1
v3 changes: 1. add patch [5/7] 2. add udc_set_speed() 3. simplify some code flow v2 changes: 1. simplify QMU operations Chunfeng Yun (7): dt-binding: usb: add bindings for some common properties dt-bindings: usb: mtu3: add bindings for MediaTek USB3 DRD usb: add USB_SPEED_SUPER_PLUS usb: add MediaTek USB3 DRD driver usb: gadget: Add bcdDevice for the MTU3 USB Gadget Controller arm: dts: mt8512: add usb related nodes configs: mt8512: enable fastboot Makefile | 1 + arch/arm/dts/mt8512-bm1-emmc.dts | 10 + arch/arm/dts/mt8512.dtsi | 40 +- configs/mt8512_bm1_emmc_defconfig | 19 + doc/device-tree-bindings/usb/generic.txt | 31 + doc/device-tree-bindings/usb/mediatek,mtu3.txt | 74 ++ drivers/usb/Kconfig | 2 + drivers/usb/gadget/gadget_chips.h | 8 + drivers/usb/mtu3/Kconfig | 45 ++ drivers/usb/mtu3/Makefile | 11 + drivers/usb/mtu3/mtu3.h | 407 +++++++++++ drivers/usb/mtu3/mtu3_core.c | 870 +++++++++++++++++++++++ drivers/usb/mtu3/mtu3_dr.h | 59 ++ drivers/usb/mtu3/mtu3_gadget.c | 698 ++++++++++++++++++ drivers/usb/mtu3/mtu3_gadget_ep0.c | 933 +++++++++++++++++++++++++ drivers/usb/mtu3/mtu3_host.c | 170 +++++ drivers/usb/mtu3/mtu3_hw_regs.h | 514 ++++++++++++++ drivers/usb/mtu3/mtu3_plat.c | 248 +++++++ drivers/usb/mtu3/mtu3_qmu.c | 504 +++++++++++++ drivers/usb/mtu3/mtu3_qmu.h | 37 + include/linux/usb/ch9.h | 1 + 21 files changed, 4681 insertions(+), 1 deletion(-) create mode 100644 doc/device-tree-bindings/usb/generic.txt create mode 100644 doc/device-tree-bindings/usb/mediatek,mtu3.txt create mode 100644 drivers/usb/mtu3/Kconfig create mode 100644 drivers/usb/mtu3/Makefile create mode 100644 drivers/usb/mtu3/mtu3.h create mode 100644 drivers/usb/mtu3/mtu3_core.c create mode 100644 drivers/usb/mtu3/mtu3_dr.h create mode 100644 drivers/usb/mtu3/mtu3_gadget.c create mode 100644 drivers/usb/mtu3/mtu3_gadget_ep0.c create mode 100644 drivers/usb/mtu3/mtu3_host.c create mode 100644 drivers/usb/mtu3/mtu3_hw_regs.h create mode 100644 drivers/usb/mtu3/mtu3_plat.c create mode 100644 drivers/usb/mtu3/mtu3_qmu.c create mode 100644 drivers/usb/mtu3/mtu3_qmu.h -- 1.9.1