FreeCalypso > hg > fc-tourmaline
view components/audio @ 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 | 598958aec071 |
children |
line wrap: on
line source
# Building audio.lib CFLAGS="-mn -mt -mw -me -pw2" CPPFLAGS="-DTOOL_CHOICE=0 -D_TMS470" # Includes CPPFLAGS="$CPPFLAGS -I$SRC/nucleus" CPPFLAGS="$CPPFLAGS -I.." CPPFLAGS="$CPPFLAGS -I../config" CPPFLAGS="$CPPFLAGS -I$SRC/gpf/inc" CPPFLAGS="$CPPFLAGS -I$SRC/gpf/frame/cust_os" CPPFLAGS="$CPPFLAGS -I$SRC/cs/system" CPPFLAGS="$CPPFLAGS -I$SRC/cs/riviera" CPPFLAGS="$CPPFLAGS -I$SRC/cs/riviera/rv" CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core" CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/abb" CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/armio" CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/clkm" CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/conf" CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/dma" CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/dsp_dwnld" CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/inth" CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/memif" CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/rhea" CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/security" CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/spi" CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/timer" CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/uart" CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/ulpd" CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_app" CPPFLAGS="$CPPFLAGS -I$SRC/cs/services" CPPFLAGS="$CPPFLAGS -I$SRC/cs/layer1/audio_cust0" CPPFLAGS="$CPPFLAGS -I$SRC/cs/layer1/audio_include" CPPFLAGS="$CPPFLAGS -I$SRC/cs/layer1/cust0" CPPFLAGS="$CPPFLAGS -I$SRC/cs/layer1/hmacs" CPPFLAGS="$CPPFLAGS -I$SRC/cs/layer1/include" CPPFLAGS="$CPPFLAGS -I$SRC/cs/layer1/p_include" CPPFLAGS="$CPPFLAGS -I$SRC/cs/layer1/tm_include" CPPFLAGS="$CPPFLAGS -I$SRC/cs/layer1/tm_cust0" CPPFLAGS="$CPPFLAGS -I$SRC/cs/layer1/dyn_dwl_include" CPPFLAGS="$CPPFLAGS -I$SRC/cs/layer1/include" CPPFLAGS="$CPPFLAGS -I$SRC/cs/services/audio" # Source modules SRCDIR=$SRC/cs/services/audio cfile_plain $SRCDIR/audio_env.c cfile_plain $SRCDIR/audio_api.c cfile_plain $SRCDIR/audio_error_hdlr.c cfile_plain $SRCDIR/audio_task.c cfile_plain $SRCDIR/audio_keybeep.c cfile_plain $SRCDIR/audio_tones.c cfile_plain $SRCDIR/audio_melody_E1.c cfile_plain $SRCDIR/audio_melody_E2.c cfile_plain $SRCDIR/audio_ffs.c cfile_plain $SRCDIR/audio_vm.c cfile_plain $SRCDIR/audio_vm_play.c cfile_plain $SRCDIR/audio_vm_record.c cfile_plain $SRCDIR/audio_compatibilities.c cfile_plain $SRCDIR/audio_sr_enroll.c cfile_plain $SRCDIR/audio_sr_update.c cfile_plain $SRCDIR/audio_sr_reco.c cfile_plain $SRCDIR/audio_sr.c cfile_plain $SRCDIR/audio_mode.c cfile_plain $SRCDIR/audio_mode_full_write.c cfile_plain $SRCDIR/audio_mode_load.c cfile_plain $SRCDIR/audio_mode_save.c cfile_plain $SRCDIR/audio_mode_drivers.c cfile_plain $SRCDIR/audio_mode_volume.c cfile_plain $SRCDIR/audio_midi.c cfile_plain $SRCDIR/audio_vm_amr.c cfile_plain $SRCDIR/audio_vm_amr_play.c cfile_plain $SRCDIR/audio_vm_amr_record.c cfile_plain $SRCDIR/audio_driver.c