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
}