xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/power/supply/charger-manager.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyuncharger-manager bindings
2*4882a593Smuzhiyun~~~~~~~~~~~~~~~~~~~~~~~~
3*4882a593Smuzhiyun
4*4882a593SmuzhiyunRequired properties :
5*4882a593Smuzhiyun - compatible : "charger-manager"
6*4882a593Smuzhiyun - <>-supply : for regulator consumer, named according to cm-regulator-name
7*4882a593Smuzhiyun - cm-chargers : name of chargers
8*4882a593Smuzhiyun - cm-fuel-gauge : name of battery fuel gauge
9*4882a593Smuzhiyun - subnode <regulator> :
10*4882a593Smuzhiyun	- cm-regulator-name : name of charger regulator
11*4882a593Smuzhiyun	- subnode <cable> :
12*4882a593Smuzhiyun		- cm-cable-name : name of charger cable - one of USB, USB-HOST,
13*4882a593Smuzhiyun			SDP, DCP, CDP, ACA, FAST-CHARGER, SLOW-CHARGER, WPT,
14*4882a593Smuzhiyun			PD, DOCK, JIG, or MECHANICAL
15*4882a593Smuzhiyun		- cm-cable-extcon : name of extcon dev
16*4882a593Smuzhiyun(optional)	- cm-cable-min : minimum current of cable
17*4882a593Smuzhiyun(optional)	- cm-cable-max : maximum current of cable
18*4882a593Smuzhiyun
19*4882a593SmuzhiyunOptional properties :
20*4882a593Smuzhiyun - cm-name : charger manager's name (default : "battery")
21*4882a593Smuzhiyun - cm-poll-mode : polling mode - 0 for disabled, 1 for always, 2 for when
22*4882a593Smuzhiyun	external power is connected, or 3 for when charging.  If not present,
23*4882a593Smuzhiyun	then polling is disabled
24*4882a593Smuzhiyun - cm-poll-interval : polling interval (in ms)
25*4882a593Smuzhiyun - cm-battery-stat : battery status - 0 for battery always present, 1 for no
26*4882a593Smuzhiyun	battery, 2 to check presence via fuel gauge, or 3 to check presence
27*4882a593Smuzhiyun	via charger
28*4882a593Smuzhiyun - cm-fullbatt-vchkdrop-volt : voltage drop (in uV) before restarting charging
29*4882a593Smuzhiyun - cm-fullbatt-voltage : voltage (in uV) of full battery
30*4882a593Smuzhiyun - cm-fullbatt-soc : state of charge to consider as full battery
31*4882a593Smuzhiyun - cm-fullbatt-capacity : capcity (in uAh) to consider as full battery
32*4882a593Smuzhiyun - cm-thermal-zone : name of external thermometer's thermal zone
33*4882a593Smuzhiyun - cm-battery-* : threshold battery temperature for charging
34*4882a593Smuzhiyun	-cold : critical cold temperature of battery for charging
35*4882a593Smuzhiyun	-cold-in-minus : flag that cold temperature is in minus degrees
36*4882a593Smuzhiyun	-hot : critical hot temperature of battery for charging
37*4882a593Smuzhiyun	-temp-diff : temperature difference to allow recharging
38*4882a593Smuzhiyun - cm-dis/charging-max = limits of charging duration
39*4882a593Smuzhiyun
40*4882a593SmuzhiyunDeprecated properties:
41*4882a593Smuzhiyun - cm-num-chargers
42*4882a593Smuzhiyun - cm-fullbatt-vchkdrop-ms
43*4882a593Smuzhiyun
44*4882a593SmuzhiyunExample :
45*4882a593Smuzhiyun	charger-manager@0 {
46*4882a593Smuzhiyun		compatible = "charger-manager";
47*4882a593Smuzhiyun		chg-reg-supply = <&charger_regulator>;
48*4882a593Smuzhiyun
49*4882a593Smuzhiyun		cm-name = "battery";
50*4882a593Smuzhiyun		/* Always polling ON : 30s */
51*4882a593Smuzhiyun		cm-poll-mode = <1>;
52*4882a593Smuzhiyun		cm-poll-interval = <30000>;
53*4882a593Smuzhiyun
54*4882a593Smuzhiyun		cm-fullbatt-vchkdrop-volt = <150000>;
55*4882a593Smuzhiyun		cm-fullbatt-soc = <100>;
56*4882a593Smuzhiyun
57*4882a593Smuzhiyun		cm-battery-stat = <3>;
58*4882a593Smuzhiyun
59*4882a593Smuzhiyun		cm-chargers = "charger0", "charger1", "charger2";
60*4882a593Smuzhiyun
61*4882a593Smuzhiyun		cm-fuel-gauge = "fuelgauge0";
62*4882a593Smuzhiyun
63*4882a593Smuzhiyun		cm-thermal-zone = "thermal_zone.1"
64*4882a593Smuzhiyun		/* in deci centigrade */
65*4882a593Smuzhiyun		cm-battery-cold = <50>;
66*4882a593Smuzhiyun		cm-battery-cold-in-minus;
67*4882a593Smuzhiyun		cm-battery-hot = <800>;
68*4882a593Smuzhiyun		cm-battery-temp-diff = <100>;
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun		/* Allow charging for 5hr */
71*4882a593Smuzhiyun		cm-charging-max = <18000000>;
72*4882a593Smuzhiyun		/* Allow discharging for 2hr */
73*4882a593Smuzhiyun		cm-discharging-max = <7200000>;
74*4882a593Smuzhiyun
75*4882a593Smuzhiyun		regulator@0 {
76*4882a593Smuzhiyun			cm-regulator-name = "chg-reg";
77*4882a593Smuzhiyun			cable@0 {
78*4882a593Smuzhiyun				cm-cable-name = "USB";
79*4882a593Smuzhiyun				cm-cable-extcon = "extcon-dev.0";
80*4882a593Smuzhiyun				cm-cable-min = <475000>;
81*4882a593Smuzhiyun				cm-cable-max = <500000>;
82*4882a593Smuzhiyun			};
83*4882a593Smuzhiyun			cable@1 {
84*4882a593Smuzhiyun				cm-cable-name = "SDP";
85*4882a593Smuzhiyun				cm-cable-extcon = "extcon-dev.0";
86*4882a593Smuzhiyun				cm-cable-min = <650000>;
87*4882a593Smuzhiyun				cm-cable-max = <675000>;
88*4882a593Smuzhiyun			};
89*4882a593Smuzhiyun		};
90*4882a593Smuzhiyun
91*4882a593Smuzhiyun	};
92