mbox series

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

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

Message

Chunfeng Yun (云春峰) Sept. 18, 2020, 9:10 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

v7 changes
    1. use xhci quirk flag XHCI_MTK_HOST

v6 changes
    1. modify commit message of [4/10]

v5 changes:
    1. change condition of readl_poll_timeout() when check clocks
    2. add xhci-mtk.c and myself as maintainer for MTK USB

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 USB driver to ARM MEDIATEK

 MAINTAINERS                                    |   3 +
 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                   | 368 ++++++++++
 drivers/usb/mtu3/mtu3_qmu.c                    | 504 +++++++++++++
 drivers/usb/mtu3/mtu3_qmu.h                    |  37 +
 include/linux/usb/ch9.h                        |   5 +-
 23 files changed, 4794 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

Comments

Chunfeng Yun (云春峰) Sept. 28, 2020, 2:01 a.m. UTC | #1
Hi Marek, Lukasz

   Any comments on this patch series?

Thanks a lot


On Fri, 2020-09-18 at 17:10 +0800, Chunfeng Yun wrote:
> 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
> 
> v7 changes
>     1. use xhci quirk flag XHCI_MTK_HOST
> 
> v6 changes
>     1. modify commit message of [4/10]
> 
> v5 changes:
>     1. change condition of readl_poll_timeout() when check clocks
>     2. add xhci-mtk.c and myself as maintainer for MTK USB
> 
> 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 USB driver to ARM MEDIATEK
> 
>  MAINTAINERS                                    |   3 +
>  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                   | 368 ++++++++++
>  drivers/usb/mtu3/mtu3_qmu.c                    | 504 +++++++++++++
>  drivers/usb/mtu3/mtu3_qmu.h                    |  37 +
>  include/linux/usb/ch9.h                        |   5 +-
>  23 files changed, 4794 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
>
Marek Vasut Sept. 28, 2020, 2:12 a.m. UTC | #2
On 9/28/20 4:01 AM, Chunfeng Yun wrote:
[...]
>>  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

Since this is USB3 driver, you want this reviewed by Bin
Chunfeng Yun (云春峰) Sept. 28, 2020, 2:20 a.m. UTC | #3
Hi Marek,

On Mon, 2020-09-28 at 04:12 +0200, Marek Vasut wrote:
> On 9/28/20 4:01 AM, Chunfeng Yun wrote:
> [...]
> >>  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
> 
> Since this is USB3 driver, you want this reviewed by Bin
Got it.

Hi Bin,

  Would you please help to review this series?

Thank you Marek and Bin
Chunfeng Yun (云春峰) Oct. 13, 2020, 7:26 a.m. UTC | #4
Hi Bin,

Gentle ping...

Could you help to review this series?

Thanks a lot


On Mon, 2020-09-28 at 04:12 +0200, Marek Vasut wrote:
> On 9/28/20 4:01 AM, Chunfeng Yun wrote:
> [...]
> >>  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
> 
> Since this is USB3 driver, you want this reviewed by Bin
Bin Meng Oct. 13, 2020, 10:27 a.m. UTC | #5
Hi Chunfeng,

On Tue, Oct 13, 2020 at 3:26 PM Chunfeng Yun <chunfeng.yun@mediatek.com> wrote:
>
> Hi Bin,
>
> Gentle ping...
>
> Could you help to review this series?

Will have a look soon.

>
> Thanks a lot
>
>
> On Mon, 2020-09-28 at 04:12 +0200, Marek Vasut wrote:
> > On 9/28/20 4:01 AM, Chunfeng Yun wrote:
> > [...]
> > >>  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
> >
> > Since this is USB3 driver, you want this reviewed by Bin
>

Regards,
Bin