[PATCH 0/7] Add USB remote wakeup driver

Chunfeng Yun chunfeng.yun at mediatek.com
Sat Dec 9 00:45:29 PST 2017


    These patches introduce the SSUSB and SPM glue layer driver which is
used to support usb remote wakeup. Usually the glue layer is put into
a system controller, such as PERICFG module.
    The old way to support usb wakeup is put into SSUSB controller drivers,
including xhci-mtk driver and mtu3 driver, but there are some problems:
    1. can't disdinguish the relation between glue layer and SSUSB IP
       when SoCs supports multi SSUSB IPs;
    2. duplicated code for wakeup are put into both xhci-mtk and mtu3
       drivers;
    3. the glue layer may vary on different SoCs with SSUSB IP, and will
       make SSUSB controller drivers complicated;
    In order to resolve these problems, it's useful to make the glue layer
transparent by extracting a seperated driver, meanwhile to reduce the
duplicated code and simplify SSUSB controller drivers.

Changes from v1:
 * Introduce USB remote wakeup driver
 * Use the new way to support remote wakeup for SSUSB controller drivers
 * Add binding document for USB remote wakeup driver
 * Update binding documents of SSUSB controller drivers
 * Update DTS of MT8173 platform

Chunfeng Yun (7):
  soc: mediatek: Add USB wakeup driver
  dt-bindings: soc: mediatek: add bindings document for USB wakeup
  usb: xhci-mtk: use APIs of mtu_wakeup to support remote wakeup
  usb: mtu3: use APIs of mtu_wakeup to support remote wakeup
  dt-bindings: usb: mtk-xhci: add USB wakeup properties
  dt-bindings: usb: mtu3: add USB wakeup properties
  arm64: dts: mt8173: add uwk node and remove unused usb property

 .../bindings/soc/mediatek/usb-wakeup.txt           |  77 +++
 .../devicetree/bindings/usb/mediatek,mtk-xhci.txt  |  15 +-
 .../devicetree/bindings/usb/mediatek,mtu3.txt      |  14 +-
 arch/arm64/boot/dts/mediatek/mt8173-evb.dts        |  28 +-
 arch/arm64/boot/dts/mediatek/mt8173.dtsi           |  16 +-
 drivers/soc/mediatek/Kconfig                       |   8 +
 drivers/soc/mediatek/Makefile                      |   1 +
 drivers/soc/mediatek/mtk-usb-wakeup.c              | 519 +++++++++++++++++++++
 drivers/usb/host/xhci-mtk.c                        |  39 +-
 drivers/usb/host/xhci-mtk.h                        |   2 +
 drivers/usb/mtu3/mtu3.h                            |   2 +
 drivers/usb/mtu3/mtu3_host.c                       |  39 +-
 include/dt-bindings/soc/mediatek,usb-wakeup.h      |  15 +
 include/linux/soc/mediatek/usb-wakeup.h            |  88 ++++
 14 files changed, 803 insertions(+), 60 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/soc/mediatek/usb-wakeup.txt
 create mode 100644 drivers/soc/mediatek/mtk-usb-wakeup.c
 create mode 100644 include/dt-bindings/soc/mediatek,usb-wakeup.h
 create mode 100644 include/linux/soc/mediatek/usb-wakeup.h

-- 
1.9.1




More information about the linux-arm-kernel mailing list