FreeCalypso > hg > fc-tourmaline
view components/cst @ 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 | e58a5bb12de4 |
children |
line wrap: on
line source
# Building cst.lib CFLAGS="-mt -o -x -mw -me -pw2" # Defines CPPFLAGS=-DNTRACE CPPFLAGS="$CPPFLAGS -D_TARGET" CPPFLAGS="$CPPFLAGS -DNEW_ENTITY" CPPFLAGS="$CPPFLAGS -DSHARED_VSI" CPPFLAGS="$CPPFLAGS -DSMI" CPPFLAGS="$CPPFLAGS -DNWARN" CPPFLAGS="$CPPFLAGS -DOPTION_MULTITHREAD" CPPFLAGS="$CPPFLAGS -DNEW_FRAME" CPPFLAGS="$CPPFLAGS -DTOOL_CHOICE=0" CPPFLAGS="$CPPFLAGS -D_TMS470" if [ "$MEMSUPER" != 0 ] then CPPFLAGS="$CPPFLAGS -DMEMORY_SUPERVISION" fi if [ "$DISABLE_SLEEP" = 1 ] then CPPFLAGS="$CPPFLAGS -DDISABLE_SLEEP" fi # Includes CPPFLAGS="$CPPFLAGS -I$SRC/condat/com/include" CPPFLAGS="$CPPFLAGS -I$SRC/g23m-aci/aci" CPPFLAGS="$CPPFLAGS -I../../cdg-hybrid/cdginc" 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" # Source modules SRCDIR=$SRC/cs/services/cst cfile_plain $SRCDIR/cst_csf.c cfile_plain $SRCDIR/cst_exts.c cfile_plain $SRCDIR/cst_pei.c cfile_plain $SRCDIR/cst_stack.c