HTTPS SSH
You are looking at the source tree for FreeCalypso Citrine, which is the final
state of our first attempt at gcc-built FreeCalypso modem firmware, the first
attempt that started in late 2013 (then called simply FreeCalypso GSM fw) and
was deemed a dead end in late 2016 (then named FC Citrine).

FC Citrine firmware project is now retired and will not receive any further
development or support; it is now fully supplanted by the newer FreeCalypso
Selenite firmware:

https://bitbucket.org/falconian/fc-selenite

FC Selenite offers the option of compiling either with TI's original TMS470
compiler or with gcc; when built with gcc, FC Selenite does not contain any
blobs and is no less free than FC Citrine.  However, the configuration and
build system of FC Selenite has been derived from FC Magnetite, and is very
different from FC Citrine.

FC Citrine does not contain any code for CSD, fax or GPRS support (only voice
and SMS are supported), and it also omits the infrastructure for driving various
Calypso DSP-based audio services, functionality that was considered mandatory
and always included in TI's original TCS211 fw.  OTOH, FC Selenite retains the
full architecture and functionality of TCS211, including CSD, fax, GPRS, audio
services and L1 test modes, and CSD and audio functions already work in the
gcc-built version, providing a functionality increase over Citrine.  (GPRS is
currently broken in Selenite-gcc as of this writing.)

FC Citrine has been unmaintained since 2016-10; there have been many new
developments since then, including loudspeaker and MCSI digital voice interface
control on our FCDEV3B platform and better support for the legacy Compal and
Pirelli targets (more proper RF operation, battery charging and automatic
power-off on host disconnection); these new developments are available in our
newer Magnetite and Selenite firmwares, but not in Citrine.

There are only a few features in Citrine which have not been replicated in our
Magnetite or Selenite firmwares yet; these features *can* be replicated in FC
Selenite, but there has been insufficient justification so far for expending
the necessary effort:

* FC Citrine supports the Motorola C155/156 target; FC Selenite currently
  supports only C11x/12x and C139/140.  Mot C155/156 phones are not very common,
  much less common than the other two subfamilies, and in any case the proper
  way forward is our own FreeCalypso hardware, not hacking Mot C1xx phones of
  any variant.

* FC Citrine supports an FFS-in-RAM hack; FC Selenite requires the FFS to be in
  flash just like FC Magnetite and all of TI's original firmwares.  Citrine's
  FFS-in-RAM hack is only useful on the C155/156 target (see the previous point)
  and on the Pirelli DP-L10, thus it is ultimately deprecated when we see our
  own FreeCalypso hw as the proper way forward.

* FC Citrine supports a special hack for tapping voice TCH (traffic channel)
  bits with FR and EFR speech codecs (but very notably not with AMR) - see the
  doc/TCH-special-feature write-up.  This functionality has been implemented as
  a paid-for feature for some folks who were working in some highly unusual
  environment, but because the underlying DSP mechanism does not work with AMR,
  its usefulness for the general public community is very dubious.  In the
  Mother's opinion, it does not make sense to port this TCH hack to our newer
  Magnetite and Selenite firmwares unless we also implement some way to force
  the use of FR or EFR codecs on a per-call basis, or at least per GSM network
  connection session, so that our mobile station fw would work in AMR mode
  normally, but go into FR-only or FR&EFR-only restricted operation when the
  user wishes to play with the TCH rerouting special feature.