* [PATCH v6 0/4] arm64: dts: qcom: Add PMIC thermal support for Shikra platforms
@ 2026-09-11 16:40 Jishnu Prakash
2026-09-11 16:40 ` [PATCH v6 1/4] arm64: dts: qcom: pm4125: Add VADC and temp alarm nodes Jishnu Prakash
` (3 more replies)
0 siblings, 4 replies; 12+ messages in thread
From: Jishnu Prakash @ 2026-09-11 16:40 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Kamal Wadhwa,
Rakesh Kota, Jishnu Prakash, Konrad Dybcio
This series adds the following:
- VADC and temp-alarm devices for PM4125 and temp-alarm device for PM8005
which are used for thermal mitigation on Shikra CQ2390M SoM platform
- ADC thermistor channels and thermal configurations for same on Shikra CQ2390M SoM
- ADC thermistor channels and their thermal configurations on Shikra IQ2390S SoM
Signed-off-by: Jishnu Prakash <jishnu.prakash@oss.qualcomm.com>
---
Changes in v6:
- Rebased to latest kernel tip.
- Link to v5: https://patch.msgid.link/20260809-shikra_adc_support-v5-0-bf6882d18bad@oss.qualcomm.com
Changes in v5:
- Collected Konrad's Reviewed-by tag on patch 2.
- Rebased to latest kernel tip.
- Link to v4: https://patch.msgid.link/20260715-shikra_adc_support-v4-0-5e07b6d21429@oss.qualcomm.com
Changes in v4:
- Collected Reviewed-by tags.
- Updated the pm8005-thermal trips to hot and critical.
- Link to v3: https://patch.msgid.link/20260710-shikra_adc_support-v3-0-ddc840fca0a0@oss.qualcomm.com
Changes in v3:
- Dropping the polling-delay = <0> property from all thermal-zones as suggested by Konrad.
- Link to v2: https://patch.msgid.link/20260709-shikra_adc_support-v2-0-8dda38f7bf3d@oss.qualcomm.com
Changes in v2:
- Move thermal zones to their respective PMIC files (PM4125, PM8005) as suggested by Dmitry Baryshkov
- Rename generic-adc-thermal bridge nodes to therm-bridge suffix (msm-therm-bridge, pa-therm-bridge,
quiet-therm-bridge) as suggested by Dmitry Baryshkov
- Update commit messages accordingly
- Link to v1: https://patch.msgid.link/20260613-shikra_adc_support-v1-0-57d5e6c7f47d@oss.qualcomm.com
---
Jishnu Prakash (4):
arm64: dts: qcom: pm4125: Add VADC and temp alarm nodes
arm64: dts: qcom: pm8005: Add temp alarm node
arm64: dts: qcom: Add PMIC thermal support for Shikra CQ2390M SoM platform
arm64: dts: qcom: Add PMIC thermal support for Shikra IQ2390S SoM platform
arch/arm64/boot/dts/qcom/pm4125.dtsi | 104 +++++++++++++++++++++++
arch/arm64/boot/dts/qcom/pm8005.dtsi | 35 ++++++++
arch/arm64/boot/dts/qcom/shikra-cqm-som.dtsi | 120 +++++++++++++++++++++++++++
arch/arm64/boot/dts/qcom/shikra-iqs-som.dtsi | 113 +++++++++++++++++++++++++
4 files changed, 372 insertions(+)
---
base-commit: 68142f986ff04b2b70b31db00f719bf690f64a9a
change-id: 20260613-shikra_adc_support-0079650eb76c
Best regards,
--
Jishnu Prakash <jishnu.prakash@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v6 1/4] arm64: dts: qcom: pm4125: Add VADC and temp alarm nodes
2026-09-11 16:40 [PATCH v6 0/4] arm64: dts: qcom: Add PMIC thermal support for Shikra platforms Jishnu Prakash
@ 2026-09-11 16:40 ` Jishnu Prakash
2026-09-12 15:35 ` Abel Vesa
2026-09-11 16:40 ` [PATCH v6 2/4] arm64: dts: qcom: pm8005: Add temp alarm node Jishnu Prakash
` (2 subsequent siblings)
3 siblings, 1 reply; 12+ messages in thread
From: Jishnu Prakash @ 2026-09-11 16:40 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Kamal Wadhwa,
Rakesh Kota, Jishnu Prakash, Konrad Dybcio
Add VADC node with some channels under it, for voltage and
temperature readings. Add temperature alarm node, used for
PMIC thermal mitigation.
Co-developed-by: Rakesh Kota <rakesh.kota@oss.qualcomm.com>
Signed-off-by: Rakesh Kota <rakesh.kota@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Jishnu Prakash <jishnu.prakash@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/pm4125.dtsi | 104 +++++++++++++++++++++++++++++++++++
1 file changed, 104 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/pm4125.dtsi b/arch/arm64/boot/dts/qcom/pm4125.dtsi
index 3dc8d667d091..77de9db8c119 100644
--- a/arch/arm64/boot/dts/qcom/pm4125.dtsi
+++ b/arch/arm64/boot/dts/qcom/pm4125.dtsi
@@ -8,6 +8,35 @@
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/spmi/spmi.h>
+/ {
+ thermal-zones {
+ pm4125-thermal {
+ polling-delay-passive = <100>;
+ thermal-sensors = <&pm4125_tz>;
+
+ trips {
+ pm4125_trip0: trip0 {
+ temperature = <105000>;
+ hysteresis = <0>;
+ type = "passive";
+ };
+
+ pm4125_trip1: trip1 {
+ temperature = <125000>;
+ hysteresis = <0>;
+ type = "hot";
+ };
+
+ pm4125_trip2: trip2 {
+ temperature = <155000>;
+ hysteresis = <0>;
+ type = "critical";
+ };
+ };
+ };
+ };
+};
+
&spmi_bus {
pmic@0 {
compatible = "qcom,pm2250", "qcom,spmi-pmic";
@@ -65,6 +94,81 @@ pm4125_typec: typec@1500 {
status = "disabled";
};
+ pm4125_tz: temp-alarm@2400 {
+ compatible = "qcom,spmi-temp-alarm";
+ reg = <0x2400>;
+ interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;
+ io-channels = <&pm4125_adc ADC5_DIE_TEMP>;
+ io-channel-names = "thermal";
+ #thermal-sensor-cells = <0>;
+ };
+
+ pm4125_adc: adc@3100 {
+ compatible = "qcom,spmi-adc5";
+ reg = <0x3100>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ #io-channel-cells = <1>;
+ interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
+
+ /* Channel nodes */
+ channel@0 {
+ reg = <ADC5_REF_GND>;
+ label = "ref_gnd";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ channel@1 {
+ reg = <ADC5_1P25VREF>;
+ label = "vref_1p25";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ channel@6 {
+ reg = <ADC5_DIE_TEMP>;
+ label = "die_temp";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ channel@7 {
+ reg = <ADC5_USB_IN_I>;
+ label = "usb_in_i_uv";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ channel@8 {
+ reg = <ADC5_USB_IN_V_16>;
+ label = "usb_in_v_div_16";
+ qcom,pre-scaling = <1 16>;
+ };
+
+ channel@9 {
+ reg = <ADC5_CHG_TEMP>;
+ label = "chg_temp";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ channel@4b {
+ reg = <ADC5_BAT_ID_100K_PU>;
+ label = "bat_id";
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ };
+
+ channel@83 {
+ reg = <ADC5_VPH_PWR>;
+ label = "vph_pwr";
+ qcom,pre-scaling = <1 3>;
+ };
+
+ channel@84 {
+ reg = <ADC5_VBAT_SNS>;
+ label = "vbat_sns";
+ qcom,pre-scaling = <1 3>;
+ };
+ };
+
rtc@6000 {
compatible = "qcom,pm8941-rtc";
reg = <0x6000>, <0x6100>;
--
2.43.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v6 2/4] arm64: dts: qcom: pm8005: Add temp alarm node
2026-09-11 16:40 [PATCH v6 0/4] arm64: dts: qcom: Add PMIC thermal support for Shikra platforms Jishnu Prakash
2026-09-11 16:40 ` [PATCH v6 1/4] arm64: dts: qcom: pm4125: Add VADC and temp alarm nodes Jishnu Prakash
@ 2026-09-11 16:40 ` Jishnu Prakash
2026-09-11 16:51 ` sashiko-bot
2026-09-12 15:35 ` Abel Vesa
2026-09-11 16:40 ` [PATCH v6 3/4] arm64: dts: qcom: Add PMIC thermal support for Shikra CQ2390M SoM platform Jishnu Prakash
2026-09-11 16:40 ` [PATCH v6 4/4] arm64: dts: qcom: Add PMIC thermal support for Shikra IQ2390S " Jishnu Prakash
3 siblings, 2 replies; 12+ messages in thread
From: Jishnu Prakash @ 2026-09-11 16:40 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Kamal Wadhwa,
Rakesh Kota, Jishnu Prakash, Konrad Dybcio
Add temperature alarm node along with thermal zone used
for PMIC thermal mitigation.
Co-developed-by: Rakesh Kota <rakesh.kota@oss.qualcomm.com>
Signed-off-by: Rakesh Kota <rakesh.kota@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Jishnu Prakash <jishnu.prakash@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/pm8005.dtsi | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/pm8005.dtsi b/arch/arm64/boot/dts/qcom/pm8005.dtsi
index 0f0ab2da8305..ce31a8545020 100644
--- a/arch/arm64/boot/dts/qcom/pm8005.dtsi
+++ b/arch/arm64/boot/dts/qcom/pm8005.dtsi
@@ -4,6 +4,34 @@
#include <dt-bindings/spmi/spmi.h>
#include <dt-bindings/interrupt-controller/irq.h>
+/ {
+ thermal-zones {
+ pm8005-thermal {
+ thermal-sensors = <&pm8005_tz>;
+
+ trips {
+ pm8005_trip0: trip0 {
+ temperature = <105000>;
+ hysteresis = <0>;
+ type = "passive";
+ };
+
+ pm8005_trip1: trip1 {
+ temperature = <125000>;
+ hysteresis = <0>;
+ type = "hot";
+ };
+
+ pm8005_trip2: trip2 {
+ temperature = <145000>;
+ hysteresis = <0>;
+ type = "critical";
+ };
+ };
+ };
+ };
+};
+
&spmi_bus {
pm8005_lsid0: pmic@4 {
compatible = "qcom,pm8005", "qcom,spmi-pmic";
@@ -11,6 +39,13 @@ pm8005_lsid0: pmic@4 {
#address-cells = <1>;
#size-cells = <0>;
+ pm8005_tz: temp-alarm@2400 {
+ compatible = "qcom,spmi-temp-alarm";
+ reg = <0x2400>;
+ interrupts = <0x4 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;
+ #thermal-sensor-cells = <0>;
+ };
+
pm8005_gpios: gpio@c000 {
compatible = "qcom,pm8005-gpio", "qcom,spmi-gpio";
reg = <0xc000>;
--
2.43.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v6 3/4] arm64: dts: qcom: Add PMIC thermal support for Shikra CQ2390M SoM platform
2026-09-11 16:40 [PATCH v6 0/4] arm64: dts: qcom: Add PMIC thermal support for Shikra platforms Jishnu Prakash
2026-09-11 16:40 ` [PATCH v6 1/4] arm64: dts: qcom: pm4125: Add VADC and temp alarm nodes Jishnu Prakash
2026-09-11 16:40 ` [PATCH v6 2/4] arm64: dts: qcom: pm8005: Add temp alarm node Jishnu Prakash
@ 2026-09-11 16:40 ` Jishnu Prakash
2026-09-11 16:51 ` sashiko-bot
2026-09-12 15:36 ` Abel Vesa
2026-09-11 16:40 ` [PATCH v6 4/4] arm64: dts: qcom: Add PMIC thermal support for Shikra IQ2390S " Jishnu Prakash
3 siblings, 2 replies; 12+ messages in thread
From: Jishnu Prakash @ 2026-09-11 16:40 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Kamal Wadhwa,
Rakesh Kota, Jishnu Prakash, Konrad Dybcio
Add ADC channels for pa, quiet and msm thermistors along with
their ADC thermal bridge nodes and thermal zones for PMIC
thermal mitigation.
Co-developed-by: Rakesh Kota <rakesh.kota@oss.qualcomm.com>
Signed-off-by: Rakesh Kota <rakesh.kota@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Jishnu Prakash <jishnu.prakash@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/shikra-cqm-som.dtsi | 120 +++++++++++++++++++++++++++
1 file changed, 120 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/shikra-cqm-som.dtsi b/arch/arm64/boot/dts/qcom/shikra-cqm-som.dtsi
index fde7fc035bf5..c7fb71675b79 100644
--- a/arch/arm64/boot/dts/qcom/shikra-cqm-som.dtsi
+++ b/arch/arm64/boot/dts/qcom/shikra-cqm-som.dtsi
@@ -4,6 +4,7 @@
*/
#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/iio/qcom,spmi-vadc.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include "shikra.dtsi"
@@ -32,6 +33,68 @@ key-volume-up {
};
};
+ msm_therm_bridge: msm-therm-bridge {
+ compatible = "generic-adc-thermal";
+ io-channels = <&pm4125_adc ADC5_AMUX_THM3_100K_PU>;
+ io-channel-names = "sensor-channel";
+ #thermal-sensor-cells = <0>;
+ };
+
+ pa_therm_bridge: pa-therm-bridge {
+ compatible = "generic-adc-thermal";
+ io-channels = <&pm4125_adc ADC5_AMUX_THM1_100K_PU>;
+ io-channel-names = "sensor-channel";
+ #thermal-sensor-cells = <0>;
+ };
+
+ quiet_therm_bridge: quiet-therm-bridge {
+ compatible = "generic-adc-thermal";
+ io-channels = <&pm4125_adc ADC5_AMUX_THM2_100K_PU>;
+ io-channel-names = "sensor-channel";
+ #thermal-sensor-cells = <0>;
+ };
+
+ thermal-zones {
+ sys-1-thermal {
+ polling-delay-passive = <2000>;
+ thermal-sensors = <&pa_therm_bridge>;
+
+ trips {
+ active-config0 {
+ temperature = <80000>;
+ hysteresis = <2000>;
+ type = "hot";
+ };
+ };
+ };
+
+ sys-2-thermal {
+ polling-delay-passive = <2000>;
+ thermal-sensors = <&quiet_therm_bridge>;
+
+ trips {
+ active-config0 {
+ temperature = <80000>;
+ hysteresis = <2000>;
+ type = "hot";
+ };
+ };
+ };
+
+ sys-3-thermal {
+ polling-delay-passive = <2000>;
+ thermal-sensors = <&msm_therm_bridge>;
+
+ trips {
+ active-config0 {
+ temperature = <80000>;
+ hysteresis = <2000>;
+ type = "hot";
+ };
+ };
+ };
+ };
+
wcn3988-pmu {
compatible = "qcom,wcn3988-pmu";
@@ -69,7 +132,64 @@ vreg_pmu_ch1: ldo4 {
};
};
+&pm4125_adc {
+ pinctrl-0 = <&pm4125_adc_gpio5_default>, <&pm4125_adc_gpio6_default>;
+ pinctrl-names = "default";
+
+ channel@4d {
+ reg = <ADC5_AMUX_THM1_100K_PU>;
+ label = "pa_therm";
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ };
+
+ channel@4e {
+ reg = <ADC5_AMUX_THM2_100K_PU>;
+ label = "quiet_therm";
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ };
+
+ channel@4f {
+ reg = <ADC5_AMUX_THM3_100K_PU>;
+ label = "msm_therm";
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ };
+
+ channel@54 {
+ reg = <ADC5_GPIO3_100K_PU>;
+ label = "chgr_skin";
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ };
+
+ channel@55 {
+ reg = <ADC5_GPIO4_100K_PU>;
+ label = "gnss_therm";
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ };
+};
+
&pm4125_gpios {
+ pm4125_adc_gpio5_default: pm4125-adc-gpio5-state {
+ pins = "gpio5";
+ function = PMIC_GPIO_FUNC_NORMAL;
+ bias-high-impedance;
+ };
+
+ pm4125_adc_gpio6_default: pm4125-adc-gpio6-state {
+ pins = "gpio6";
+ function = PMIC_GPIO_FUNC_NORMAL;
+ bias-high-impedance;
+ };
+
vol_up_n: vol-up-n-state {
pins = "gpio9";
function = PMIC_GPIO_FUNC_NORMAL;
--
2.43.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v6 4/4] arm64: dts: qcom: Add PMIC thermal support for Shikra IQ2390S SoM platform
2026-09-11 16:40 [PATCH v6 0/4] arm64: dts: qcom: Add PMIC thermal support for Shikra platforms Jishnu Prakash
` (2 preceding siblings ...)
2026-09-11 16:40 ` [PATCH v6 3/4] arm64: dts: qcom: Add PMIC thermal support for Shikra CQ2390M SoM platform Jishnu Prakash
@ 2026-09-11 16:40 ` Jishnu Prakash
2026-09-11 16:49 ` sashiko-bot
2026-09-12 15:36 ` Abel Vesa
3 siblings, 2 replies; 12+ messages in thread
From: Jishnu Prakash @ 2026-09-11 16:40 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Kamal Wadhwa,
Rakesh Kota, Jishnu Prakash, Konrad Dybcio
Add ADC channels for system thermistors, used for thermal mitigation.
Add ADC_TM nodes for pa/quiet/msm thermistors and also thermal zones
for them.
Co-developed-by: Rakesh Kota <rakesh.kota@oss.qualcomm.com>
Signed-off-by: Rakesh Kota <rakesh.kota@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Jishnu Prakash <jishnu.prakash@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/shikra-iqs-som.dtsi | 113 +++++++++++++++++++++++++++
1 file changed, 113 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/shikra-iqs-som.dtsi b/arch/arm64/boot/dts/qcom/shikra-iqs-som.dtsi
index e119ace54e58..a6769364c192 100644
--- a/arch/arm64/boot/dts/qcom/shikra-iqs-som.dtsi
+++ b/arch/arm64/boot/dts/qcom/shikra-iqs-som.dtsi
@@ -4,6 +4,7 @@
*/
#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/iio/qcom,spmi-vadc.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include "shikra.dtsi"
@@ -31,6 +32,44 @@ key-volume-up {
};
};
+ thermal-zones {
+ sys-1-thermal {
+ thermal-sensors = <&pm8150_adc_tm 0>;
+
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ sys-2-thermal {
+ thermal-sensors = <&pm8150_adc_tm 1>;
+
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ sys-3-thermal {
+ thermal-sensors = <&pm8150_adc_tm 2>;
+
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+ };
+
vreg_wcn_3p3: regulator-wcn-3p3 {
compatible = "regulator-fixed";
regulator-name = "wcn_3p3";
@@ -76,7 +115,81 @@ vreg_pmu_ch1: ldo4 {
};
};
+&pm8150_adc {
+ pinctrl-0 = <&pm8150_adc_gpio2_default>, <&pm8150_adc_gpio3_default>;
+ pinctrl-names = "default";
+
+ channel@4d {
+ reg = <ADC5_AMUX_THM1_100K_PU>;
+ label = "msm_therm";
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ };
+
+ channel@4e {
+ reg = <ADC5_AMUX_THM2_100K_PU>;
+ label = "quiet_therm";
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ };
+
+ channel@52 {
+ reg = <ADC5_GPIO1_100K_PU>;
+ label = "gnss_therm";
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ };
+
+ channel@55 {
+ reg = <ADC5_GPIO4_100K_PU>;
+ label = "pa_therm";
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ };
+};
+
+&pm8150_adc_tm {
+ status = "okay";
+
+ pa-therm@0 {
+ reg = <0>;
+ io-channels = <&pm8150_adc ADC5_GPIO4_100K_PU>;
+ qcom,ratiometric;
+ qcom,hw-settle-time-us = <200>;
+ };
+
+ quiet-therm@1 {
+ reg = <1>;
+ io-channels = <&pm8150_adc ADC5_AMUX_THM2_100K_PU>;
+ qcom,ratiometric;
+ qcom,hw-settle-time-us = <200>;
+ };
+
+ msm-therm@2 {
+ reg = <2>;
+ io-channels = <&pm8150_adc ADC5_AMUX_THM1_100K_PU>;
+ qcom,ratiometric;
+ qcom,hw-settle-time-us = <200>;
+ };
+};
+
&pm8150_gpios {
+ pm8150_adc_gpio2_default: pm8150-adc-gpio2-state {
+ pins = "gpio2";
+ function = PMIC_GPIO_FUNC_NORMAL;
+ bias-high-impedance;
+ };
+
+ pm8150_adc_gpio3_default: pm8150-adc-gpio3-state {
+ pins = "gpio3";
+ function = PMIC_GPIO_FUNC_NORMAL;
+ bias-high-impedance;
+ };
+
vol_up_n: vol-up-n-state {
pins = "gpio6";
function = PMIC_GPIO_FUNC_NORMAL;
--
2.43.0
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v6 4/4] arm64: dts: qcom: Add PMIC thermal support for Shikra IQ2390S SoM platform
2026-09-11 16:40 ` [PATCH v6 4/4] arm64: dts: qcom: Add PMIC thermal support for Shikra IQ2390S " Jishnu Prakash
@ 2026-09-11 16:49 ` sashiko-bot
2026-09-12 15:36 ` Abel Vesa
1 sibling, 0 replies; 12+ messages in thread
From: sashiko-bot @ 2026-09-11 16:49 UTC (permalink / raw)
To: Jishnu Prakash; +Cc: devicetree, robh, conor+dt
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] The pinctrl configuration for the PMIC ADC incorrectly sets up PMIC GPIO2 and GPIO3 for analog input, but the configured ADC channels are actually mapped to read from PMIC GPIO1 and GPIO4.
--
commit 16888acda3cf4c853fe7f5fde0d880b0e2116d1a
Author: Jishnu Prakash <jishnu.prakash@oss.qualcomm.com>
arm64: dts: qcom: Add PMIC thermal support for Shikra IQ2390S SoM platform
This commit adds ADC channels for system thermistors which are used for
thermal mitigation. It also adds ADC_TM nodes for pa/quiet/msm thermistors
along with their thermal zones.
> diff --git a/arch/arm64/boot/dts/qcom/shikra-iqs-som.dtsi b/arch/arm64/boot/dts/qcom/shikra-iqs-som.dtsi
> index e119ace54e588..a6769364c1921 100644
> --- a/arch/arm64/boot/dts/qcom/shikra-iqs-som.dtsi
> +++ b/arch/arm64/boot/dts/qcom/shikra-iqs-som.dtsi
[ ... ]
> @@ -76,7 +115,81 @@ vreg_pmu_ch1: ldo4 {
> };
> };
>
> +&pm8150_adc {
> + pinctrl-0 = <&pm8150_adc_gpio2_default>, <&pm8150_adc_gpio3_default>;
> + pinctrl-names = "default";
[Severity: High]
Does this incorrectly assign the pinctrl states for GPIO2 and GPIO3,
rather than GPIO1 and GPIO4?
As seen in the channels defined below, the gnss_therm and pa_therm are
mapped to read from ADC5_GPIO1_100K_PU and ADC5_GPIO4_100K_PU.
> +
> + channel@4d {
> + reg = <ADC5_AMUX_THM1_100K_PU>;
> + label = "msm_therm";
> + qcom,ratiometric;
> + qcom,hw-settle-time = <200>;
> + qcom,pre-scaling = <1 1>;
> + };
> +
> + channel@4e {
> + reg = <ADC5_AMUX_THM2_100K_PU>;
> + label = "quiet_therm";
> + qcom,ratiometric;
> + qcom,hw-settle-time = <200>;
> + qcom,pre-scaling = <1 1>;
> + };
> +
> + channel@52 {
> + reg = <ADC5_GPIO1_100K_PU>;
> + label = "gnss_therm";
> + qcom,ratiometric;
> + qcom,hw-settle-time = <200>;
> + qcom,pre-scaling = <1 1>;
> + };
> +
> + channel@55 {
> + reg = <ADC5_GPIO4_100K_PU>;
> + label = "pa_therm";
> + qcom,ratiometric;
> + qcom,hw-settle-time = <200>;
> + qcom,pre-scaling = <1 1>;
> + };
> +};
[ ... ]
> &pm8150_gpios {
> + pm8150_adc_gpio2_default: pm8150-adc-gpio2-state {
> + pins = "gpio2";
> + function = PMIC_GPIO_FUNC_NORMAL;
> + bias-high-impedance;
> + };
> +
> + pm8150_adc_gpio3_default: pm8150-adc-gpio3-state {
> + pins = "gpio3";
> + function = PMIC_GPIO_FUNC_NORMAL;
> + bias-high-impedance;
> + };
[Severity: High]
Should these pinctrl states configure GPIO1 and GPIO4 instead?
Without high-impedance configuration on GPIO1 and GPIO4, their default
digital states or internal biases might interfere with the analog thermistor
voltage. This can result in incorrect temperature readings, potentially
causing the system to either overheat or spuriously shut down.
> +
> vol_up_n: vol-up-n-state {
> pins = "gpio6";
> function = PMIC_GPIO_FUNC_NORMAL;
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260911-shikra_adc_support-v6-0-e4b2da5cd55c@oss.qualcomm.com?part=4
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v6 2/4] arm64: dts: qcom: pm8005: Add temp alarm node
2026-09-11 16:40 ` [PATCH v6 2/4] arm64: dts: qcom: pm8005: Add temp alarm node Jishnu Prakash
@ 2026-09-11 16:51 ` sashiko-bot
2026-09-12 15:35 ` Abel Vesa
1 sibling, 0 replies; 12+ messages in thread
From: sashiko-bot @ 2026-09-11 16:51 UTC (permalink / raw)
To: Jishnu Prakash; +Cc: robh, devicetree, conor+dt
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] The critical trip temperature of 145000 mC exceeds the hardware's maximum Stage 2 shutdown threshold, causing a premature hard-power cut that bypasses OS software shutdown.
--
commit 88b914c28016cf188fecbd155d9b9942de82bce0
Author: Jishnu Prakash <jishnu.prakash@oss.qualcomm.com>
arm64: dts: qcom: pm8005: Add temp alarm node
This commit adds a temperature alarm node along with a thermal zone used
for PMIC thermal mitigation on the PM8005.
> diff --git a/arch/arm64/boot/dts/qcom/pm8005.dtsi b/arch/arm64/boot/dts/qcom/pm8005.dtsi
> index 0f0ab2da83055..ce31a85450200 100644
> --- a/arch/arm64/boot/dts/qcom/pm8005.dtsi
> +++ b/arch/arm64/boot/dts/qcom/pm8005.dtsi
[ ... ]
> + pm8005_trip1: trip1 {
> + temperature = <125000>;
> + hysteresis = <0>;
> + type = "hot";
> + };
> +
> + pm8005_trip2: trip2 {
> + temperature = <145000>;
> + hysteresis = <0>;
> + type = "critical";
> + };
[Severity: High]
Does setting this temperature to 145000 mC exceed the hardware's maximum
Stage 2 shutdown threshold (typically 125000 mC or 140000 mC depending on the
generation)?
If this threshold is physically unattainable by the hardware without an ADC,
could this force an early, ungraceful hardware power cut before the OS is
able to reach the thermal framework's graceful shutdown procedure?
[ ... ]
> &spmi_bus {
> pm8005_lsid0: pmic@4 {
> compatible = "qcom,pm8005", "qcom,spmi-pmic";
> @@ -11,6 +39,13 @@ pm8005_lsid0: pmic@4 {
> #address-cells = <1>;
> #size-cells = <0>;
>
> + pm8005_tz: temp-alarm@2400 {
> + compatible = "qcom,spmi-temp-alarm";
> + reg = <0x2400>;
> + interrupts = <0x4 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;
> + #thermal-sensor-cells = <0>;
> + };
[Severity: High]
Because there is no io-channels property defined here, it looks like the
qcom-spmi-temp-alarm driver will have to rely on the PMIC's internal hardware
comparators instead of an ADC.
When the driver attempts to configure the 145000 mC critical trip point from
above, will it find that it exceeds the hardware's maximum threshold, cap it
at the hardware maximum, and leave SHUTDOWN_CTRL1_OVERRIDE_STAGE2 disabled?
If so, would the PMIC abruptly power off when the temperature reaches the
lower Stage 2 hardware threshold? This bypasses the OS thermal framework's
graceful shutdown and can potentially lead to filesystem corruption on
overheating. Should an io-channels property be provided here to properly
delegate the critical trip to software?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260911-shikra_adc_support-v6-0-e4b2da5cd55c@oss.qualcomm.com?part=2
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v6 3/4] arm64: dts: qcom: Add PMIC thermal support for Shikra CQ2390M SoM platform
2026-09-11 16:40 ` [PATCH v6 3/4] arm64: dts: qcom: Add PMIC thermal support for Shikra CQ2390M SoM platform Jishnu Prakash
@ 2026-09-11 16:51 ` sashiko-bot
2026-09-12 15:36 ` Abel Vesa
1 sibling, 0 replies; 12+ messages in thread
From: sashiko-bot @ 2026-09-11 16:51 UTC (permalink / raw)
To: Jishnu Prakash; +Cc: robh, devicetree, conor+dt
Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider:
- [High] Hardware Configuration / Pin Muxing Error for ADC channels
- [High] Missing `polling-delay` in thermal zones disables thermal mitigation
- [Low] Undocumented and incomplete ADC channels (chgr_skin and gnss_therm)
--
commit 98fcf70dd02eac02e053cdcbc6ca2e2a21056370
Author: Jishnu Prakash <jishnu.prakash@oss.qualcomm.com>
arm64: dts: qcom: Add PMIC thermal support for Shikra CQ2390M SoM platform
Add ADC channels for pa, quiet and msm thermistors along with
their ADC thermal bridge nodes and thermal zones for PMIC
thermal mitigation.
> diff --git a/arch/arm64/boot/dts/qcom/shikra-cqm-som.dtsi b/arch/arm64/boot/dts/qcom/shikra-cqm-som.dtsi
> index fde7fc035bf5d..c7fb71675b793 100644
> --- a/arch/arm64/boot/dts/qcom/shikra-cqm-som.dtsi
> +++ b/arch/arm64/boot/dts/qcom/shikra-cqm-som.dtsi
[ ... ]
> @@ -32,6 +33,68 @@ key-volume-up {
[ ... ]
> + thermal-zones {
> + sys-1-thermal {
> + polling-delay-passive = <2000>;
> + thermal-sensors = <&pa_therm_bridge>;
[Severity: High]
Does this thermal zone require a polling-delay property?
When polling-delay is omitted, the Linux thermal framework disables baseline
polling timers. The generic-adc-thermal bridges over SPMI ADCs do not seem to
generate temperature threshold interrupts.
Without a polling-delay, it appears the temperature is never read and these
trips will not trigger.
This question also applies to sys-2-thermal and sys-3-thermal.
> +
> + trips {
[ ... ]
> @@ -69,7 +132,64 @@ vreg_pmu_ch1: ldo4 {
> };
> };
>
> +&pm4125_adc {
> + pinctrl-0 = <&pm4125_adc_gpio5_default>, <&pm4125_adc_gpio6_default>;
> + pinctrl-names = "default";
[Severity: High]
Is this pin muxing correct for the channels defined below?
This assigns pinctrl-0 to gpio5 and gpio6, but the chgr_skin and
gnss_therm channels added below use ADC5_GPIO3_100K_PU and
ADC5_GPIO4_100K_PU, which map to physical GPIO3 and GPIO4.
If the wrong GPIO pins are set to high-impedance while the actual pins used
for ADC are left unconfigured, could this corrupt ADC readings or cause
unwanted power draw?
[ ... ]
> +
> + channel@54 {
> + reg = <ADC5_GPIO3_100K_PU>;
> + label = "chgr_skin";
> + qcom,ratiometric;
> + qcom,hw-settle-time = <200>;
> + qcom,pre-scaling = <1 1>;
> + };
> +
> + channel@55 {
> + reg = <ADC5_GPIO4_100K_PU>;
> + label = "gnss_therm";
> + qcom,ratiometric;
> + qcom,hw-settle-time = <200>;
> + qcom,pre-scaling = <1 1>;
> + };
[Severity: Low]
Are these two ADC channels intended to be included in this commit?
They are not mentioned in the commit message and are not connected to any
thermal zones, which might suggest they were accidentally copied over along
with the GPIO5/GPIO6 pin muxing defined above.
> +};
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260911-shikra_adc_support-v6-0-e4b2da5cd55c@oss.qualcomm.com?part=3
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v6 1/4] arm64: dts: qcom: pm4125: Add VADC and temp alarm nodes
2026-09-11 16:40 ` [PATCH v6 1/4] arm64: dts: qcom: pm4125: Add VADC and temp alarm nodes Jishnu Prakash
@ 2026-09-12 15:35 ` Abel Vesa
0 siblings, 0 replies; 12+ messages in thread
From: Abel Vesa @ 2026-09-12 15:35 UTC (permalink / raw)
To: Jishnu Prakash
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, linux-kernel,
Kamal Wadhwa, Rakesh Kota, Konrad Dybcio
On 26-09-11 22:10:39, Jishnu Prakash wrote:
> Add VADC node with some channels under it, for voltage and
> temperature readings. Add temperature alarm node, used for
> PMIC thermal mitigation.
>
> Co-developed-by: Rakesh Kota <rakesh.kota@oss.qualcomm.com>
> Signed-off-by: Rakesh Kota <rakesh.kota@oss.qualcomm.com>
> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
> Signed-off-by: Jishnu Prakash <jishnu.prakash@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v6 2/4] arm64: dts: qcom: pm8005: Add temp alarm node
2026-09-11 16:40 ` [PATCH v6 2/4] arm64: dts: qcom: pm8005: Add temp alarm node Jishnu Prakash
2026-09-11 16:51 ` sashiko-bot
@ 2026-09-12 15:35 ` Abel Vesa
1 sibling, 0 replies; 12+ messages in thread
From: Abel Vesa @ 2026-09-12 15:35 UTC (permalink / raw)
To: Jishnu Prakash
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, linux-kernel,
Kamal Wadhwa, Rakesh Kota, Konrad Dybcio
On 26-09-11 22:10:40, Jishnu Prakash wrote:
> Add temperature alarm node along with thermal zone used
> for PMIC thermal mitigation.
>
> Co-developed-by: Rakesh Kota <rakesh.kota@oss.qualcomm.com>
> Signed-off-by: Rakesh Kota <rakesh.kota@oss.qualcomm.com>
> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
> Signed-off-by: Jishnu Prakash <jishnu.prakash@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v6 3/4] arm64: dts: qcom: Add PMIC thermal support for Shikra CQ2390M SoM platform
2026-09-11 16:40 ` [PATCH v6 3/4] arm64: dts: qcom: Add PMIC thermal support for Shikra CQ2390M SoM platform Jishnu Prakash
2026-09-11 16:51 ` sashiko-bot
@ 2026-09-12 15:36 ` Abel Vesa
1 sibling, 0 replies; 12+ messages in thread
From: Abel Vesa @ 2026-09-12 15:36 UTC (permalink / raw)
To: Jishnu Prakash
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, linux-kernel,
Kamal Wadhwa, Rakesh Kota, Konrad Dybcio
On 26-09-11 22:10:41, Jishnu Prakash wrote:
> Add ADC channels for pa, quiet and msm thermistors along with
> their ADC thermal bridge nodes and thermal zones for PMIC
> thermal mitigation.
>
> Co-developed-by: Rakesh Kota <rakesh.kota@oss.qualcomm.com>
> Signed-off-by: Rakesh Kota <rakesh.kota@oss.qualcomm.com>
> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
> Signed-off-by: Jishnu Prakash <jishnu.prakash@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v6 4/4] arm64: dts: qcom: Add PMIC thermal support for Shikra IQ2390S SoM platform
2026-09-11 16:40 ` [PATCH v6 4/4] arm64: dts: qcom: Add PMIC thermal support for Shikra IQ2390S " Jishnu Prakash
2026-09-11 16:49 ` sashiko-bot
@ 2026-09-12 15:36 ` Abel Vesa
1 sibling, 0 replies; 12+ messages in thread
From: Abel Vesa @ 2026-09-12 15:36 UTC (permalink / raw)
To: Jishnu Prakash
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, linux-kernel,
Kamal Wadhwa, Rakesh Kota, Konrad Dybcio
On 26-09-11 22:10:42, Jishnu Prakash wrote:
> Add ADC channels for system thermistors, used for thermal mitigation.
> Add ADC_TM nodes for pa/quiet/msm thermistors and also thermal zones
> for them.
>
> Co-developed-by: Rakesh Kota <rakesh.kota@oss.qualcomm.com>
> Signed-off-by: Rakesh Kota <rakesh.kota@oss.qualcomm.com>
> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
> Signed-off-by: Jishnu Prakash <jishnu.prakash@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2026-09-12 15:36 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-11 16:40 [PATCH v6 0/4] arm64: dts: qcom: Add PMIC thermal support for Shikra platforms Jishnu Prakash
2026-09-11 16:40 ` [PATCH v6 1/4] arm64: dts: qcom: pm4125: Add VADC and temp alarm nodes Jishnu Prakash
2026-09-12 15:35 ` Abel Vesa
2026-09-11 16:40 ` [PATCH v6 2/4] arm64: dts: qcom: pm8005: Add temp alarm node Jishnu Prakash
2026-09-11 16:51 ` sashiko-bot
2026-09-12 15:35 ` Abel Vesa
2026-09-11 16:40 ` [PATCH v6 3/4] arm64: dts: qcom: Add PMIC thermal support for Shikra CQ2390M SoM platform Jishnu Prakash
2026-09-11 16:51 ` sashiko-bot
2026-09-12 15:36 ` Abel Vesa
2026-09-11 16:40 ` [PATCH v6 4/4] arm64: dts: qcom: Add PMIC thermal support for Shikra IQ2390S " Jishnu Prakash
2026-09-11 16:49 ` sashiko-bot
2026-09-12 15:36 ` Abel Vesa
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).