Ticket #762 (closed defect: fixed)

Opened 12 years ago

Last modified 12 years ago

GTA01v4 Only Charges at 40ma

Reported by: wally.ritchie@… Owned by: sean_chiang@…
Priority: high Milestone:
Component: PMU (Power Management Unit) Version: GTA01v4
Severity: normal Keywords:
Cc: buglog@…, cw@…, jserv@… Blocked By:
Blocking: Estimated Completion (week):
HasPatchForReview: PatchReviewResult:


Tests done with my two GTA01v4 and repeated by other on #openmoko show that the
device only default charges at 40ma and not 100ma as advertised. This is a big
problem when the GSM modem is still on as that alone draws about 30ma leaving
only 10ma to charge the battery. In any case, 40ma instead of 100ma means it
takes 2.5
times as long to charge the neo from the off condition.

Test setup - milliampmeter in series with USB +5 from multiple machines.

Change History

comment:1 Changed 12 years ago by laforge@…

  • Cc jserv@… added

I think you're referring to GTA01Bv4, correct?

Did you also measure the charge current once enumerated (500mA charge)?

Sean/Jserv?: Can you please have somebody verify this with a GTA01Bv4 unit with
green pcb (mass production version)?

comment:2 Changed 12 years ago by wally.ritchie@…

Yes these are GTA01Bv4.
When the device enumerates the current draw goes to 490 ma which is fine.

There are other charge anomolies. For example, on initial charge (battery in
cutoff and inserted) the charge current (initial 40ma) will drop after several
hours to zero but the bat will not in fact be charged. It will be charged enough
to get the device to enumerate, but it will then need several hours at 490ma for
the battery to reach a full charge.

Additionally, it appears the battery is float charging which is not good. The
battery should be allowed to drift down to 3.9V or less and then get a top off
charge to bring it back. This is probably just software that can be refined as
the PM matures.

comment:3 Changed 12 years ago by sean_chiang@…

For GTA01BV4 green PCB, my experiment and observation were:

  1. When battery voltage is about 3.29(couldn't power on) , then plug in usb

cable(white), the charge current is 43mA(about 50mA)

  1. 30 mins later, battery voltage became 3.52V, booting kernel and plug in usb

cable(white) again, charge current is 490mA(about 500mA)

  1. 2.5 hours later, battery voltage become 4.2V and the charge current became

0mA finally.

So looks like the charge current work as pcf50606 datasheet described.

comment:4 Changed 12 years ago by wally.ritchie@…

Well 43ma is about 40ma not 50ma. In any case the charge current when
not-enumerated should by your design be 100ma not 50ma. Looking at the pcf50606
data sheet, it may be simply CURRAT in MBCC3 remains at its default of 0.1 *
Ifast where it should probably be set to 0.2 to produce a 100ma precharge
instead of 50ma.

The reset value is probably appropriate for Ifast of 1C but the nominal charge
on the GTA01v4 appears to be closer to 0.5C.

Assuming that the standby battery battery is connected to the pcf50606,
reprogramming CURRAT to 0.2*Ifast should allow precharge at 100ma. This will
at least halve the time from dead to u-bootable and halve the time to charge
without enumerating.

comment:5 Changed 12 years ago by jserv@…

  • Status changed from new to assigned

comment:6 Changed 12 years ago by wally.ritchie@…

The incorrect precharge current appears to be due to an error in u-boot in the
file /board/neo1973/gta01/pcf50606.c at line 79.

[PCF50606_REG_MBCC3] = 0x1a, /* 0x2*Ifast, 4.20V */

While the comment shows the correct intention, the actual value according to the
datasheet (Rev 2.2 Page 69) should be 0x2a. The value 0x1a is same as the
default value of 0.1* Ifast.

Correcting this bug should cause all versions of GTA01 to precharge at 100ma as
designed instead of half this value as seen on the present hardware in the field.

comment:7 Changed 12 years ago by cw@…

  • Cc cw@… added

comment:8 Changed 12 years ago by laforge@…

  • Status changed from assigned to closed
  • Resolution set to fixed

thanks a lot!

committed as svn rev. 3147 (bumped mokoversion to -moko12)

Note: See TracTickets for help on using tickets.