annotate components/main @ 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 # Building main.lib with recompilation of the init module
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 # C modules
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 CFLAGS="-mn -mt -o -x -mw -me -pw2"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 CPPFLAGS="-DTOOL_CHOICE=0 -D_TMS470"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 if [ "$RVTMUX_ON_MODEM" = 1 ]
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 then
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 CPPFLAGS="$CPPFLAGS -DCONFIG_RVTMUX_ON_MODEM"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 fi
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 # Includes
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14
26
598958aec071 components: switch to new Nucleus
Mychaela Falconia <falcon@freecalypso.org>
parents: 23
diff changeset
15 CPPFLAGS="$CPPFLAGS -I$SRC/nucleus"
22
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 CPPFLAGS="$CPPFLAGS -I.."
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 CPPFLAGS="$CPPFLAGS -I../config"
23
fdc83c1ab3ff components: first automated conversion pass
Mychaela Falconia <falcon@freecalypso.org>
parents: 22
diff changeset
18 CPPFLAGS="$CPPFLAGS -I$SRC/gpf/inc"
fdc83c1ab3ff components: first automated conversion pass
Mychaela Falconia <falcon@freecalypso.org>
parents: 22
diff changeset
19 CPPFLAGS="$CPPFLAGS -I$SRC/gpf/frame/cust_os"
22
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 CPPFLAGS="$CPPFLAGS -I$SRC/cs/system"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 CPPFLAGS="$CPPFLAGS -I$SRC/cs/riviera"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 CPPFLAGS="$CPPFLAGS -I$SRC/cs/riviera/rv"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/abb"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/armio"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/clkm"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/conf"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/dma"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/dsp_dwnld"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/inth"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/memif"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/rhea"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/security"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/spi"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/timer"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/uart"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/ulpd"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_app"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 CPPFLAGS="$CPPFLAGS -I$SRC/cs/services"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 CPPFLAGS="$CPPFLAGS -I$SRC/cs/layer1/audio_cust0"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41 CPPFLAGS="$CPPFLAGS -I$SRC/cs/layer1/audio_include"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 CPPFLAGS="$CPPFLAGS -I$SRC/cs/layer1/cust0"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43 CPPFLAGS="$CPPFLAGS -I$SRC/cs/layer1/hmacs"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 CPPFLAGS="$CPPFLAGS -I$SRC/cs/layer1/include"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 CPPFLAGS="$CPPFLAGS -I$SRC/cs/layer1/p_include"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 CPPFLAGS="$CPPFLAGS -I$SRC/cs/layer1/tm_include"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 CPPFLAGS="$CPPFLAGS -I$SRC/cs/layer1/tm_cust0"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 CPPFLAGS="$CPPFLAGS -I$SRC/cs/layer1/dyn_dwl_include"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 CPPFLAGS="$CPPFLAGS -I$SRC/cs/layer1/tpu_drivers/p_source0"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 CPPFLAGS="$CPPFLAGS -I$SRC/cs/layer1/tpu_drivers/source0"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 CPPFLAGS="$CPPFLAGS -I$SRC/cs/layer1/tpu_drivers/source"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 SRCDIR=$SRC/cs/system/main
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55 cfile_plain $SRCDIR/init.c
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 cfile_plain $SRCDIR/create_RVtasks.c
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57 cfile_plain $SRCDIR/main.c
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 cfile_plain $SRCDIR/sys_dummy.c
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 # Different CFLAGS for mem_load.c
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62 CFLAGS="-o -mw -me -pw2"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64 cfile_plain $SRCDIR/mem_load.c
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
65
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
66 # Assembly module
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
67
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
68 ASMFLAGS=-me
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
69 ASMFLAGS="$ASMFLAGS -dBOARD=41"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
70 ASMFLAGS="$ASMFLAGS -dCHIPSET=$CHIPSET"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
71 ASMFLAGS="$ASMFLAGS -dLONG_JUMP=3"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
72 ASMFLAGS="$ASMFLAGS -dTOOL_CHOICE=0"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
73 ASMFLAGS="$ASMFLAGS -dR2D_ASM=0"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74 ASMFLAGS="$ASMFLAGS -dR2D_LCD_TEST=0"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
75 ASMFLAGS="$ASMFLAGS -dTI_PROFILER=$TI_PROFILER"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
76 ASMFLAGS="$ASMFLAGS -dTI_NUC_MONITOR=0"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
77 ASMFLAGS="$ASMFLAGS -dL1_GPRS=$GPRS"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78 ASMFLAGS="$ASMFLAGS -dOP_WCP=0"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
79 ASMFLAGS="$ASMFLAGS -dWCP_PROF=0"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
80
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
81 if [ "$TARGET" = c155 ]
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
82 then
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
83 ASMFLAGS="$ASMFLAGS -dC155_TARGET=1"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
84 else
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
85 ASMFLAGS="$ASMFLAGS -dC155_TARGET=0"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
86 fi
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
87
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
88 if [ "$RF" = 12 ]
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
89 then
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
90 ASMFLAGS="$ASMFLAGS -dVCXO_26MHZ=1"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
91 else
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
92 ASMFLAGS="$ASMFLAGS -dVCXO_26MHZ=0"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
93 fi
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
94
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
95 asm_file $SRCDIR/int.s