[PATCH 7/7] ARM: dts: s5pv210: Add charger support in Aries

From: Jonathan Bakker
Date: Wed Mar 23 2022 - 11:04:08 EST


Add charger-manager support to Aries boards to allow safe
charging of the battery without the need for userspace control.

Signed-off-by: Jonathan Bakker <xc-racer2@xxxxxxx>
---
arch/arm/boot/dts/s5pv210-fascinate4g.dts | 162 ++++++++++++++++++++++
arch/arm/boot/dts/s5pv210-galaxys.dts | 144 +++++++++++++++++++
2 files changed, 306 insertions(+)

diff --git a/arch/arm/boot/dts/s5pv210-fascinate4g.dts b/arch/arm/boot/dts/s5pv210-fascinate4g.dts
index 7427c84f1126..9530231b7a70 100644
--- a/arch/arm/boot/dts/s5pv210-fascinate4g.dts
+++ b/arch/arm/boot/dts/s5pv210-fascinate4g.dts
@@ -57,6 +57,168 @@
pinctrl-0 = <&main_micbias_ena>;
};

+ thermal-zones {
+ batt_thermal: batt-thermal {
+ polling-delay-passive = <60000>; /* 60 seconds */
+ polling-delay = <600000>; /* 600 seconds */
+
+ thermal-sensors = <&batt_thermistor>;
+ };
+ };
+
+ batt_thermistor: thermal-sensor-0 {
+ compatible = "generic-adc-thermal";
+ #thermal-sensor-cells = <0>;
+ io-channels = <&adc 6>;
+ io-channel-names = "sensor-channel";
+
+ temperature-lookup-table = <
+ (-20000) 1859
+ (-19000) 1846
+ (-18000) 1832
+ (-17000) 1818
+ (-16000) 1804
+ (-15000) 1790
+ (-14000) 1773
+ (-13000) 1756
+ (-12000) 1739
+ (-11000) 1722
+ (-10000) 1705
+ (-9000) 1691
+ (-8000) 1677
+ (-7000) 1663
+ (-6000) 1649
+ (-5000) 1635
+ (-4000) 1550
+ (-3000) 1510
+ (-2000) 1500
+ (-1000) 1490
+ 0 1480
+ 1000 1470
+ 2000 1460
+ 3000 1450
+ 4000 1430
+ 5000 1420
+ 6000 1406
+ 7000 1386
+ 8000 1366
+ 9000 1346
+ 10000 1326
+ 11000 1302
+ 12000 1278
+ 13000 1254
+ 14000 1230
+ 15000 1206
+ 16000 1182
+ 17000 1158
+ 18000 1134
+ 19000 1110
+ 20000 1086
+ 21000 1059
+ 22000 1035
+ 23000 1011
+ 24000 987
+ 25000 963
+ 26000 937
+ 27000 913
+ 28000 889
+ 29000 865
+ 30000 841
+ 31000 816
+ 32000 794
+ 33000 772
+ 34000 750
+ 35000 728
+ 36000 708
+ 37000 690
+ 38000 672
+ 39000 654
+ 40000 636
+ 41000 616
+ 42000 599
+ 43000 580
+ 44000 565
+ 45000 548
+ 46000 529
+ 47000 512
+ 48000 495
+ 49000 478
+ 50000 461
+ 51000 440
+ 52000 431
+ 53000 416
+ 54000 405
+ 55000 396
+ 56000 375
+ 57000 360
+ 58000 347
+ 59000 334
+ 60000 325
+ 61000 311
+ 62000 303
+ 63000 296
+ 64000 290
+ 65000 279
+ 66000 265
+ 67000 254
+ 68000 240
+ 69000 220
+ 70000 206>;
+ };
+
+ charger_manager: charger-manager-0 {
+ compatible = "charger-manager";
+
+ cm-name = "cm-battery";
+
+ chg-reg-supply = <&charger_reg>;
+
+ /* poll when externally connected */
+ cm-poll-mode = <2>;
+ cm-poll-interval = <30>;
+
+ /* read supply status for status */
+ cm-battery-stat = <0>;
+
+ cm-battery-temp-diff = <5>;
+ cm-battery-hot = <5000>;
+ cm-battery-cold = <400>;
+ cm-battery-cold-in-minus;
+
+ /* 6hr max charging time */
+ cm-charging-max = <21600000>;
+ /* 1.5hr max discharging time */
+ cm-discharging-max = <5400000>;
+
+ cm-fuel-gauge = "battery";
+
+ cm-fullbatt-voltage = <4176000>;
+ cm-fullbatt-vchkdrop-ms = <30000>;
+ cm-fullbatt-vchkdrop-volt = <176000>;
+ cm-fullbatt-soc = <92>;
+
+ cm-num-chargers = <1>;
+ cm-chargers = "max8998_pmic";
+
+ cm-thermal-zone = "batt-thermal";
+
+ regulator-0 {
+ cm-regulator-name = "chg-reg";
+ cable-0 {
+ cm-cable-name = "USB";
+ cm-cable-extcon = "7-0025";
+ cm-cable-min = <475000>;
+ cm-cable-max = <500000>;
+ };
+ cable-1 {
+ cm-cable-name = "SDP";
+ cm-cable-extcon = "7-0025";
+ cm-cable-min = <380000>;
+ cm-cable-max = <600000>;
+ };
+ };
+ };
+
sound {
compatible = "samsung,fascinate4g-wm8994";

diff --git a/arch/arm/boot/dts/s5pv210-galaxys.dts b/arch/arm/boot/dts/s5pv210-galaxys.dts
index eeec2bdece11..240cd0a5c9cb 100644
--- a/arch/arm/boot/dts/s5pv210-galaxys.dts
+++ b/arch/arm/boot/dts/s5pv210-galaxys.dts
@@ -74,6 +74,150 @@
};
};

+ thermal-zones {
+ batt_thermal: batt-thermal {
+ polling-delay-passive = <60000>; /* 60 seconds */
+ polling-delay = <600000>; /* 600 seconds */
+
+ thermal-sensors = <&batt_thermistor>;
+ };
+ };
+
+ batt_thermistor: thermal-sensor-0 {
+ compatible = "generic-adc-thermal";
+ #thermal-sensor-cells = <0>;
+ io-channels = <&adc 6>;
+ io-channel-names = "sensor-channel";
+
+ temperature-lookup-table = <
+ (-7000) 1667
+ (-6000) 1658
+ (-5000) 1632
+ (-4000) 1619
+ (-3000) 1614
+ (-2000) 1596
+ (-1000) 1577
+ 0 1559
+ 1000 1536
+ 2000 1513
+ 3000 1491
+ 4000 1468
+ 5000 1445
+ 6000 1421
+ 7000 1396
+ 8000 1372
+ 9000 1348
+ 10000 1324
+ 11000 1299
+ 12000 1275
+ 13000 1251
+ 14000 1226
+ 15000 1202
+ 16000 1178
+ 17000 1155
+ 18000 1131
+ 19000 1108
+ 20000 1084
+ 21000 1060
+ 22000 1037
+ 23000 1013
+ 24000 990
+ 25000 966
+ 26000 943
+ 27000 920
+ 28000 898
+ 29000 875
+ 30000 852
+ 31000 829
+ 32000 806
+ 33000 784
+ 34000 761
+ 35000 738
+ 36000 718
+ 37000 697
+ 38000 677
+ 39000 656
+ 40000 636
+ 41000 615
+ 42000 595
+ 43000 574
+ 44000 554
+ 45000 533
+ 46000 518
+ 47000 503
+ 48000 487
+ 49000 472
+ 50000 457
+ 51000 442
+ 52000 427
+ 53000 411
+ 54000 396
+ 55000 381
+ 56000 368
+ 57000 354
+ 58000 341
+ 59000 324
+ 60000 306
+ 61000 299
+ 62000 293
+ 63000 286
+ 64000 275
+ 65000 264>;
+ };
+
+ charger_manager: charger-manager-0 {
+ compatible = "charger-manager";
+
+ cm-name = "cm-battery";
+
+ chg-reg-supply = <&charger_reg>;
+
+ /* poll when externally connected */
+ cm-poll-mode = <2>;
+ cm-poll-interval = <30>;
+
+ /* read supply status for status */
+ cm-battery-stat = <0>;
+
+ cm-battery-temp-diff = <5>;
+ cm-battery-hot = <6300>;
+ cm-battery-cold = <400>;
+ cm-battery-cold-in-minus;
+
+ /* 6hr max charging time */
+ cm-charging-max = <21600000>;
+ /* 1.5hr max discharging time */
+ cm-discharging-max = <5400000>;
+
+ cm-fuel-gauge = "battery";
+
+ cm-fullbatt-voltage = <4176000>;
+ cm-fullbatt-vchkdrop-ms = <30000>;
+ cm-fullbatt-vchkdrop-volt = <176000>;
+ cm-fullbatt-soc = <92>;
+
+ cm-num-chargers = <1>;
+ cm-chargers = "max8998_pmic";
+
+ cm-thermal-zone = "batt-thermal";
+
+ regulator-0 {
+ cm-regulator-name = "chg-reg";
+ cable-0 {
+ cm-cable-name = "USB";
+ cm-cable-extcon = "7-0025";
+ cm-cable-min = <475000>;
+ cm-cable-max = <500000>;
+ };
+ cable-1 {
+ cm-cable-name = "SDP";
+ cm-cable-extcon = "7-0025";
+ cm-cable-min = <380000>;
+ cm-cable-max = <600000>;
+ };
+ };
+ };
+
micbias_reg: regulator-fixed-3 {
compatible = "regulator-fixed";
regulator-name = "MICBIAS";
--
2.20.1