FreeCalypso > hg > fc-tourmaline
view components/l1_custom_ext @ 280:82665effff30
keypad boot init overhaul: handle initially held-down keys
This change fixes two previous behavioural defects:
1) On Compal phones, the PWR key had to be released before the boot
sequence would proceed at all - it was stuck in an endless IRQ loop
at the point of Nucleus enabling interrupts, before anything else.
2) On both Compal and sane platforms including Luna, if some regular
non-PWR key was held down at boot time, the boot sequence would
proceed and complete normally, but all non-PWR keypad buttons would
be dead for the remainder of that boot cycle.
The fix is a generic solution - no Compal-specific hack ended up being
needed for the special case of their idiotic PWON-to-ROW4 hw wiring.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 24 Sep 2021 00:47:12 +0000 |
parents | 598958aec071 |
children |
line wrap: on
line source
# Building l1_custom_ext.lib CFLAGS="-g -me -pw2 -mt -o -mw" CPPFLAGS="-DRV_TRACE_LEVEL_WARNING=2 -DTOOL_CHOICE=0 -D_TMS470" # Includes CPPFLAGS="$CPPFLAGS -I../config" CPPFLAGS="$CPPFLAGS -I$SRC/nucleus" CPPFLAGS="$CPPFLAGS -I.." CPPFLAGS="$CPPFLAGS -I$SRC/gpf/frame/cust_os" CPPFLAGS="$CPPFLAGS -I$SRC/cs/system" CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_app" CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_app/buzzer" CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_app/ffs" CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_app/sim" CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_app/uart" CPPFLAGS="$CPPFLAGS -I$SRC/cs/riviera" CPPFLAGS="$CPPFLAGS -I$SRC/cs/riviera/rv" CPPFLAGS="$CPPFLAGS -I$SRC/cs/riviera/rvt" CPPFLAGS="$CPPFLAGS -I$SRC/cs/services" CPPFLAGS="$CPPFLAGS -I$SRC/cs/services/audio" 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/tpu_drivers/p_source0" CPPFLAGS="$CPPFLAGS -I$SRC/cs/layer1/tpu_drivers/source0" CPPFLAGS="$CPPFLAGS -I$SRC/cs/layer1/tpu_drivers/source" 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" # Source modules SRCDIR=$SRC/cs/layer1 cfile_plain $SRCDIR/audio_cust0/l1audio_cust.c cfile_plain $SRCDIR/tm_cust0/l1tm_cust.c cfile_plain $SRCDIR/tm_cust0/l1tm_tpu${RF}.c