annotate doc/Audio-mode-config @ 846:a2e17e0f9622

CHANGES: document fc-tmsync mpr & madc command additions
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 31 Jul 2021 22:37:34 +0000
parents 6a0fcbca8ac7
children 6e137995c9c8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
838
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
55 headset, and if the phone uses its hands-free loudspeaker plus the Calypso DSP
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
56 to play ringtones (as opposed to using a buzzer on BU/PWT or a ringtone player
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
57 chip that drives the speaker bypassing the voice path), there will also need to
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
58 be an output-only audio configuration for ringing.
245
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 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
61 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
62 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
63 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
64 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
65 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: 247
diff changeset
66 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
67 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
68 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
69 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
70 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
71 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
72 companion files, which are also binary.
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
73
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74 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
75 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
76 (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
77 "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
78 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
79 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
80 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
81 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
82 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
83 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
84 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
85 FreeCalypso.
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
86
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
87 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
88 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
89 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
90 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
91 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
92 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
93 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
94 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
95 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
96 notoriously fails to do.
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
97
838
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
98 Old vs. new AEC
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
99 ===============
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
100
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
101 One of the settings in the audio mode config structure underwent an evolutionary
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
102 change within the span of history that is relevant to FreeCalypso - this setting
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
103 is the configuration for AEC, the Acoustic Echo Cancellation functional block
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
104 of the Calypso DSP. As TI's GSM DSPs evolved (before, during and after the
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
105 Calypso era), their AEC implementation evolved along with the rest, and
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
106 different evolutionary versions of AEC require different configuration and
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
107 tuning parameters. When the audio mode facility was first implemented, the AEC
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
108 block in TI's GSM DSPs of that time was controlled with a single 16-bit control
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
109 word; the people in the SSA group who implemented RiViera Audio Service then
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
110 decided to split different bits from this one DSP control word into 5 different
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
111 parameter words, and the result was the "old" 5-word AEC config.
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
112
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
113 But the version of AEC implemented in the DSP ROM in the Calypso silicon version
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
114 we work with is slightly newer; this version corresponds to what TI's L1 code
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
115 calls L1_NEW_AEC. However, the waters then got muddied: for reasons which we
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
116 (FreeCalypso team) cannot understand (perhaps miscommunication between different
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
117 groups at TI), TI's TCS211 reference firmware shipped with L1_NEW_AEC disabled
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
118 (C preprocessor symbol set to 0 instead of 1), even though the underlying DSP
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
119 AEC block (combination of ROM and official patches) is the "new" kind and not
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
120 the "old" one. There are two fallouts from this software misconfiguration on
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
121 TI's part:
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
122
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
123 1) If one takes stock TCS211 from TI or any derivative version in which this
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
124 aspect is unchanged (all mokoN firmwares, and all FC firmwares up to
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
125 Magnetite) and tries to enable AEC, the result will be a poor AEC
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
126 configuration: the old echo level and long vs short settings do nothing on
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
127 the new DSP, whereas the new tunable parameters will remain at their defaults
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
128 with no way to tweak them. I (Mother Mychaela) can only guess that this
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
129 situation is what Openmoko must have run into when they tried to get AEC
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
130 working.
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
131
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
132 2) When someone downstream of TI figures out that L1_NEW_AEC needs to be changed
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
133 from 0 to 1 and actually makes that change, like we did in our Tourmaline fw,
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
134 the format and size of the audio mode binary structure change, and all old
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
135 audio mode config files become invalid.
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
136
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
137 Our FreeCalypso work is affected by point 2 above: we started working with audio
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
138 mode config files in 2017, using the old AEC configuration, and only made the
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
139 switch to L1_NEW_AEC in 2021. We now have two kinds of audio mode config binary
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
140 files: the old kind that are 164 bytes long, and the new kind that are 176 bytes
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
141 long. Our Tourmaline firmware has L1_NEW_AEC enabled, while Magnetite (our
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
142 legacy backward compatiblity fw) has it disabled.
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
143
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
144 To prevent loading of garbage into AEC config when an audio mode file of the
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
145 wrong kind is loaded, we have implemented the following workaround in both
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
146 Tourmaline and Magnetite: if the loaded mode config file has the wrong length,
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
147 the AEC config is set to the default disabled state instead of whatever is in
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
148 the mode file - loading an AEC config of the wrong format is not possible.
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
149
245
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
150 Default audio configuration
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
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
153 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
154 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
155 (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
156 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
157 utility emits as output:
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 voice-path 0
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
160 mic default {
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
161 gain 3
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
162 output-bias 0
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
163 fir 0 0x4000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
164 fir 8 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
165 fir 16 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
166 fir 24 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
167 }
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
168 speaker ear+aux {
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
169 gain 0
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
170 audio-filter 0
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
171 fir 0 0x4000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
172 fir 8 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
173 fir 16 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
174 fir 24 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
175 }
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
176 sidetone -5
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
177 aec 0 0 0 0 0
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
178
838
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
179 The above version is the one produced by Magnetite and earlier firmwares without
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
180 L1_NEW_AEC; in the new Tourmaline version the last line changes to:
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
181
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
182 aec-new 0 0 0x1 0x7FFF 0x1FFF 0x4000 0x32 0x1000 0x1000 0 0 0
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
183
245
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
184 The meaning is as follows:
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 * 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
187 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
188 voice hardware attached to the ABB.
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
189
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
190 * 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
191 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
192 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
193
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
194 * 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
195 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
196
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
197 * 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
198
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
199 * 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
200 is NOT set, i.e., the normal configuration.
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
201
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
202 * 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
203 coefficients are set to zero.
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
204
838
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
205 * The AEC mechanism in the DSP is disabled, although the format of the bits that
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
206 say so is different between old and new AEC versions. In the new version
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
207 there are a number of tunable settings that only kick in when AEC is enabled;
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
208 when AEC is disabled by default, these tunable knobs still have sensible
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
209 defaults that aren't all zeros.
245
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
210
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
211 Creating your own audio mode configurations
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
212 ===========================================
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
213
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
214 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
215 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
216 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
217 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
218 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
219 it matters!) A few notes:
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
220
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
221 * 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
222 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
223 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
224 meaning that the filter is *enabled*.
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
225
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
226 * 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
227 corresponding to MICIN&MICIP, AUXI and HSMICP analog inputs, respectively.
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
228
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
229 * 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
230 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
231 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
232 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
233 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
234 Service and its binary data structure for audio mode configuration.
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
235
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
236 * 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
237 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: 245
diff changeset
238 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
239 values will be considered invalid by the firmware.
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
240
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
241 * 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
242 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
243 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
244 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
245 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
246 reasons.
796c659b747c doc/Audio-mode-config written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
247
838
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
248 aec vs aec-new in tiaud-compile input
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
249 =====================================
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
250
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
251 tiaud-compile accepts both aec (old) and aec-new settings; aec must be followed
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
252 by 5 numbers, aec-new must be followed by 12 numbers. Each number is a 16-bit
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
253 value, and they go into the binary structure without further interpretation by
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
254 tiaud-compile - instead the firmware is the entity that gives them meaning.
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
255 Numbers without 0x prefix are interpreted as decimal.
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
256
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
257 tiaud-compile will generate one type or the other of the binary output file,
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
258 following these rules:
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
259
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
260 * If an aec setting is given, a 164 byte file will be produced, with the 5 AEC
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
261 words being the given ones.
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
262
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
263 * If an aec-new setting is given, a 176 byte file will be produced, with the 12
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
264 AEC words being the given ones.
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
265
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
266 * If neither setting is given, a 164 byte file will be produced, with the 5 AEC
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
267 words of the old type being all zeros. Thanks to the modified audio mode
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
268 loading code in our firmwares, these 164 byte mode files can still be used
02d92d49c9f8 doc/Audio-mode-config: update for old vs new AEC
Mychaela Falconia <falcon@freecalypso.org>
parents: 261
diff changeset
269 with current Tourmaline fw, with AEC set to its default disabled state.
843
6a0fcbca8ac7 document fc-tmsync aur & aur-all addition
Mychaela Falconia <falcon@freecalypso.org>
parents: 838
diff changeset
270
6a0fcbca8ac7 document fc-tmsync aur & aur-all addition
Mychaela Falconia <falcon@freecalypso.org>
parents: 838
diff changeset
271 fc-tmsync aur and aur-all addition
6a0fcbca8ac7 document fc-tmsync aur & aur-all addition
Mychaela Falconia <falcon@freecalypso.org>
parents: 838
diff changeset
272 ==================================
6a0fcbca8ac7 document fc-tmsync aur & aur-all addition
Mychaela Falconia <falcon@freecalypso.org>
parents: 838
diff changeset
273
6a0fcbca8ac7 document fc-tmsync aur & aur-all addition
Mychaela Falconia <falcon@freecalypso.org>
parents: 838
diff changeset
274 New addition as of fc-host-tools-r16: our aur command which natively resides in
6a0fcbca8ac7 document fc-tmsync aur & aur-all addition
Mychaela Falconia <falcon@freecalypso.org>
parents: 838
diff changeset
275 fc-tmsh (audio mode full access read operation via ETM) has also been
6a0fcbca8ac7 document fc-tmsync aur & aur-all addition
Mychaela Falconia <falcon@freecalypso.org>
parents: 838
diff changeset
276 implemented in fc-tmsync for scripted usage. Furthermore, we also implemented
6a0fcbca8ac7 document fc-tmsync aur & aur-all addition
Mychaela Falconia <falcon@freecalypso.org>
parents: 838
diff changeset
277 an aur-all command that issues the same sequence of aur operations as the
6a0fcbca8ac7 document fc-tmsync aur & aur-all addition
Mychaela Falconia <falcon@freecalypso.org>
parents: 838
diff changeset
278 firmware's built-in audio_mode_save() and emits the output on stdout in the same
6a0fcbca8ac7 document fc-tmsync aur & aur-all addition
Mychaela Falconia <falcon@freecalypso.org>
parents: 838
diff changeset
279 format as tiaud-decomp. The end effect is that fc-tmsync aur-all is a much
6a0fcbca8ac7 document fc-tmsync aur & aur-all addition
Mychaela Falconia <falcon@freecalypso.org>
parents: 838
diff changeset
280 shorter and more direct way of obtaining exactly the same result as would
6a0fcbca8ac7 document fc-tmsync aur & aur-all addition
Mychaela Falconia <falcon@freecalypso.org>
parents: 838
diff changeset
281 previously be obtained by saving the current audio mode config with aus, reading
6a0fcbca8ac7 document fc-tmsync aur & aur-all addition
Mychaela Falconia <falcon@freecalypso.org>
parents: 838
diff changeset
282 out the resulting binary file with fc-fsio and decoding it with tiaud-decomp.
6a0fcbca8ac7 document fc-tmsync aur & aur-all addition
Mychaela Falconia <falcon@freecalypso.org>
parents: 838
diff changeset
283
6a0fcbca8ac7 document fc-tmsync aur & aur-all addition
Mychaela Falconia <falcon@freecalypso.org>
parents: 838
diff changeset
284 The implementation of aur-all and the more elementary aur 12 command in
6a0fcbca8ac7 document fc-tmsync aur & aur-all addition
Mychaela Falconia <falcon@freecalypso.org>
parents: 838
diff changeset
285 fc-tmsync works only with firmware versions that have L1_NEW_AEC enabled -
6a0fcbca8ac7 document fc-tmsync aur & aur-all addition
Mychaela Falconia <falcon@freecalypso.org>
parents: 838
diff changeset
286 therefore, these commands work with FC Tourmaline but not Magnetite.
6a0fcbca8ac7 document fc-tmsync aur & aur-all addition
Mychaela Falconia <falcon@freecalypso.org>
parents: 838
diff changeset
287
6a0fcbca8ac7 document fc-tmsync aur & aur-all addition
Mychaela Falconia <falcon@freecalypso.org>
parents: 838
diff changeset
288 Furthermore, our aur command in both fc-tmsh and fc-tmsync and the new fc-tmsync
6a0fcbca8ac7 document fc-tmsync aur & aur-all addition
Mychaela Falconia <falcon@freecalypso.org>
parents: 838
diff changeset
289 aur-all command also work against Pirelli's firmware - this alien fw implements
6a0fcbca8ac7 document fc-tmsync aur & aur-all addition
Mychaela Falconia <falcon@freecalypso.org>
parents: 838
diff changeset
290 ETM aur operation exactly the same as standard TCS211, and it has L1_NEW_AEC
6a0fcbca8ac7 document fc-tmsync aur & aur-all addition
Mychaela Falconia <falcon@freecalypso.org>
parents: 838
diff changeset
291 enabled, such that aur 12 returns the 24 byte long L1_NEW_AEC version of
6a0fcbca8ac7 document fc-tmsync aur & aur-all addition
Mychaela Falconia <falcon@freecalypso.org>
parents: 838
diff changeset
292 T_AUDIO_AEC_CFG structure. The combination of this functionality in Pirelli's
6a0fcbca8ac7 document fc-tmsync aur & aur-all addition
Mychaela Falconia <falcon@freecalypso.org>
parents: 838
diff changeset
293 fw and our fc-tmsync addition makes it possible to read out Pirelli's highly
6a0fcbca8ac7 document fc-tmsync aur & aur-all addition
Mychaela Falconia <falcon@freecalypso.org>
parents: 838
diff changeset
294 tuned audio configurations in a very convenient manner, much more convenient
6a0fcbca8ac7 document fc-tmsync aur & aur-all addition
Mychaela Falconia <falcon@freecalypso.org>
parents: 838
diff changeset
295 than reading ABB registers with abbr and reading DSP API words with r16.