power: pm8921-charger: limit charger current

Not all chargers can support 1500mA. If a high current is drawn from
such a charger, it drops its voltage rapidly. The vin_min regulation
loop does not kick in because of such rapid decline in the voltage.
This drop causes the pmic to see that the charger is removed and it
stops drawing any current from it. This in turn causes the charger to
raise its voltage but the pmic again draws a high current causing it
to collapse. This collapse and build up or removal and reinsertion
continues indefinitely.

Use the max_current module parameter to set the max
current drawn from charger to prevent it from collapsing voltage.

Also an issue was noticed when sometimes the system enters suspend
while the wall charger is plugged in and charging starts while the
device is suspended. Make the fastchg interrupt wake able so that the
driver can start end of charge worker.

Change-Id: I03f7f60d0bc8a87f7da59af947649a8190ab7994
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
1 file changed