Re: [PATCH V5, 0/5] Add MediaTek USB3 DRD Driver

From: chunfeng yun
Date: Wed Aug 24 2016 - 02:42:31 EST


Dear all,

Could you please help me to review the code?

Thank you very much.


On Tue, 2016-08-09 at 16:23 +0800, Chunfeng Yun wrote:
> These patches introduce the MediaTek USB3 dual-role controller
> driver.
>
> The driver can be configured as Dual-Role Device (DRD),
> Peripheral Only and Host Only (xHCI) modes. It works well
> with Mass Storage, RNDIS and g_zero on FS/HS and SS. And it is
> tested on MT8173 platform which only contains USB2.0 device IP,
> and on MT6290 platform which contains USB3.0 device IP.
>
> Change in v5:
> 1. modify some comments
> 2. rename some unsuitable variables
> 3. add reg-names property for host node
> 4. add USB_MTU3_DEBUG to control debug messages
>
> Change in v4:
> 1. fix build errors on non-mediatek platforms
> 2. provide manual dual-role switch via debugfs instead of sysfs
>
> Change in v3:
> 1. fix some typo error
> 2. rename mtu3.txt to mt8173-mtu3.txt
>
> Change in v2:
> 1. modify binding docs according to suggestions
> 2. modify some comments and remove some dummy blank lines
> 3. fix memory leakage
>
>
> Chunfeng Yun (5):
> dt-bindings: mt8173-xhci: support host side of dual-role mode
> dt-bindings: mt8173-mtu3: add devicetree bindings
> usb: xhci-mtk: make IPPC register optional
> usb: Add MediaTek USB3 DRD Driver
> arm64: dts: mediatek: add USB3 DRD driver
>
> .../devicetree/bindings/usb/mt8173-mtu3.txt | 87 ++
> .../devicetree/bindings/usb/mt8173-xhci.txt | 54 +-
> arch/arm64/boot/dts/mediatek/mt8173-evb.dts | 46 +-
> arch/arm64/boot/dts/mediatek/mt8173.dtsi | 29 +-
> drivers/usb/Kconfig | 2 +
> drivers/usb/Makefile | 1 +
> drivers/usb/host/xhci-mtk.c | 36 +-
> drivers/usb/mtu3/Kconfig | 54 ++
> drivers/usb/mtu3/Makefile | 19 +
> drivers/usb/mtu3/mtu3.h | 422 ++++++++++
> drivers/usb/mtu3/mtu3_core.c | 874 +++++++++++++++++++
> drivers/usb/mtu3/mtu3_dr.c | 375 +++++++++
> drivers/usb/mtu3/mtu3_dr.h | 108 +++
> drivers/usb/mtu3/mtu3_gadget.c | 731 ++++++++++++++++
> drivers/usb/mtu3/mtu3_gadget_ep0.c | 879 ++++++++++++++++++++
> drivers/usb/mtu3/mtu3_host.c | 294 +++++++
> drivers/usb/mtu3/mtu3_hw_regs.h | 473 +++++++++++
> drivers/usb/mtu3/mtu3_plat.c | 490 +++++++++++
> drivers/usb/mtu3/mtu3_qmu.c | 599 +++++++++++++
> drivers/usb/mtu3/mtu3_qmu.h | 43 +
> 20 files changed, 5598 insertions(+), 18 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/usb/mt8173-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.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
>