view README @ 349:ed3e588600c1 default tip

README update for the successful completion of the L1 reconstruction project
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 30 Oct 2017 18:03:24 +0000
parents 95f308ba55c7
children
line wrap: on
line source

This Hg repository contains the result of the two year long project to deblob
the L1 component in our copy of TCS211 from Sotovik by reconstructing the lost
C source - see the Hg history for how this reconstruction has been accomplished.
This reconstruction and deblobbing of TCS211 L1 is now complete: BuSyB XML
config file g23m/system/busyb/deliverydefs/dlvcfg0.xml has been edited to
rebuild all of L1 from source (L1_LIB_DLV, L1_CUST_LIB_DLV and L1_TPU_LIB_DLV
all set to 0), pdt_2091.mak has been regenerated in this configuration, and all
L1 libs are compiled from the reconstructed source under chipsetsw/layer1.

In most cases the reconstructed C source is perfect in that the resulting
object is a bit-for-bit match to the original blob; in other cases the bits do
not match exactly, but the logic has been verified to match nonetheless.  See
STATUS for a detailed analysis of the reconstruction matches and differences.

This tree only supports the original gtamodem target; see FreeCalypso Magnetite
for other target support.

Choice of version for reconstruction
====================================

For some of the L1 objects (those packaged in l1_ext.lib and l1_int.lib) we
have two versions: the original from 20070608 (the same date as the rest of our
TCS211 semi-src) and an updated version of the l1_{ext,int}.lib set from
20080421.  To the best of our knowledge, this 20080421 update was provided by
TI-Taiwan while engaged in a wild goose chase after the infamous bug #1024,
which later turned out to be a pure hardware problem, not involving the firmware
at all.

The differences between the two versions are limited to just 3 objects:
l1_cmplx.obj and l1p_cmpl.obj in l1_ext.lib, and l1_ctl.obj in l1_int.lib.

When we were reconstructing l1_cmplx.c, l1_ctl.c and l1p_cmpl.c from the
available LoCosto source, the reconstruction of the original 20070608 version
came more easily than the 20080421 update, and our reconstruction of these 3
modules matches the 20070608 objects bit for bit.  It thus appears that
whatever changes TI's customer support group made in that 20080421 version were
not on TI's internal mainline.

Because the 20080421 L1 libs update was made for no other purpose except an
attempt to debug or fix what was erroneously believed to be a firmware problem
but turned out to be hw instead, we have every reason to believe that it does
not improve anything and is ultimately unnecessary.  And because the original
20070608 version was easier to source-reconstruct than the other, we are
adopting the original 20070608 version and our reconstruction of its C source
form as the canonical version of TCS211 L1 for FreeCalypso.