FreeCalypso > hg > fc-tourmaline
view doc/Config-vars @ 214:adfdbcd360fd
backlight evolution: API between Condat driver and MFW
With this change, the API between the Condat backlight driver
and its user in MFW now carries more abstract backlight state codes
(fully off, fully on, in call, charging boot mode) instead of
0-255 levels. This change is needed in order to more properly support
different hardware targets with different capabilities and approaches
in terms of backlight handling.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 23 Apr 2021 23:52:02 +0000 |
parents | a62e5bf88434 |
children |
line wrap: on
line source
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.)