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

From: Chunfeng Yun
Date: Tue Jun 08 2021 - 03:57:57 EST


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(-)

--
2.18.0