| Commit message (Collapse) | Author | Age |
| ... | |
| |\ \ \ \
| |/ / /
|/| | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Read the charger die temperature and its threshold from RR_ADC,
and expose to the userspace through battery PSY.
Read USBIN current and voltage from RR_ADC, and expose to the
userspace through USB PSY.
CRs-Fixed: 1050042
Change-Id: I452a050298a6ab081f64aa2dcf295d2d257bcb32
Signed-off-by: Harry Yang <harryy@codeaurora.org>
|
| |/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
STEP_CHARGING_ENABLED indicates if step charging is enabled or not.
STEP_CHARGING_STEP reflects step charging phase.
Both properties are added for the purpose of testing and debugging.
CRs-Fixed: 1052854
Change-Id: I7d7517ab3f172016bb2f1c23fb2788bbd2d01086
Signed-off-by: Harry Yang <harryy@codeaurora.org>
|
| |\ \ \ |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Fix fcc max and step values per HW specification.
CRs-Fixed: 1060633
Change-Id: Ie4ff10977840d8210482ad6f7bba4f0f0160aa03
Signed-off-by: Harry Yang <harryy@codeaurora.org>
|
| |\| | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Currently the PMI stat pin is configured to output IRQ and SW
override status. Parallel charging requires the stat pin for
parallel enable status and under the control of HW, and hence
the change.
CRs-Fixed: 1060633
Change-Id: Ie93f874b90b5aed0a66e97186e4f1d69a1275c8b
Signed-off-by: Harry Yang <harryy@codeaurora.org>
|
| |/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This algorithm allows for programmable charge current values
based on programmable thresholds on state-of-charge (SoC).
Adjusting battery charge current based on the battery SoC
may lead to extended battery capacity over number of charge
cycles.
Charging profile to be used relies on battery characterization
data from battery cell manufacurers.
CRs-Fixed: 1052854
Change-Id: I8844a3e8428b045514863d72c08f6c6b2b2ac2a4
Signed-off-by: Harry Yang <harryy@codeaurora.org>
|
| |\ \ \ |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Implement VOLTAGE_MAX_DESIGN to expose the battery float voltage. This
property will reflect the values read from battery profile and will
will be used for setting the max voltage on charging chips.
Change-Id: I4b9028f8930ac2f3de6c043fa145494f37322160
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
|
| |\| | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Currently the name of the votable that suspends usb is INPUT_SUSPEND.
However, the PMI has two inputs - USB and DC. The dc suspending votable
is correctly named DC_SUSPEND. So rename the INPUT_SUSPEND to an
appropriate name - USB_SUSPEND.
Change-Id: Ia5ea1b139f5e9d560dc6492aa9fc13ffeeda83ca
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
|
| |\ \ \ \ |
|
| | |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The location of some fuel gauge SRAM registers have changed in
PMICOBALT v2. Add a new SRAM register map for v2 to handle these changes.
Change-Id: I1fcfce8e56b1d4e8b8f54457193cd547fb5e3de7
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
|
| |\ \ \ \ |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Buck damage was seen to go away once the dead time were increased
in addition to increasing the OOB comparator threshold.
CRs-Fixed: 1055113
Change-Id: I8979d203fc7c35ec23e23874c8dd8f980a1cc619
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
|
| | |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Commit 85635da429d67f9fdf1e ("qcom-charger: smb138x: fix buck damage on
v1.1 hardware") introduced wa_flags as the first member
in the struct. However there are implict assumptions in the driver that
the first member is the library structure. This causes memory corruption
and an eventual watch dog bite reset.
Fix it by ensuring that the library struct is explicitly initialized
from the parent struct.
CRs-Fixed: 1055113
Change-Id: I38474a228ec7b245dc330b4a37847c9f1bf29c2a
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
|
| |\ \ \ \ |
|
| | |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
On debug setups where the battery is not present, we need a way
to fake battery capacity instead of reporting some incorrect
/non-existent value. Provide means for the userspace to setup
a fake battery capacity.
Change-Id: Iff3ee1009d9c3215433cc267f016ef9cf2a9bff2
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
|
| |\ \ \ \
| |/ / /
|/| | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add callback function members in data structure smb_chg_param to
handle data conversions other than the default provided in the
existing framework.
CRs-Fixed: 1052854
Change-Id: I0f4f0e1e67f3097b567db006a7826a2d1fd7c2d6
Signed-off-by: Harry Yang <harryy@codeaurora.org>
|
| |\ \ \ \ |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
ESR pulses consume too much power during sleep states.
Add device tree properties to allow configuration of the ESR timing during
charging, discharging while awake, and discharging while asleep.
Configure these new device tree properties to increase the ESR timer
while in a sleep state to save power.
Change-Id: I673ab1a5713023ac4ab0271fec8d9a053df1c046
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
|
| | |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In the suspend path a wakelock should not be held. Add a flag to bypass
holding a wakelock during an SRAM read or write so that they can be used
in the suspend path.
Change-Id: I74ccae4e9b5aeccf261cc94e9bb89138d7d48345
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
|
| |\ \ \ \ |
|
| | |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Buck damage was observed because the OOB comparator activated
when HSFET was on, causing a direct short from VBUS to ground. Fix this
on V1.1 by increasing the OOB comparator threshold. On 2.0 this is fixed
by ensuring the OOB comparator activates only after HSFET minimum on
time. This in turn guarantees that HSFET and LSFET won't be on at the
same time.
Since the driver needs to detect the version of the smb, make use of the
qpnp-revid module.
CRs-Fixed: 1055113
Change-Id: I0a7946db2f1bdacf1974fb508da46f2ed4dadadc
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
|
| |/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Device reboot to edl, it's for switching device to emergency dload mode.
So it's need to keep device to do warm reset.
Change-Id: I8f5d0845c6f2d37ea740949ce56e02c4cc7412be
Signed-off-by: Lijuan Gao <lijuang@codeaurora.org>
|
| |\ \ \ |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Import batt capacity status from bms, and notify userspace.
CRs-Fixed: 1048135
Change-Id: I76357e44452a8c16fe96df47af06ddab021c8f3f
Signed-off-by: Harry Yang <harryy@codeaurora.org>
|
| |\ \ \ \ |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Add ICL vote to disable parallel charging on charger removal, as ICL
drops below the input threshold for parallel charging.
CRs-Fixed: 1049921
Change-Id: I8112070f7dd1eb385996b4f228ad288b51771e25
Signed-off-by: Harry Yang <harryy@codeaurora.org>
|
| |\ \ \ \ \ |
|
| | | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
A wakelock is held when reading an SRAM prop. A wakelock is already held
when the SRAM read happens, so it is not necessary to hold a wakelock
again. Remove it.
Change-Id: I7bf5cafd34bd9187a13043f0995a49d2f26b8b6b
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
|
| |\ \ \ \ \
| |/ / / /
|/| | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
There are several ways that the parallel charger can be enabled, and
disabled. Currently charging is enabled by default, but the hardware has
the option to disable the parallel charger via the CHG_EN pin on the
parallel charger. The parallel charger driver controls when the
parallel charger is enabled via the input suspend bit.
To better understand the state of the parallel charger add two power
supply properties to the parallel power supply:
CHARGING_ENABLED - Reflects whether the parallel charger is
enabled by any source.
PIN_ENABLED - Reflects whether hardware has voted to enable
the parallel charger.
Change-Id: I725245178ab02c5ec39b89998f5c2ca3d494c8ee
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Hardware disables the parallel charger via the CHG_EN pin. Add a new
property called PIN_ENABLED which reflects the status of the CHG_EN pin.
Change-Id: I79f95b145176b66d6b8cec5a21922ea16c2c8206
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
|
| |\ \ \ \ \ |
|
| | |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Currently some hardware default charge settings are modified with
software default charge settings. Remove the software default settings,
and use only the device tree properties for changing the hardware
defaults.
Change-Id: I02a0cbbf547aacc5e813d027a2f3623cc01e1dd6
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
|
| |\ \ \ \ \ |
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
CHARGER_TEMP reflects the temperature of the charging chip, and
CHARGER_TEMP_MAX reflects the temperature threshold at which the
hardware will take action to reduce the temperature of the charger.
Change-Id: I9cba8e370c753ac5aa33252fce0ea446f061b4c0
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
|
| |\ \ \ \ \ \ |
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Currently the charge cycle continues while the battery is OV. Configure
the charger to end the charge cycle while battery is OV.
Change-Id: I6fc333e15c5f0410c6b560b2a7005a1752f5f936
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
|
| |\ \ \ \ \ \ \
| |_|_|_|/ / /
|/| | | | | | |
|
| | | |/ / / /
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Add support for WiPower by instantiating DC power supply and the required
properties.
CRs-Fixed: 1044422
Change-Id: I81d2e3b67bf55460f40406328c5ad8c40851033a
Signed-off-by: Harry Yang <harryy@codeaurora.org>
|
| |\ \ \ \ \ \ |
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Add support to configure the reduced fcc as per thermal mitigation
levels.
At the max level disable charging and at the lowest level (zero)
remove all the mitigation. The intermediate levels would
end up configuring a reduced fcc.
Note that between the profile and Qnovo, the driver needs to
choose the maximum fcc. However, if thermal mitigation is active i.e.
it is at any level above zero, this needs to reduced to the fcc at
that thermal level. Use cascaded votables for this, where profile and
qnovo usecase vote for FCC_MAX and the result of FCC_MAX and thermal
levels vote for fcc.
Change-Id: I4f72857557222cbd719da7bd177511951ef7f1ff
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
|
| |\ \ \ \ \ \ \ |
|
| | | |_|/ / / /
| |/| | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
When a Type-C legacy cable is connected to the phone but left unconnected
on the other side an interrupt storm can be observed which is caused by
the vbus-error interrupt trigger. Disable this interrupt trigger.
Change-Id: I5342c58acc83ecff4bf5f8e425de94daa1dabb50
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
|
| |\ \ \ \ \ \ \
| | |/ / / / /
| |/| / / / /
| |_|/ / / /
|/| | | | | |
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Currently the code doesn't have a votable to enable/disable charging. It
configures enable charging at the probe time.
Introduce disable charging votable in preparation of thermal use cases
where the charger is required to disable charging but keep the switcher
on, when thermal level is at its max.
Change-Id: I145c5ed44f9ce788bd3abc6ef6aee80466e248c6
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
|