comparison doc/Config-vars @ 50:a62e5bf88434

first round of documentation
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 18 Oct 2020 18:08:15 +0000
parents
children
comparison
equal deleted inserted replaced
49:4e178a0e90f6 50:a62e5bf88434
1 The following Bourne shell variables can be set on the ./configure.sh command
2 line to tweak the firmware build configuration:
3
4 ALLOW_CSIM_GSM
5
6 Per TI's original design, the AT+CSIM command does not allow GSM APDUs
7 of class 0xA0. Openmoko found some need for them, and they patched
8 their modem fw to allow these APDUs with AT+CSIM. With our new hybrid
9 modem fw this policy setting is configurable at build time; the default
10 is ALLOW_CSIM_GSM=1 (GSM APDUs allowed).
11
12 DISABLE_SLEEP
13
14 The general default is DISABLE_SLEEP=0, and the firmware automatically
15 enables all of the chipset's available sleep modes on boot. Setting
16 DISABLE_SLEEP=1 causes all sleep modes to be disabled by default on
17 boot (they can still be enabled with the AT%SLEEP command); this
18 setting is needed for FCDEV3B V1 boards that have a hardware bug that
19 causes breakage when sleep modes are enabled.
20
21 FCHG_STATE
22
23 This setting enables or disables the FCHG battery charging driver.
24 This driver can be enabled even on targets where no charging hw exists
25 (it won't do anything without explicit configuration), and our UI
26 firmware will soon require FCHG to be always present - hence our current
27 config mechanism already sets FCHG_STATE=1 for UI-enabled configs. If
28 the firmware is built in a non-UI modem or VPM configuration, the
29 default FCHG_STATE setting depends on the target: enabled on targets
30 that have battery charging hardware (c11x, c139, c155, j100, pirelli)
31 and disabled otherwise.
32
33 L1_DYN_DSP_DWNLD
34
35 This setting enables TI's dynamic DSP patch download mechanism. When
36 the firmware is built for a Calypso target with DSP ROM version 36 in
37 the silicon (all FreeCalypso-made hw and most of the supported legacy
38 targets), L1_DYN_DSP_DWNLD is enabled by default and needs to be kept
39 enabled for correct operation: the patch code we got from TI for this
40 ROM is the dynamic download version, and the ARM-side L1 code expects
41 all of these patches to be present, both the static part and the
42 dynamic parts. However, one can build our fw with L1_DYN_DSP_DWNLD=0
43 for experimental testing, to see what breaks when the dynamic patches
44 are omitted.
45
46 L1_VOICE_MEMO_AMR
47
48 This setting enables or disables support in L1 and in the RiViera Audio
49 Service for AMR voice memo recording and playback. This code has not
50 been properly studied yet and no test AT commands are provided for it,
51 but it is enabled by default like in TI's original TCS211 fw.
52
53 MELODY_E2
54
55 This setting enables or disables support in L1 and in the RiViera Audio
56 Service for playing E2-format melodies. The default is MELODY_E2=1
57 like in TI's original TCS211 fw. Note that Melody E1 support is always
58 enabled; setting MELODY_E2=0 disables only Melody E2, but not E1.
59
60 MEMSUPER
61
62 This setting enables the memory supervision feature in TI's GPF and in
63 the G23M protocol stack built on top of it. This code has not been
64 properly studied yet; play with it at your own risk.
65
66 OSL
67
68 This flag selects between original blob and reconstructed C versions of
69 the OSL glue component of GPF - see the Blob-status article.
70
71 OSX
72
73 This flag selects between original blob and reconstructed C versions of
74 the OSX glue component of GPF - see the Blob-status article.
75
76 RVTMUX_ON_MODEM
77
78 This setting configures the usage of Calypso UARTs. RVTMUX_ON_MODEM=0
79 puts the AT command interface on the MODEM UART and RVTMUX on the IrDA
80 UART (TI's intended config and the default on sensible hw targets);
81 RVTMUX_ON_MODEM=1 (default on the crippled C1xx targets) puts RVTMUX on
82 the MODEM UART, sacrificing the standard AT command interface.
83
84 SERIAL_DYNAMIC_SWITCH
85
86 TI's TCS211 fw includes a provision (only for Bluetooth-enabled fw in
87 TI's original) to switch one UART between the AT command interface and
88 RVTMUX while the other UART is fixed for Bluetooth. In FreeCalypso we
89 have changed this code to work without Bluetooth, for the purpose of
90 switching the user-facing MODEM UART between AT commands and RVTMUX,
91 but the mechanism does not work properly yet and is disabled by default.
92 Enable it with SERIAL_DYNAMIC_SWITCH=1 if you would like to play with
93 it.
94
95 SPEECH_RECO
96
97 This setting enables or disables support in L1 and in the RiViera Audio
98 Service for TI's speech recognition mechanism. This code and the
99 underlying DSP facility itself have not been properly studied yet and
100 no test AT commands are provided for it, but it is enabled by default
101 like in TI's original TCS211 fw.
102
103 SUFFIX
104
105 This setting is solely for configuration management. If you make a
106 build with any of the settings described in this document changed from
107 the default, you should also pass a SUFFIX=-xxx argument so your special
108 build will be appropriately identified in the build directory name and
109 in the firmware version ID string compiled into the image. The naming
110 of suffixes is up to you, but here are some examples:
111
112 DISABLE_SLEEP=1 SUFFIX=-nosleep
113 L1_DYN_DSP_DWNLD=0 SUFFIX=-nodyn
114 MELODY_E2=0 SUFFIX=-noe2
115 MEMSUPER=2 SUFFIX=-ps
116 SERIAL_DYNAMIC_SWITCH=1 SUFFIX=-sds
117 SPEECH_RECO=0 SUFFIX=-nosr
118 TI_PROFILER=1 SUFFIX=-prf
119 TR_BAUD_CONFIG=TR_BAUD_812500 SUFFIX=-812500
120 USE_STR2IND=1 SUFFIX=-s2i
121
122 TI_PROFILER
123
124 TI's original firmware architecture had a built-in profiler (program
125 counter sampler) enabled with TI_PROFILER=1; we (FreeCalypso) are just
126 beginning to experiment with this debug feature in late 2020.
127
128 TRACEMASK_IN_FFS
129
130 TI's Test Interface (TIF) component in the GPF realm includes an
131 optional feature for saving trace masks in FFS, but TI's production
132 firmwares had it disabled. We have now switched to recompiling the
133 component in question from source, but we still keep this
134 TRACEMASK_IN_FFS code disabled by default, at least for now.
135 Set TRACEMASK_IN_FFS=1 to enable this code in GPF.
136
137 TR_BAUD_CONFIG
138
139 The value of this symbol is an alphanumeric keyword of the form
140 TR_BAUD_xxxxxx; the default is TR_BAUD_115200. See
141 src/cs/drivers/drv_core/uart/traceswitch.h for the available baud rate
142 choices; the most practical use is setting TR_BAUD_CONFIG=TR_BAUD_812500
143 when you need to run the RVTMUX serial channel at the maximum possible
144 baud rate.
145
146 USE_CACHE
147
148 This setting enables or disables the use of cached libs - see the
149 Cached libraries section in the Compiling article for the explanation.
150
151 USE_STR2IND
152
153 Unlike TI's original firmwares, we build without str2ind by default.
154 You can enable str2ind with USE_STR2IND=1, but the time to build the fw
155 will be significantly longer as the compiler has to be run twice for
156 each C source file, with str2ind sandwiched in between.
157
158 The following Bourne shell variables are used inside the build system, set by
159 functional configuration stanzas:
160
161 GPRS
162
163 Self-explanatory: enables or disables GPRS.
164
165 MMI
166
167 TI's original config variable: MMI=0 for the AT-command-controlled
168 modem configuration or MMI=2 for the UI-enabled configuration with
169 BMI and MFW.
170
171 R2D_STATE
172
173 Enables or disables inclusion of the R2D driver in the firmware.
174
175 R2D_EMBEDDED_LCD
176
177 This setting selects the framebuffer config to be used by the R2D
178 driver, valid settings are:
179
180 R2D_EMBEDDED_LCD=7: D-Sample color framebuffer
181 R2D_EMBEDDED_LCD=8: D-Sample B&W framebuffer
182 R2D_EMBEDDED_LCD=10: new FreeCalypso 96x64 pixel B&W framebuffer
183
184 See src/cs/drivers/drv_app/r2d/r2d_config.h for the details.
185
186 SRVC
187
188 TI's original config variable, selects the presence or absence of data
189 services other than GPRS as follows:
190
191 SRVC=0: voice and SMS only
192 SRVC=1: CSD and fax enabled
193 SRVC=2: CSD enabled, but not fax
194
195 UI_CONFIG
196
197 The two allowed settings in FC Tourmaline are UI_CONFIG=bigcolor and
198 UI_CONFIG=smallbw. This setting controls the passing of -DLSCREEN and
199 -DCOLOURDISPLAY to all C modules in the UI layers.
200
201 Finally, CHIPSET, DSP, RF and AMR variables reflect the physical configuration
202 of the selected target hw that no amount of software hacking can change.
203 (The AMR variable indicates the presence or absence of AMR support in the DSP.)