summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2026-04-16 00:22:42 +0300
committerLinus Torvalds <torvalds@linux-foundation.org>2026-04-16 00:22:42 +0300
commite41a25c53f96abe40edc5db1626d37a518852d84 (patch)
tree21ae02b55559cbda52eca268b358e6ea3624ecd2 /include
parent4ddd4f0651a710f33dfbb9dadd94f2bb0aa31aa8 (diff)
parent596ca99cf04f339db2ed18a5bb230ee11a47b699 (diff)
downloadlinux-e41a25c53f96abe40edc5db1626d37a518852d84.tar.xz
Merge tag 'pmdomain-v7.1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm
Pull pmdomain updates from Ulf Hansson: "pmdomain core: - Extend statistics for domain idle states with s2idle data - Show latency/residency for domain idle states in debugfs pmdomain providers: - imx: Add support for optional subnodes for imx93-blk-ctrl - marvell: Add audio power island for Marvell PXA1908 - mediatek: - Add legacy support for the MT7622 audio power domain - Add nvmem provider functionality to the mtk-mfg-pmdomain - Add support for the MT8189 power domains - qcom: Add support for the Eliza and Hawi power domains - sunxi: Add support for the Allwinner A733 power domains - ti: Handle wakeup constraints for out-of-band wakeups for ti_sci" * tag 'pmdomain-v7.1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm: (32 commits) pmdomain: qcom: rpmhpd: Add power domains for Hawi SoC dt-bindings: power: qcom,rpmhpd: Add RPMh power domain for Hawi SoC pmdomain: qcom: cpr: add COMPILE_TEST support PM: domains: De-constify fields in struct dev_pm_domain_attach_data pmdomain: qcom: cpr: simplify main allocation pmdomain: bcm: bcm2835-power: Replace open-coded polling with readl_poll_timeout_atomic() pmdomain: sunxi: Add support for A733 to Allwinner PCK600 driver pmdomain: qcom: rpmhpd: Add Eliza RPMh Power Domains pmdomain: arm: Add print after a successful probe for SCMI power domains pmdomain: rockchip: quiet regulator error on -EPROBE_DEFER pmdomain: mediatek: Add power domain driver for MT8189 SoC pmdomain: mediatek: Add bus protect control flow for MT8189 pmdomain: core: Extend statistics for domain idle states with s2idle data pmdomain: core: Show latency/residency for domain idle states in debugfs pmdomain: core: Restructure domain idle states data for genpd in debugfs pmdomain: qcom: rpmpd: drop stray semicolon pmdomain: imx: scu-pd: Fix device_node reference leak during ->probe() pmdomain: ti: omap_prm: Fix a reference leak on device node pmdomain: mediatek: scpsys: Add MT7622 Audio power domain to legacy driver pmdomain: mediatek: Simplify with scoped for each OF child loop ...
Diffstat (limited to 'include')
-rw-r--r--include/dt-bindings/power/allwinner,sun60i-a733-pck-600.h18
-rw-r--r--include/dt-bindings/power/marvell,pxa1908-power.h1
-rw-r--r--include/dt-bindings/power/mediatek,mt8189-power.h38
-rw-r--r--include/dt-bindings/power/mt7622-power.h1
-rw-r--r--include/dt-bindings/power/qcom,rpmhpd.h12
-rw-r--r--include/linux/pm_domain.h5
6 files changed, 73 insertions, 2 deletions
diff --git a/include/dt-bindings/power/allwinner,sun60i-a733-pck-600.h b/include/dt-bindings/power/allwinner,sun60i-a733-pck-600.h
new file mode 100644
index 000000000000..cf476a005b55
--- /dev/null
+++ b/include/dt-bindings/power/allwinner,sun60i-a733-pck-600.h
@@ -0,0 +1,18 @@
+/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
+
+#ifndef _DT_BINDINGS_POWER_SUN60I_A733_PCK600_H_
+#define _DT_BINDINGS_POWER_SUN60I_A733_PCK600_H_
+
+#define PD_VI 0
+#define PD_DE_SYS 1
+#define PD_VE_DEC 2
+#define PD_VE_ENC 3
+#define PD_NPU 4
+#define PD_GPU_TOP 5
+#define PD_GPU_CORE 6
+#define PD_PCIE 7
+#define PD_USB2 8
+#define PD_VO 9
+#define PD_VO1 10
+
+#endif /* _DT_BINDINGS_POWER_SUN60I_A733_PCK600_H_ */
diff --git a/include/dt-bindings/power/marvell,pxa1908-power.h b/include/dt-bindings/power/marvell,pxa1908-power.h
index 19b088351af1..173f47e0e69d 100644
--- a/include/dt-bindings/power/marvell,pxa1908-power.h
+++ b/include/dt-bindings/power/marvell,pxa1908-power.h
@@ -13,5 +13,6 @@
#define PXA1908_POWER_DOMAIN_GPU2D 2
#define PXA1908_POWER_DOMAIN_DSI 3
#define PXA1908_POWER_DOMAIN_ISP 4
+#define PXA1908_POWER_DOMAIN_AUDIO 5
#endif
diff --git a/include/dt-bindings/power/mediatek,mt8189-power.h b/include/dt-bindings/power/mediatek,mt8189-power.h
new file mode 100644
index 000000000000..70a8c2113457
--- /dev/null
+++ b/include/dt-bindings/power/mediatek,mt8189-power.h
@@ -0,0 +1,38 @@
+/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
+/*
+ * Copyright (c) 2025 MediaTek Inc.
+ * Author: Qiqi Wang <qiqi.wang@mediatek.com>
+ */
+
+#ifndef _DT_BINDINGS_POWER_MT8189_POWER_H
+#define _DT_BINDINGS_POWER_MT8189_POWER_H
+
+/* SPM */
+#define MT8189_POWER_DOMAIN_CONN 0
+#define MT8189_POWER_DOMAIN_AUDIO 1
+#define MT8189_POWER_DOMAIN_ADSP_TOP_DORMANT 2
+#define MT8189_POWER_DOMAIN_ADSP_INFRA 3
+#define MT8189_POWER_DOMAIN_ADSP_AO 4
+#define MT8189_POWER_DOMAIN_MM_INFRA 5
+#define MT8189_POWER_DOMAIN_ISP_IMG1 6
+#define MT8189_POWER_DOMAIN_ISP_IMG2 7
+#define MT8189_POWER_DOMAIN_ISP_IPE 8
+#define MT8189_POWER_DOMAIN_VDE0 9
+#define MT8189_POWER_DOMAIN_VEN0 10
+#define MT8189_POWER_DOMAIN_CAM_MAIN 11
+#define MT8189_POWER_DOMAIN_CAM_SUBA 12
+#define MT8189_POWER_DOMAIN_CAM_SUBB 13
+#define MT8189_POWER_DOMAIN_MDP0 14
+#define MT8189_POWER_DOMAIN_DISP 15
+#define MT8189_POWER_DOMAIN_DP_TX 16
+#define MT8189_POWER_DOMAIN_CSI_RX 17
+#define MT8189_POWER_DOMAIN_SSUSB 18
+#define MT8189_POWER_DOMAIN_MFG0 19
+#define MT8189_POWER_DOMAIN_MFG1 20
+#define MT8189_POWER_DOMAIN_MFG2 21
+#define MT8189_POWER_DOMAIN_MFG3 22
+#define MT8189_POWER_DOMAIN_EDP_TX_DORMANT 23
+#define MT8189_POWER_DOMAIN_PCIE 24
+#define MT8189_POWER_DOMAIN_PCIE_PHY 25
+
+#endif /* _DT_BINDINGS_POWER_MT8189_POWER_H */
diff --git a/include/dt-bindings/power/mt7622-power.h b/include/dt-bindings/power/mt7622-power.h
index ffad81ad3d46..ec244989eeba 100644
--- a/include/dt-bindings/power/mt7622-power.h
+++ b/include/dt-bindings/power/mt7622-power.h
@@ -10,5 +10,6 @@
#define MT7622_POWER_DOMAIN_HIF0 1
#define MT7622_POWER_DOMAIN_HIF1 2
#define MT7622_POWER_DOMAIN_WB 3
+#define MT7622_POWER_DOMAIN_AUDIO 4
#endif /* _DT_BINDINGS_POWER_MT7622_POWER_H */
diff --git a/include/dt-bindings/power/qcom,rpmhpd.h b/include/dt-bindings/power/qcom,rpmhpd.h
index 06851363ae0e..67e2634fdc99 100644
--- a/include/dt-bindings/power/qcom,rpmhpd.h
+++ b/include/dt-bindings/power/qcom,rpmhpd.h
@@ -28,15 +28,20 @@
#define RPMHPD_XO 18
#define RPMHPD_NSP2 19
#define RPMHPD_GMXC 20
+#define RPMHPD_DCX 21
+#define RPMHPD_GBX 22
/* RPMh Power Domain performance levels */
#define RPMH_REGULATOR_LEVEL_RETENTION 16
#define RPMH_REGULATOR_LEVEL_MIN_SVS 48
+#define RPMH_REGULATOR_LEVEL_LOW_SVS_D3_0 49
#define RPMH_REGULATOR_LEVEL_LOW_SVS_D3 50
#define RPMH_REGULATOR_LEVEL_LOW_SVS_D2_1 51
#define RPMH_REGULATOR_LEVEL_LOW_SVS_D2 52
#define RPMH_REGULATOR_LEVEL_LOW_SVS_D1_1 54
+#define RPMH_REGULATOR_LEVEL_LOW_SVS_D1_0 55
#define RPMH_REGULATOR_LEVEL_LOW_SVS_D1 56
+#define RPMH_REGULATOR_LEVEL_LOW_SVS_D0_0 59
#define RPMH_REGULATOR_LEVEL_LOW_SVS_D0 60
#define RPMH_REGULATOR_LEVEL_LOW_SVS 64
#define RPMH_REGULATOR_LEVEL_LOW_SVS_P1 72
@@ -47,6 +52,7 @@
#define RPMH_REGULATOR_LEVEL_SVS_L0 144
#define RPMH_REGULATOR_LEVEL_SVS_L1 192
#define RPMH_REGULATOR_LEVEL_SVS_L2 224
+#define RPMH_REGULATOR_LEVEL_SVS_L2_0 225
#define RPMH_REGULATOR_LEVEL_NOM 256
#define RPMH_REGULATOR_LEVEL_NOM_L0 288
#define RPMH_REGULATOR_LEVEL_NOM_L1 320
@@ -54,8 +60,14 @@
#define RPMH_REGULATOR_LEVEL_TURBO 384
#define RPMH_REGULATOR_LEVEL_TURBO_L0 400
#define RPMH_REGULATOR_LEVEL_TURBO_L1 416
+#define RPMH_REGULATOR_LEVEL_TURBO_L1_0 417
+#define RPMH_REGULATOR_LEVEL_TURBO_L1_1 418
+#define RPMH_REGULATOR_LEVEL_TURBO_L1_2 419
#define RPMH_REGULATOR_LEVEL_TURBO_L2 432
#define RPMH_REGULATOR_LEVEL_TURBO_L3 448
+#define RPMH_REGULATOR_LEVEL_TURBO_L3_0 449
+#define RPMH_REGULATOR_LEVEL_TURBO_L3_1 450
+#define RPMH_REGULATOR_LEVEL_TURBO_L3_2 451
#define RPMH_REGULATOR_LEVEL_TURBO_L4 452
#define RPMH_REGULATOR_LEVEL_TURBO_L5 456
#define RPMH_REGULATOR_LEVEL_SUPER_TURBO 464
diff --git a/include/linux/pm_domain.h b/include/linux/pm_domain.h
index 93ba0143ca47..b299dc0128d6 100644
--- a/include/linux/pm_domain.h
+++ b/include/linux/pm_domain.h
@@ -49,8 +49,8 @@
struct dev_pm_domain_attach_data {
const char * const *pd_names;
- const u32 num_pd_names;
- const u32 pd_flags;
+ u32 num_pd_names;
+ u32 pd_flags;
};
struct dev_pm_domain_list {
@@ -183,6 +183,7 @@ struct genpd_power_state {
u64 rejected;
u64 above;
u64 below;
+ u64 usage_s2idle;
struct fwnode_handle *fwnode;
u64 idle_time;
void *data;