mbox series

[v4,00/13] Add support for MediaTek xHCI host controller

Message ID 1585884817-5333-1-git-send-email-chunfeng.yun@mediatek.com
Headers show
Series Add support for MediaTek xHCI host controller | expand

Message

Chunfeng Yun (云春峰) April 3, 2020, 3:33 a.m. UTC
The series of patches are used to support xHCI host controller on
MediaTek SoCs which has a glue layer IPPC (IP Port Control), and
add USB function on T-PHY including T-PHY V1 and V2;
Finally add USB related nodes for MT7629 platform.

The files of xhci-mtk.* and phy-mtk-tphy.* are ported from
Linux Kenrel 5.6-rc1

v4 changes:
    1. add phy_bulk API
    2. use phy_bulk in xhci-mtk driver, also include dwc3/dwc2 drivers

v3 changes:
    1. provide non/inline edev_get_child_count() suggested by Simon
    2. squash [PATCH v2 02/10] into [PATCH v2 03/10] suggested by Simon
    3. use macros to access IPPC registers suggested by Marek

v2 changes:
    1. move ofnode_get_child_count() into ofnode.c suggested by Simon
    2. add a test item for ofnode_get_child_count() suggested by Simon
    3. use clk_bulk to get clocks suggested by Marek
    4. use clrsetbits_le32() etc suggeseted by Marek
    5. get the count of phys by dev_get_child_count()
    6. drop reference to fixed clock clk20m

Chunfeng Yun (13):
  dm: core: Add function to get child count of ofnode or device
  test: dm: add test item for ofnode_get_child_count()
  phy: Add get/enable/disable for a bulk of phys
  test: dm: phy: add a test item for the phy_bulk API
  usb: dwc3: use the phy bulk API to get phys
  usb: dwc2_udc_otg: use the phy bulk API to get phys
  phy: phy-mtk-tphy: add support USB phys
  phy: phy-mtk-tphy: add support new version
  phy: phy-mtk-tphy: add a new reference clock
  xhci: mediatek: Add support for MTK xHCI host controller
  arm: dts: mt7629: add usb related nodes
  dt-bindings: phy-mtk-tphy: add properties of address mapping and
    clocks
  dt-bindings: usb: mtk-xhci: Add binding for MediaTek xHCI host
    controller

 arch/arm/dts/mt7629-rfb.dts                   |   8 +
 arch/arm/dts/mt7629.dtsi                      |  41 +++
 arch/sandbox/dts/test.dts                     |  29 ++
 doc/device-tree-bindings/phy/phy-mtk-tphy.txt |  78 ++++-
 .../usb/mediatek,mtk-xhci.txt                 |  40 +++
 drivers/core/ofnode.c                         |  11 +
 drivers/core/read.c                           |   5 +
 drivers/phy/phy-mtk-tphy.c                    | 316 +++++++++++++++++-
 drivers/phy/phy-uclass.c                      |  80 +++++
 drivers/usb/dwc3/core.c                       |  83 +----
 drivers/usb/dwc3/dwc3-generic.c               |   7 +-
 drivers/usb/gadget/dwc2_udc_otg.c             |  90 +----
 drivers/usb/host/Kconfig                      |   6 +
 drivers/usb/host/Makefile                     |   1 +
 drivers/usb/host/xhci-mtk.c                   | 297 ++++++++++++++++
 include/dm/ofnode.h                           |   8 +
 include/dm/read.h                             |  13 +
 include/dwc3-uboot.h                          |  11 +-
 include/generic-phy.h                         |  66 ++++
 test/dm/ofnode.c                              |  21 ++
 test/dm/phy.c                                 |  29 ++
 21 files changed, 1051 insertions(+), 189 deletions(-)
 create mode 100644 doc/device-tree-bindings/usb/mediatek,mtk-xhci.txt
 create mode 100644 drivers/usb/host/xhci-mtk.c