FreeCalypso > hg > fc-tourmaline
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/Config-vars Sun Oct 18 18:08:15 2020 +0000 @@ -0,0 +1,203 @@ +The following Bourne shell variables can be set on the ./configure.sh command +line to tweak the firmware build configuration: + +ALLOW_CSIM_GSM + + Per TI's original design, the AT+CSIM command does not allow GSM APDUs + of class 0xA0. Openmoko found some need for them, and they patched + their modem fw to allow these APDUs with AT+CSIM. With our new hybrid + modem fw this policy setting is configurable at build time; the default + is ALLOW_CSIM_GSM=1 (GSM APDUs allowed). + +DISABLE_SLEEP + + The general default is DISABLE_SLEEP=0, and the firmware automatically + enables all of the chipset's available sleep modes on boot. Setting + DISABLE_SLEEP=1 causes all sleep modes to be disabled by default on + boot (they can still be enabled with the AT%SLEEP command); this + setting is needed for FCDEV3B V1 boards that have a hardware bug that + causes breakage when sleep modes are enabled. + +FCHG_STATE + + This setting enables or disables the FCHG battery charging driver. + This driver can be enabled even on targets where no charging hw exists + (it won't do anything without explicit configuration), and our UI + firmware will soon require FCHG to be always present - hence our current + config mechanism already sets FCHG_STATE=1 for UI-enabled configs. If + the firmware is built in a non-UI modem or VPM configuration, the + default FCHG_STATE setting depends on the target: enabled on targets + that have battery charging hardware (c11x, c139, c155, j100, pirelli) + and disabled otherwise. + +L1_DYN_DSP_DWNLD + + This setting enables TI's dynamic DSP patch download mechanism. When + the firmware is built for a Calypso target with DSP ROM version 36 in + the silicon (all FreeCalypso-made hw and most of the supported legacy + targets), L1_DYN_DSP_DWNLD is enabled by default and needs to be kept + enabled for correct operation: the patch code we got from TI for this + ROM is the dynamic download version, and the ARM-side L1 code expects + all of these patches to be present, both the static part and the + dynamic parts. However, one can build our fw with L1_DYN_DSP_DWNLD=0 + for experimental testing, to see what breaks when the dynamic patches + are omitted. + +L1_VOICE_MEMO_AMR + + This setting enables or disables support in L1 and in the RiViera Audio + Service for AMR voice memo recording and playback. This code has not + been properly studied yet and no test AT commands are provided for it, + but it is enabled by default like in TI's original TCS211 fw. + +MELODY_E2 + + This setting enables or disables support in L1 and in the RiViera Audio + Service for playing E2-format melodies. The default is MELODY_E2=1 + like in TI's original TCS211 fw. Note that Melody E1 support is always + enabled; setting MELODY_E2=0 disables only Melody E2, but not E1. + +MEMSUPER + + This setting enables the memory supervision feature in TI's GPF and in + the G23M protocol stack built on top of it. This code has not been + properly studied yet; play with it at your own risk. + +OSL + + This flag selects between original blob and reconstructed C versions of + the OSL glue component of GPF - see the Blob-status article. + +OSX + + This flag selects between original blob and reconstructed C versions of + the OSX glue component of GPF - see the Blob-status article. + +RVTMUX_ON_MODEM + + This setting configures the usage of Calypso UARTs. RVTMUX_ON_MODEM=0 + puts the AT command interface on the MODEM UART and RVTMUX on the IrDA + UART (TI's intended config and the default on sensible hw targets); + RVTMUX_ON_MODEM=1 (default on the crippled C1xx targets) puts RVTMUX on + the MODEM UART, sacrificing the standard AT command interface. + +SERIAL_DYNAMIC_SWITCH + + TI's TCS211 fw includes a provision (only for Bluetooth-enabled fw in + TI's original) to switch one UART between the AT command interface and + RVTMUX while the other UART is fixed for Bluetooth. In FreeCalypso we + have changed this code to work without Bluetooth, for the purpose of + switching the user-facing MODEM UART between AT commands and RVTMUX, + but the mechanism does not work properly yet and is disabled by default. + Enable it with SERIAL_DYNAMIC_SWITCH=1 if you would like to play with + it. + +SPEECH_RECO + + This setting enables or disables support in L1 and in the RiViera Audio + Service for TI's speech recognition mechanism. This code and the + underlying DSP facility itself have not been properly studied yet and + no test AT commands are provided for it, but it is enabled by default + like in TI's original TCS211 fw. + +SUFFIX + + This setting is solely for configuration management. If you make a + build with any of the settings described in this document changed from + the default, you should also pass a SUFFIX=-xxx argument so your special + build will be appropriately identified in the build directory name and + in the firmware version ID string compiled into the image. The naming + of suffixes is up to you, but here are some examples: + + DISABLE_SLEEP=1 SUFFIX=-nosleep + L1_DYN_DSP_DWNLD=0 SUFFIX=-nodyn + MELODY_E2=0 SUFFIX=-noe2 + MEMSUPER=2 SUFFIX=-ps + SERIAL_DYNAMIC_SWITCH=1 SUFFIX=-sds + SPEECH_RECO=0 SUFFIX=-nosr + TI_PROFILER=1 SUFFIX=-prf + TR_BAUD_CONFIG=TR_BAUD_812500 SUFFIX=-812500 + USE_STR2IND=1 SUFFIX=-s2i + +TI_PROFILER + + TI's original firmware architecture had a built-in profiler (program + counter sampler) enabled with TI_PROFILER=1; we (FreeCalypso) are just + beginning to experiment with this debug feature in late 2020. + +TRACEMASK_IN_FFS + + TI's Test Interface (TIF) component in the GPF realm includes an + optional feature for saving trace masks in FFS, but TI's production + firmwares had it disabled. We have now switched to recompiling the + component in question from source, but we still keep this + TRACEMASK_IN_FFS code disabled by default, at least for now. + Set TRACEMASK_IN_FFS=1 to enable this code in GPF. + +TR_BAUD_CONFIG + + The value of this symbol is an alphanumeric keyword of the form + TR_BAUD_xxxxxx; the default is TR_BAUD_115200. See + src/cs/drivers/drv_core/uart/traceswitch.h for the available baud rate + choices; the most practical use is setting TR_BAUD_CONFIG=TR_BAUD_812500 + when you need to run the RVTMUX serial channel at the maximum possible + baud rate. + +USE_CACHE + + This setting enables or disables the use of cached libs - see the + Cached libraries section in the Compiling article for the explanation. + +USE_STR2IND + + Unlike TI's original firmwares, we build without str2ind by default. + You can enable str2ind with USE_STR2IND=1, but the time to build the fw + will be significantly longer as the compiler has to be run twice for + each C source file, with str2ind sandwiched in between. + +The following Bourne shell variables are used inside the build system, set by +functional configuration stanzas: + +GPRS + + Self-explanatory: enables or disables GPRS. + +MMI + + TI's original config variable: MMI=0 for the AT-command-controlled + modem configuration or MMI=2 for the UI-enabled configuration with + BMI and MFW. + +R2D_STATE + + Enables or disables inclusion of the R2D driver in the firmware. + +R2D_EMBEDDED_LCD + + This setting selects the framebuffer config to be used by the R2D + driver, valid settings are: + + R2D_EMBEDDED_LCD=7: D-Sample color framebuffer + R2D_EMBEDDED_LCD=8: D-Sample B&W framebuffer + R2D_EMBEDDED_LCD=10: new FreeCalypso 96x64 pixel B&W framebuffer + + See src/cs/drivers/drv_app/r2d/r2d_config.h for the details. + +SRVC + + TI's original config variable, selects the presence or absence of data + services other than GPRS as follows: + + SRVC=0: voice and SMS only + SRVC=1: CSD and fax enabled + SRVC=2: CSD enabled, but not fax + +UI_CONFIG + + The two allowed settings in FC Tourmaline are UI_CONFIG=bigcolor and + UI_CONFIG=smallbw. This setting controls the passing of -DLSCREEN and + -DCOLOURDISPLAY to all C modules in the UI layers. + +Finally, CHIPSET, DSP, RF and AMR variables reflect the physical configuration +of the selected target hw that no amount of software hacking can change. +(The AMR variable indicates the presence or absence of AMR support in the DSP.)