FreeCalypso > hg > freecalypso-tools
annotate doc/Audio-mode-config @ 432:5484dab78c33
doc/Rvinterf-tools write-up added
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Sun, 04 Nov 2018 09:58:50 +0000 | 
| parents | 0321cd08b19f | 
| children | 02d92d49c9f8 | 
| rev | line source | 
|---|---|
| 245 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 There exist a number of tunable settings in the Iota ABB (the chip that performs | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 A-to-D and D-to-A conversion for the voice path) and in the Calypso DSP which | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 in TI's firmware architecture are meant to be configured through the audio mode | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 facility of the RiViera Audio Service. The ABB settings grouped under the audio | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 mode are as follows: | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 * The selection of which analog interface pins the downlink audio should be | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 sent to: EARN&EARP (earpiece), AUXON&AUXOP (auxiliary) or HSO (headset). | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 * The selection of which analog interface pins the uplink audio should be taken | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 11 from: MICIN&MICIP (main microphone), AUXI (auxiliary input) or HSMICP | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 (headset microphone). | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 13 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 14 * The selection of AUXI input levels when this analog input is in use for the | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 15 voice uplink. | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 16 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 17 * Analog gains for the uplink, the downlink and the analog sidetone from the | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 uplink input to the downlink output. | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 19 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 20 * Selection of a special filter bypass mode for the voice downlink. | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 21 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 22 * The selection of MICBIAS (or HSMICBIAS) voltage between 2.0 V and 2.5 V. | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 24 The DSP voice path settings grouped under the audio mode are as follows: | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 25 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 26 * The selection of the digital voice path as being between GSM and the ABB (the | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 27 default for analog voice interfaces), between GSM and MCSI (the external | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 28 digital voice interface) or between MCSI and the ABB (non-GSM operation). | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 29 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 30 * FIR filter coefficients for the voice uplink and for the voice downlink. | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 31 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 32 * Enabling/disabling and configuration of the Acoustic Echo Cancellation (AEC) | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 33 mechanism. | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 34 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 35 The firmware paradigm for working with all of the above settings is as follows: | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 36 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 37 * In a lab environment, each of the listed settings can be independently tweaked | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 38 and read back through ETM packets over the RVTMUX debug serial interface; the | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 39 corresponding fc-tmsh commands (matching TI's original Windows-based TMSH) | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 40 are auw for writing individual audio parameters and aur for reading them back. | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 41 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 42 * In end-use operation, TI's intent as realized in the firmware design is that | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 43 all of the listed audio settings will only be changed as a group, loaded from | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 44 audio mode configuration files in FFS. | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 45 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 46 Each audio mode configuration needs to be assigned a name between 1 and 9 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 47 characters long, and for each named configuration there are two files in FFS: | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 48 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 49 /aud/modename.cfg is the main configuration file | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 50 /aud/modename.vol is the corresponding volume setting file | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 51 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 52 This paradigm is a good fit for "dumbphone" handsets in which there usually | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 53 will be several different voice audio configurations for classic handheld | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 54 operation, for the hands-free loudspeaker mode, for operation with a wired | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 55 headset, and if the phone uses a loudspeaker (as opposed to a piezo buzzer) to | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 56 play ringtones and uses the Calypso DSP to generate those ringtone melodies, | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 57 there will also need to be an output-only audio configuration for ringing. | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 58 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 59 How do the audio mode config files under /aud come into being? It appears that | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 60 TI's original intent was that a configuration would be manually constructed on | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 61 a test device via TMSH auw commands, saved in the FFS of that test device with | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 62 the aus command, then read out of that test device FFS in binary form and | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 63 reuploaded as an opaque blob to all devices on the production line. One can do | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 64 the same procedure with our fc-tmsh and fc-fsio which fully replicate the | 
| 261 
0321cd08b19f
doc/Audio-mode-config: typo fix
 Mychaela Falconia <falcon@freecalypso.org> parents: 
247diff
changeset | 65 relevant functionality of TI's original TMSH (to the best of our knowledge), | 
| 245 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 66 but in FreeCalypso we have an alternate way which fits better with our UNIX | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 67 philosophy: we have created our own ASCII text format for representing all of | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 68 the content in TI's /aud/*.cfg binary files and tiaud-* utilities for compiling | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 69 TI's binary cfg files from our ASCII source format, disassembling a *.cfg file | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 70 read out of FFS into the same ASCII format, and creating the required *.vol | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 71 companion files, which are also binary. | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 72 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 73 A note about volume settings: the Iota ABB has two variable gain controls in | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 74 the voice downlink path: the main "volume" gain in rather coarse 6 dB steps | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 75 (the choices being 0 dB, -6 dB, -12 dB, -18 dB, -24 dB and mute) and a finer | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 76 "calibration" gain in 1 dB steps between -6 and +6 dB. It appears that TI's | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 77 intent was that only the coarse volume control in 6 dB steps is to be visible | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 78 to the user, with just 5 possible non-mute volume levels, and that the finer | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 79 gain control be set at the factory in the audio mode config files for each mode | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 80 as some form of calibration. Pirelli DP-L10 significantly deviates from this | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 81 model by providing 10 non-mute volume levels to the user with 2 dB or 3 dB steps | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 82 between them by changing both VOLCTL and VDLPG fields in the VBDCTRL register, | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 83 but at the present time we have no plans to make a similar drastic change in | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 84 FreeCalypso. | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 85 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 86 Another noteworthy feature of the audio mode system with respect to volume | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 87 control is that there is a separate *.vol file that stores the current volume | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 88 setting for each mode. In a "dumbphone" handset firmware built according to | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 89 TI's paradigm, the /aud/*.cfg files will be written once on the factory | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 90 production line and only read afterward, but whenever the user turns the volume | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 91 up or down in the UI, the *.vol file _corresponding to the current mode_ will | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 92 be updated by the running fw. Thus the fw would maintain a separate notion of | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 93 the current volume for ringing, for the earpiece speaker, for the hands-free | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 94 loudspeaker and for the wired headset, something which Pirelli's fw very | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 95 notoriously fails to do. | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 96 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 97 Default audio configuration | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 98 =========================== | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 99 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 100 The default audio config set in the Iota ABB registers and in the DSP when no | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 101 named audio mode config has been loaded with the audio_mode_load() API call | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 102 (accessible via AT@AUL or via fc-tmsh aul command) is as follows, in the syntax | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 103 which our tiaud-compile utility accepts as input and which our tiaud-decomp | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 104 utility emits as output: | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 105 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 106 voice-path 0 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 107 mic default { | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 108 gain 3 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 109 output-bias 0 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 110 fir 0 0x4000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 111 fir 8 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 112 fir 16 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 113 fir 24 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 114 } | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 115 speaker ear+aux { | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 116 gain 0 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 117 audio-filter 0 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 118 fir 0 0x4000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 119 fir 8 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 120 fir 16 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 121 fir 24 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 122 } | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 123 sidetone -5 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 124 aec 0 0 0 0 0 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 125 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 126 The meaning is as follows: | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 127 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 128 * voice-path is the DSP digital voice path setting, 0 means the standard | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 129 configuration with the voice channel going between GSM and the local analog | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 130 voice hardware attached to the ABB. | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 131 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 132 * The default microphone input is used for the voice uplink (MICIN&MICIP pins), | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 133 whereas the voice downlink is presented on both EARN&EARP and AUXON&AUXOP | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 134 pins, i.e., both "ear" and "aux" VDL amplifiers are enabled. | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 135 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 136 * The microphone gain is 3 dB, the fine gain adjustment in the voice downlink | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 137 path is 0 dB, and the sidetone gain is -5 dB. | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 138 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 139 * output-bias 0 under mic means that the MICBIAS voltage is set to 2.0 V. | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 140 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 141 * audio-filter 0 under speaker means that the VFBYP bit in the VBCTRL1 register | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 142 is NOT set, i.e., the normal configuration. | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 143 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 144 * DSP FIR filters do nothing, as coefficient 0 is set to unity and all other | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 145 coefficients are set to zero. | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 146 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 147 * The AEC mechanism in the DSP is disabled. | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 148 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 149 Creating your own audio mode configurations | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 150 =========================================== | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 151 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 152 The input to our tiaud-compile utility can contain every setting shown in the | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 153 default case above, or any desired subset thereof. For any settings not given | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 154 in the input, the defaults from the above will be used, except that | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 155 tiaud-compile's current default for the speaker mode is just ear rather than | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 156 ear+aux. (It is a default which you should NOT depend on; set it explicitly if | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 157 it matters!) A few notes: | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 158 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 159 * For all settings given as numbers, the number given in the ASCII input is the | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 160 number that goes into TI's binary structure, without any transformation, even | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 161 in those cases where the result is counter-intuitive, such as "audio-filter 0" | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 162 meaning that the filter is *enabled*. | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 163 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 164 * The 3 possible mode keywords for the mic mode are default, aux and headset, | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 165 corresponding to MICIN&MICIP, AUXI and HSMICP analog inputs, respectively. | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 166 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 167 * The 5 possible mode keywords for the speaker mode are ear, aux, headset, | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 168 buzzer and ear+aux. The buzzer speaker mode exists only on TI's Nausica ABB | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 169 predating Iota, i.e., it won't work on any of the Calypso+Iota+Rita devices | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 170 built or supported by FreeCalypso, but our tiaud-compile and tiaud-decomp | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 171 utilities support it because it is nominally supported by TI's RiViera Audio | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 172 Service and its binary data structure for audio mode configuration. | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 173 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 174 * When mic is set to aux, an additional mic setting called extra-gain becomes | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 175 available. If extra-gain is set to 0, the AUXI gain will be set to 28.2 dB, | 
| 247 
b5b148ef63da
doc/Audio-mode-config: fixed logic error in the description of extra-gain
 Mychaela Falconia <falcon@freecalypso.org> parents: 
245diff
changeset | 176 if extra-gain is set to 1, the AUXI gain will be set to 4.6 dB; all other | 
| 245 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 177 values will be considered invalid by the firmware. | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 178 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 179 * Each of the two FIR filters in the DSP (one for uplink, one for downlink) has | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 180 a total of 31 coefficients, numbered 0 through 30, inclusive. In the ASCII | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 181 input to tiaud-compile you can put each coefficient on its own fir line, put | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 182 all 31 coefficients on the same line, or group them in any other way you like. | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 183 The grouping used in the tiaud-decomp output has been chosen for line length | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 184 reasons. | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 185 | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 186 * The numbers given on fir and aec lines are 16-bit values that go directly into | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 187 the DSP; the former are FIR coefficients and the latter are bit masks. They | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 188 can be given as either decimal or hexadecimal with 0x prefix in the ASCII | 
| 
796c659b747c
doc/Audio-mode-config written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 189 input to tiaud-compile. | 
