Hello FreeCalypso community, It has been brought to my attention that even some of our long-timers do not fully understand the difference between our Citrine and Magnetite firmwares and between the classic/l1reconst and hybrid configurations of FC Magnetite in terms of the G23M protocol stack (a major firmware component), hence I am making this explanatory post.
In terms of our starting point, we have two versions of G23M: one dated 20070608 and in the form of binary libs (came with our TCS211 semi-src), the other dated 20090327 (newer) in the form of C source (came with TCS3/LoCosto source). Well, OK, for the sake of completeness we also have a third version, the one from TSM30, also in full source form, but it dates from 2003 and has been heavily mutilated by Purple Labs who did not like TI's fw architecture and changed it to their own. Prior to the discovery of the LoCosto/Peek leak (back in early 2013 when FreeCalypso was no more than an idea and a cute name) I was looking at the TSM30 version as the only available C source to replace the blobs, but once we found the LoCosto version, TSM30 became unnecessary. The TSM30 source did help a little bit in the reconstruction of TCS211 L1 where we needed to reverse TI's Calypso->LoCosto changes, but G23M is chipset-independent, thus in the case of G23M the full C source version from 20090327 is the only one we need, no need to even look at the TSM30 version from 2003. The 20090327 version of G23M is used in Citrine and in the TCS2/TCS3 hybrid config of Magnetite, and the current official status of both firmwares is still "experimental, not for production use". The 20070608 all-blobs version of G23M is used in the classic and l1reconst configurations of Magnetite, and this is the version that is currently considered fit for production use, thanks to having been proven for the latter kind of use by Openmoko. Obviously a major goal of the FreeCalypso family of projects is to have a fit-for-production-use firmware version that is blob-free, but this goal has not been achieved yet. The next step on the road to blob-free, fit-for-production-use fw is to thoroughly exercise the TCS2/TCS3 hybrid config of Magnetite, shake out its bugs (no known major ones, but probably a slew of little ones) and get to a point where it can be used with confidence in the place of the currently-stable l1reconst config that uses the 20070608 blob version of G23M. I created this TCS2/TCS3 hybrid config in Magnetite and proved it basically working back in the fall of 2016, but further work on this version was paused until we have proper hardware. Now that we finally do have proper hw in the form of FCDEV3B, it is now a good time to start exercising this TCS2/TCS3 hybrid config and comparing against the stable l1reconst version. Who can do the above? I am still busy with FCDEV3B hardware and calibration issues and not really available for sw/fw work, Serg has his own project (a specialized application of FreeCalypso hw and sw), but we also have one more community member with developer qualifications: Das Signal. He does not have an FCDEV3B yet, but I am in the process of preparing a board to send to him, and when he gets this board, it is possible that he might be able to help us a little on the sw/fw side of things. And if not DS or Serg, then I'll tackle it myself at a later time after I'm done with FCDEV3B hardware and calibration issues I'm currently working on. Hasta la Victoria, Siempre, Mychaela aka The Mother _______________________________________________ Community mailing list [email protected] https://www.freecalypso.org/mailman/listinfo/community
