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