hammerhead: Fast charge adaptation

* Base code by Faux. Thanks.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>