* [PATCH v2 0/6] MSM8953/SDM632 rpmpd/mss fixes
@ 2026-09-29 18:28 Barnabás Czémán
2026-09-29 18:28 ` [PATCH v2 1/6] dt-bindings: power: qcom-rpmpd: Remove unused MSM8953 indices Barnabás Czémán
` (5 more replies)
0 siblings, 6 replies; 8+ messages in thread
From: Barnabás Czémán @ 2026-09-29 18:28 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
Mathieu Poirier, Konrad Dybcio, Stephan Gerhold, Ulf Hansson,
Abel Vesa, Ulf Hansson
Cc: linux-arm-msm, devicetree, linux-kernel, linux-pm,
linux-remoteproc, Barnabás Czémán, Konrad Dybcio
SDM632 pm domains are different from MSM8953 because MSM8953
is defining pm8953_s1 as regulator but SDM632 is defining it
as pm domain.
This patch series correcting the pm domains defined in rpmpd
driver and splitting the MSS resources for the both SoC to match
the reality.
These changes was discussed in a previous threads:
https://lore.kernel.org/all/2b057aa5-4416-4fd4-aeab-6bc23acbb53d@oss.qualcomm.com/
Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org>
---
Changes in v2:
- Define RPMPD_VDDMD
- Remove unused MSM8953_VDDMD and MSM8953_VDDMD_AO
- Squash MSM8953 mss related commits.
- Rebase on latest next.
- Link to v1: https://patch.msgid.link/20260327-sdm632-rpmpd-v1-0-6098dc997d66@mainlining.org
To: Rob Herring <robh@kernel.org>
To: Krzysztof Kozlowski <krzk+dt@kernel.org>
To: Conor Dooley <conor+dt@kernel.org>
To: Bjorn Andersson <andersson@kernel.org>
To: Ulf Hansson <ulfh@kernel.org>
To: Konrad Dybcio <konradybcio@kernel.org>
To: Abel Vesa <abelvesa@kernel.org>
To: Mathieu Poirier <mathieu.poirier@linaro.org>
To: Stephan Gerhold <stephan@gerhold.net>
Cc: linux-arm-msm@vger.kernel.org
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-pm@vger.kernel.org
Cc: linux-remoteproc@vger.kernel.org
---
Barnabás Czémán (6):
dt-bindings: power: qcom-rpmpd: Remove unused MSM8953 indices
pmdomain: qcom: rpmpd: Split SDM632 pm domains from MSM8953
remoteproc: qcom_q6v5_mss: Use mss as regulator for MSM8953
dt-bindings: remoteproc: qcom,msm8916-mss-pil: Add SDM632
remoteproc: qcom_q6v5_mss: Add SDM632 MSS
arm64: dts: qcom: sdm632: Correct power domains
.../devicetree/bindings/power/qcom,rpmpd.yaml | 1 +
.../bindings/remoteproc/qcom,msm8916-mss-pil.yaml | 9 ++--
arch/arm64/boot/dts/qcom/msm8953.dtsi | 5 +-
arch/arm64/boot/dts/qcom/sdm632.dtsi | 34 +++++++++++++
drivers/pmdomain/qcom/rpmpd.c | 29 ++++++-----
drivers/remoteproc/qcom_q6v5_mss.c | 56 ++++++++++++++++++++--
include/dt-bindings/power/qcom-rpmpd.h | 3 +-
7 files changed, 113 insertions(+), 24 deletions(-)
---
base-commit: 6375e61c01e93e35ee7acd336a689ac1fae4b509
change-id: 20260319-sdm632-rpmpd-c0e3eb548f58
Best regards,
--
Barnabás Czémán <barnabas.czeman@mainlining.org>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 1/6] dt-bindings: power: qcom-rpmpd: Remove unused MSM8953 indices
2026-09-29 18:28 [PATCH v2 0/6] MSM8953/SDM632 rpmpd/mss fixes Barnabás Czémán
@ 2026-09-29 18:28 ` Barnabás Czémán
2026-10-01 8:10 ` Krzysztof Kozlowski
2026-09-29 18:28 ` [PATCH v2 2/6] pmdomain: qcom: rpmpd: Split SDM632 pm domains from MSM8953 Barnabás Czémán
` (4 subsequent siblings)
5 siblings, 1 reply; 8+ messages in thread
From: Barnabás Czémán @ 2026-09-29 18:28 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
Mathieu Poirier, Konrad Dybcio, Stephan Gerhold, Ulf Hansson,
Abel Vesa, Ulf Hansson
Cc: linux-arm-msm, devicetree, linux-kernel, linux-pm,
linux-remoteproc, Barnabás Czémán
Remove unused MSM8953_VDDMD and MSM8953_VDDMD_AO used for MSM8953 MSS
because it is using mss-supply as a regulator.
Define RPMPD_VDDMD for SDM632 MSS because it is using mss-supply
as a pm domain.
Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org>
---
Documentation/devicetree/bindings/power/qcom,rpmpd.yaml | 1 +
include/dt-bindings/power/qcom-rpmpd.h | 3 +--
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/power/qcom,rpmpd.yaml b/Documentation/devicetree/bindings/power/qcom,rpmpd.yaml
index a70bfacbc5d1..4b263a982fca 100644
--- a/Documentation/devicetree/bindings/power/qcom,rpmpd.yaml
+++ b/Documentation/devicetree/bindings/power/qcom,rpmpd.yaml
@@ -51,6 +51,7 @@ properties:
- qcom,sc7280-rpmhpd
- qcom,sc8180x-rpmhpd
- qcom,sc8280xp-rpmhpd
+ - qcom,sdm632-rpmpd
- qcom,sdm660-rpmpd
- qcom,sdm670-rpmhpd
- qcom,sdm845-rpmhpd
diff --git a/include/dt-bindings/power/qcom-rpmpd.h b/include/dt-bindings/power/qcom-rpmpd.h
index 4371ac941f29..120f8855b427 100644
--- a/include/dt-bindings/power/qcom-rpmpd.h
+++ b/include/dt-bindings/power/qcom-rpmpd.h
@@ -19,6 +19,7 @@
#define RPMPD_SSCCX_VFL 7
#define RPMPD_SSCMX 8
#define RPMPD_SSCMX_VFL 9
+#define RPMPD_VDDMD 10
/*
* Platform-specific power domain bindings. Don't add new entries here, use
@@ -84,8 +85,6 @@
#define QM215_VDDMX_AO MSM8917_VDDMX_AO
/* MSM8953 Power Domain Indexes */
-#define MSM8953_VDDMD 0
-#define MSM8953_VDDMD_AO 1
#define MSM8953_VDDCX 2
#define MSM8953_VDDCX_AO 3
#define MSM8953_VDDCX_VFL 4
--
2.55.0
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 2/6] pmdomain: qcom: rpmpd: Split SDM632 pm domains from MSM8953
2026-09-29 18:28 [PATCH v2 0/6] MSM8953/SDM632 rpmpd/mss fixes Barnabás Czémán
2026-09-29 18:28 ` [PATCH v2 1/6] dt-bindings: power: qcom-rpmpd: Remove unused MSM8953 indices Barnabás Czémán
@ 2026-09-29 18:28 ` Barnabás Czémán
2026-09-29 18:28 ` [PATCH v2 3/6] remoteproc: qcom_q6v5_mss: Use mss as regulator for MSM8953 Barnabás Czémán
` (3 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Barnabás Czémán @ 2026-09-29 18:28 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
Mathieu Poirier, Konrad Dybcio, Stephan Gerhold, Ulf Hansson,
Abel Vesa, Ulf Hansson
Cc: linux-arm-msm, devicetree, linux-kernel, linux-pm,
linux-remoteproc, Barnabás Czémán
Remove modem related pm domains from MSM8953 rpmpd because MSM8953 MSS
is using mss-supply as regulator.
Split SDM632 rpmpd from MSM8953 because SDM632 MSS is using mss-supply
as pm domain.
Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org>
---
drivers/pmdomain/qcom/rpmpd.c | 29 ++++++++++++++++-------------
1 file changed, 16 insertions(+), 13 deletions(-)
diff --git a/drivers/pmdomain/qcom/rpmpd.c b/drivers/pmdomain/qcom/rpmpd.c
index 5f55fc791131..c37a79d6bc43 100644
--- a/drivers/pmdomain/qcom/rpmpd.c
+++ b/drivers/pmdomain/qcom/rpmpd.c
@@ -503,19 +503,8 @@ static struct rpmpd md_s1a_corner_ao = {
.key = KEY_CORNER,
};
-static struct rpmpd md_s1a_lvl_ao;
static struct rpmpd md_s1a_lvl = {
.pd = { .name = "md", },
- .peer = &md_s1a_lvl_ao,
- .res_type = RPMPD_SMPA,
- .res_id = 1,
- .key = KEY_LEVEL,
-};
-
-static struct rpmpd md_s1a_lvl_ao = {
- .pd = { .name = "md_ao", },
- .peer = &md_s1a_lvl,
- .active_only = true,
.res_type = RPMPD_SMPA,
.res_id = 1,
.key = KEY_LEVEL,
@@ -703,8 +692,6 @@ static const struct rpmpd_desc msm8917_desc = {
};
static struct rpmpd *msm8953_rpmpds[] = {
- [MSM8953_VDDMD] = &md_s1a_lvl,
- [MSM8953_VDDMD_AO] = &md_s1a_lvl_ao,
[MSM8953_VDDCX] = &cx_s2a_lvl,
[MSM8953_VDDCX_AO] = &cx_s2a_lvl_ao,
[MSM8953_VDDCX_VFL] = &cx_s2a_vfl,
@@ -844,6 +831,21 @@ static const struct rpmpd_desc qm215_desc = {
.max_state = RPM_SMD_LEVEL_TURBO,
};
+static struct rpmpd *sdm632_rpmpds[] = {
+ [RPMPD_VDDMD] = &md_s1a_lvl,
+ [RPMPD_VDDCX] = &cx_s2a_lvl,
+ [RPMPD_VDDCX_AO] = &cx_s2a_lvl_ao,
+ [RPMPD_VDDCX_VFL] = &cx_s2a_vfl,
+ [RPMPD_VDDMX] = &mx_s7a_lvl,
+ [RPMPD_VDDMX_AO] = &mx_s7a_lvl_ao,
+};
+
+static const struct rpmpd_desc sdm632_desc = {
+ .rpmpds = sdm632_rpmpds,
+ .num_pds = ARRAY_SIZE(sdm632_rpmpds),
+ .max_state = RPM_SMD_LEVEL_TURBO,
+};
+
static struct rpmpd *sdm660_rpmpds[] = {
[RPMPD_VDDCX] = &cx_rwcx0_lvl,
[RPMPD_VDDCX_AO] = &cx_rwcx0_lvl_ao,
@@ -954,6 +956,7 @@ static const struct of_device_id rpmpd_match_table[] = {
{ .compatible = "qcom,qcm2290-rpmpd", .data = &qcm2290_desc },
{ .compatible = "qcom,qcs404-rpmpd", .data = &qcs404_desc },
{ .compatible = "qcom,qm215-rpmpd", .data = &qm215_desc },
+ { .compatible = "qcom,sdm632-rpmpd", .data = &sdm632_desc },
{ .compatible = "qcom,sdm660-rpmpd", .data = &sdm660_desc },
{ .compatible = "qcom,shikra-rpmpd", .data = &shikra_desc },
{ .compatible = "qcom,sm6115-rpmpd", .data = &sm6115_desc },
--
2.55.0
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 3/6] remoteproc: qcom_q6v5_mss: Use mss as regulator for MSM8953
2026-09-29 18:28 [PATCH v2 0/6] MSM8953/SDM632 rpmpd/mss fixes Barnabás Czémán
2026-09-29 18:28 ` [PATCH v2 1/6] dt-bindings: power: qcom-rpmpd: Remove unused MSM8953 indices Barnabás Czémán
2026-09-29 18:28 ` [PATCH v2 2/6] pmdomain: qcom: rpmpd: Split SDM632 pm domains from MSM8953 Barnabás Czémán
@ 2026-09-29 18:28 ` Barnabás Czémán
2026-09-29 18:28 ` [PATCH v2 4/6] dt-bindings: remoteproc: qcom,msm8916-mss-pil: Add SDM632 Barnabás Czémán
` (2 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Barnabás Czémán @ 2026-09-29 18:28 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
Mathieu Poirier, Konrad Dybcio, Stephan Gerhold, Ulf Hansson,
Abel Vesa, Ulf Hansson
Cc: linux-arm-msm, devicetree, linux-kernel, linux-pm,
linux-remoteproc, Barnabás Czémán
On MSM8953 MSS regulators is controlled using the voltages rather than
performance levels. Correct DT definition and model the MSS as a
regulator rather than a power domain
Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org>
---
arch/arm64/boot/dts/qcom/msm8953.dtsi | 5 ++---
drivers/remoteproc/qcom_q6v5_mss.c | 9 ++++++++-
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/msm8953.dtsi b/arch/arm64/boot/dts/qcom/msm8953.dtsi
index 753167c3f861..c7dc08858d54 100644
--- a/arch/arm64/boot/dts/qcom/msm8953.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8953.dtsi
@@ -1451,9 +1451,8 @@ mpss: remoteproc@4080000 {
"handover", "stop-ack";
power-domains = <&rpmpd MSM8953_VDDCX>,
- <&rpmpd MSM8953_VDDMX>,
- <&rpmpd MSM8953_VDDMD>;
- power-domain-names = "cx", "mx","mss";
+ <&rpmpd MSM8953_VDDMX>;
+ power-domain-names = "cx", "mx";
clocks = <&gcc GCC_MSS_CFG_AHB_CLK>,
<&gcc GCC_MSS_Q6_BIMC_AXI_CLK>,
diff --git a/drivers/remoteproc/qcom_q6v5_mss.c b/drivers/remoteproc/qcom_q6v5_mss.c
index 2f71ed2feff6..8f6312213e1a 100644
--- a/drivers/remoteproc/qcom_q6v5_mss.c
+++ b/drivers/remoteproc/qcom_q6v5_mss.c
@@ -2728,6 +2728,14 @@ static const struct rproc_hexagon_res msm8953_mss = {
},
{}
},
+ .active_supply = (struct qcom_mss_reg_res[]) {
+ {
+ .supply = "mss",
+ .uV = 1050000,
+ .uA = 100000,
+ },
+ {}
+ },
.proxy_clk_names = (char*[]){
"xo",
NULL
@@ -2741,7 +2749,6 @@ static const struct rproc_hexagon_res msm8953_mss = {
.proxy_pd_names = (char*[]) {
"cx",
"mx",
- "mss",
NULL
},
.need_mem_protection = false,
--
2.55.0
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 4/6] dt-bindings: remoteproc: qcom,msm8916-mss-pil: Add SDM632
2026-09-29 18:28 [PATCH v2 0/6] MSM8953/SDM632 rpmpd/mss fixes Barnabás Czémán
` (2 preceding siblings ...)
2026-09-29 18:28 ` [PATCH v2 3/6] remoteproc: qcom_q6v5_mss: Use mss as regulator for MSM8953 Barnabás Czémán
@ 2026-09-29 18:28 ` Barnabás Czémán
2026-09-29 18:28 ` [PATCH v2 5/6] remoteproc: qcom_q6v5_mss: Add SDM632 MSS Barnabás Czémán
2026-09-29 18:28 ` [PATCH v2 6/6] arm64: dts: qcom: sdm632: Correct power domains Barnabás Czémán
5 siblings, 0 replies; 8+ messages in thread
From: Barnabás Czémán @ 2026-09-29 18:28 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
Mathieu Poirier, Konrad Dybcio, Stephan Gerhold, Ulf Hansson,
Abel Vesa, Ulf Hansson
Cc: linux-arm-msm, devicetree, linux-kernel, linux-pm,
linux-remoteproc, Barnabás Czémán
SDM632 MSS is very similar for MSM8953 mss the difference is
mss-supply is a pm domain on SDM632, previously SDM632 MSS
was represented by MSM8953 MSS. Correct the bindings to
described it correctly.
Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org>
---
.../devicetree/bindings/remoteproc/qcom,msm8916-mss-pil.yaml | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,msm8916-mss-pil.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,msm8916-mss-pil.yaml
index 4049157dd83d..049191cad5f8 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,msm8916-mss-pil.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,msm8916-mss-pil.yaml
@@ -27,6 +27,7 @@ properties:
- qcom,msm8940-mss-pil
- qcom,msm8953-mss-pil
- qcom,msm8974-mss-pil
+ - qcom,sdm632-mss-pil
- const: qcom,q6v5-pil
description: Deprecated, prefer using qcom,msm8916-mss-pil
@@ -79,14 +80,14 @@ properties:
(not valid for qcom,msm8226-mss-pil, qcom,msm8926-mss-pil
and qcom,msm8974-mss-pil)
- description: MSS proxy power domain (control handed over after startup)
- (only valid for qcom,msm8953-mss-pil)
+ (only valid for qcom,sdm632-mss-pil)
minItems: 1
power-domain-names:
items:
- const: cx
- const: mx # not valid for qcom,msm8226-mss-pil, qcom-msm8926-mss-pil and qcom,msm8974-mss-pil
- - const: mss # only valid for qcom,msm8953-mss-pil
+ - const: mss # only valid for qcom,sdm632-mss-pil
minItems: 1
pll-supply:
@@ -219,7 +220,7 @@ allOf:
- if:
properties:
compatible:
- const: qcom,msm8953-mss-pil
+ const: qcom,sdm632-mss-pil
then:
properties:
power-domains:
@@ -241,6 +242,7 @@ allOf:
- qcom,msm8917-mss-pil
- qcom,msm8937-mss-pil
- qcom,msm8940-mss-pil
+ - qcom,msm8953-mss-pil
then:
properties:
power-domains:
@@ -287,6 +289,7 @@ allOf:
- qcom,msm8917-mss-pil
- qcom,msm8937-mss-pil
- qcom,msm8940-mss-pil
+ - qcom,msm8953-mss-pil
- qcom,msm8974-mss-pil
then:
required:
--
2.55.0
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 5/6] remoteproc: qcom_q6v5_mss: Add SDM632 MSS
2026-09-29 18:28 [PATCH v2 0/6] MSM8953/SDM632 rpmpd/mss fixes Barnabás Czémán
` (3 preceding siblings ...)
2026-09-29 18:28 ` [PATCH v2 4/6] dt-bindings: remoteproc: qcom,msm8916-mss-pil: Add SDM632 Barnabás Czémán
@ 2026-09-29 18:28 ` Barnabás Czémán
2026-09-29 18:28 ` [PATCH v2 6/6] arm64: dts: qcom: sdm632: Correct power domains Barnabás Czémán
5 siblings, 0 replies; 8+ messages in thread
From: Barnabás Czémán @ 2026-09-29 18:28 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
Mathieu Poirier, Konrad Dybcio, Stephan Gerhold, Ulf Hansson,
Abel Vesa, Ulf Hansson
Cc: linux-arm-msm, devicetree, linux-kernel, linux-pm,
linux-remoteproc, Barnabás Czémán, Konrad Dybcio
Add support for SDM632 mss, it is very similar to MSM8953 mss only
difference SDM632 is using mss-supply as pm domain.
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org>
---
drivers/remoteproc/qcom_q6v5_mss.c | 47 ++++++++++++++++++++++++++++++++++++--
1 file changed, 45 insertions(+), 2 deletions(-)
diff --git a/drivers/remoteproc/qcom_q6v5_mss.c b/drivers/remoteproc/qcom_q6v5_mss.c
index 8f6312213e1a..79510cbfcb8f 100644
--- a/drivers/remoteproc/qcom_q6v5_mss.c
+++ b/drivers/remoteproc/qcom_q6v5_mss.c
@@ -273,6 +273,7 @@ enum {
MSS_MSM8998,
MSS_SC7180,
MSS_SC7280,
+ MSS_SDM632,
MSS_SDM660,
MSS_SDM845,
};
@@ -762,6 +763,7 @@ static int q6v5proc_reset(struct q6v5 *qproc)
qproc->version == MSS_MSM8953 ||
qproc->version == MSS_MSM8996 ||
qproc->version == MSS_MSM8998 ||
+ qproc->version == MSS_SDM632 ||
qproc->version == MSS_SDM660) {
/* Override the ACC value if required */
@@ -772,7 +774,8 @@ static int q6v5proc_reset(struct q6v5 *qproc)
writel(QDSP6SS_ACC_OVERRIDE_VAL_9607,
qproc->reg_base + QDSP6SS_STRAP_ACC);
else if (qproc->version != MSS_MSM8909 &&
- qproc->version != MSS_MSM8953)
+ qproc->version != MSS_MSM8953 &&
+ qproc->version != MSS_SDM632)
writel(QDSP6SS_ACC_OVERRIDE_VAL,
qproc->reg_base + QDSP6SS_STRAP_ACC);
@@ -832,7 +835,8 @@ static int q6v5proc_reset(struct q6v5 *qproc)
/* Turn on L1, L2, ETB and JU memories 1 at a time */
if (qproc->version == MSS_MSM8940 ||
qproc->version == MSS_MSM8953 ||
- qproc->version == MSS_MSM8996) {
+ qproc->version == MSS_MSM8996 ||
+ qproc->version == MSS_SDM632) {
mem_pwr_ctl = QDSP6SS_MEM_PWR_CTL;
i = 19;
reverse = 0;
@@ -2316,6 +2320,44 @@ static const struct rproc_hexagon_res sc7280_mss = {
.ssctl_id = 0x12,
};
+static const struct rproc_hexagon_res sdm632_mss = {
+ .hexagon_mba_image = "mba.mbn",
+ .proxy_supply = (struct qcom_mss_reg_res[]) {
+ {
+ .supply = "pll",
+ .uA = 100000,
+ },
+ {}
+ },
+ .proxy_clk_names = (char*[]){
+ "xo",
+ NULL
+ },
+ .active_clk_names = (char*[]){
+ "iface",
+ "bus",
+ "mem",
+ NULL
+ },
+ .proxy_pd_names = (char*[]) {
+ "cx",
+ "mx",
+ "mss",
+ NULL
+ },
+ .need_mem_protection = false,
+ .need_pas_mem_setup = true,
+ .has_alt_reset = false,
+ .has_mba_logs = false,
+ .has_spare_reg = false,
+ .has_qaccept_regs = false,
+ .has_ext_bhs_reg = false,
+ .has_ext_cntl_regs = false,
+ .has_vq6 = false,
+ .version = MSS_SDM632,
+ .ssctl_id = 0x12,
+};
+
static const struct rproc_hexagon_res sdm660_mss = {
.hexagon_mba_image = "mba.mbn",
.proxy_clk_names = (char*[]){
@@ -2923,6 +2965,7 @@ static const struct of_device_id q6v5_of_match[] = {
{ .compatible = "qcom,msm8998-mss-pil", .data = &msm8998_mss },
{ .compatible = "qcom,sc7180-mss-pil", .data = &sc7180_mss },
{ .compatible = "qcom,sc7280-mss-pil", .data = &sc7280_mss },
+ { .compatible = "qcom,sdm632-mss-pil", .data = &sdm632_mss},
{ .compatible = "qcom,sdm660-mss-pil", .data = &sdm660_mss },
{ .compatible = "qcom,sdm845-mss-pil", .data = &sdm845_mss },
{ },
--
2.55.0
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 6/6] arm64: dts: qcom: sdm632: Correct power domains
2026-09-29 18:28 [PATCH v2 0/6] MSM8953/SDM632 rpmpd/mss fixes Barnabás Czémán
` (4 preceding siblings ...)
2026-09-29 18:28 ` [PATCH v2 5/6] remoteproc: qcom_q6v5_mss: Add SDM632 MSS Barnabás Czémán
@ 2026-09-29 18:28 ` Barnabás Czémán
5 siblings, 0 replies; 8+ messages in thread
From: Barnabás Czémán @ 2026-09-29 18:28 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
Mathieu Poirier, Konrad Dybcio, Stephan Gerhold, Ulf Hansson,
Abel Vesa, Ulf Hansson
Cc: linux-arm-msm, devicetree, linux-kernel, linux-pm,
linux-remoteproc, Barnabás Czémán
SDM632 is using different pm domains from MSM8953 override them
where it is needed.
Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org>
---
arch/arm64/boot/dts/qcom/sdm632.dtsi | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sdm632.dtsi b/arch/arm64/boot/dts/qcom/sdm632.dtsi
index 40d86d91b67f..5a677da5afb0 100644
--- a/arch/arm64/boot/dts/qcom/sdm632.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm632.dtsi
@@ -87,3 +87,37 @@ opp-725000000 {
required-opps = <&rpmpd_opp_turbo>;
};
};
+
+&lpass {
+ power-domains = <&rpmpd RPMPD_VDDCX>;
+ power-domain-names = "cx";
+};
+
+&mpss {
+ compatible = "qcom,sdm632-mss-pil";
+ power-domains = <&rpmpd RPMPD_VDDCX>,
+ <&rpmpd RPMPD_VDDMX>,
+ <&rpmpd RPMPD_VDDMD>;
+ power-domain-names = "cx",
+ "mx",
+ "mss";
+};
+
+&rpmpd {
+ compatible = "qcom,sdm632-rpmpd";
+};
+
+&sdhc_1 {
+ power-domains = <&rpmpd RPMPD_VDDCX>;
+};
+
+&sdhc_2 {
+ power-domains = <&rpmpd RPMPD_VDDCX>;
+};
+
+&wcnss {
+ power-domains = <&rpmpd RPMPD_VDDCX>,
+ <&rpmpd RPMPD_VDDMX>;
+ power-domain-names = "cx",
+ "mx";
+};
--
2.55.0
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/6] dt-bindings: power: qcom-rpmpd: Remove unused MSM8953 indices
2026-09-29 18:28 ` [PATCH v2 1/6] dt-bindings: power: qcom-rpmpd: Remove unused MSM8953 indices Barnabás Czémán
@ 2026-10-01 8:10 ` Krzysztof Kozlowski
0 siblings, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2026-10-01 8:10 UTC (permalink / raw)
To: Barnabás Czémán
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
Mathieu Poirier, Konrad Dybcio, Stephan Gerhold, Ulf Hansson,
Abel Vesa, linux-arm-msm, devicetree, linux-kernel, linux-pm,
linux-remoteproc
On Tue, Sep 29, 2026 at 08:28:30PM +0200, Barnabás Czémán wrote:
> Remove unused MSM8953_VDDMD and MSM8953_VDDMD_AO used for MSM8953 MSS
> because it is using mss-supply as a regulator.
> Define RPMPD_VDDMD for SDM632 MSS because it is using mss-supply
> as a pm domain.
>
> Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org>
> ---
> Documentation/devicetree/bindings/power/qcom,rpmpd.yaml | 1 +
> include/dt-bindings/power/qcom-rpmpd.h | 3 +--
> 2 files changed, 2 insertions(+), 2 deletions(-)
I don't understand how does this even build.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2026-10-01 8:10 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-29 18:28 [PATCH v2 0/6] MSM8953/SDM632 rpmpd/mss fixes Barnabás Czémán
2026-09-29 18:28 ` [PATCH v2 1/6] dt-bindings: power: qcom-rpmpd: Remove unused MSM8953 indices Barnabás Czémán
2026-10-01 8:10 ` Krzysztof Kozlowski
2026-09-29 18:28 ` [PATCH v2 2/6] pmdomain: qcom: rpmpd: Split SDM632 pm domains from MSM8953 Barnabás Czémán
2026-09-29 18:28 ` [PATCH v2 3/6] remoteproc: qcom_q6v5_mss: Use mss as regulator for MSM8953 Barnabás Czémán
2026-09-29 18:28 ` [PATCH v2 4/6] dt-bindings: remoteproc: qcom,msm8916-mss-pil: Add SDM632 Barnabás Czémán
2026-09-29 18:28 ` [PATCH v2 5/6] remoteproc: qcom_q6v5_mss: Add SDM632 MSS Barnabás Czémán
2026-09-29 18:28 ` [PATCH v2 6/6] arm64: dts: qcom: sdm632: Correct power domains Barnabás Czémán
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®