mbox series

[00/23] Add support gadget (runtime) PM

Message ID 1623139069-8173-1-git-send-email-chunfeng.yun@mediatek.com
Headers show
Series Add support gadget (runtime) PM | expand

Message

Chunfeng Yun (云春峰) June 8, 2021, 7:57 a.m. UTC
This series mainly adds support for gadget suspend/resume when the controller
works at device only mode or dual role mode, and also adds support runtime PM,
in order to fix the sequence issue about resume and role switch event arised
by extcon or role-switch, rebuild and unify the flow of dual role switch for
all three supported ways.

Chunfeng Yun (23):
  dt-bindings: usb: mtu3: remove support VBUS detection of extcon
  dt-bindings: usb: mtu3: add optional property to disable usb2 ports
  dt-bindings: usb: mtu3: add support property role-switch-default-mode
  dt-bindings: usb: mtu3: add wakeup interrupt
  usb: mtu3: power down device IP by default
  usb: mtu3: power down port when power down device IP
  usb: mtu3: remove wakelock
  usb: mtu3: drop support vbus detection
  usb: mtu3: use enum usb_role instead of private defined ones
  usb: mtu3: rebuild role switch flow of extcon
  usb: mtu3: add helper to get pointer of ssusb_mtk struct
  usb: mtu3: use force mode for dual role switch
  usb: mtu3: rebuild role switch get/set hooks
  usb: common: add helper to get role-switch-default-mode
  usb: dwc3: drd: use helper to get role-switch-default-mode
  usb: mtu3: support property role-switch-default-mode
  usb: mtu3: support option to disable usb2 ports
  usb: mtu3: add new helpers for host suspend/resume
  usb: mtu3: support runtime PM for host mode
  usb: mtu3: add helper to power on/down device
  usb: mtu3: support suspend/resume for device mode
  usb: mtu3: support suspend/resume for dual-role mode
  usb: mtu3: use clock bulk to get clocks

 .../bindings/usb/mediatek,mtu3.yaml           |  47 +++-
 drivers/usb/common/common.c                   |  20 ++
 drivers/usb/dwc3/drd.c                        |   8 +-
 drivers/usb/mtu3/mtu3.h                       |  36 ++-
 drivers/usb/mtu3/mtu3_core.c                  | 117 +++++++-
 drivers/usb/mtu3/mtu3_dr.c                    | 193 +++++---------
 drivers/usb/mtu3/mtu3_dr.h                    |  30 ++-
 drivers/usb/mtu3/mtu3_gadget.c                |   5 +
 drivers/usb/mtu3/mtu3_host.c                  | 112 ++++++--
 drivers/usb/mtu3/mtu3_plat.c                  | 250 +++++++++++-------
 include/linux/usb/otg.h                       |   1 +
 11 files changed, 530 insertions(+), 289 deletions(-)