[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <jyyamotpswptzirtido6iufroxpdu3dyqkf4zs3hkfqj6mt6f2@sklyrpyahzjb>
Date: Wed, 10 Dec 2025 03:55:50 +0200
From: Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>
To: 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: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?
> 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
Powered by blists - more mailing lists