FreeCalypso > hg > fc-tourmaline
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.) |