annotate doc/TIFFS @ 226:4d706a4134b0

FFS in gsm-fw: generate the legacy block info table at run time
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Mon, 13 Jan 2014 10:15:59 +0000
parents 2900fe603f8a
children 1852900ce9ea
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
224
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1 All TI GSM firmwares known to this author (FreeCalypso developer Space Falcon)
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
2 implement some kind of flash file system, or FFS. Several different FFS code
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
3 implementations, and correspondingly several different on-flash data formats,
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
4 have been used throughout the history of TI's involvement in the wireless
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
5 terminal business. The FFS incarnation of primary interest to the FreeCalypso
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
6 project is the one invented by Mads Meisner-Jensen at TI in the early 2000s
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
7 (at least according to the comments in the sources available to us), and it is
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
8 relevant to us in the following ways:
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
9
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
10 * When targeting the GSM modem in Openmoko's GTA01/02 smartphones, we need to
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
11 work with the original FFS from the factory (call it MokoFFS), the same FFS
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
12 as used by the mokoN firmwares: this FFS contains the IMEI and the RF
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
13 calibration values from the factory, which we most certainly don't want to go
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
14 without.
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
15
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
16 * The Leonardo firmware semi-src which we are using as the reference for
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
17 building our own full source, multi-target GSM fw contains a turnkey-working
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
18 implementation of this very FFS, using the on-flash format in question and
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
19 providing run-time APIs expected by the rest of the GSM fw suite. Following
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
20 the principle of ``if it ain't broke, don't fix it'', we can use this FFS not
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
21 only on the gtamodem target, but also on other targets, including those where
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
22 we would be starting from a blank state and thus have the freedom to use
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
23 whatever FFS we like.
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
24
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
25 * The original proprietary fw on the Pirelli DP-L10 phone also happens to use
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
26 an FFS in the same format. Pirelli's FFS does *not* contain the IMEI or any
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
27 of the RF calibration values though, and trying to reuse it directly for our
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
28 own FC GSM fw seems to be more trouble than benefit - so we'll probably have
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
29 our fw start with a blank TIFFS instead - but there is still insight to be
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
30 gained from in-vitro examination of captured Pirelli FFS images.
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
31
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
32 Naming
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
33 ======
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
34
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
35 I have previously referred to the FFS format in question as Mokopir-FFS or
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
36 MPFFS, from "Moko" and "Pirelli". I was originally hesitant to call it TIFFS,
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
37 as lacking the source code, I had no way of knowing whether the FFS format and
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
38 implementation were of TI's own invention, or something that TI licensed as a
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
39 black box from one of their many proprietary software partners. (I was unable
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
40 to identify it as any well-known, industry-standard FFS format, but absence of
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
41 evidence is not evidence of absence.) But now that we have TI's original source
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
42 code which implements this FFS (first the MV100-0.1.rar source, then the full
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
43 Leonardo one), complete with comments and a HISTORY file, we know that our FFS
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
44 was invented and implemented by someone named Mads Meisner-Jensen at TI - I'm
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
45 guessing in the SSA group in Nice, France.
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
46
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
47 I am now making a naming transition from MPFFS to TIFFS: there is really no
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
48 link between this FFS format and the Openmoko+Pirelli duo, other than the
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
49 happenstance of me having first encountered this FFS on these two GSM device
2900fe603f8a beginning of MPFFS->TIFFS naming convention change
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
50 brands, and the name TIFFS is more neutrally-descriptive.