view components/frame_ir @ 221:5bf097aeaad7

LLS: when turning off all LEDs on boot, skip LED-C Having LLS turn off LED-A and LED-B on boot is normally unnecessary (they should already be off in Iota), but it is harmless, hence this logic is kept for robustness. However, having LLS read-modify-write the BCICTL2 register (to turn off LED-C) creates a potential race condition with FCHG writes to this register, especially in the case when baseband switch-on is caused by VCHG and charging is expected to start right away. Furthermore, control of the charging LED itself (on those hw targets that have it) is the responsibility of the FCHG SWE, hence LLS should leave it alone.
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 26 Apr 2021 21:55:13 +0000
parents e58a5bb12de4
children
line wrap: on
line source

# Building frame_ir.lib using a mixture of source and blobs as configured

CFLAGS="-mw -x -pw2 -o3 -me -mt -g -mn"

# Defines

CPPFLAGS="-DNU_DEBUG -D_FF_RV_EXIST_ -DRUN_INT_RAM"
CPPFLAGS="$CPPFLAGS -D_TARGET_ -D_NUCLEUS_"

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

# Includes

CPPFLAGS="$CPPFLAGS -I$SRC/gpf/frame"
CPPFLAGS="$CPPFLAGS -I$SRC/gpf/inc/nuc"
CPPFLAGS="$CPPFLAGS -I$SRC/nucleus"
CPPFLAGS="$CPPFLAGS -I$SRC/gpf/inc"
CPPFLAGS="$CPPFLAGS -I$SRC/gpf/tst"

# Source modules

SRCDIR=$SRC/gpf/frame

cfile_symlink $SRCDIR/frame.c
cfile_symlink $SRCDIR/vsi_sem.c
cfile_symlink $SRCDIR/vsi_com.c
cfile_symlink $SRCDIR/vsi_mem.c
cfile_symlink $SRCDIR/vsi_tim.c
cfile_symlink $SRCDIR/vsi_mis.c
cfile_symlink $SRCDIR/vsi_drv.c
cfile_symlink $SRCDIR/vsi_trc.c
cfile_symlink $SRCDIR/vsi_pro.c
if [ "$MEMSUPER" != 0 ]
then
	cfile_symlink $SRCDIR/vsi_ppm.c
fi
cfile_symlink $SRCDIR/xalert.c
cfile_symlink $SRCDIR/route.c
cfile_symlink $SRCDIR/prf_func.c
cfile_symlink $SRCDIR/frm_ext.c
cfile_symlink $SRCDIR/frame_version.c

# OSL

if [ "$OSL" = 1 ]
then

	# drop -o3
	CFLAGS="-mw -x -pw2 -o -me -mt -g -mn"

	SRCDIR=$SRC/gpf/osl

	cfile_plain $SRCDIR/os_com_ir.c
	cfile_plain $SRCDIR/os_mem_ir.c
	cfile_plain $SRCDIR/os_mis_ir.c
	cfile_plain $SRCDIR/os_pro_ir.c
	cfile_plain $SRCDIR/os_sem_ir.c
	cfile_plain $SRCDIR/os_tim_ir.c

else

	OBJDIR=../../blobs/osl/ir
	OBJDIR_PS=../../blobs/osl/ir_ps

	OBJS="$OBJS $OBJDIR/os_com.obj"
	OBJS="$OBJS $OBJDIR/os_drv.obj"
	OBJS="$OBJS $OBJDIR/os_evt.obj"
	OBJS="$OBJS $OBJDIR/os_isr.obj"
	if [ "$MEMSUPER" != 0 ]
	then
		OBJS="$OBJS $OBJDIR_PS/os_mem.obj"
	else
		OBJS="$OBJS $OBJDIR/os_mem.obj"
	fi
	OBJS="$OBJS $OBJDIR/os_mis.obj"
	OBJS="$OBJS $OBJDIR/os_pro.obj"
	OBJS="$OBJS $OBJDIR/os_sem.obj"
	OBJS="$OBJS $OBJDIR/os_tim.obj"

fi