FreeCalypso > hg > freecalypso-docs
view FC-modem-family @ 71:bf7a0c2b2b50
Tango-pinmux: add programming instructions
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 17 Jul 2021 17:19:00 +0000 |
parents | 7aed57fc1928 |
children |
line wrap: on
line source
The very first FreeCalypso hardware product named FCDEV3B was conceived in 2015 and physically produced in the first version in 2017, with the final all-bugs- fixed version produced in early 2019. FCDEV3B was conceived to fulfill an internal project need: to replace no longer available and quite inconvenient Openmoko hardware, and to provide a platform for empirically learning those parts of TI's chipset+fw solution which were previously elusive. The '3B' at the end of FCDEV3B board name stands for triband, which was a deviation from the Mother's original desires: ever since I first found TI's Leonardo schematics back in 2011, I had always wanted to make all of my FreeCalypso hw designs fully quadband, following TI's original Leonardo+ quadband reference design. But in 2015 we lacked the necessary know-how to recreate TI's quadband Leonardo from schematics alone, whereas for Openmoko's triband version we had not only schematics, but also the complete PCB layout - thus we took the only course of action that was viable at that time, and produced our FCDEV3B based on Openmoko's version of the Calypso modem. At the same time when our first FCDEV3B boards were being produced and debugged, there was talk about producing a derivative version that would be packaged as a component to be integrated into other people's systems and projects, as opposed to a standalone development board for use on a lab bench. I also did not feel like staying triband forever, and the thought of a future quadband successor was on my mind even as FCDEV3B was being designed. Thus there was an intent to have a family of FreeCalypso modem products, eventually evolving from triband to quadband, and being made in different form factors for different use cases. But none of these ideas ever came to fruition because no one ever funded any of them. The situation changed drastically with the discovery of already existing Tango modem modules, discovery that was made in December of 2019 and fully accepted as the new reality over the course of 2020. The newly discovered Tango modem module is essentially a mass-produced version of TI's Leonardo+ quadband reference design, and it is a very good module, even more capable than what we would have produced if someone had funded our ideas in the 2017 to 2019 period. In this new Tango reality it makes absolutely no business sense to produce any new FreeCalypso modem modules, so instead we decided on a different and quite novel course of action: we are officially adopting this already existing Tango module into our FreeCalypso family by way of rebranding - we are going to resell these modules as FreeCalypso Tango, flashed with our FreeCalypso firmware and differentiated from non-FC-sourced modules with a sticker bearing our trademark. Our rebranded and reflashed FC Tango modules are expected to become available in December of 2020. On the FreeCalypso firmware side, our earlier idea of a single fcmodem target that would cover multiple physical hw products in the FC modem family has been withdrawn: our existing FCDEV3B hw is covered by firmware build target fcdev3b, whereas Tango modems are covered by fw build target tangomdm. Openmoko modems are covered by fw build target gtamodem. None of these 3 fw build targets are interchangeable: each build will only work on its one respective hw target. In the unlikely event that our recently discovered Tango modules prove insufficient and someone commissions us to design and build a new Calypso modem starting from just chips, it will probably make the most sense to design that new modem in such a way that it would share the same fw build with Tango, rather than with FCDEV3B: Tango is much more versatile in terms of how the multitude of Calypso GPIO and multifunction pins may be configured. FreeCalypso handset idea ======================== I (Mother Mychaela) still desire my own FreeCalypso phone handset that would replace my current Pirelli DP-L10 - but it is currently unknown whether or not my personal life circumstances will remain such that this project desire will remain active, or if changes in my personal life circumstances (such as loss of GSM service in the area where I live combined with no ability to relocate to a more GSM-friendly country) will invalidate this project desire. In the now-seemingly-unlikely event that I live long enough with active GSM service to where I would get around to doing this FC handset project, it is my desire to build that handset board starting from just chips, rather than based on Tango. A handset is not a modem, thus handsets and modems generally do not share the same firmware build targets - thus if my dream FC handset board ever becomes a reality, it will have its own dedicated fw build target, not shared with any other hw. I definitely wish to use the same quadband RFFE as Leonardo and Tango, and my currently envisioned choice of flash chip is S71PL064J. CONFIG_TARGET_FCFAM C preprocessor symbol ========================================= As of 2020-09 this C preprocessor symbol (currently defined only for build target fcdev3b) has only two effects: 1) It changes the src/cs/drivers/drv_app/ffs/board/dev.c table of supported flash chips and FFS configurations, as well as a few other FFS config bits to support the large 16 MiB flash config used on FCDEV3B. Targets like Tango with S71PL064J or S71PL032J flash will continue to work equally well whether or not CONFIG_TARGET_FCFAM is defined because these two flash chips are listed in both versions of the table with the same FFS config, but 16 MiB flash chips S71PL129J and S71PL129N are supported only with CONFIG_TARGET_FCFAM and cannot be otherwise, as their 2nd flash chip select wiring is FC-specific. Yet on the contrary, Samsung K5A32xxCTM with Openmoko's FFS config (also used by Huawei) is NOT compatible with CONFIG_TARGET_FCFAM. 2) It changes the default compiled-in AFC Psi parameters in L1 from TI's Leonardo values to a different set of numbers that match Openmoko/FCDEV3B VCXO. But these compiled-in values are only fallbacks, and are generally expected to be overridden by factory calibration written into FFS. -h fcfam target for fc-loadtool =============================== The -h fcfam target must be used with FCDEV3B, no other loadtool configs will work: FCDEV3B has a 16 MiB flash chip that is only supported with -h fcfam. Either -h fcfam or -h gen8 will work equally well on FC Tango modems (S71PL064J flash chip), thus you can use whichever config you feel is more philosophically correct.