Abhijeet Dharmapurikar
40491ce8d0
power: pm8921-charger: implement ir compensation
...
The charger hardware has a +/-30mv error for vdd_max settings. This
means that when vdd_max is set to 4200mV the actual voltage on vph_pwr
line could range from 4170mV to 4230mV. This further means that when
constant current to constant voltage transition happens, the battery
may not be charged up to 4200mV - leading to an premature end of charge.
Fix this by implementing periodic IR compensation. On a device measure the
resistance from the vbat terminal to the ground by shorting the +ve and
-ve of the battery terminals (without a battery), this will be referred to
as rconn in the description. In the code it is rconn_mohm to reflect the
units.
The voltage at battery terminal will be
Vbat(terminal) = Vbat(xoadc) + Ibat * rconn
where Ibat is the current flowing out of (or into if -ve) of the battery.
Vbat(xoadc) and Ibat can be obtained by using the override mode of the
bms. So Vbat(terminal) can be deduced and compensated by increasing
vdd_max. This also helps in increasing constant current mode thereby
decreasing constant voltage mode and decreasing the overall charging time.
The value of rconn will be specific to a PCB layout, it is
passed in from platform_data.
Change-Id: If8df93333ca6b0bad35505895a4fc5577562fadd
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org >
2012-03-14 10:41:08 -07:00
..
2012-03-03 20:29:51 -08:00
2012-01-02 09:57:46 +05:30
2012-03-14 10:41:08 -07:00
2012-03-08 12:13:44 +05:30
2012-02-16 09:30:15 +05:30
2012-03-05 10:35:08 +02:00
2011-12-07 19:00:30 -08:00
2012-02-03 11:12:25 -08:00
2012-01-02 09:57:46 +05:30
2012-02-22 17:44:04 -07:00
2012-03-13 11:39:37 +05:30
2011-10-03 09:57:10 -07:00
2011-07-21 18:04:46 -07:00
2011-10-03 09:57:10 -07:00
2011-12-19 10:36:34 -08:00
2011-10-03 10:25:50 -07:00
2011-11-26 23:45:35 -07:00
2011-10-03 09:57:10 -07:00
2011-10-03 09:57:10 -07:00
2012-01-15 00:30:00 -08:00
2011-10-03 09:57:10 -07:00
2011-12-05 14:12:58 +05:30
2012-01-05 10:15:53 -08:00
2011-10-03 09:57:10 -07:00
2011-08-15 18:31:35 -07:00
2011-10-03 09:57:10 -07:00
2011-11-02 14:49:16 -06:00
2011-10-03 09:57:10 -07:00
2011-10-03 09:57:10 -07:00
2012-03-08 12:28:23 -08:00
2011-11-22 18:44:06 -08:00
2011-10-20 19:02:06 -07:00
2011-12-26 15:48:00 +05:30
2011-08-04 21:58:34 -07:00
2012-02-19 20:26:15 -07:00
2011-12-15 15:57:08 +05:30
2012-01-12 11:01:50 -08:00
2012-01-12 11:01:50 -08:00
2011-10-16 14:14:55 -07:00
2011-10-03 09:57:10 -07:00
2012-01-27 09:44:39 -07:00
2011-11-16 13:52:50 -08:00
2011-10-03 09:57:10 -07:00
2011-09-21 13:47:49 -07:00
2012-01-24 13:32:27 +05:30
2011-11-29 17:09:02 +05:30
2011-10-03 09:57:10 -07:00
2011-08-15 18:31:38 -07:00
2011-11-07 14:33:45 -08:00
2011-12-10 16:34:15 +05:30
2011-12-05 17:56:46 -07:00
2012-03-09 09:49:47 -08:00
2011-10-03 09:57:10 -07:00
2011-12-10 16:34:13 +05:30
2011-12-10 16:34:13 +05:30
2012-01-16 14:25:55 -08:00
2012-02-24 11:15:02 -08:00
2011-08-19 11:41:00 -07:00
2011-10-03 09:57:10 -07:00
2011-10-06 09:27:56 -07:00
2012-02-10 13:38:14 +05:30
2011-10-03 09:57:10 -07:00
2011-12-22 00:16:00 -08:00
2012-03-05 19:42:40 +05:30
2011-10-03 09:57:10 -07:00
2011-10-03 16:15:37 -07:00
2011-10-03 09:57:10 -07:00
2011-12-06 15:00:36 -08:00
2011-10-03 09:57:10 -07:00
2012-02-14 14:50:38 -07:00
2011-12-26 15:48:00 +05:30
2011-11-16 19:06:11 +05:30
2011-10-03 09:57:10 -07:00
2011-10-03 10:28:53 -07:00
2012-01-20 17:10:55 -08:00
2011-11-18 22:54:46 +05:30
2011-12-08 15:11:11 +05:30
2012-02-21 16:04:40 +05:30
2011-11-18 22:54:46 +05:30
2011-11-28 22:16:36 -08:00
2011-11-18 22:54:46 +05:30
2011-10-03 09:57:10 -07:00
2011-10-03 09:57:10 -07:00
2012-02-21 18:57:06 +05:30
2011-10-03 09:57:10 -07:00
2011-10-03 16:16:55 -07:00
2011-10-03 10:27:39 -07:00
2012-03-02 13:47:28 -07:00
2012-03-03 02:37:18 -07:00
2011-10-03 09:57:10 -07:00
2011-10-03 09:57:10 -07:00
2011-10-03 09:57:10 -07:00
2012-01-06 18:13:00 -08:00
2011-10-03 09:57:10 -07:00
2011-10-03 09:57:10 -07:00
2012-01-12 14:08:13 -07:00
2012-02-15 15:44:10 -08:00
2011-12-13 10:44:54 -08:00
2012-03-06 15:07:45 +05:30
2011-10-03 10:25:43 -07:00
2011-08-04 21:58:31 -07:00
2011-08-04 21:58:40 -07:00
2011-08-04 21:58:37 -07:00
2011-12-29 11:02:14 +05:30
2012-02-21 15:10:14 -08:00
2012-01-18 11:01:40 -08:00
2012-02-06 13:06:25 -08:00
2012-02-08 08:55:17 -08:00
2011-10-03 09:57:10 -07:00
2011-12-06 12:30:24 -05:00
2011-08-29 13:29:16 -07:00
2011-10-03 09:57:10 -07:00
2011-10-03 16:14:33 -07:00
2011-10-03 09:57:10 -07:00
2011-10-03 16:14:26 -07:00
2011-12-02 18:08:23 -08:00
2012-01-13 12:04:50 -08:00
2011-10-16 14:14:53 -07:00
2011-10-03 09:57:10 -07:00
2011-10-03 16:14:07 -07:00
2011-10-03 09:57:10 -07:00
2011-10-03 16:17:26 -07:00
2011-10-03 09:57:10 -07:00
2011-10-03 09:57:10 -07:00
2011-10-03 09:57:10 -07:00
2012-02-24 11:15:02 -08:00
2011-08-15 18:31:35 -07:00
2011-10-04 09:50:33 -07:00
2011-12-05 12:38:11 +05:30
2011-10-03 11:39:46 -07:00
2011-10-03 09:57:10 -07:00
2011-10-20 14:35:49 -07:00
2011-10-03 09:57:10 -07:00
2011-10-03 11:40:08 -07:00
2011-10-27 15:01:19 -07:00
2011-10-03 09:57:10 -07:00
2012-02-14 14:50:38 -07:00
2011-08-29 13:29:08 -07:00
2011-10-03 09:57:10 -07:00
2011-10-27 09:23:11 -07:00
2011-10-03 09:57:10 -07:00
2011-10-03 16:17:16 -07:00
2011-12-13 10:14:33 +02:00
2011-10-03 11:39:49 -07:00
2011-10-03 11:39:49 -07:00
2012-01-13 19:02:53 -08:00
2012-03-07 16:32:16 +05:30
2011-10-03 09:57:10 -07:00
2011-10-03 09:57:10 -07:00
2011-10-03 09:57:10 -07:00
2011-10-03 09:57:10 -07:00
2012-02-02 12:21:17 -08:00
2011-10-03 09:57:10 -07:00
2011-12-05 12:38:11 +05:30
2012-02-06 11:22:43 -08:00
2011-10-03 10:26:58 -07:00
2011-10-03 09:57:10 -07:00
2011-10-03 11:40:43 -07:00