Skip to contentSkip to conversation

ds2760_battery: Fix rated capacity of the hx4700 1800mAh battery

PATCH Applied Paul Parsons 3 participants 5 messages Apr 25, 2011 – May 20, 2011

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ds2760_battery: Fix rated capacity of the hx4700 1800mAh battery

Fix rated capacity of the HP iPAQ hx4700 3.7V 1800mAh (359113-001) battery. For this battery the value of the rated capacity EEPROM register at 0x32 is 7; thus rated_capacities[7] = 1800.

---

drivers/power/ds2760_battery.c +4 -0
@@ -86,7 +86,11 @@ static int rated_capacities[] = {
 	920,	/* NEC */
 	1440,	/* Samsung */
 	1440,	/* BYD */
+#ifdef CONFIG_MACH_H4700
+	1800,	/* HP iPAQ hx4700 3.7V 1800mAh (359113-001) */
+#else
 	1440,	/* Lishen */
+#endif
 	1440,	/* NEC */
 	2880,	/* Samsung */
 	2880,	/* BYD */
#1 lore raw
Quoted 3 lines · Paul Parsons

Fix rated capacity of the HP iPAQ hx4700 3.7V 1800mAh (359113-001) battery. For this battery the value of the rated capacity EEPROM register at 0x32 is 7; thus rated_capacities[7] = 1800.

Applied, thanks!

drivers/power/ds2760_battery.c static int rated_capacities[] = { · line 89

Quoted 8 lines

---

drivers/power/ds2760_battery.c +1 -0
@@ -86,7 +86,11 @@ static int rated_capacities[] = {
 	920,	/* NEC */
 	1440,	/* Samsung */
 	1440,	/* BYD */
+#ifdef CONFIG_MACH_H4700

Note that this is OK as a temporary fix, but in general such fixups should be done via platform data. So, it would be great if you could prepare another patch on top of this one, which would do things in a proper way.

Quoted 7 lines
drivers/power/ds2760_battery.c +3 -0
+	1800,	/* HP iPAQ hx4700 3.7V 1800mAh (359113-001) */
+#else
 	1440,	/* Lishen */
+#endif
 	1440,	/* NEC */
 	2880,	/* Samsung */
 	2880,	/* BYD */
Signature · 2 lines
Anton Vorontsov
Email: [email protected]
#2 lore raw
Quoted 1 line · Anton Vorontsov

On Mon, Apr 25, 2011 at 01:45:40PM +0000, Paul Parsons wrote:

[snip]

Quoted 9 lines
Quoted 9 lines
drivers/power/ds2760_battery.c +3 -0
@@ -86,7 +86,11 @@ static int rated_capacities[] = {
 	920,	/* NEC */
 	1440,	/* Samsung */
 	1440,	/* BYD */
+#ifdef CONFIG_MACH_H4700
+	1800,	/* HP iPAQ hx4700 3.7V 1800mAh (359113-001) */
+#else
Quoted 8 lines

drivers/power/ds2760_battery.c static int rated_capacities[] = { · line 94

Quoted 3 lines
drivers/power/ds2760_battery.c +1 -0
 	1440,	/* Lishen */
+#endif
 	1440,	/* NEC */

Note that this is OK as a temporary fix, but in general such fixups should be done via platform data. So, it would be great if you could prepare another patch on top of this one, which would do things in a proper way.

BTW, hx4700 also have extended batteries. I personally have one that rated 3600mAh with my hx4700. Sadly I dropped it on the floor some time ago and battery lock got broken, so I currently can't use it. But I hope to fix it some day.

It looks like this one, but made by PALMEXX (Part No.359113-001):
http://www.amazon.com/Li-Ion-359113-001-Battery-hx4700-hx4705/dp/B000VN7QMQ

Signature · 2 lines
Best regards,
Dmitry "MAD" Artamonow
#3 lore raw
Quoted 7 lines

BTW, hx4700 also have extended batteries. I personally have one that rated
3600mAh with my hx4700. Sadly I dropped it on the floor some time ago and
battery lock got broken, so I currently can't use it. But I hope to fix it
some day.

I knew about the 3600mAh battery but unfortunately I don't possess one, so was not able to add it to the patch. I only have the default 1800mAh battery which shipped with the hx4700.

If anybody here does have an hx4700 with the 3600mAh battery and is able to run Linux on it, it would be a big help if they could apply the following patch to discover the rated capacity register value via dmesg:

drivers/power/ds2760_battery.c +3 -0
@@ -136,6 +136,9 @@ static int ds2760_battery_read_status(st
 		return 1;
 	}
 
+	if (di->update_time == 0)
+		printk("%s: rated capacity = %d\n", __func__, di->raw[DS2760_RATED_CAPACITY]);
+
 	di->update_time = jiffies;
 
 	/* DS2760 reports voltage in units of 4.88mV, but the battery class

Or perhaps HaRET has some means of dumping the register?

#4 lore raw
Quoted 2 lines · Paul Parsons

If anybody here does have an hx4700 with the 3600mAh battery and is able to run Linux on it, it would be a big help if they could apply the following patch to discover the rated capacity register value via dmesg:

Yes, thanks! I'll try to revive my extended battery soon and test it. And will test standard one too - just to make coverage a bit wider. Who knows if HP produced more than one kind of standard capacity batteries which have different value in capacity register?

Quoted 1 line

Or perhaps HaRET has some means of dumping the register?

No, I don't think HaRET have any one-wire functions, so it's very unlikely that it can read registers on DS2760.

Signature · 2 lines
Best regards,
Dmitry "MAD" Artamonow