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?

>               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
> 

-- 
With best wishes
Dmitry

Reply via email to