view doc/FCDEV3B-751774 @ 635:baa0a02bc676

niq32.c DTR handling restored for targets that have it TI's original TCS211 fw treated GPIO 3 as the DTR input (wired so on C-Sample and D-Sample boards, also compatible with Leonardo and FCDEV3B which have a fixed pull-down resistor on this GPIO line), and the code in niq32.c called UAF_DTRInterruptHandler() (implemented in uartfax.c) from the IQ_KeypadGPIOHandler() function. But on Openmoko's GTA02 with their official fw this GPIO is a floating input, all of the DTR handling code in uartfax.c including the interrupt logic is still there, but the hobbled TCS211-20070608 semi-src delivery which OM got from TI contained a change in niq32.c (which had been kept in FC until now) that removed the call to UAF_DTRInterruptHandler() as part of those not-quite-understood "CC test" hacks. The present change fixes this bug at a long last: if we are building fw for a target that has TI's "classic" DTR & DCD GPIO arrangement (dsample, fcmodem and gtm900), we bring back all of TI's original code in both uartfax.c and niq32.c, whereas if we are building fw for a target that does not use this classic GPIO arrangement, the code in niq32.c goes back to what we got from OM and all DTR & DCD code in uartfax.c is conditioned out. This change also removes the very last remaining bit of "CC test" bogosity from our FreeCalypso code base.
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 19 Jan 2020 01:41:35 +0000
parents 9f19cc5e46e8
children
line wrap: on
line source

We have one experimental FCDEV3B V2 board on which our regular Calypso chip
([P]D751992AGHH) has been replaced with D751774AGHH, an earlier F-number
featuring DSP ROM version 3416 rather than the final version 3606 which we
normally work with.  Both chip versions are Calypso C035 variants (ARM7 running
at 52 MHz, DSP running at 104 MHz), and both include AMR support - but there
must have been some issue with DSP version 34 (and maybe version 35 used in
Calypso+) that compelled TI to produce the newer and final version 36 which we
are most familiar with.

Our Layer1 code is based on TI's TCS211-20070608 semi-src release (which we have
reconstructed back to full source), and it officially supports only DSP 36.
However, our FC Magnetite firmware can also be built for DSP 34 targets (see
the Calypso-version-override article), in which case we use a monolithic DSP
patch (no L1_DYN_DSP_DWNLD) extracted from the TSM30 source.  The patch version
is 4130.

The configure.sh target name for this special modified board is fcdev3b-dsp34
instead of just fcdev3b, and the two firmware builds are not interchangeable:
the regular fcdev3b build goes into regular FCDEV3B boards, the special
fcdev3b-dsp34 build goes into the special FCDEV3B-751774 board.  However, when
running its respective build this DSP 34 board appears to function just as well
as our regular DSP 36 targets: standalone RF tests work, DSP-based audio
services (beeps and Melody E1) work, connecting to a live GSM network worked,
a few test voice calls worked, all of them connected in AMR mode, voice passed
successfully in both directions.

Going forward, we shall continue using D751992AGHH chips with DSP ROM version
3606 as our regular platform, but it is nice to know that the earlier DSP 34
apparently works too.