FreeCalypso > hg > fc-tourmaline
view src/cs/drivers/drv_app/fchg/fchg_convert_mA.c @ 281:a75eefbf8be4
Phone boot with PWON: weed out short button presses
Every standard end user phone has a design provision, most naturally
implemented in firmware, whereby the PWON button effects a boot only
if it is held down long enough - short presses of this PWON button
are detected, assumed to be spurious and cause the fw to power back off
instead of proceeding with boot. The present change introduces this
standard function in FreeCalypso.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 24 Sep 2021 02:03:08 +0000 |
parents | 09ea37852fd6 |
children |
line wrap: on
line source
/* * This module implements the fchg_convert_ichg_to_mA() function, * converting charging current (Ichg) measurements from ADC units * to human-friendly mA numbers. In the phone hardware this current * measurement is made with the aid of a current measurement resistor * placed in the charging current path (the Iota chip's MADC actually * measures the voltage across this resistor, between VCCS and VBATS * terminals), and it just so happens that different phone designers * have chosen different values for this current measurement resistor: * Pirelli DP-L10 uses 0.20R, following TI's canon, whereas Mot C1xx * phones use 0.15R. Because of these different resistor values, * the formula for converting ADC units to mA becomes target-dependent. */ #include "fchg/fchg_api.h" #include "fc-target.h" UINT16 fchg_convert_ichg_to_mA(UINT16 ichg) { #ifdef CONFIG_TARGET_COMPAL /* formula for 0.15R */ return (ichg * 875 / 768); #else /* formula for 0.20R */ return (ichg * 875 / 1024); #endif }