[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <DEUA0F5Q4TJH.2A7A0WJE6UH6Y@fairphone.com>
Date: Wed, 10 Dec 2025 14:10:10 +0900
From: "Luca Weiss" <luca.weiss@...rphone.com>
To: "Dmitry Baryshkov" <dmitry.baryshkov@....qualcomm.com>, "Luca Weiss"
<luca.weiss@...rphone.com>
Cc: "Rafael J. Wysocki" <rafael@...nel.org>, "Viresh Kumar"
<viresh.kumar@...aro.org>, "Rob Herring" <robh@...nel.org>, "Krzysztof
Kozlowski" <krzk+dt@...nel.org>, "Conor Dooley" <conor+dt@...nel.org>,
"Manivannan Sadhasivam" <mani@...nel.org>, "Herbert Xu"
<herbert@...dor.apana.org.au>, "David S. Miller" <davem@...emloft.net>,
"Vinod Koul" <vkoul@...nel.org>, "Thomas Gleixner" <tglx@...utronix.de>,
"Bjorn Andersson" <andersson@...nel.org>, "Konrad Dybcio"
<konradybcio@...nel.org>, <~postmarketos/upstreaming@...ts.sr.ht>,
<phone-devel@...r.kernel.org>, <linux-pm@...r.kernel.org>,
<devicetree@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linux-arm-msm@...r.kernel.org>, <linux-crypto@...r.kernel.org>, "Konrad
Dybcio" <konrad.dybcio@....qualcomm.com>
Subject: Re: [PATCH v4 5/9] arm64: dts: qcom: pm8550vs: Disable different
PMIC SIDs by default
On Wed Dec 10, 2025 at 10:55 AM JST, Dmitry Baryshkov wrote:
> On Wed, Dec 10, 2025 at 10:43:29AM +0900, Luca Weiss wrote:
>> Keep the different PMIC definitions in pm8550vs.dtsi disabled by
>> default, and only enable them in boards explicitly.
>>
>> This allows to support boards better which only have pm8550vs_c, like
>> the Milos/SM7635-based Fairphone (Gen. 6).
>>
>> Note: I assume that at least some of these devices with PM8550VS also
>> don't have _c, _d, _e and _g, but this patch is keeping the resulting
>> devicetree the same as before this change, disabling them on boards that
>> don't actually have those is out of scope for this patch.
>>
>> Reviewed-by: Konrad Dybcio <konrad.dybcio@....qualcomm.com>
>> Signed-off-by: Luca Weiss <luca.weiss@...rphone.com>
>> ---
>> arch/arm64/boot/dts/qcom/pm8550vs.dtsi | 8 ++++++++
>> arch/arm64/boot/dts/qcom/qcs8550-aim300.dtsi | 16 ++++++++++++++++
>> arch/arm64/boot/dts/qcom/sm8550-hdk.dts | 16 ++++++++++++++++
>> arch/arm64/boot/dts/qcom/sm8550-mtp.dts | 16 ++++++++++++++++
>> arch/arm64/boot/dts/qcom/sm8550-qrd.dts | 16 ++++++++++++++++
>> arch/arm64/boot/dts/qcom/sm8550-samsung-q5q.dts | 16 ++++++++++++++++
>> .../boot/dts/qcom/sm8550-sony-xperia-yodo-pdx234.dts | 16 ++++++++++++++++
>> arch/arm64/boot/dts/qcom/sm8650-hdk.dts | 16 ++++++++++++++++
>> arch/arm64/boot/dts/qcom/sm8650-mtp.dts | 16 ++++++++++++++++
>> arch/arm64/boot/dts/qcom/sm8650-qrd.dts | 16 ++++++++++++++++
>> 10 files changed, 152 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/pm8550vs.dtsi b/arch/arm64/boot/dts/qcom/pm8550vs.dtsi
>> index 6426b431616b..7b5898c263ad 100644
>> --- a/arch/arm64/boot/dts/qcom/pm8550vs.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/pm8550vs.dtsi
>> @@ -98,6 +98,8 @@ pm8550vs_c: pmic@2 {
>> #address-cells = <1>;
>> #size-cells = <0>;
>>
>> + status = "disabled";
>> +
>
> Would it be better to split pm8550vs into 4 files rather than disabling
> irrelevant bits?
Maybe, but imo that's a different discussion, here I'm just making sure
I don't need three status = "disabled" properties in my milos-fp6 dts.
Regards
Luca
>
>> pm8550vs_c_temp_alarm: temp-alarm@a00 {
>> compatible = "qcom,spmi-temp-alarm";
>> reg = <0xa00>;
>> @@ -122,6 +124,8 @@ pm8550vs_d: pmic@3 {
>> #address-cells = <1>;
>> #size-cells = <0>;
>>
>> + status = "disabled";
>> +
>> pm8550vs_d_temp_alarm: temp-alarm@a00 {
>> compatible = "qcom,spmi-temp-alarm";
>> reg = <0xa00>;
>> @@ -146,6 +150,8 @@ pm8550vs_e: pmic@4 {
>> #address-cells = <1>;
>> #size-cells = <0>;
>>
>> + status = "disabled";
>> +
>> pm8550vs_e_temp_alarm: temp-alarm@a00 {
>> compatible = "qcom,spmi-temp-alarm";
>> reg = <0xa00>;
>> @@ -170,6 +176,8 @@ pm8550vs_g: pmic@6 {
>> #address-cells = <1>;
>> #size-cells = <0>;
>>
>> + status = "disabled";
>> +
>> pm8550vs_g_temp_alarm: temp-alarm@a00 {
>> compatible = "qcom,spmi-temp-alarm";
>> reg = <0xa00>;
>> diff --git a/arch/arm64/boot/dts/qcom/qcs8550-aim300.dtsi b/arch/arm64/boot/dts/qcom/qcs8550-aim300.dtsi
>> index e6ac529e6b72..e6ebb643203b 100644
>> --- a/arch/arm64/boot/dts/qcom/qcs8550-aim300.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/qcs8550-aim300.dtsi
>> @@ -366,6 +366,22 @@ &pm8550b_eusb2_repeater {
>> vdd3-supply = <&vreg_l5b_3p1>;
>> };
>>
>> +&pm8550vs_c {
>> + status = "okay";
>> +};
>> +
>> +&pm8550vs_d {
>> + status = "okay";
>> +};
>> +
>> +&pm8550vs_e {
>> + status = "okay";
>> +};
>> +
>> +&pm8550vs_g {
>> + status = "okay";
>> +};
>> +
>> &sleep_clk {
>> clock-frequency = <32764>;
>> };
>> diff --git a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts b/arch/arm64/boot/dts/qcom/sm8550-hdk.dts
>> index 599850c48494..ee13e6136a82 100644
>> --- a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts
>> +++ b/arch/arm64/boot/dts/qcom/sm8550-hdk.dts
>> @@ -1107,6 +1107,22 @@ &pm8550b_eusb2_repeater {
>> vdd3-supply = <&vreg_l5b_3p1>;
>> };
>>
>> +&pm8550vs_c {
>> + status = "okay";
>> +};
>> +
>> +&pm8550vs_d {
>> + status = "okay";
>> +};
>> +
>> +&pm8550vs_e {
>> + status = "okay";
>> +};
>> +
>> +&pm8550vs_g {
>> + status = "okay";
>> +};
>> +
>> &pon_pwrkey {
>> status = "okay";
>> };
>> diff --git a/arch/arm64/boot/dts/qcom/sm8550-mtp.dts b/arch/arm64/boot/dts/qcom/sm8550-mtp.dts
>> index f430038bd402..94ed1c221856 100644
>> --- a/arch/arm64/boot/dts/qcom/sm8550-mtp.dts
>> +++ b/arch/arm64/boot/dts/qcom/sm8550-mtp.dts
>> @@ -789,6 +789,22 @@ &pm8550b_eusb2_repeater {
>> vdd3-supply = <&vreg_l5b_3p1>;
>> };
>>
>> +&pm8550vs_c {
>> + status = "okay";
>> +};
>> +
>> +&pm8550vs_d {
>> + status = "okay";
>> +};
>> +
>> +&pm8550vs_e {
>> + status = "okay";
>> +};
>> +
>> +&pm8550vs_g {
>> + status = "okay";
>> +};
>> +
>> &qupv3_id_0 {
>> status = "okay";
>> };
>> diff --git a/arch/arm64/boot/dts/qcom/sm8550-qrd.dts b/arch/arm64/boot/dts/qcom/sm8550-qrd.dts
>> index 05c98fe2c25b..3fd261377a0c 100644
>> --- a/arch/arm64/boot/dts/qcom/sm8550-qrd.dts
>> +++ b/arch/arm64/boot/dts/qcom/sm8550-qrd.dts
>> @@ -1003,6 +1003,22 @@ &pm8550b_eusb2_repeater {
>> vdd3-supply = <&vreg_l5b_3p1>;
>> };
>>
>> +&pm8550vs_c {
>> + status = "okay";
>> +};
>> +
>> +&pm8550vs_d {
>> + status = "okay";
>> +};
>> +
>> +&pm8550vs_e {
>> + status = "okay";
>> +};
>> +
>> +&pm8550vs_g {
>> + status = "okay";
>> +};
>> +
>> &pon_pwrkey {
>> status = "okay";
>> };
>> diff --git a/arch/arm64/boot/dts/qcom/sm8550-samsung-q5q.dts b/arch/arm64/boot/dts/qcom/sm8550-samsung-q5q.dts
>> index b4ef40ae2cd9..81c02ee27fe9 100644
>> --- a/arch/arm64/boot/dts/qcom/sm8550-samsung-q5q.dts
>> +++ b/arch/arm64/boot/dts/qcom/sm8550-samsung-q5q.dts
>> @@ -533,6 +533,22 @@ volume_up_n: volume-up-n-state {
>> };
>> };
>>
>> +&pm8550vs_c {
>> + status = "okay";
>> +};
>> +
>> +&pm8550vs_d {
>> + status = "okay";
>> +};
>> +
>> +&pm8550vs_e {
>> + status = "okay";
>> +};
>> +
>> +&pm8550vs_g {
>> + status = "okay";
>> +};
>> +
>> &pon_pwrkey {
>> status = "okay";
>> };
>> diff --git a/arch/arm64/boot/dts/qcom/sm8550-sony-xperia-yodo-pdx234.dts b/arch/arm64/boot/dts/qcom/sm8550-sony-xperia-yodo-pdx234.dts
>> index d90dc7b37c4a..0e6ed6fce614 100644
>> --- a/arch/arm64/boot/dts/qcom/sm8550-sony-xperia-yodo-pdx234.dts
>> +++ b/arch/arm64/boot/dts/qcom/sm8550-sony-xperia-yodo-pdx234.dts
>> @@ -661,6 +661,22 @@ focus_n: focus-n-state {
>> };
>> };
>>
>> +&pm8550vs_c {
>> + status = "okay";
>> +};
>> +
>> +&pm8550vs_d {
>> + status = "okay";
>> +};
>> +
>> +&pm8550vs_e {
>> + status = "okay";
>> +};
>> +
>> +&pm8550vs_g {
>> + status = "okay";
>> +};
>> +
>> &pm8550vs_g_gpios {
>> cam_pwr_a_cs: cam-pwr-a-cs-state {
>> pins = "gpio4";
>> diff --git a/arch/arm64/boot/dts/qcom/sm8650-hdk.dts b/arch/arm64/boot/dts/qcom/sm8650-hdk.dts
>> index 5bf1af3308ce..eabc828c05b4 100644
>> --- a/arch/arm64/boot/dts/qcom/sm8650-hdk.dts
>> +++ b/arch/arm64/boot/dts/qcom/sm8650-hdk.dts
>> @@ -1046,6 +1046,22 @@ &pm8550b_eusb2_repeater {
>> vdd3-supply = <&vreg_l5b_3p1>;
>> };
>>
>> +&pm8550vs_c {
>> + status = "okay";
>> +};
>> +
>> +&pm8550vs_d {
>> + status = "okay";
>> +};
>> +
>> +&pm8550vs_e {
>> + status = "okay";
>> +};
>> +
>> +&pm8550vs_g {
>> + status = "okay";
>> +};
>> +
>> &pon_pwrkey {
>> status = "okay";
>> };
>> diff --git a/arch/arm64/boot/dts/qcom/sm8650-mtp.dts b/arch/arm64/boot/dts/qcom/sm8650-mtp.dts
>> index c67bbace2743..bb688a5d21c2 100644
>> --- a/arch/arm64/boot/dts/qcom/sm8650-mtp.dts
>> +++ b/arch/arm64/boot/dts/qcom/sm8650-mtp.dts
>> @@ -692,6 +692,22 @@ &pm8550b_eusb2_repeater {
>> vdd3-supply = <&vreg_l5b_3p1>;
>> };
>>
>> +&pm8550vs_c {
>> + status = "okay";
>> +};
>> +
>> +&pm8550vs_d {
>> + status = "okay";
>> +};
>> +
>> +&pm8550vs_e {
>> + status = "okay";
>> +};
>> +
>> +&pm8550vs_g {
>> + status = "okay";
>> +};
>> +
>> &qupv3_id_1 {
>> status = "okay";
>> };
>> diff --git a/arch/arm64/boot/dts/qcom/sm8650-qrd.dts b/arch/arm64/boot/dts/qcom/sm8650-qrd.dts
>> index b2feac61a89f..809fd6080a99 100644
>> --- a/arch/arm64/boot/dts/qcom/sm8650-qrd.dts
>> +++ b/arch/arm64/boot/dts/qcom/sm8650-qrd.dts
>> @@ -1002,6 +1002,22 @@ &pm8550b_eusb2_repeater {
>> vdd3-supply = <&vreg_l5b_3p1>;
>> };
>>
>> +&pm8550vs_c {
>> + status = "okay";
>> +};
>> +
>> +&pm8550vs_d {
>> + status = "okay";
>> +};
>> +
>> +&pm8550vs_e {
>> + status = "okay";
>> +};
>> +
>> +&pm8550vs_g {
>> + status = "okay";
>> +};
>> +
>> &qup_i2c3_data_clk {
>> /* Use internal I2C pull-up */
>> bias-pull-up = <2200>;
>>
>> --
>> 2.52.0
>>
Powered by blists - more mailing lists