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 <[email protected]>
>> Signed-off-by: Luca Weiss <[email protected]>
>> ---
>>  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
>> 


Reply via email to