[PATCH v2 5/5] arm64: dts: qcom: sm7225-fairphone-fp4: Add battery temperature node

Luca Weiss
2026-02-20T09:19:17Z

Add a generic-adc-thermal node to convert the voltage read by the
battery temperature ADC into degree Celsius using the provided lookup
table.

This will later be used as input for the fuel gauge node (QGauge on the
PM7250B).

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
---
arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts | 83 +++++++++++++++++++++++
1 file changed, 83 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts b/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts
index b697051a0aaa..7857003099a6 100644
--- a/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts
+++ b/arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts
@@ -108,6 +108,89 @@ rear_cam_sensor: thermal-sensor-rear-cam {
io-channel-names = "sensor-channel";
};

+ bat_therm_sensor: thermal-sensor-bat-therm {
+ compatible = "generic-adc-thermal";
+ #thermal-sensor-cells = <0>;
+ #io-channel-cells = <0>;
+ io-channels = <&pm7250b_adc ADC5_BAT_THERM_30K_PU>;
+ io-channel-names = "sensor-channel";
+ /*
+ * Voltage to temperature table for 10kΩ (B=3435K) NTC with a
+ * 1.875V reference and 30kΩ pull-up.
+ */
+ temperature-lookup-table = <
+ (-40000) 1673
+ (-38000) 1649
+ (-36000) 1623
+ (-34000) 1596
+ (-32000) 1566
+ (-30000) 1535
+ (-28000) 1502
+ (-26000) 1467
+ (-24000) 1430
+ (-22000) 1392
+ (-20000) 1352
+ (-18000) 1311
+ (-16000) 1269
+ (-14000) 1226
+ (-12000) 1182
+ (-10000) 1138
+ (-8000) 1093
+ (-6000) 1049
+ (-4000) 1004
+ (-2000) 960
+ 0 917
+ 2000 874
+ 4000 832
+ 6000 791
+ 8000 752
+ 10000 713
+ 12000 676
+ 14000 640
+ 16000 606
+ 18000 573
+ 20000 541
+ 22000 511
+ 24000 483
+ 26000 455
+ 28000 430
+ 30000 405
+ 32000 382
+ 34000 360
+ 36000 340
+ 38000 320
+ 40000 302
+ 42000 285
+ 44000 269
+ 46000 253
+ 48000 239
+ 50000 225
+ 52000 213
+ 54000 201
+ 56000 190
+ 58000 179
+ 60000 169
+ 62000 160
+ 64000 152
+ 66000 143
+ 68000 136
+ 70000 128
+ 72000 122
+ 74000 115
+ 76000 109
+ 78000 104
+ 80000 98
+ 82000 93
+ 84000 89
+ 86000 84
+ 88000 80
+ 90000 76
+ 92000 73
+ 94000 69
+ 96000 66
+ 98000 63>;
+ };
+
thermal-zones {
chg-skin-thermal {
thermal-sensors = <&pm7250b_adc_tm 0>;

--
2.53.0