FreeCalypso > hg > fc-tourmaline
annotate components/bootloader @ 261:841a848ba762
SPI SWE: clear any pending boot-time interrupts in spi_init()
Charger plug/unplug hw logic in the Iota ABB has no built-in debouncing,
thus electrical contact bounce on the charging power connection interface
produces a lot of charger plug/unplug interrupts. When we boot in
charging mode (charging power present at boot time and is presumably
the cause of Switch-ON), some bounce may occur between the initial
Iota Switch-ON action and Calypso firmware booting. By clearing any
accumulated ITSTATREG interrupts on boot, we prevent these pre-boot
interrupts from generating charger plug/unplug events to FCHG, which
would upset smooth from-boot charging.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 14 May 2021 02:49:05 +0000 |
parents | 598958aec071 |
children |
rev | line source |
---|---|
22
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 # Building bootloader.lib |
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 SRCDIR=$SRC/cs/system/bootloader/src |
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 # Assembly modules |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 ASMFLAGS=-me |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 ASMFLAGS="$ASMFLAGS -dBOARD=41" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 ASMFLAGS="$ASMFLAGS -dCHIPSET=$CHIPSET" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 ASMFLAGS="$ASMFLAGS -dLONG_JUMP=3" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 ASMFLAGS="$ASMFLAGS -dTOOL_CHOICE=0" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 ASMFLAGS="$ASMFLAGS -dR2D_ASM=0" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 ASMFLAGS="$ASMFLAGS -dR2D_LCD_TEST=0" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 ASMFLAGS="$ASMFLAGS -dTI_PROFILER=$TI_PROFILER" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 ASMFLAGS="$ASMFLAGS -dTI_NUC_MONITOR=0" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 ASMFLAGS="$ASMFLAGS -dL1_GPRS=$GPRS" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 ASMFLAGS="$ASMFLAGS -dOP_WCP=0" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 ASMFLAGS="$ASMFLAGS -dWCP_PROF=0" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 if [ "$RF" = 12 ] |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 then |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 ASMFLAGS="$ASMFLAGS -dVCXO_26MHZ=1" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 else |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 ASMFLAGS="$ASMFLAGS -dVCXO_26MHZ=0" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 fi |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 asm_file $SRCDIR/bootloader.s |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 ASMFLAGS="-mt -me" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 ASMFLAGS="$ASMFLAGS -dBOARD=41" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 ASMFLAGS="$ASMFLAGS -dCHIPSET=$CHIPSET" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 ASMFLAGS="$ASMFLAGS -dLONG_JUMP=3" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 ASMFLAGS="$ASMFLAGS -dTOOL_CHOICE=0" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 ASMFLAGS="$ASMFLAGS -dR2D_ASM=0" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 ASMFLAGS="$ASMFLAGS -dR2D_LCD_TEST=0" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 ASMFLAGS="$ASMFLAGS -dTI_PROFILER=$TI_PROFILER" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 ASMFLAGS="$ASMFLAGS -dTI_NUC_MONITOR=0" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 ASMFLAGS="$ASMFLAGS -dL1_GPRS=$GPRS" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 ASMFLAGS="$ASMFLAGS -dOP_WCP=0" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 ASMFLAGS="$ASMFLAGS -dWCP_PROF=0" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 asm_file $SRCDIR/branch_in_RAM.s |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 # C modules |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 CFLAGS="-mn -mt -mw -me -pw2" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 CPPFLAGS="-DTOOL_CHOICE=0 -D_TMS470" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 # Includes |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 |
26
598958aec071
components: switch to new Nucleus
Mychaela Falconia <falcon@freecalypso.org>
parents:
23
diff
changeset
|
51 CPPFLAGS="$CPPFLAGS -I$SRC/nucleus" |
22
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 CPPFLAGS="$CPPFLAGS -I.." |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 CPPFLAGS="$CPPFLAGS -I../config" |
23
fdc83c1ab3ff
components: first automated conversion pass
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
54 CPPFLAGS="$CPPFLAGS -I$SRC/gpf/inc" |
fdc83c1ab3ff
components: first automated conversion pass
Mychaela Falconia <falcon@freecalypso.org>
parents:
22
diff
changeset
|
55 CPPFLAGS="$CPPFLAGS -I$SRC/gpf/frame/cust_os" |
22
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 CPPFLAGS="$CPPFLAGS -I$SRC/cs/system" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 CPPFLAGS="$CPPFLAGS -I$SRC/cs/riviera" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 CPPFLAGS="$CPPFLAGS -I$SRC/cs/riviera/rv" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/abb" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/armio" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/clkm" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/conf" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/dma" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/dsp_dwnld" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/inth" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/memif" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/rhea" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/security" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/spi" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/timer" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/uart" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/ulpd" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_app" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 CPPFLAGS="$CPPFLAGS -I$SRC/cs/services" |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 cfile_plain $SRCDIR/cmdboot.c |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 cfile_plain $SRCDIR/command.c |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 cfile_plain $SRCDIR/convert.c |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 cfile_plain $SRCDIR/optboot.c |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 cfile_plain $SRCDIR/serial.c |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 cfile_plain $SRCDIR/start.c |
7ded024bf471
components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 cfile_plain $SRCDIR/boot.c |