* [PATCH v5 0/4] arm64: dts: qcom: Add PMIC thermal support for Shikra platforms
@ 2026-08-09 14:07 Jishnu Prakash
2026-08-09 14:07 ` [PATCH v5 1/4] arm64: dts: qcom: pm4125: Add VADC and temp alarm nodes Jishnu Prakash
` (3 more replies)
0 siblings, 4 replies; 7+ messages in thread
From: Jishnu Prakash @ 2026-08-09 14:07 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 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: 6b8c8af514d739d0335f5579b585e02babe8a727
change-id: 20260613-shikra_adc_support-0079650eb76c
Best regards,
--
Jishnu Prakash <jishnu.prakash@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v5 1/4] arm64: dts: qcom: pm4125: Add VADC and temp alarm nodes
2026-08-09 14:07 [PATCH v5 0/4] arm64: dts: qcom: Add PMIC thermal support for Shikra platforms Jishnu Prakash
@ 2026-08-09 14:07 ` Jishnu Prakash
2026-08-09 14:07 ` [PATCH v5 2/4] arm64: dts: qcom: pm8005: Add temp alarm node Jishnu Prakash
` (2 subsequent siblings)
3 siblings, 0 replies; 7+ messages in thread
From: Jishnu Prakash @ 2026-08-09 14:07 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] 7+ messages in thread
* [PATCH v5 2/4] arm64: dts: qcom: pm8005: Add temp alarm node
2026-08-09 14:07 [PATCH v5 0/4] arm64: dts: qcom: Add PMIC thermal support for Shikra platforms Jishnu Prakash
2026-08-09 14:07 ` [PATCH v5 1/4] arm64: dts: qcom: pm4125: Add VADC and temp alarm nodes Jishnu Prakash
@ 2026-08-09 14:07 ` Jishnu Prakash
2026-08-09 14:07 ` [PATCH v5 3/4] arm64: dts: qcom: Add PMIC thermal support for Shikra CQ2390M SoM platform Jishnu Prakash
2026-08-09 14:07 ` [PATCH v5 4/4] arm64: dts: qcom: Add PMIC thermal support for Shikra IQ2390S " Jishnu Prakash
3 siblings, 0 replies; 7+ messages in thread
From: Jishnu Prakash @ 2026-08-09 14:07 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] 7+ messages in thread
* [PATCH v5 3/4] arm64: dts: qcom: Add PMIC thermal support for Shikra CQ2390M SoM platform
2026-08-09 14:07 [PATCH v5 0/4] arm64: dts: qcom: Add PMIC thermal support for Shikra platforms Jishnu Prakash
2026-08-09 14:07 ` [PATCH v5 1/4] arm64: dts: qcom: pm4125: Add VADC and temp alarm nodes Jishnu Prakash
2026-08-09 14:07 ` [PATCH v5 2/4] arm64: dts: qcom: pm8005: Add temp alarm node Jishnu Prakash
@ 2026-08-09 14:07 ` Jishnu Prakash
2026-08-09 14:31 ` sashiko-bot
2026-08-09 14:07 ` [PATCH v5 4/4] arm64: dts: qcom: Add PMIC thermal support for Shikra IQ2390S " Jishnu Prakash
3 siblings, 1 reply; 7+ messages in thread
From: Jishnu Prakash @ 2026-08-09 14:07 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 8ac42ff625a0..9caff1a70d13 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] 7+ messages in thread
* [PATCH v5 4/4] arm64: dts: qcom: Add PMIC thermal support for Shikra IQ2390S SoM platform
2026-08-09 14:07 [PATCH v5 0/4] arm64: dts: qcom: Add PMIC thermal support for Shikra platforms Jishnu Prakash
` (2 preceding siblings ...)
2026-08-09 14:07 ` [PATCH v5 3/4] arm64: dts: qcom: Add PMIC thermal support for Shikra CQ2390M SoM platform Jishnu Prakash
@ 2026-08-09 14:07 ` Jishnu Prakash
2026-08-09 14:36 ` sashiko-bot
3 siblings, 1 reply; 7+ messages in thread
From: Jishnu Prakash @ 2026-08-09 14:07 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 4ff97945274d..ede34d82de76 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] 7+ messages in thread
* Re: [PATCH v5 3/4] arm64: dts: qcom: Add PMIC thermal support for Shikra CQ2390M SoM platform
2026-08-09 14:07 ` [PATCH v5 3/4] arm64: dts: qcom: Add PMIC thermal support for Shikra CQ2390M SoM platform Jishnu Prakash
@ 2026-08-09 14:31 ` sashiko-bot
0 siblings, 0 replies; 7+ messages in thread
From: sashiko-bot @ 2026-08-09 14:31 UTC (permalink / raw)
To: Jishnu Prakash; +Cc: conor+dt, robh, devicetree
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] The newly added thermal zones lack the `polling-delay` property, meaning the thermal framework will never autonomously read these polled sensors, rendering the trip points completely inactive.
--
--- Patch [3]: [PATCH v5 3/4] arm64: dts: qcom: Add PMIC thermal support for Shikra CQ2390M SoM platform ---
commit e095016b4e3d3900333619bed0a4f6e72a9a0497
Author: Jishnu Prakash <jishnu.prakash@oss.qualcomm.com>
arm64: dts: qcom: Add PMIC thermal support for Shikra CQ2390M SoM platform
This commit adds ADC channels for pa, quiet, and msm thermistors along with
their respective ADC thermal bridge nodes. It also creates thermal zones for
PMIC thermal mitigation on the Shikra CQ2390M SoM platform.
> diff --git a/arch/arm64/boot/dts/qcom/shikra-cqm-som.dtsi b/arch/arm64/boot/dts/qcom/shikra-cqm-som.dtsi
> index 8ac42ff625a0e..9caff1a70d13d 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 {
> };
> };
>
> + 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>;
> + };
> +
[ ... ]
> + thermal-zones {
> + sys-1-thermal {
> + polling-delay-passive = <2000>;
> + thermal-sensors = <&pa_therm_bridge>;
[Severity: High]
Will this thermal zone ever be autonomously evaluated by the thermal core?
The zone defines polling-delay-passive but omits the standard polling-delay
property, which defaults to 0 (disabling non-passive polling). Because this
zone only defines a "hot" trip point and lacks any "passive" trip points,
passive cooling mitigation is never engaged.
Since the generic-adc-thermal bridges rely on polling and lack hardware
interrupts, omitting polling-delay means the thermal core might never
schedule its poll queue. Does this prevent PMIC thermal mitigation from
triggering during an overheating event?
This also applies to sys-2-thermal and sys-3-thermal below.
> +
> + trips {
> + active-config0 {
> + temperature = <80000>;
> + hysteresis = <2000>;
> + type = "hot";
> + };
> + };
> + };
> +
[ ... ]
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260809-shikra_adc_support-v5-0-bf6882d18bad@oss.qualcomm.com?part=3
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v5 4/4] arm64: dts: qcom: Add PMIC thermal support for Shikra IQ2390S SoM platform
2026-08-09 14:07 ` [PATCH v5 4/4] arm64: dts: qcom: Add PMIC thermal support for Shikra IQ2390S " Jishnu Prakash
@ 2026-08-09 14:36 ` sashiko-bot
0 siblings, 0 replies; 7+ messages in thread
From: sashiko-bot @ 2026-08-09 14:36 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 pinctrl configuration incorrectly targets PM8150 GPIO2 and GPIO3 instead of the actual GPIOs (GPIO1 and GPIO4) used for the thermistor ADC channels.
--
--- Patch [4]: [PATCH v5 4/4] arm64: dts: qcom: Add PMIC thermal support for Shikra IQ2390S SoM platform ---
commit 8dee766ba238404c7e2305d90f5d025e6c4cba41
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 used for thermal
mitigation on the Shikra IQ2390S SoM platform. It also adds ADC_TM nodes
for the pa, quiet, and 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 4ff97945274dd..ede34d82de76e 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>;
[Severity: High]
Does this pinctrl configuration specify the correct GPIOs?
The pinctrl nodes target gpio2 and gpio3, but the gnss_therm and pa_therm ADC
channels defined below use ADC5_GPIO1_100K_PU (GPIO1) and ADC5_GPIO4_100K_PU
(GPIO4). Leaving GPIO1 and GPIO4 unconfigured as high-impedance inputs may
corrupt the analog measurements and lead to incorrect thermal throttling.
> + 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@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;
> + };
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260809-shikra_adc_support-v5-0-bf6882d18bad@oss.qualcomm.com?part=4
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2026-08-09 14:36 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-09 14:07 [PATCH v5 0/4] arm64: dts: qcom: Add PMIC thermal support for Shikra platforms Jishnu Prakash
2026-08-09 14:07 ` [PATCH v5 1/4] arm64: dts: qcom: pm4125: Add VADC and temp alarm nodes Jishnu Prakash
2026-08-09 14:07 ` [PATCH v5 2/4] arm64: dts: qcom: pm8005: Add temp alarm node Jishnu Prakash
2026-08-09 14:07 ` [PATCH v5 3/4] arm64: dts: qcom: Add PMIC thermal support for Shikra CQ2390M SoM platform Jishnu Prakash
2026-08-09 14:31 ` sashiko-bot
2026-08-09 14:07 ` [PATCH v5 4/4] arm64: dts: qcom: Add PMIC thermal support for Shikra IQ2390S " Jishnu Prakash
2026-08-09 14:36 ` sashiko-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox