Different Calypso chip versions

Mychaela Falconia mychaela.falconia at gmail.com
Fri Dec 28 20:54:45 UTC 2018

Hello again everyone,

I have previously alluded on various occasions to there being several
different versions of TI's Calypso silicon, i.e., just saying "Calypso"
does not strictly specify exactly which chip is involved.  Now is a
good time to review the versions I know about:

* The earliest Calypso chips were done in what TI called C05 (must be
their name for the process technology they used), whereas the later
ones were done in what they called C035 - some finer process, I am
guessing.  Thus we have Calypso C05 and Calypso C035, and there are
plenty of diffs: many hw bugs were fixed in C035, the required core
voltage is different (1.8 V for C05, 1.5 V for C035), C035 allows
higher clock speeds for both ARM and DSP cores, the new ARM boot ROM
version for C035 (v0300) fixes the bugs in the previous C05 versions
that made flash boot mode 0 unusable and precluded run-from-RAM
firmwares from using interrupts, the DSP ROM is different, and Calypso
C035 officially supports AMR whereas C05 does not - though I don't
know if it is the newer DSP ROM code or the higher DSP clock speed
that does the trick.

* All of Motorola/Openmoko/Pirelli phones which both we and OsmocomBB
have been playing with, as well as our own FCDEV3B board, have Calypso
C035 chips in them - the only Calypso C05 board we have is my TI
D-Sample board from 2002, on which we got this old Calypso version
working just fine, but no radio because we lack tpudrv10.c for Clara RF.

* In the case of our most-familiar Calypso C035, there are further
subversions!  There is the well-known diff between "full Calypso" vs.
Calypso Lite (512 KiB or 256 KiB of fast internal RAM), but there is
one other quite insidious diff between several different Calypso C035
silicon versions: some have DSP ROM version 3416 in the silicon,
whereas others have the newer (and final for the Calypso) version 3606.

It is quite a mystery to me what was so wrong with DSP ROM version
3416 that they couldn't simply fix with a downloadable DSP patch, why
did they have to go through the cost of a chip respin plus the
configuration management nightmare to get a new DSP mask ROM version
out.  Up until now, the only Calypso C035 chips we have worked with
(and the only Calypso chips in general with the exceptions of Calypso
C05 rev B on the D-Sample board) have been the DSP 3606 version.

Now cue in the weird historical M32 modem module from BenQ, physical
manuf dates in late 2006 or early 2007, but the design seems to be
from 2003 or so.  As seen by lifting off the metal shieldcan cover,
the Calypso chip inside is D751774AZHH.  I recognized the 751774
number from the TI docs we've got, it is supposed to be Calypso C035
with DSP ROM version 3416, and the ZHH suffix indicates the RoHS
version of the 179-ball BGA package with 0.8 mm ball pitch, but I
couldn't tell the significance of the 'A' between 751774 and ZHH - I
couldn't tell if it could possibly mean an updated die with DSP ROM
3606 inside or not.

Now the most recent development: our dear community contributor Das
Signal, who had more success than I did with powering up that BenQ M32
modem using the rather dumb breakout board provided by Sure Electronics,
was able to run my calversion program that identifies several
properties of the Calypso chip (the boot ROM version, the DSP ROM
version and the values reported in the documented ID registers), and
got these results for that mysterious D751774AZHH Calypso chip:

* The values in the ID registers correspond to Calypso C035, not C05,
confirming my assumptions based on our available TI docs;

* The ARM boot ROM version is 0300 as expected for C035, but the DSP
ROM version is 3416 - thus we now know that the 'A' in the part number
must be referring to something else, not a DSP mask ROM change, and it
is still 3416 just like the original F751774 for which we have TI docs.

So, what does this finding mean for us in practice?  Going forward in
building our own Calypso-based phones and modems, we are going to
continue using Calypso chip version D751992AGHH or D751992AZHH (SnPb
or RoHS, respectively), with DSP ROM version 3606 in the silicon -
this is the version that was used by Openmoko, it appears to be the
very last Calypso DSP ROM version made by TI, our source-reconstructed
TCS211 version of L1 runs with DSP patch code version 6840 that applies
to DSP ROM version 3606, and this is our "golden" known-working

However, purely as an exercise to expand my Calypso knowledge base, I
am thinking of doing the following experiment: I am going to order a
few D751774AZHH chips (same as in BenQ's module) from my usual Chinese
supplier, and I am thinking of populating one of them on an FCDEV3B
board as an experiment.  It will be an experiment for fun and to
expand my Calypso knowledge base, not for any kind of practical use!
I just want to see how this DSP version 3416 actually runs, will AMR
actually work with it or not, this kind of thing, and it will be much
easier to do this experiment on an FCDEV3B where everything else
already works, as opposed to BenQ M32 where we would need to write an
entirely new RF driver and get it working before we could exercise
anything involving AMR.

Hasta la Victoria, Siempre,
Mychaela aka The Mother

More information about the Community mailing list