blob: 3cd7c3d448cd880211231d736ecf123aaea5f139 [file] [log] [blame]
Summit smb1351 battery charger
SMB1351 is a single-cell battery charger. It can charge
the battery and power the system via the USB/AC adapter input.
The smb1351 interface is via I2C bus.
Required Properties:
- compatible Must be "qcom,smb1351-charger".
- reg The device 7-bit I2C address.
Required Properties for standalone charger:
- regulator-name A string used as a descriptive name for OTG regulator.
- pinctrl-names The state name of the pin configuration. Only
support "default".
- pinctrl-0 The phandle of the pin configuration node in
pinctrl for smb_int_pin.
Optional Properties:
- interrupts This indicates the IRQ number of the GPIO
connected to the STAT pin.
- qcom,fastchg-current-max-ma Fast Charging current in mA. Supported range is
from 1000mA to 4500mA.
- qcom,chg-autonomous-mode This is a bool property and it indicates that the
charger is configured for autonomous operation and
does not require any software configuration.
- qcom,disable-apsd This is a bool property which disables automatic
power source detection (APSD). If this is set
charger detection is done by DCIN UV irq.
- qcom,charging-disabled This is a bool property which disables charging.
- qcom,using-pmic-therm This property indicates thermal pin connected to pmic or smb.
- qcom,bms-psy-name This is a string and it points to the bms
power supply name.
- qcom,iterm-ma Specifies the termination current to indicate end-of-charge.
Possible values in mA - 70, 100, 200, 300, 400, 500, 600, 700.
- qcom,iterm-disabled Disables the termination current feature. This is a bool
property.
- qcom,float-voltage-mv Float Voltage in mV - the maximum voltage up to which
the battery is charged. Supported range 3500mV to 4500mV
- qcom,recharge-mv Recharge threshold in mV - the offset from the float-volatge
as which the charger restarts charging. Possible
values are 50mV and 100mV.
- qcom,recharge-disabled Boolean value which disables the auto-recharge.
- qcom,bms-controlled-charging This property enables BMS to control EOC and
recharge. BMS and charger communicates with each
other via power_supply framework. This
property should be used with 'qcom,iterm-disabled'
to ensure EOC detection in charger is disabled.
- qcom,parallel-charger Boolean value which enables the parallel charger.
- qcom,chg-vadc Corresponding VADC device's phandle.
- qcom,chg-adc_tm phandle to the corresponding VADC device to read the ADC channels.
- qcom,batt-cold-decidegc Cold battery temperature in decidegC.
- qcom,batt-hot-decidegc Hot battery temperature in decidegC.
- qcom,batt-missing-decidegc This is a property indicating battery missing temperature, if
higher than it, battery should exist.
- qcom,batt-warm-decidegc: Warm battery temperature in decidegC. After hitting this threshold,
"qcom,warm-bat-ma" defines maximum charging current and
"qcom,warm-bat-mv" defines maximum target voltage.
- qcom,batt-cool-decidegc: Cool battery temperature in decidegC. After hitting this threshold,
"qcom,cool-bat-ma" defines maximum charging current and
"qcom,cool-bat-mv" defines maximum target voltage.
- qcom,batt-warm-ma: Maximum warm battery charge current in milli-amps.
- qcom,batt-cool-ma: Maximum cool battery charge current in milli-amps.
- qcom,batt-warm-mv: Maximum warm battery target voltage in milli-volts.
- qcom,batt-cool-mv: Maximum cool battery target voltage in milli-volts.
Example for standalone charger:
&i2c_4 {
smb1351_otg_supply: smb1351-charger@57 {
compatible = "qcom,smb1351-charger";
reg = <0x57>;
interrupt-parent = <&msm_gpio>;
interrupts = <62 2>;
pinctrl-names = "default";
pinctrl-0 = <&smb_int_default>;
qcom,float-voltage-mv = <4350>;
qcom,iterm-ma = <100>;
qcom,recharge-mv = <100>;
qcom,bms-psy-name = "bms";
regulator-name = "smb1351_otg_vreg";
qcom,using-pmic-therm;
qcom,chg-adc_tm = <&pm8916_adc_tm>;
qcom,chg-vadc = <&pm8916_vadc>;
qcom,batt-hot-decidegc = <550>;
qcom,batt-cold-decidegc = <0>;
qcom,batt-missing-decidegc = <(-200)>;
qcom,batt-warm-decidegc = <500>;
qcom,batt-cool-decidegc = <50>;
qcom,batt-warm-ma = <350>;
qcom,batt-cool-ma = <350>;
qcom,batt-warm-mv = <4200>;
qcom,batt-cool-mv = <4200>;
};
};
Example for parallel charger:
&i2c_11 {
smb1351-charger@1d {
compatible = "qcom,smb1351-charger";
reg = <0x1d>;
qcom,parallel-charger;
qcom,float-voltage-mv = <4400>;
qcom,recharge-mv = <100>;
};
};