| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
| |
Add VOLTAGE_NOW power supply property to expose the USB voltage.
Change-Id: I3041aafaf365c205e53451a5d4ee79dcfe6b78bf
Signed-off-by: Kavya Nunna <knunna@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the snapshot of the fg driver as of msm-3.18 kernel
'commit d03fafd27cf9 ("qpnp-fg: fix integer overflow")'
Fix compilation errors on msm-4.9 by replacing deprecated
do_div() calls and replace spmi_dev with pdev.
Also fix checkpatch errors.
CRs-Fixed: 2246295
Change-Id: I8f946c8919321b9f0df2bc570dd191904f690dd7
Signed-off-by: Vamshi Krishna B V <vbv@codeaurora.org>
Signed-off-by: Shilpa Suresh <sbsure@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
On some PMIC designs a sudden increase or decrease in FCC
can impact the PMIC die thermally, causing the XO to drift.
Introduce a logic which gradually ramps up/down the FCC
whenever there is a change in its value, this spreads out
the thermals over-time. The default step rate is 100mA/sec
and the feature can be enabled using the DT property
"qcom,fcc-stepping-enable".
Change-Id: I59ee932b60766208912054f7031cd34151fb5deb
Signed-off-by: Umang Agrawal <uagrawal@codeaurora.org>
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Add support to configure cutoff current that will be used for
cutoff SOC estimate.
CRs-Fixed: 2160773
Change-Id: I26730f35659a227717a33682683746f13f1175eb
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the battery is in cold temperature for a certain amount of
time and device is charged with Qnovo enabled charging, ESR pulse
will fire less frequently. This along with ESR pulses not getting
qualified can cause the ESR to be less accurate. To improve ESR
accuracy, add change to apply relaxed filter coefficients once
the battery temperature starts ramping up after hitting a lower
threshold of say 6 C after charging begins.
CRs-Fixed: 2151708
Change-Id: Iff6c2ffbab1f327dfefcf1550213c37df4a8ad42
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
As per the hardware recommendation, update ESR tight and broad
filter coefficients for low temperature (< 10 C) to 3 %.
CRs-Fixed: 2155610
Change-Id: I7e5a77bcd14ad64459f6bd13f0be0551dcbefdba
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
This reverts commit 941bfaf2dc352b2ba2cd7e50c55843e4585aaffb.
Bring back the charger and fuel gauge drivers supported on
8996.
Change-Id: Ibba07ece69e29a8c7bf26acdc9dda30ac755fb83
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
In certain conditions, after the battery SOC reaches 100%, SOC is
not getting updated during discharging. Based on the hardware
recommendation, adjust the Ki coefficient for full SOC so that
SOC can be updated faster during discharging.
While at it, remove prev_charge_status variable which is not
used really.
CRs-Fixed: 2089555
Change-Id: I54b7d86529c21c016ab777053895ccda9c7a2b35
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
| |
Currently, SOC linearization is done when SOC masking feature is
enabled to spread out the drop in SOC across a wider range and
for better user experience. Make this configurable through a DT
property "qcom,linearize-soc" so that the user can enable it as
and when required.
Change-Id: Ic9f5f04f4e872d7804152c17206a8b204de3a9c1
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
Usually, DC path is connected to a wireless charger. It is advisable
to disable qnovo when charging wirelessly.
Disable qnovo for dc path unless a property in device tree is set to
specifically enable qnovo for dc path.
Change-Id: I4ca475f30ca0a564f533b4ed8bcd55cfb5da291f
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
It supports for temperature (JEITA) based step charging.
The solution samples the battery temperature periodically and
applies the FCC from a static look-up table.
There is a provision for timed hysteresis which is achieved using
a 5 second delayed work.
Change-Id: Ica18f2c812232d6938799dab16fb9f18bc14b48f
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove the HW SOC-based step-charging logic and enable
SW based step-charging.
The SW based step-charging uses the periodic WD bark
IRQ to notify the battery properties. The bark-time
can be changes using the property 'qcom,wd-bark-time-secs'
'qcom,step-charging-enable' enables the feature.
Change-Id: Ib162f3eb3f98a4e7f144bedc8c8cea40fbf6137a
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
|
| |\
| |
| |
| | |
termination"
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
With ESR discharge timer retry, max having same value, ESR pulse
can fire frequently when battery FET is open past charge
termination. This frequent ESR pulses increase power consumption
when the device is idle.
Upon charge termination, change the ESR discharging timer retry
to 0 so that ESR pulse can fire less frequently saving power.
Add support for this through fg_esr_timer_config() based on end
of charge and sleep conditions.
Currently, retry/max for ESR charging and discharging timers are
configured with the same value specified through device tree.
Extend the device tree property to take in different retry/max
values for those timers.
Change-Id: Ib30b8ae7d893b5cab00ed83dd7318b53e3b63ac1
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
|
| |\ \
| |/
|/| |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
VCONN is supplied by USBIN on MTP8998 which causes removal issues when
PMI8998 is in source mode and VCONN is enabled. The workaround is
to ensure VCONN is disabled when OTG is disabled which has implications
on PD power role swap when PMI8998 is sourcing VCONN.
The reference schematic has been updated to address this issue therefore
the workaround should be removed.
Change-Id: Ibe2309f3618d840340bd083cca0df8a8644dd9c8
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the USB_ID line is pulled low for a very short time there is a
possibility that the SW misses rising edge(removal) event. This may
lead to the state where charger is stuck in the boost-mode forever.
Fix this my adding a SW based glitch logic which checks for the
USB_ID after a SW debounce time and then notifies its presence/removal to
the USB driver.
CRs-Fixed: 2044958
Change-Id: I31974f7d68b435bbef329278cedbd726ada02e3f
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
| |
This reverts commit 566b44214cc08786375ac8266ee387e431413078 (smb138x:
introduce support for smb1355).
This is not required since smb1355 support is moved to its own driver.
Change-Id: Ibad8595c09a865e273adb6f30d6a75f931220131
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
|
| |
|
|
|
|
|
|
| |
Add a device tree property to override the minimum and maximum
charger buck/boost switching frequency.
Change-Id: I6b827157c23a389edf2daa412e6825b6ce07a886
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Add support to configure base termination current which is the
upper boundary at which fuel gauge will signal an end of charge
to the charger during discharging.
Change-Id: Ied2f89fc8e132161d55a9bfbcca6738fef164b20
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
|
| |\ \
| |/
|/| |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Smb1355 is a derivative chip of smb1381, where features like
input current control and the tadc have been removed. Smb1355
can only be used in parallel mode and that too in mid-mid
configuration.
Note that even if smb1355 doesn't have an adc, its die temperature
could be measured by an external adc. So keep the support for
charger_temp and charger_temp_max properties.
Also smb1355's aux therm input will likely be connected to the
connector thermistor. Support connector_temp_health property.
Change-Id: I738d60ea3385c296187a9cc8afe8134feb8c615f
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
|
| |/
|
|
|
|
|
|
|
|
| |
ESR pulse qualification threshold and measurement current should
get set properly without which ESR pulses can fire frequently
causing frequent wakeups. Add support to configure them. Use the
default values as per the hardware recommendation.
Change-Id: I160b2171c46df483c7fa4da2ce23009d99c6dcff
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
|
| |
|
|
|
|
|
|
|
| |
More than one parallel configurations between PMI8998 and SMB138x are
supported. Update the parallel mode from DT.
Change-Id: I07c30e8d4d860acaf24dd5d0608dca6ba3e65559
Signed-off-by: Harry Yang <harryy@codeaurora.org>
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If ESR value goes to 0 because of some hardware issue, there is
no way to recover it back from that state. This causes incorrect
SOC reporting leading to a bad user experience. Hence add support
to clamp ESR value based on user defined DT property so that ESR
can be clamped to this value once it is found to go below it.
Since this change modifies ESR value in SRAM, having FG_SRAM_ESR
property would make encode and decode the value easier. Hence
remove fg_get_battery_esr() and get it from FG_SRAM_ESR property.
CRs-Fixed: 2011200
Change-Id: I96250b44f52d6208f3c64fb9e61f70ea41f54f4e
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
|
| |/
|
|
|
|
|
| |
qpnp-fg and qpnp-smbcharger are not supported anymore. Remove them.
Change-Id: Icc010cd77d9d1e839a6dfa681b65e19b8978fb56
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
USBIN-USBIN parallel configuration can have either an internal current
sensing via main charger's BATFET or an external current sense resistor.
The FCC split between main and parallel charger differs based on current
sensing mode, add support to differentiate internal/external sensing and
the FCC split is done as follows:
- Internal Sensing: Main charger configure to full FCC
Parallel charger configured to 50% FCC.
- External sensing: Main charger configure to 50% FCC
Parallel charger configured to 50% FCC.
Change-Id: Ia0c6234ce6f62af460edd3c4f56e34810899b3e3
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add support to configure battery thermal coefficients so that different
battery thermistors can be supported. These coefficients can be
configured via "qcom,battery-thermal-coefficients" device tree property.
CRs-Fixed: 2004461
Change-Id: Iff25acd397a68c31057dff4db1896d46e396adc6
Signed-off-by: Yingwei Zhao <cyizhao@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Slope limit coefficient is used to define the maximum change in
battery SOC. There is a requirement to configure slope limit
coefficient based on charging status and battery temperature
threshold. Add support for it through the following properties.
- qcom,slope-limit-temp-threshold
- qcom,slope-limit-coeffs
Possibe values allowed for slope limit coefficient is 0 to 31.
Change-Id: I41eacb13734f1692a16c1b011c58a488e46515ec
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Input suspend on fake battery feature is by default enabled in the
software, add a DT property to enable/disable the feature.
Change-Id: I06bda6c72010699f4be24ff6044fe3bb248b06fb
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
Signed-off-by: Harry Yang <harryy@codeaurora.org>
|
| |\ \
| |/
|/| |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add a device tree property qcom,connector-temp-max-mdegc to configure
the connector temperature at which mitigation should start.
This will set the thresholds for when the temperature-change IRQ will
fire.
Change-Id: I47df477b56a6654fbf94b5bb0f7dfdfb80e2f16e
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
The charger temperature threshold should be configured for thermal
balancing. Add a device tree property to configure the temperature
threshold. A default value will be used in the absence of this property.
Change-Id: I5d64a8012a9c13c578714d91f1e7e4426cef235a
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When SOC masking algorithm is enabled, a SOC of 100 will be shown
to the user when certain conditions are met. When the device
starts discharging after charge termination, auto recharge will
be triggered once the SOC or Vbatt goes below the threshold. When
the recharge is based on Vbatt, a fluctutation in Vbatt can cause
issues in SOC masking algorithm. To make it robust, adjust the
recharge voltage dynamically based on charging status and battery
SOC.
Add a device tree property to allow configuring auto recharge to
be based off SOC or battery voltage. This will help the user to
select auto recharge configuration easily.
Change-Id: I2d749806aa51b9fa747967b592b6622cc12bee65
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After charge termination, charging status might not get updated
until the recharge begins. This makes charge_full_update to be
not called at all thereby causing SOC masking algorithm to not
clear the charge_full flag. Use delta battery SOC interrupt to
help with this. Keep it disabled by default and enable it after
the charge termination. Disable it again when the user removes
the charger.
Since this needs delta battery SOC threshold to be configured,
add support for it.
Change-Id: Ic1a9f8a065c87efe88e315f2b2e1e1378151531b
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
|
| |
|
|
|
|
|
| |
External sense configuration is not supported. Hence remove it.
Change-Id: If65eb8c4d9720d4c4e9d913c91c8b33f420f29d1
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
|
|
|
The power directory structure has changed in kernel version 4.9. Align
msm-4.4 with this new directory structure.
Change-Id: Iba729f8ef33245ea78cdc05276ba8f5593191509
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
|