FreeCalypso > hg > fc-magnetite
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.