annotate components/mm @ 303:f76436d19a7a default tip

!GPRS config: fix long-standing AT+COPS chance hanging bug There has been a long-standing bug in FreeCalypso going back years: sometimes in the AT command bring-up sequence of an ACI-only MS, the AT+COPS command would produce only a power scan followed by cessation of protocol stack activity (only L1 ADC traces), instead of the expected network search sequence. This behaviour was seen in different FC firmware versions going back to Citrine, and seemed to follow some law of chance, not reliably repeatable. This bug has been tracked down and found to be specific to !GPRS configuration, stemming from our TCS2/TCS3 hybrid and reconstruction of !GPRS support that was bitrotten in TCS3.2/LoCosto version. ACI module psa_mms.c, needed only for !GPRS, was missing in the TCS3 version and had to be pulled from TCS2 - but as it turns out, there is a new field in the MMR_REG_REQ primitive that needs to be set correctly, and that psa_mms.c module is the place where this initialization needed to be added.
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 08 Jun 2023 08:23:37 +0000
parents e58a5bb12de4
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 mm.lib from the TCS3.2 source
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 CFLAGS="-me -mt -o -pw2 -x -mw"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 CPPFLAGS=
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 make_version mm
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 cfile_plain mm_version.c
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 # Defines
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 CPPFLAGS=-DCCDTABLES_EXTERN
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 CPPFLAGS="$CPPFLAGS -DOPTION_MULTITHREAD"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 CPPFLAGS="$CPPFLAGS -DNEW_FRAME"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 CPPFLAGS="$CPPFLAGS -DNEW_ENTITY"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 CPPFLAGS="$CPPFLAGS -D_TARGET_"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 CPPFLAGS="$CPPFLAGS -DSHARED_VSI"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 CPPFLAGS="$CPPFLAGS -DALR"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 CPPFLAGS="$CPPFLAGS -DFF_HOMEZONE"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 CPPFLAGS="$CPPFLAGS -DFF_MMI_SAT_ICON"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 CPPFLAGS="$CPPFLAGS -DFF_MMI_SMS_DYNAMIC"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 CPPFLAGS="$CPPFLAGS -DFF_CPHS"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 CPPFLAGS="$CPPFLAGS -D_TMS470"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 CPPFLAGS="$CPPFLAGS -DUART"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 CPPFLAGS="$CPPFLAGS -DFF_ATI"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 CPPFLAGS="$CPPFLAGS -DNWARN"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 CPPFLAGS="$CPPFLAGS -DFF_EM_MODE"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 CPPFLAGS="$CPPFLAGS -DMMI=$MMI"
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 if [ "$MMI" = 0 ]
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 then
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 CPPFLAGS="$CPPFLAGS -DACI"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 elif [ "$MMI" = 2 ]
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 then
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 CPPFLAGS="$CPPFLAGS -DMFW"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 fi
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 CPPFLAGS="$CPPFLAGS -DPHONEBOOK_EXTENSION"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 if [ "$GPRS" = 1 ]
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 then
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41 CPPFLAGS="$CPPFLAGS -DGPRS"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 fi
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 CPPFLAGS="$CPPFLAGS -DAT_INTERPRETER"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 CPPFLAGS="$CPPFLAGS -DUSE_L1FD_FUNC_INTERFACE"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 if [ "$SRVC" != 0 ]
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 then
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 CPPFLAGS="$CPPFLAGS -DFAX_AND_DATA"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 if [ "$SRVC" = 1 ]
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 then
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52 CPPFLAGS="$CPPFLAGS -DFF_FAX"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 fi
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54 CPPFLAGS="$CPPFLAGS -DUSE_L2FD_FUNC_INTERFACE"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55 fi
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57 CPPFLAGS="$CPPFLAGS -DSRVC=$SRVC"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 CPPFLAGS="$CPPFLAGS -DCHIPSET=$CHIPSET"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59 CPPFLAGS="$CPPFLAGS -DBOARD=41"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60
38
e58a5bb12de4 experimental support for GPF memory supervision
Mychaela Falconia <falcon@freecalypso.org>
parents: 23
diff changeset
61 if [ "$MEMSUPER" != 0 ]
e58a5bb12de4 experimental support for GPF memory supervision
Mychaela Falconia <falcon@freecalypso.org>
parents: 23
diff changeset
62 then
e58a5bb12de4 experimental support for GPF memory supervision
Mychaela Falconia <falcon@freecalypso.org>
parents: 23
diff changeset
63 CPPFLAGS="$CPPFLAGS -DMEMORY_SUPERVISION"
e58a5bb12de4 experimental support for GPF memory supervision
Mychaela Falconia <falcon@freecalypso.org>
parents: 23
diff changeset
64 fi
e58a5bb12de4 experimental support for GPF memory supervision
Mychaela Falconia <falcon@freecalypso.org>
parents: 23
diff changeset
65
22
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
66 # Includes
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 SRCDIR=$SRC/g23m-gsm/mm
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
69
23
fdc83c1ab3ff components: first automated conversion pass
Mychaela Falconia <falcon@freecalypso.org>
parents: 22
diff changeset
70 CPPFLAGS="$CPPFLAGS -I$SRC/condat/com/inc"
fdc83c1ab3ff components: first automated conversion pass
Mychaela Falconia <falcon@freecalypso.org>
parents: 22
diff changeset
71 CPPFLAGS="$CPPFLAGS -I$SRC/gpf/inc"
fdc83c1ab3ff components: first automated conversion pass
Mychaela Falconia <falcon@freecalypso.org>
parents: 22
diff changeset
72 CPPFLAGS="$CPPFLAGS -I$SRC/condat/com/include"
fdc83c1ab3ff components: first automated conversion pass
Mychaela Falconia <falcon@freecalypso.org>
parents: 22
diff changeset
73 CPPFLAGS="$CPPFLAGS -I../../cdg-hybrid/cdginc"
22
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74 CPPFLAGS="$CPPFLAGS -I$SRCDIR"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
75 CPPFLAGS="$CPPFLAGS -I.."
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
76 CPPFLAGS="$CPPFLAGS -I../config"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
77 CPPFLAGS="$CPPFLAGS -I$SRC/cs/riviera"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_app"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
79 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
80 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/abb"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
81 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/armio"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
82 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/clkm"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
83 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/conf"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
84 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/dma"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
85 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/dsp_dwnld"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
86 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/inth"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
87 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/memif"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
88 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/rhea"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
89 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/security"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
90 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/spi"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
91 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/timer"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
92 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/uart"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
93 CPPFLAGS="$CPPFLAGS -I$SRC/cs/drivers/drv_core/ulpd"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
94 CPPFLAGS="$CPPFLAGS -I$SRC/cs/system"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
95 CPPFLAGS="$CPPFLAGS -I$SRC/cs/layer1/include"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
96 CPPFLAGS="$CPPFLAGS -I$SRC/cs/services"
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
97
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
98 # Source modules
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
99
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
100 cfile_str2ind $SRCDIR/mm_csf.c
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
101 cfile_str2ind $SRCDIR/mm_forf.c
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
102 cfile_str2ind $SRCDIR/mm_forp.c
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
103 cfile_str2ind $SRCDIR/mm_mmf.c
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
104 cfile_str2ind $SRCDIR/mm_mmp.c
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
105 cfile_str2ind $SRCDIR/mm_mms.c
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
106 cfile_str2ind $SRCDIR/mm_pei.c
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
107 cfile_str2ind $SRCDIR/mm_regf.c
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
108 cfile_str2ind $SRCDIR/mm_regp.c
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
109 cfile_str2ind $SRCDIR/mm_regs.c
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
110 cfile_str2ind $SRCDIR/mm_tim.c
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
111 cfile_str2ind $SRCDIR/mm_fors.c
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
112
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
113 if [ "$GPRS" = 1 ]
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
114 then
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
115 cfile_str2ind $SRCDIR/mm_gmm.c
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
116 cfile_str2ind $SRCDIR/mm_gprs.c
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
117 cfile_str2ind $SRCDIR/mm_gprsp.c
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
118 fi
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
119
7ded024bf471 components: pruned import from Magnetite
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
120 cfile_str2ind $SRCDIR/mm_em.c