N900 Hardware Battery Charger

The battery charger charges the battery, and supplies power when running connected to USB. It can also supply power for USB Host mode.

Hardware

The battery charger is the bq24150a charger from TI.

It features reverse boost mode - which enables power of up to 200 mA@5V to be supplied to a USB device connected to the N900.

When initially powered on, this chip, and the USB interface chip enable charging from dead without any software running. This mode of charging respects the maximum current available without negotiation - 100 mA in the case of a normal USB connection, or 1.2 A in the case the charger is plugged in (actually max current from USB in this autonomous mode is limited to 500 mA).

It also properly supports charging very depleted batteries gently.

There are safety implications of software drivers for this chip, the chip can be configured to have an output voltage of up to 4.44 V, which is higher than the absolute maximum voltage of 4.2 V [citation needed] that li-ion batteries can be safely charged to.

Software

There is no kernel driver for this chip - it is driven over I2C by BME. BME (Battery Managment Entity) needs replaced with an open-source version in order to allow easy operation in USB host mode.

Partial third party kernel driver exists, see commits in android-n900 kernel: [1] and [2]