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