Neo 1973 Battery Charging Logic
The PCF50606 supports a variety of battery charging modes, based around the hardware limitations of USB.
USB hubs may only provide up to 100mA per device. If more than the available current is drawn from them, they may be reset, or power off. This resets all devices connected to the USB bus, possibly causing data loss. So, fast charge mode is only enabled after the Neo is told that it is safe to charge at this current. Or optionally if there is no communication from the host for 30 seconds - as may be the case with dumb 'USB chargers'.
|WARNING: While we have spent a significant amount on various safe-guards such as battery-internal overcurrent/overvoltage protection, manual twisting with low-level charger control aspects is not recommended. It might render either the battery or the charging circuit damaged.|
Pre Charge is how the PMU calls the charging mode in which we draw up to 100mA charging current from the USB socket. This mode is safe to use on any USB socket, since USB per specification always can supply at least 100mA on every downstream facing port.
However, 100mA charging at a 1200mAh battery means 12hrs charging time, not very practical at all.
Fast Charge is how the PMU calls the charging mode in which we draw up to 500mA charging current from the USB socket. This mode can only be used if the USB stack on the host controller has selected a USB Configuration in which the device exports the need for 500mA.
Thus, by default, if you apply +5V to the USB device socket, we draw only 100mA. After a host controller has issued SET_CONFIGURATION config request on a configuration with 500mA in the config descriptor, the Neo1973 software (kernel) enable the fast charging mode.