From patchwork Mon Jul 6 02:21:44 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?b?Q2h1bmZlbmcgWXVuICjkupHmmKXls7Ap?= X-Patchwork-Id: 240753 List-Id: U-Boot discussion From: chunfeng.yun at mediatek.com (Chunfeng Yun) Date: Mon, 6 Jul 2020 10:21:44 +0800 Subject: [PATCH v2 0/6] Add support MediaTek USB3 DRD driver Message-ID: <1594002110-25624-1-git-send-email-chunfeng.yun@mediatek.com> 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.7-rc1 v2 changes: 1. simplify QMU operations Chunfeng Yun (6): 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 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 | 41 +- 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/mtu3/Kconfig | 45 ++ drivers/usb/mtu3/Makefile | 11 + drivers/usb/mtu3/mtu3.h | 404 +++++++++++ drivers/usb/mtu3/mtu3_core.c | 863 +++++++++++++++++++++++ drivers/usb/mtu3/mtu3_dr.h | 59 ++ drivers/usb/mtu3/mtu3_gadget.c | 705 +++++++++++++++++++ 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 | 251 +++++++ drivers/usb/mtu3/mtu3_qmu.c | 505 +++++++++++++ drivers/usb/mtu3/mtu3_qmu.h | 37 + include/linux/usb/ch9.h | 1 + 20 files changed, 4675 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