Add a dts for the PMIC used e.g. with SM7635 devices.
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
---
arch/arm64/boot/dts/qcom/pmxr2230.dtsi | 63 ++++++++++++++++++++++++++++++++++
1 file changed, 63 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/pmxr2230.dtsi b/arch/arm64/boot/dts/qcom/pmxr2230.dtsi
new file mode 100644
index 0000000000000000000000000000000000000000..a7650f3230c01422b76ef78e897e5e7ae2f20cc6
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/pmxr2230.dtsi
@@ -0,0 +1,63 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2025, Luca Weiss <luca.weiss@fairphone.com>
+ */
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/spmi/spmi.h>
+
+/ {
+ thermal-zones {
+ pmxr2230_thermal: pmxr2230-thermal {
+ polling-delay-passive = <100>;
+
+ thermal-sensors = <&pmxr2230_temp_alarm>;
+
+ trips {
+ pmxr2230_trip0: trip0 {
+ temperature = <95000>;
+ hysteresis = <0>;
+ type = "passive";
+ };
+
+ pmxr2230_crit: pmxr2230-crit {
+ temperature = <115000>;
+ hysteresis = <0>;
+ type = "critical";
+ };
+ };
+ };
+ };
+};
+
+&spmi_bus {
+ pmxr2230: pmic@1 {
+ compatible = "qcom,pmxr2230", "qcom,spmi-pmic";
+ reg = <0x1 SPMI_USID>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pmxr2230_temp_alarm: temp-alarm@a00 {
+ compatible = "qcom,spmi-temp-alarm";
+ reg = <0xa00>;
+ interrupts = <0x1 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
+ #thermal-sensor-cells = <0>;
+ };
+
+ pmxr2230_gpios: gpio@8800 {
+ compatible = "qcom,pmxr2230-gpio", "qcom,spmi-gpio";
+ reg = <0x8800>;
+ gpio-controller;
+ gpio-ranges = <&pmxr2230_gpios 0 0 12>;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+
+ pmxr2230_flash: led-controller@ee00 {
+ compatible = "qcom,pmxr2230-flash-led", "qcom,spmi-flash-led";
+ reg = <0xee00>;
+ status = "disabled";
+ };
+ };
+};
--
2.50.0
On 6/25/25 11:18 AM, Luca Weiss wrote: > Add a dts for the PMIC used e.g. with SM7635 devices. > > Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> > --- > arch/arm64/boot/dts/qcom/pmxr2230.dtsi | 63 ++++++++++++++++++++++++++++++++++ > 1 file changed, 63 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/pmxr2230.dtsi b/arch/arm64/boot/dts/qcom/pmxr2230.dtsi > new file mode 100644 > index 0000000000000000000000000000000000000000..a7650f3230c01422b76ef78e897e5e7ae2f20cc6 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/pmxr2230.dtsi > @@ -0,0 +1,63 @@ > +// SPDX-License-Identifier: BSD-3-Clause > +/* > + * Copyright (c) 2025, Luca Weiss <luca.weiss@fairphone.com> > + */ > + > +#include <dt-bindings/interrupt-controller/irq.h> > +#include <dt-bindings/spmi/spmi.h> > + > +/ { > + thermal-zones { > + pmxr2230_thermal: pmxr2230-thermal { > + polling-delay-passive = <100>; > + > + thermal-sensors = <&pmxr2230_temp_alarm>; > + > + trips { > + pmxr2230_trip0: trip0 { > + temperature = <95000>; > + hysteresis = <0>; > + type = "passive"; > + }; > + > + pmxr2230_crit: pmxr2230-crit { This name is "meh", please change to tripN > + temperature = <115000>; Unless there's some actual electrical/physical SKU differences, downstream lists 145C as critical for a PMIC carrying the same name with that: Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Konrad
On Wed Jun 25, 2025 at 3:20 PM CEST, Konrad Dybcio wrote: > On 6/25/25 11:18 AM, Luca Weiss wrote: >> Add a dts for the PMIC used e.g. with SM7635 devices. >> >> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> >> --- >> arch/arm64/boot/dts/qcom/pmxr2230.dtsi | 63 ++++++++++++++++++++++++++++++++++ >> 1 file changed, 63 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/qcom/pmxr2230.dtsi b/arch/arm64/boot/dts/qcom/pmxr2230.dtsi >> new file mode 100644 >> index 0000000000000000000000000000000000000000..a7650f3230c01422b76ef78e897e5e7ae2f20cc6 >> --- /dev/null >> +++ b/arch/arm64/boot/dts/qcom/pmxr2230.dtsi >> @@ -0,0 +1,63 @@ >> +// SPDX-License-Identifier: BSD-3-Clause >> +/* >> + * Copyright (c) 2025, Luca Weiss <luca.weiss@fairphone.com> >> + */ >> + >> +#include <dt-bindings/interrupt-controller/irq.h> >> +#include <dt-bindings/spmi/spmi.h> >> + >> +/ { >> + thermal-zones { >> + pmxr2230_thermal: pmxr2230-thermal { >> + polling-delay-passive = <100>; >> + >> + thermal-sensors = <&pmxr2230_temp_alarm>; >> + >> + trips { >> + pmxr2230_trip0: trip0 { >> + temperature = <95000>; >> + hysteresis = <0>; >> + type = "passive"; >> + }; >> + >> + pmxr2230_crit: pmxr2230-crit { > > This name is "meh", please change to tripN > >> + temperature = <115000>; > > Unless there's some actual electrical/physical SKU differences, > downstream lists 145C as critical for a PMIC carrying the same > name [ 0.085990] spmi-temp-alarm c400000.spmi:pmic@1:temp-alarm@a00: No ADC is configured and critical temperature 145000 mC is above the maximum stage 2 threshold of 125000 mC! Configuring stage 2 shutdown at 125000 mC. Same for the PMIV0104: [ 0.086556] spmi-temp-alarm c400000.spmi:pmic@7:temp-alarm@a00: No ADC is configured and critical temperature 145000 mC is above the maximum stage 2 threshold of 125000 mC! Configuring stage 2 shutdown at 125000 mC. What shall I do? Regards Luca > > with that: > > Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> > > Konrad
On 6/27/25 2:54 PM, Luca Weiss wrote: > On Wed Jun 25, 2025 at 3:20 PM CEST, Konrad Dybcio wrote: >> On 6/25/25 11:18 AM, Luca Weiss wrote: >>> Add a dts for the PMIC used e.g. with SM7635 devices. >>> >>> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> >>> --- >>> arch/arm64/boot/dts/qcom/pmxr2230.dtsi | 63 ++++++++++++++++++++++++++++++++++ >>> 1 file changed, 63 insertions(+) >>> >>> diff --git a/arch/arm64/boot/dts/qcom/pmxr2230.dtsi b/arch/arm64/boot/dts/qcom/pmxr2230.dtsi >>> new file mode 100644 >>> index 0000000000000000000000000000000000000000..a7650f3230c01422b76ef78e897e5e7ae2f20cc6 >>> --- /dev/null >>> +++ b/arch/arm64/boot/dts/qcom/pmxr2230.dtsi >>> @@ -0,0 +1,63 @@ >>> +// SPDX-License-Identifier: BSD-3-Clause >>> +/* >>> + * Copyright (c) 2025, Luca Weiss <luca.weiss@fairphone.com> >>> + */ >>> + >>> +#include <dt-bindings/interrupt-controller/irq.h> >>> +#include <dt-bindings/spmi/spmi.h> >>> + >>> +/ { >>> + thermal-zones { >>> + pmxr2230_thermal: pmxr2230-thermal { >>> + polling-delay-passive = <100>; >>> + >>> + thermal-sensors = <&pmxr2230_temp_alarm>; >>> + >>> + trips { >>> + pmxr2230_trip0: trip0 { >>> + temperature = <95000>; >>> + hysteresis = <0>; >>> + type = "passive"; >>> + }; >>> + >>> + pmxr2230_crit: pmxr2230-crit { >> >> This name is "meh", please change to tripN >> >>> + temperature = <115000>; >> >> Unless there's some actual electrical/physical SKU differences, >> downstream lists 145C as critical for a PMIC carrying the same >> name > > [ 0.085990] spmi-temp-alarm c400000.spmi:pmic@1:temp-alarm@a00: No ADC is configured and critical temperature 145000 mC is above the maximum stage 2 threshold of 125000 mC! Configuring stage 2 shutdown at 125000 mC. > > Same for the PMIV0104: > > [ 0.086556] spmi-temp-alarm c400000.spmi:pmic@7:temp-alarm@a00: No ADC is configured and critical temperature 145000 mC is above the maximum stage 2 threshold of 125000 mC! Configuring stage 2 shutdown at 125000 mC. > > What shall I do? IIUC you'll need this series to achieve the full range https://lore.kernel.org/linux-arm-msm/20250620001918.4090853-5-anjelique.melendez@oss.qualcomm.com/ Which makes me think the driver today may not be doing the greatest thing in the world for this gen of PMICs.. We can either set it to 125 and leave a comment (which I assume is sorta 'meh' because that's Linux specifics interfering with DT) or we can wait until that series gets in Personally, I wouldn't mind option 1 since we ultimately don't want the PMIC to run at either 125 or 145 degC most of the time.. Konrad
On Fri, Jun 27, 2025 at 02:54:20PM +0200, Luca Weiss wrote: > On Wed Jun 25, 2025 at 3:20 PM CEST, Konrad Dybcio wrote: > > On 6/25/25 11:18 AM, Luca Weiss wrote: > >> Add a dts for the PMIC used e.g. with SM7635 devices. > >> > >> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> > >> --- > >> arch/arm64/boot/dts/qcom/pmxr2230.dtsi | 63 ++++++++++++++++++++++++++++++++++ > >> 1 file changed, 63 insertions(+) > >> > >> diff --git a/arch/arm64/boot/dts/qcom/pmxr2230.dtsi b/arch/arm64/boot/dts/qcom/pmxr2230.dtsi > >> new file mode 100644 > >> index 0000000000000000000000000000000000000000..a7650f3230c01422b76ef78e897e5e7ae2f20cc6 > >> --- /dev/null > >> +++ b/arch/arm64/boot/dts/qcom/pmxr2230.dtsi > >> @@ -0,0 +1,63 @@ > >> +// SPDX-License-Identifier: BSD-3-Clause > >> +/* > >> + * Copyright (c) 2025, Luca Weiss <luca.weiss@fairphone.com> > >> + */ > >> + > >> +#include <dt-bindings/interrupt-controller/irq.h> > >> +#include <dt-bindings/spmi/spmi.h> > >> + > >> +/ { > >> + thermal-zones { > >> + pmxr2230_thermal: pmxr2230-thermal { > >> + polling-delay-passive = <100>; > >> + > >> + thermal-sensors = <&pmxr2230_temp_alarm>; > >> + > >> + trips { > >> + pmxr2230_trip0: trip0 { > >> + temperature = <95000>; > >> + hysteresis = <0>; > >> + type = "passive"; > >> + }; > >> + > >> + pmxr2230_crit: pmxr2230-crit { > > > > This name is "meh", please change to tripN > > > >> + temperature = <115000>; > > > > Unless there's some actual electrical/physical SKU differences, > > downstream lists 145C as critical for a PMIC carrying the same > > name > > [ 0.085990] spmi-temp-alarm c400000.spmi:pmic@1:temp-alarm@a00: No ADC is configured and critical temperature 145000 mC is above the maximum stage 2 threshold of 125000 mC! Configuring stage 2 shutdown at 125000 mC. > > Same for the PMIV0104: > > [ 0.086556] spmi-temp-alarm c400000.spmi:pmic@7:temp-alarm@a00: No ADC is configured and critical temperature 145000 mC is above the maximum stage 2 threshold of 125000 mC! Configuring stage 2 shutdown at 125000 mC. > > What shall I do? I'd say, use 125°C or 124°C. > > Regards > Luca > > > > > > with that: > > > > Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> > > > > Konrad > -- With best wishes Dmitry
© 2016 - 2025 Red Hat, Inc.