view compal/audio/tfc139-headset-entry @ 382:4307b57229d3

miscprog: tone-convert written, compiles
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 10 Nov 2021 00:04:12 +0000
parents 82fb5a70c9fd
children
line wrap: on
line source

The following results have been obtained by connecting to a C139 phone via the
headset jack, switching to "Trace On" via the **16379# hidden menu, breaking in
with tfc139, then running the new tfc139-audio-dump command in fc-loadtool:

d_aec_ctrl: 0x03C7
New AEC params: 0x0001 0x0014 0x4CCC 0x59AD 0x7500 0x0000 0x1000 0x1000

Uplink FIR coefficients:

0x4000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000

Downlink FIR coefficients:

0x7FFF 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000
0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000

VBCTRL1: 0x004
VBCTRL2: 0x007
VBPOP:   0x004
VBUCTRL: 0x1B2
VBDCTRL: 0x069

Commentary: the values read out of VBCTRL1 and VBCTRL2 registers are consistent
with the headset audio channel being selected for both input and output, leading
to the suspicion that the firmware probably switched the audio path to headset
mode even though the **16379# hidden menu selection was set to "Trace On".  The
Mother's primary interest here is to see the official C139 fw settings for the
handheld audio mode (built-in earpiece and mic) rather than the headset mode,
but it now appears that such capture won't be possible except maybe by
connecting to the production test pads inside the battery compartment,
bypassing the headset jack.

Looking at what appears to be C139 headset mode audio config, we see that
HSMICBIAS voltage is set to 2.0 V, the uplink gain is set to 8 dB, and the
sidetone level is set to -23 dB: we get this info from the MICBIAS bit in
VBCTRL1 and the VBUCTRL setting.  Decoding VBDCTRL, we see that the volume
control is set to -6 dB and the PGA gain is set to 3 dB.  However, these
VBDCTRL settings don't tell us much: see the volume-ctrl article.

Also note the FIR coefficient oddity: no frequency curve-transforming FIR
filters are being set up, neither UL nor DL, but DL FIR coefficient 0 is set to
0x7FFF instead of 0x4000.  This oddity means that Calypso DL FIR block is
producing a 6 dB gain (doubling of the samples) purely on the digital side,
before DL audio passes to the ABB - certainly a noteworthy hack.