mbox series

[v4,00/10] Add support MediaTek USB3 DRD driver

Message ID 1597028403-7842-1-git-send-email-chunfeng.yun@mediatek.com
Headers show
Series Add support MediaTek USB3 DRD driver | expand

Message

Chunfeng Yun (云春峰) Aug. 10, 2020, 2:59 a.m. UTC
These patches introduce the MediaTek USB3 Dual-Role Controller
driver.
The driver can be configured as Peripheral only and Host only(xHCI)
modes, and it's ported from Linux Kernel 5.8-rc1

v4 changes:
    1. [4/10], [9/10] and [10/10] are new patches
    2. add a glue driver
    3. add host driver and rebuild host flow
    4. support force_vbus mode for device
    5. update bindings to support glue driver

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 (10):
  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: common: add define of usb_speed_string()
  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
  configs: mt8512: add USB host related configs
  MAINTAINERS: add mtu3 driver to ARM MEDIATEK

 MAINTAINERS                                    |   1 +
 Makefile                                       |   1 +
 arch/arm/dts/mt8512-bm1-emmc.dts               |  34 +
 arch/arm/dts/mt8512.dtsi                       |  49 +-
 configs/mt8512_bm1_emmc_defconfig              |  26 +
 doc/device-tree-bindings/usb/generic.txt       |  31 +
 doc/device-tree-bindings/usb/mediatek,mtu3.txt |  79 +++
 drivers/usb/Kconfig                            |   2 +
 drivers/usb/common/common.c                    |   8 +
 drivers/usb/gadget/gadget_chips.h              |   8 +
 drivers/usb/mtu3/Kconfig                       |  45 ++
 drivers/usb/mtu3/Makefile                      |  11 +
 drivers/usb/mtu3/mtu3.h                        | 423 +++++++++++
 drivers/usb/mtu3/mtu3_core.c                   | 838 ++++++++++++++++++++++
 drivers/usb/mtu3/mtu3_dr.h                     |  52 ++
 drivers/usb/mtu3/mtu3_gadget.c                 | 686 ++++++++++++++++++
 drivers/usb/mtu3/mtu3_gadget_ep0.c             | 933 +++++++++++++++++++++++++
 drivers/usb/mtu3/mtu3_host.c                   | 141 ++++
 drivers/usb/mtu3/mtu3_hw_regs.h                | 515 ++++++++++++++
 drivers/usb/mtu3/mtu3_plat.c                   | 367 ++++++++++
 drivers/usb/mtu3/mtu3_qmu.c                    | 504 +++++++++++++
 drivers/usb/mtu3/mtu3_qmu.h                    |  37 +
 include/linux/usb/ch9.h                        |   5 +-
 23 files changed, 4791 insertions(+), 5 deletions(-)
 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