FreeCalypso > hg > fc-tourmaline
view components/nucleus_intram @ 244:96784b8974eb
Switch_ON(): detect charging mode by CHGPRES bit
Consider the following scenario: the phone is on, the user plugs in
the charger, and then executes the power-off operation. In the Iota
VRPC this sequence translates to a switch-off immediately followed
by another switch-on - but the CHGSTS bit doesn't get set on the second
switch-on cycle! Disassembly of Pirelli's fw shows that they check
the CHGPRES bit, and furthermore, if both CHGPRES and ONBSTS are set,
the code they pass to their modified Power_ON_Button() function is
the one for charging - so let's adopt the same CHGPRES check and
the same priority order for switch-on causes.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 03 May 2021 06:51:29 +0000 |
parents | 572c3ee87676 |
children |
line wrap: on
line source
# New Tourmaline component: compiling Nucleus from source (internal RAM) CFLAGS="-mn -me -mt -o -mw" CPPFLAGS= SRCDIR=$SRC/nucleus cfile_plain $SRCDIR/csc.c cfile_plain $SRCDIR/pmc.c cfile_plain $SRCDIR/pmce.c cfile_plain $SRCDIR/pmd.c cfile_plain $SRCDIR/smc.c cfile_plain $SRCDIR/smce.c cfile_plain $SRCDIR/smd.c cfile_plain $SRCDIR/tcc.c cfile_plain $SRCDIR/tcce.c cfile_plain $SRCDIR/tcd.c cfile_plain $SRCDIR/tmc.c cfile_plain $SRCDIR/tmd.c cfile_plain $SRCDIR/tms.c cfile_plain $SRCDIR/tmse.c # assembly modules ASMFLAGS=-me ASMFLAGS="$ASMFLAGS -dOP_L1_STANDALONE=0" ASMFLAGS="$ASMFLAGS -dTI_NUC_MONITOR=0" SRCDIR=$SRC/cs/os/nucleus asm_file $SRCDIR/tct.s SRCDIR=$SRC/nucleus/tms470 asm_file $SRCDIR/tmt.s