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
..
2011-07-07 17:55:44 -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
2011-07-11 16:39:01 -07:00
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
2011-06-21 18:20:55 -07:00
2012-03-13 11:39:37 +05:30
2011-10-03 09:57:10 -07:00
2011-06-14 09:09:33 -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-06-10 08:46:26 -06:00
2011-10-03 09:57:10 -07:00
2011-06-20 13:23:14 +02:00
2011-06-13 10:42:49 +02:00
2011-10-03 09:57:10 -07:00
2011-07-12 22:58:35 -07:00
2012-01-15 00:30:00 -08:00
2011-06-16 19:30:53 +02:00
2011-06-27 18:00:13 -07: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-06-14 09:09:33 -07: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
2011-06-20 10:46:04 -04:00
2011-06-27 16:06:19 -07:00
2012-03-08 12:28:23 -08:00
2011-06-30 09:23:45 +02:00
2011-11-22 18:44:06 -08:00
2011-10-20 19:02:06 -07:00
2011-06-09 15:05:48 -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
2011-07-07 13:21:56 -07:00
2011-06-24 17:08:49 +09:00
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-06-16 08:40:52 -06:00
2011-09-21 13:47:49 -07:00
2011-06-27 16:06:19 -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-06-14 09:09:13 -07:00
2011-06-14 09:09:14 -07:00
2011-06-14 09:09:56 -07:00
2011-06-11 16:15:50 -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
2011-06-13 15:38:22 -04: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-06-14 09:08:49 -07:00
2011-06-14 09:09:44 -07:00
2011-06-17 09:40:48 -07:00
2011-06-15 20:03:59 -07:00
2011-06-12 17:45:41 -04: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-06-15 20:03:59 -07:00
2011-10-03 16:15:37 -07:00
2011-10-03 09:57:10 -07:00
2011-07-12 11:08:01 +10: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-06-14 09:08:47 -07:00
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-06-20 16:12:26 -04: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
2011-06-21 11:04:10 -06: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-06-18 22:18:18 -04:00
2011-07-11 15:30:09 -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-07-08 14:15:44 -07:00
2011-06-21 23:20:20 +02: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-07-08 14:15:44 -07:00
2011-10-27 15:01:19 -07:00
2011-07-18 11:06:03 -07:00
2011-06-11 13:17:28 -07:00
2011-06-14 09:09:15 -07:00
2011-06-27 18:00:12 -07:00
2011-06-11 16:15:50 -07:00
2011-06-17 10:17:12 +02:00
2011-10-03 09:57:10 -07:00
2011-06-14 09:08:47 -07:00
2012-02-14 14:50:38 -07:00
2011-08-29 13:29:08 -07:00
2011-06-27 18:00:12 -07:00
2011-06-14 09:08:45 -07:00
2011-06-14 09:08:50 -07:00
2011-10-03 09:57:10 -07:00
2011-06-12 17:45:41 -04:00
2011-10-27 09:23:11 -07:00
2011-10-03 09:57:10 -07:00
2011-06-15 20:03:59 -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
2011-06-14 09:08:47 -07:00
2012-03-07 16:32:16 +05:30
2011-06-15 20:04:00 -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
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-06-14 09:09:28 -07:00
2011-06-14 09:09:15 -07:00
2011-06-14 09:09:54 -07: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