view components/mfw @ 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 mfw.lib from TCS3/LoCosto source

CFLAGS="-me -mt -o -pw2 -x -mw"
CPPFLAGS=

make_version mfw
cfile_plain mfw_version.c

# Defines

CPPFLAGS=-DCCDTABLES_EXTERN
CPPFLAGS="$CPPFLAGS -DOPTION_MULTITHREAD"
CPPFLAGS="$CPPFLAGS -DNEW_FRAME"
CPPFLAGS="$CPPFLAGS -DNEW_ENTITY"
CPPFLAGS="$CPPFLAGS -D_TARGET_"
CPPFLAGS="$CPPFLAGS -DSHARED_VSI"
CPPFLAGS="$CPPFLAGS -DALR"
CPPFLAGS="$CPPFLAGS -DFF_HOMEZONE"
CPPFLAGS="$CPPFLAGS -DFF_MMI_SAT_ICON"
CPPFLAGS="$CPPFLAGS -DFF_MMI_SMS_DYNAMIC"
CPPFLAGS="$CPPFLAGS -DFF_CPHS"
CPPFLAGS="$CPPFLAGS -D_TMS470"
CPPFLAGS="$CPPFLAGS -DUART"
CPPFLAGS="$CPPFLAGS -DFF_ATI"
CPPFLAGS="$CPPFLAGS -DNWARN"
CPPFLAGS="$CPPFLAGS -DFF_EM_MODE"
CPPFLAGS="$CPPFLAGS -DAT_INTERPRETER"
CPPFLAGS="$CPPFLAGS -DUSE_L1FD_FUNC_INTERFACE"

if [ "$SRVC" != 0 ]
then
	CPPFLAGS="$CPPFLAGS -DFAX_AND_DATA"
	if [ "$SRVC" = 1 ]
	then
		CPPFLAGS="$CPPFLAGS -DFF_FAX"
	fi
	CPPFLAGS="$CPPFLAGS -DUSE_L2FD_FUNC_INTERFACE"
fi

CPPFLAGS="$CPPFLAGS -DSRVC=$SRVC"
CPPFLAGS="$CPPFLAGS -DMMI=2"
CPPFLAGS="$CPPFLAGS -DMFW"
CPPFLAGS="$CPPFLAGS -DMMI_HOMEZONE_ENABLED"
CPPFLAGS="$CPPFLAGS -DFF_MMI_SAT_ICON"
CPPFLAGS="$CPPFLAGS -DFF_MMI_SMS_DYNAMIC"

if [ "$GPRS" = 1 ]
then
	CPPFLAGS="$CPPFLAGS -DMMI_GPRS_ENABLED"
fi

CPPFLAGS="$CPPFLAGS -DMMI_EM_ENABLED"
CPPFLAGS="$CPPFLAGS -DNO_ASCIIZ"

case "$UI_CONFIG" in
	bigcolor)
		CPPFLAGS="$CPPFLAGS -DCOLOURDISPLAY"
		CPPFLAGS="$CPPFLAGS -DLSCREEN"
		;;
	smallbw)
		;;
	*)
		echo "Error: UI_CONFIG=$UI_CONFIG setting not understood" 1>&2
		exit 1
esac

CPPFLAGS="$CPPFLAGS -DINT_PHONEBOOK"
CPPFLAGS="$CPPFLAGS -DNEW_EDITOR"
CPPFLAGS="$CPPFLAGS -DTRGT_G23"
CPPFLAGS="$CPPFLAGS -DAUS_CONDAT_TYPE_PORTING"
CPPFLAGS="$CPPFLAGS -DPHONEBOOK_EXTENSION"

if [ "$GPRS" = 1 ]
then
	CPPFLAGS="$CPPFLAGS -DGPRS"
fi

CPPFLAGS="$CPPFLAGS -DSIM_TOOLKIT"
CPPFLAGS="$CPPFLAGS -DCHIPSET=$CHIPSET"
CPPFLAGS="$CPPFLAGS -DBOARD=41"

if [ "$MEMSUPER" != 0 ]
then
	CPPFLAGS="$CPPFLAGS -DMEMORY_SUPERVISION"
fi

# Includes

CPPFLAGS="$CPPFLAGS -I$SRC/condat/com/inc"
CPPFLAGS="$CPPFLAGS -I$SRC/gpf/inc"
CPPFLAGS="$CPPFLAGS -I$SRC/condat/com/include"
CPPFLAGS="$CPPFLAGS -I../../cdg-hybrid/cdginc"
CPPFLAGS="$CPPFLAGS -I$SRC/g23m-aci/aci"
CPPFLAGS="$CPPFLAGS -I$SRC/g23m-aci/ksd"
CPPFLAGS="$CPPFLAGS -I$SRC/ui/atb"
CPPFLAGS="$CPPFLAGS -I$SRC/ui/mfw"
CPPFLAGS="$CPPFLAGS -I$SRC/g23m-aci/aci_ext"
CPPFLAGS="$CPPFLAGS -I$SRC/g23m-aci/aci_dti_mng"
CPPFLAGS="$CPPFLAGS -I.."
CPPFLAGS="$CPPFLAGS -I../config"
CPPFLAGS="$CPPFLAGS -I$SRC/cs/riviera"
CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_app"
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/system"
CPPFLAGS="$CPPFLAGS -I$SRC/cs/layer1/include"
CPPFLAGS="$CPPFLAGS -I$SRC/cs/services"

# MFW source modules

SRCDIR=$SRC/ui/mfw

cfile_str2ind $SRCDIR/ti1_key.c
cfile_str2ind $SRCDIR/ti1_tmr.c
cfile_str2ind $SRCDIR/mfw_mfw.c
cfile_str2ind $SRCDIR/mfw_win.c
cfile_str2ind $SRCDIR/mfw_kbd.c
cfile_str2ind $SRCDIR/mfw_tim.c
cfile_str2ind $SRCDIR/mfw_mnu.c
cfile_str2ind $SRCDIR/mfw_icn.c
cfile_str2ind $SRCDIR/mfw_ext.c
cfile_str2ind $SRCDIR/mfw_cm.c
cfile_str2ind $SRCDIR/mfw_ss.c
cfile_str2ind $SRCDIR/mfw_nm.c
cfile_str2ind $SRCDIR/mfw_nma.c
cfile_str2ind $SRCDIR/mfw_sim.c
cfile_str2ind $SRCDIR/mfw_sima.c
cfile_str2ind $SRCDIR/mfw_sms.c
cfile_str2ind $SRCDIR/mfw_phb.c
cfile_str2ind $SRCDIR/mfw_mme.c
cfile_str2ind $SRCDIR/mfw_cb.c
cfile_str2ind $SRCDIR/mfw_acie.c
cfile_str2ind $SRCDIR/mfw_sat.c
cfile_str2ind $SRCDIR/mfw_lng.c
cfile_str2ind $SRCDIR/mfw_cnvt.c
cfile_str2ind $SRCDIR/mfw_cphs.c
cfile_str2ind $SRCDIR/mfw_str.c
cfile_str2ind $SRCDIR/mfw_ffs.c

if [ "$GPRS" = 1 ]
then
	cfile_str2ind $SRCDIR/mfw_gprs.c
fi

cfile_str2ind $SRCDIR/mfw_band.c
cfile_str2ind $SRCDIR/mfw_em.c
cfile_str2ind $SRCDIR/mfw_utils.c
cfile_str2ind $SRCDIR/mfw_aud.c
cfile_str2ind $SRCDIR/mfw_td.c

# ATB source modules

SRCDIR=$SRC/ui/atb

cfile_str2ind $SRCDIR/ATBCommon.c
cfile_str2ind $SRCDIR/ATBDisplay.c
cfile_str2ind $SRCDIR/ATBEditor.c
cfile_str2ind $SRCDIR/ATBPb.c
cfile_str2ind $SRCDIR/ATBPbFS.c
cfile_str2ind $SRCDIR/ATBPbGI.c