* [PATCH v3 1/7] dt-bindings: power: qcom-rpmpd: define RPMPD_VDDMD
2026-10-01 22:38 [PATCH v3 0/7] MSM8953/SDM632 rpmpd/mss fixes Barnabás Czémán
@ 2026-10-01 22:38 ` Barnabás Czémán
2026-10-02 9:57 ` Krzysztof Kozlowski
2026-10-01 22:38 ` [PATCH v3 2/7] dt-bindings: power: qcom,rpmpd: Add SDM632 Barnabás Czémán
` (5 subsequent siblings)
6 siblings, 1 reply; 12+ messages in thread
From: Barnabás Czémán @ 2026-10-01 22:38 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
Define RPMPD_VDDMD can be used for SDM439 and SDM632 MSS.
Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org>
---
include/dt-bindings/power/qcom-rpmpd.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/dt-bindings/power/qcom-rpmpd.h b/include/dt-bindings/power/qcom-rpmpd.h
index 4371ac941f29..beb066b3aa8c 100644
--- a/include/dt-bindings/power/qcom-rpmpd.h
+++ b/include/dt-bindings/power/qcom-rpmpd.h
@@ -15,6 +15,7 @@
#define RPMPD_VDDMX 3
#define RPMPD_VDDMX_AO 4
#define RPMPD_VDDMX_VFL 5
+#define RPMPD_VDDMD 5
#define RPMPD_SSCCX 6
#define RPMPD_SSCCX_VFL 7
#define RPMPD_SSCMX 8
--
2.56.0
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: [PATCH v3 1/7] dt-bindings: power: qcom-rpmpd: define RPMPD_VDDMD
2026-10-01 22:38 ` [PATCH v3 1/7] dt-bindings: power: qcom-rpmpd: define RPMPD_VDDMD Barnabás Czémán
@ 2026-10-02 9:57 ` Krzysztof Kozlowski
2026-10-02 14:04 ` Barnabás Czémán
0 siblings, 1 reply; 12+ messages in thread
From: Krzysztof Kozlowski @ 2026-10-02 9:57 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 Fri, Oct 02, 2026 at 12:38:29AM +0200, Barnabás Czémán wrote:
> Define RPMPD_VDDMD can be used for SDM439 and SDM632 MSS.
There is no sdm439 RPMPD... The SDM632 is added later and bindings
header come with the compatible patch. Squash these.
>
> Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org>
> ---
> include/dt-bindings/power/qcom-rpmpd.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/include/dt-bindings/power/qcom-rpmpd.h b/include/dt-bindings/power/qcom-rpmpd.h
> index 4371ac941f29..beb066b3aa8c 100644
> --- a/include/dt-bindings/power/qcom-rpmpd.h
> +++ b/include/dt-bindings/power/qcom-rpmpd.h
> @@ -15,6 +15,7 @@
> #define RPMPD_VDDMX 3
> #define RPMPD_VDDMX_AO 4
> #define RPMPD_VDDMX_VFL 5
> +#define RPMPD_VDDMD 5
Problem is that it is platform specific and comment in that file says
"don't do it" yet you do it.
So the device has nbo MX? Why commit msg is silent on this? Explains
not much except repeating the diff and referencing users which are
almost obvious if this is properly squashed.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 1/7] dt-bindings: power: qcom-rpmpd: define RPMPD_VDDMD
2026-10-02 9:57 ` Krzysztof Kozlowski
@ 2026-10-02 14:04 ` Barnabás Czémán
0 siblings, 0 replies; 12+ messages in thread
From: Barnabás Czémán @ 2026-10-02 14:04 UTC (permalink / raw)
To: Krzysztof Kozlowski
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 2026-10-02 11:57, Krzysztof Kozlowski wrote:
> On Fri, Oct 02, 2026 at 12:38:29AM +0200, Barnabás Czémán wrote:
>> Define RPMPD_VDDMD can be used for SDM439 and SDM632 MSS.
>
> There is no sdm439 RPMPD... The SDM632 is added later and bindings
There will be.
> header come with the compatible patch. Squash these.
You have previously commented how that is connected to the indices.
>
>>
>> Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org>
>> ---
>> include/dt-bindings/power/qcom-rpmpd.h | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/include/dt-bindings/power/qcom-rpmpd.h
>> b/include/dt-bindings/power/qcom-rpmpd.h
>> index 4371ac941f29..beb066b3aa8c 100644
>> --- a/include/dt-bindings/power/qcom-rpmpd.h
>> +++ b/include/dt-bindings/power/qcom-rpmpd.h
>> @@ -15,6 +15,7 @@
>> #define RPMPD_VDDMX 3
>> #define RPMPD_VDDMX_AO 4
>> #define RPMPD_VDDMX_VFL 5
>> +#define RPMPD_VDDMD 5
>
> Problem is that it is platform specific and comment in that file says
> "don't do it" yet you do it.
It is not completely platform specific and if you have check the
previous
reviews Dmitry was asking me to define it. If i set it 10 what will be
very safe for every platform i will get warning messages.
By the way 5 is fine for SDM429, SDM439 and SDM632.
>
> So the device has nbo MX? Why commit msg is silent on this? Explains
> not much except repeating the diff and referencing users which are
> almost obvious if this is properly squashed.
>
> Best regards,
> Krzysztof
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 2/7] dt-bindings: power: qcom,rpmpd: Add SDM632
2026-10-01 22:38 [PATCH v3 0/7] MSM8953/SDM632 rpmpd/mss fixes Barnabás Czémán
2026-10-01 22:38 ` [PATCH v3 1/7] dt-bindings: power: qcom-rpmpd: define RPMPD_VDDMD Barnabás Czémán
@ 2026-10-01 22:38 ` Barnabás Czémán
2026-10-01 22:38 ` [PATCH v3 3/7] pmdomain: qcom: rpmpd: Split SDM632 pm domains from MSM8953 Barnabás Czémán
` (4 subsequent siblings)
6 siblings, 0 replies; 12+ messages in thread
From: Barnabás Czémán @ 2026-10-01 22:38 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
Add compatible for SDM632 RPM.
Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org>
---
Documentation/devicetree/bindings/power/qcom,rpmpd.yaml | 1 +
1 file changed, 1 insertion(+)
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
--
2.56.0
^ permalink raw reply [flat|nested] 12+ messages in thread* [PATCH v3 3/7] pmdomain: qcom: rpmpd: Split SDM632 pm domains from MSM8953
2026-10-01 22:38 [PATCH v3 0/7] MSM8953/SDM632 rpmpd/mss fixes Barnabás Czémán
2026-10-01 22:38 ` [PATCH v3 1/7] dt-bindings: power: qcom-rpmpd: define RPMPD_VDDMD Barnabás Czémán
2026-10-01 22:38 ` [PATCH v3 2/7] dt-bindings: power: qcom,rpmpd: Add SDM632 Barnabás Czémán
@ 2026-10-01 22:38 ` Barnabás Czémán
2026-10-01 22:38 ` [PATCH v3 4/7] remoteproc: qcom_q6v5_mss: Use mss as regulator for MSM8953 Barnabás Czémán
` (3 subsequent siblings)
6 siblings, 0 replies; 12+ messages in thread
From: Barnabás Czémán @ 2026-10-01 22:38 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.56.0
^ permalink raw reply [flat|nested] 12+ messages in thread* [PATCH v3 4/7] remoteproc: qcom_q6v5_mss: Use mss as regulator for MSM8953
2026-10-01 22:38 [PATCH v3 0/7] MSM8953/SDM632 rpmpd/mss fixes Barnabás Czémán
` (2 preceding siblings ...)
2026-10-01 22:38 ` [PATCH v3 3/7] pmdomain: qcom: rpmpd: Split SDM632 pm domains from MSM8953 Barnabás Czémán
@ 2026-10-01 22:38 ` Barnabás Czémán
2026-10-01 22:38 ` [PATCH v3 5/7] dt-bindings: remoteproc: qcom,msm8916-mss-pil: Add SDM632 Barnabás Czémán
` (2 subsequent siblings)
6 siblings, 0 replies; 12+ messages in thread
From: Barnabás Czémán @ 2026-10-01 22:38 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.56.0
^ permalink raw reply [flat|nested] 12+ messages in thread* [PATCH v3 5/7] dt-bindings: remoteproc: qcom,msm8916-mss-pil: Add SDM632
2026-10-01 22:38 [PATCH v3 0/7] MSM8953/SDM632 rpmpd/mss fixes Barnabás Czémán
` (3 preceding siblings ...)
2026-10-01 22:38 ` [PATCH v3 4/7] remoteproc: qcom_q6v5_mss: Use mss as regulator for MSM8953 Barnabás Czémán
@ 2026-10-01 22:38 ` Barnabás Czémán
2026-10-02 10:01 ` Krzysztof Kozlowski
2026-10-01 22:38 ` [PATCH v3 6/7] remoteproc: qcom_q6v5_mss: Add SDM632 MSS Barnabás Czémán
2026-10-01 22:38 ` [PATCH v3 7/7] arm64: dts: qcom: sdm632: Correct power domains Barnabás Czémán
6 siblings, 1 reply; 12+ messages in thread
From: Barnabás Czémán @ 2026-10-01 22:38 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.56.0
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: [PATCH v3 5/7] dt-bindings: remoteproc: qcom,msm8916-mss-pil: Add SDM632
2026-10-01 22:38 ` [PATCH v3 5/7] dt-bindings: remoteproc: qcom,msm8916-mss-pil: Add SDM632 Barnabás Czémán
@ 2026-10-02 10:01 ` Krzysztof Kozlowski
2026-10-02 14:05 ` Barnabás Czémán
0 siblings, 1 reply; 12+ messages in thread
From: Krzysztof Kozlowski @ 2026-10-02 10:01 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 Fri, Oct 02, 2026 at 12:38:33AM +0200, Barnabás Czémán wrote:
> 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
So not valid for msm8953, but msm8953 has it, so you just introduced new
warnings, no?
Anyway, changing existing device needs its own rationale and usually own
commit.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v3 5/7] dt-bindings: remoteproc: qcom,msm8916-mss-pil: Add SDM632
2026-10-02 10:01 ` Krzysztof Kozlowski
@ 2026-10-02 14:05 ` Barnabás Czémán
0 siblings, 0 replies; 12+ messages in thread
From: Barnabás Czémán @ 2026-10-02 14:05 UTC (permalink / raw)
To: Krzysztof Kozlowski
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 2026-10-02 12:01, Krzysztof Kozlowski wrote:
> On Fri, Oct 02, 2026 at 12:38:33AM +0200, Barnabás Czémán wrote:
>> 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
>
> So not valid for msm8953, but msm8953 has it, so you just introduced
> new
> warnings, no?
It was never valid for MSM8953.
>
> Anyway, changing existing device needs its own rationale and usually
> own
> commit.
>
> Best regards,
> Krzysztof
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 6/7] remoteproc: qcom_q6v5_mss: Add SDM632 MSS
2026-10-01 22:38 [PATCH v3 0/7] MSM8953/SDM632 rpmpd/mss fixes Barnabás Czémán
` (4 preceding siblings ...)
2026-10-01 22:38 ` [PATCH v3 5/7] dt-bindings: remoteproc: qcom,msm8916-mss-pil: Add SDM632 Barnabás Czémán
@ 2026-10-01 22:38 ` Barnabás Czémán
2026-10-01 22:38 ` [PATCH v3 7/7] arm64: dts: qcom: sdm632: Correct power domains Barnabás Czémán
6 siblings, 0 replies; 12+ messages in thread
From: Barnabás Czémán @ 2026-10-01 22:38 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.56.0
^ permalink raw reply [flat|nested] 12+ messages in thread* [PATCH v3 7/7] arm64: dts: qcom: sdm632: Correct power domains
2026-10-01 22:38 [PATCH v3 0/7] MSM8953/SDM632 rpmpd/mss fixes Barnabás Czémán
` (5 preceding siblings ...)
2026-10-01 22:38 ` [PATCH v3 6/7] remoteproc: qcom_q6v5_mss: Add SDM632 MSS Barnabás Czémán
@ 2026-10-01 22:38 ` Barnabás Czémán
6 siblings, 0 replies; 12+ messages in thread
From: Barnabás Czémán @ 2026-10-01 22:38 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.56.0
^ permalink raw reply [flat|nested] 12+ messages in thread