From: Peng Fan <peng.fan@nxp.com>
To: "Rafael J. Wysocki" <rafael@kernel.org>,
Pavel Machek <pavel@kernel.org>, Len Brown <lenb@kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Danilo Krummrich <dakr@kernel.org>,
Ulf Hansson <ulf.hansson@linaro.org>,
Peter Chen <peter.chen@kernel.org>,
Shawn Guo <shawnguo@kernel.org>,
Sascha Hauer <s.hauer@pengutronix.de>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Fabio Estevam <festevam@gmail.com>,
Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-usb@vger.kernel.org, imx@lists.linux.dev,
linux-arm-kernel@lists.infradead.org,
Peng Fan <peng.fan@nxp.com>, Xu Yang <xu.yang_2@nxp.com>
Subject: [PATCH v4 0/5] pmdomain: core: Introduce device_set_out_band_wakeup and use it in usb
Date: Mon, 22 Sep 2025 10:21:05 +0800 [thread overview]
Message-ID: <20250922-pm-v4-v4-0-ef48428e8fe0@nxp.com> (raw)
To i.MX95, USB2 and USB3 are in HSIOMIX domain, but there is always on logic
to make USB2 and USB3 has wakeup capability when HSIOMIX power domain
is in off state. So when in system-suspend state, USB2/USB3 could wakeup
the system even the USB2/USB3 HSIOMIX power domain is turned off. This
means USB2/USB3 has out-of-band wakeup capability to wakeup system from
suspended state.
Without this patchset, if USB2/USB3 are configured with wakeup enabled,
the HSIOMIX power domain will not be turned off. This leads to more
power consumed in system suspend state.
This patchset introduces device_set_out_band_wakeup and
device_out_band_wakeup two APIs to set out-of-band and query the flag.
In genpd_finish_suspend, there is a check, if out-of-band is set,
it will continue to turn off the power domain. In genpd resume flow,
there is a similar check to turn on the power domain.
Patch 1,2 introduces device_set_out_band_wakeup and
device_out_band_wakeup
Patch 3 and 4 are drivers changes to use device_out_band_wakeup
More old discussions:
https://lore.kernel.org/linux-pm/20250311083239.3336439-1-peng.fan@oss.nxp.com/
This is pick up of [1]
This V2 patchset
- includes usb driver changes to give people a full picture on how it is used.
- Rebased next-20250729 to resolve conflicts
[1]https://lore.kernel.org/linux-pm/20250311083239.3336439-1-peng.fan@oss.nxp.com/
Changes in v4:
- Split device_set_out_band_wakeup API and pmdomain changes into patch 1
and 2 and clear the flag in device_prepare (from Ulf)
- Add R-b in patch 2
- Move the call of device_set_out_band_wakeup to system suspend
callback in patch 3 and 4. (from Ulf)
- For patch 3,4, I still keep the Tags, since compared with V3, it is quite
small changes.
- Link to v3: https://lore.kernel.org/r/20250902-pm-v3-0-ffadbb454cdc@nxp.com
Changes in v3:
- Add a new patch from Xu Yang to detach power domain for ci hdrc
- Add A-b for patch 4
- Link to v2: https://lore.kernel.org/r/20250801-pm-v2-0-97c8fb2a433c@nxp.com
Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
Peng Fan (4):
PM: wakeup: Add out-of-band system wakeup support for devices
PM: domains: Allow power-off for out-of-band wakeup-capable devices
usb: chipidea: ci_hdrc_imx: Set out of band wakeup for i.MX95
usb: dwc3: imx8mp: Set out of band wakeup for i.MX95
Xu Yang (1):
usb: chipidea: core: detach power domain for ci_hdrc platform device
drivers/base/power/main.c | 1 +
drivers/pmdomain/core.c | 6 ++++--
drivers/usb/chipidea/ci_hdrc_imx.c | 11 ++++++++++-
drivers/usb/chipidea/core.c | 3 +++
drivers/usb/dwc3/dwc3-imx8mp.c | 9 +++++++--
include/linux/pm.h | 1 +
include/linux/pm_wakeup.h | 17 +++++++++++++++++
include/linux/usb/chipidea.h | 1 +
8 files changed, 44 insertions(+), 5 deletions(-)
---
base-commit: 8f7f8b1b3f4c613dd886f53f768f82816b41eaa3
change-id: 20250919-pm-v4-1879568de500
Best regards,
--
Peng Fan <peng.fan@nxp.com>
next reply other threads:[~2025-09-22 2:21 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-22 2:21 Peng Fan [this message]
2025-09-22 2:21 ` [PATCH v4 1/5] PM: wakeup: Add out-of-band system wakeup support for devices Peng Fan
2025-09-23 9:40 ` Dhruva Gole
2025-09-22 2:21 ` [PATCH v4 2/5] PM: domains: Allow power-off for out-of-band wakeup-capable devices Peng Fan
2025-09-23 9:44 ` Dhruva Gole
2025-09-22 2:21 ` [PATCH v4 3/5] usb: chipidea: core: detach power domain for ci_hdrc platform device Peng Fan
2025-09-24 0:35 ` Peter Chen (CIX)
2025-09-22 2:21 ` [PATCH v4 4/5] usb: chipidea: ci_hdrc_imx: Set out of band wakeup for i.MX95 Peng Fan
2025-09-24 0:52 ` Peter Chen (CIX)
2025-09-22 2:21 ` [PATCH v4 5/5] usb: dwc3: imx8mp: " Peng Fan
2025-09-23 10:07 ` [PATCH v4 0/5] pmdomain: core: Introduce device_set_out_band_wakeup and use it in usb Ulf Hansson
2025-09-29 3:40 ` Peng Fan
2025-09-29 9:30 ` Ulf Hansson
2025-09-29 12:06 ` Peng Fan
2025-10-13 11:15 ` Ulf Hansson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250922-pm-v4-v4-0-ef48428e8fe0@nxp.com \
--to=peng.fan@nxp.com \
--cc=Thinh.Nguyen@synopsys.com \
--cc=dakr@kernel.org \
--cc=festevam@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=imx@lists.linux.dev \
--cc=kernel@pengutronix.de \
--cc=lenb@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=pavel@kernel.org \
--cc=peter.chen@kernel.org \
--cc=rafael@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=shawnguo@kernel.org \
--cc=ulf.hansson@linaro.org \
--cc=xu.yang_2@nxp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox