FreeCalypso > hg > fc-magnetite
view doc/Config-vars @ 692:555cdc5fda0d
doc/Config-vars: TI_PROFILER documented
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 15 Oct 2020 17:50:04 +0000 |
parents | b7b809c62586 |
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. DSAMPLE_FULL_COLOR When the firmware's R2D component (normally present only in UI-enabled builds) is built for any target other than c139, one of TI's D-Sample framebuffer drivers is enabled: either color or B&W. (The actual hardware pokes are omitted when the build target is anything other than dsample, but the framebuffer is still maintained in RAM.) By default the color framebuffer driver is enabled; setting DSAMPLE_FULL_COLOR=0 switches to the B&W framebuffer driver. Both configurations are supported on FC Luna. 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. 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 DSAMPLE_FULL_COLOR=0 UI_CONFIG=bigbw SUFFIX=-bw L1_DYN_DSP_DWNLD=0 SUFFIX=-nodyn MELODY_E2=0 SUFFIX=-noe2 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. UI_CONFIG The 3 allowed values for this setting are bigcolor, bigbw and 84x48, selecting one of the 3 UI configurations supported by TI's code. The default is 84x48 when the firmware is built for target c139, otherwise (particularly for dsample, luna1 and luna2 targets) the default is bigcolor. 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 in the individual component build recipes (components/*) but cannot be set on the ./configure.sh line because they are fixed in the overall fw build recipes (configs/*): 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. 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 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.)