a battery charger apparatus for charging a battery , comprises a charge - current control circuit for receiving a charge - current control signal to control an amount of charge current being drawn from an input source , e . g ., a usb port or a line adapter ; an analog control circuit for generating an analog control signal representative of a maximum amount of charge current to be used to charge a battery ; a digital charge reduction loop including a circuit for determining a charge - current adjustment signal based on a source voltage of the input source ; a counter for generating a digital count value based on the charge - current adjustment signal ; and a digital - to - analog converter for generating a dac control signal based on the digital count value of the counter , the dac control signal being representative of a reduced amount of charge current to be used to charge the battery ; and a switching mechanism for selecting one of the analog control signal or the dac control signal based on the source voltage , the selected control signal being used as the charge - current control signal to the charge - current control circuit .