aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-01-21 14:36:20 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2014-01-21 14:36:20 -0500
commit03d11a0e458d7008192585124e4c3313c2829046 (patch)
tree8e9f5141e53d2d4bf435fbd56f8ae96790304b7f
parentac26663572db5b64522b92f3941a58678a832a36 (diff)
parent573189354b7c97cd2256b87cf083ee435584594e (diff)
Merge tag 'for-v3.14' of git://git.infradead.org/battery-2.6
Pull battery updates from Dmitry Eremin-Solenikov: "I'm picking up power supply maintainership from Anton Vorontov. Could you please pull battery-2.6 git tree changes prepared for the v3.14 release. Highlights: - Power supply notifier - Several drivers gained DT support - Added Maxim 14577 driver - Change of maintainer" * tag 'for-v3.14' of git://git.infradead.org/battery-2.6: MAINTAINERS: Pick up power supply maintainership max17042_battery: Add IRQF_ONESHOT flag to use default irq handler gpio-charger: Support wakeup events power_supply: Add charger support for Maxim 14577 dt: Binding documentation for isp1704 charger isp1704_charger: Add DT support charger-manager: of_cm_parse_desc() should be static bq2415x_charger: Add DT support power_supply: Add power_supply_get_by_phandle bq2415x_charger: Use power_supply notifier for automode power: reset: Add as3722 power-off driver mfd: AS3722: Add dt node properties for system power controller charger-manager: Support deivce tree in charger manager driver charger-manager: Modify the way of checking battery's temperature power_supply: Add power_supply notifier
-rw-r--r--Documentation/devicetree/bindings/mfd/as3722.txt11
-rw-r--r--Documentation/devicetree/bindings/power/isp1704.txt17
-rw-r--r--Documentation/devicetree/bindings/power_supply/charger-manager.txt81
-rw-r--r--MAINTAINERS2
-rw-r--r--drivers/power/Kconfig7
-rw-r--r--drivers/power/Makefile1
-rw-r--r--drivers/power/bq2415x_charger.c121
-rw-r--r--drivers/power/charger-manager.c299
-rw-r--r--drivers/power/gpio-charger.c19
-rw-r--r--drivers/power/isp1704_charger.c54
-rw-r--r--drivers/power/max14577_charger.c311
-rw-r--r--drivers/power/max17042_battery.c6
-rw-r--r--drivers/power/power_supply_core.c44
-rw-r--r--drivers/power/reset/Kconfig6
-rw-r--r--drivers/power/reset/Makefile1
-rw-r--r--drivers/power/reset/as3722-poweroff.c96
-rw-r--r--include/linux/power/bq2415x_charger.h48
-rw-r--r--include/linux/power/charger-manager.h34
-rw-r--r--include/linux/power/isp1704_charger.h1
-rw-r--r--include/linux/power_supply.h16
20 files changed, 1043 insertions, 132 deletions
diff --git a/Documentation/devicetree/bindings/mfd/as3722.txt b/Documentation/devicetree/bindings/mfd/as3722.txt
index fc2191ecfd6b..8edcb9bd873b 100644
--- a/Documentation/devicetree/bindings/mfd/as3722.txt
+++ b/Documentation/devicetree/bindings/mfd/as3722.txt
@@ -112,6 +112,15 @@ Following are properties of regulator subnode.
112 ams,enable-tracking: Enable tracking with SD1, only supported 112 ams,enable-tracking: Enable tracking with SD1, only supported
113 by LDO3. 113 by LDO3.
114 114
115Power-off:
116=========
117AS3722 supports the system power off by turning off all its rail. This
118is provided through pm_power_off.
119The device node should have the following properties to enable this
120functionality
121ams,system-power-controller: Boolean, to enable the power off functionality
122 through this device.
123
115Example: 124Example:
116-------- 125--------
117#include <dt-bindings/mfd/as3722.h> 126#include <dt-bindings/mfd/as3722.h>
@@ -120,6 +129,8 @@ ams3722 {
120 compatible = "ams,as3722"; 129 compatible = "ams,as3722";
121 reg = <0x48>; 130 reg = <0x48>;
122 131
132 ams,system-power-controller;
133
123 interrupt-parent = <&intc>; 134 interrupt-parent = <&intc>;
124 interrupt-controller; 135 interrupt-controller;
125 #interrupt-cells = <2>; 136 #interrupt-cells = <2>;
diff --git a/Documentation/devicetree/bindings/power/isp1704.txt b/Documentation/devicetree/bindings/power/isp1704.txt
new file mode 100644
index 000000000000..fa3596907967
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/isp1704.txt
@@ -0,0 +1,17 @@
1Binding for NXP ISP1704 USB Charger Detection
2
3Required properties:
4- compatible: Should contain one of the following:
5 * "nxp,isp1704"
6- nxp,enable-gpio: Should contain a phandle + gpio-specifier
7 to the GPIO pin connected to the chip's enable pin.
8- usb-phy: Should contain a phandle to the USB PHY
9 the ISP1704 is connected to.
10
11Example:
12
13isp1704 {
14 compatible = "nxp,isp1704";
15 nxp,enable-gpio = <&gpio3 3 GPIO_ACTIVE_LOW>;
16 usb-phy = <&usb2_phy>;
17};
diff --git a/Documentation/devicetree/bindings/power_supply/charger-manager.txt b/Documentation/devicetree/bindings/power_supply/charger-manager.txt
new file mode 100644
index 000000000000..2b33750e3db2
--- /dev/null
+++ b/Documentation/devicetree/bindings/power_supply/charger-manager.txt
@@ -0,0 +1,81 @@
1charger-manager bindings
2~~~~~~~~~~~~~~~~~~~~~~~~
3
4Required properties :
5 - compatible : "charger-manager"
6 - <>-supply : for regulator consumer
7 - cm-num-chargers : number of chargers
8 - cm-chargers : name of chargers
9 - cm-fuel-gauge : name of battery fuel gauge
10 - subnode <regulator> :
11 - cm-regulator-name : name of charger regulator
12 - subnode <cable> :
13 - cm-cable-name : name of charger cable
14 - cm-cable-extcon : name of extcon dev
15(optional) - cm-cable-min : minimum current of cable
16(optional) - cm-cable-max : maximum current of cable
17
18Optional properties :
19 - cm-name : charger manager's name (default : "battery")
20 - cm-poll-mode : polling mode (enum polling_modes)
21 - cm-poll-interval : polling interval
22 - cm-battery-stat : battery status (enum data_source)
23 - cm-fullbatt-* : data for full battery checking
24 - cm-thermal-zone : name of external thermometer's thermal zone
25 - cm-battery-* : threshold battery temperature for charging
26 -cold : critical cold temperature of battery for charging
27 -cold-in-minus : flag that cold temerature is in minus degree
28 -hot : critical hot temperature of battery for charging
29 -temp-diff : temperature difference to allow recharging
30 - cm-dis/charging-max = limits of charging duration
31
32Example :
33 charger-manager@0 {
34 compatible = "charger-manager";
35 chg-reg-supply = <&charger_regulator>;
36
37 cm-name = "battery";
38 /* Always polling ON : 30s */
39 cm-poll-mode = <1>;
40 cm-poll-interval = <30000>;
41
42 cm-fullbatt-vchkdrop-ms = <30000>;
43 cm-fullbatt-vchkdrop-volt = <150000>;
44 cm-fullbatt-soc = <100>;
45
46 cm-battery-stat = <3>;
47
48 cm-num-chargers = <3>;
49 cm-chargers = "charger0", "charger1", "charger2";
50
51 cm-fuel-gauge = "fuelgauge0";
52
53 cm-thermal-zone = "thermal_zone.1"
54 /* in deci centigrade */
55 cm-battery-cold = <50>;
56 cm-battery-cold-in-minus;
57 cm-battery-hot = <800>;
58 cm-battery-temp-diff = <100>;
59
60 /* Allow charging for 5hr */
61 cm-charging-max = <18000000>;
62 /* Allow discharging for 2hr */
63 cm-discharging-max = <7200000>;
64
65 regulator@0 {
66 cm-regulator-name = "chg-reg";
67 cable@0 {
68 cm-cable-name = "USB";
69 cm-cable-extcon = "extcon-dev.0";
70 cm-cable-min = <475000>;
71 cm-cable-max = <500000>;
72 };
73 cable@1 {
74 cm-cable-name = "TA";
75 cm-cable-extcon = "extcon-dev.0";
76 cm-cable-min = <650000>;
77 cm-cable-max = <675000>;
78 };
79 };
80
81 };
diff --git a/MAINTAINERS b/MAINTAINERS
index 5c214024f60a..1088b70fbad7 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -6712,7 +6712,7 @@ F: include/linux/timer*
6712F: kernel/*timer* 6712F: kernel/*timer*
6713 6713
6714POWER SUPPLY CLASS/SUBSYSTEM and DRIVERS 6714POWER SUPPLY CLASS/SUBSYSTEM and DRIVERS
6715M: Anton Vorontsov <anton@enomsg.org> 6715M: Dmitry Eremin-Solenikov <dbaryshkov@gmail</