view doc/FCDEV3B-751774 @ 673:62a5285e014a

Lorekeeping: allow tpudrv-leonardo.lib on Leonardo/Tango Back in 2015 the Mother's idea was to produce a FreeCalypso development board that would be a clone of TI Leonardo, including the original quadband RFFE; one major additional stipulation was that this board needed to be able to run original unmodified TCS211-20070608 firmware with all blobs intact, with only minimal binary patches to main.lib and tpudrv.lib. The necessary patched libs were produced at that time in the tcs211-patches repository. That plan was changed and we produced FCDEV3B instead, with Openmoko's triband RFFE instead of Leonardo quadband, but when FC Magnetite started in 2016, a TPUDRV_blob= provision was still made, allowing the possibility of patching OM's tpudrv.lib for a restored Leonardo RFFE. Now in 2020 we have FC Tango which is essentially a verbatim clone of Leonardo core, including the original quadband RFFE. We have also deblobbed our firmware so much that we have absolutely no real need for a blob version of tpudrv.lib - but I thought it would be neat to put the ancient TPUDRV_blob= mechanism (classic config) to its originally intended use, just for the heck of it.
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 29 May 2020 03:55:36 +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.