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