comparison doc/Leonardo-target @ 634:6edd9be81b94

doc/Leonardo-target: update for Tango and Caramel
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 04 Jan 2020 20:48:07 +0000
parents b639f7ab0007
children edaceb78719a
comparison
equal deleted inserted replaced
633:f760e858098b 634:6edd9be81b94
18 TSPACT control lines for their triband RFFE; producing a build configuration 18 TSPACT control lines for their triband RFFE; producing a build configuration
19 with these TSPACT control signals put back into their original Leonardo 19 with these TSPACT control signals put back into their original Leonardo
20 arrangement became trivial once our reconstruction of tpudrv12.c from 20 arrangement became trivial once our reconstruction of tpudrv12.c from
21 disassembly of tpudrv12.obj reached production quality. 21 disassembly of tpudrv12.obj reached production quality.
22 22
23 2) We are currently evaluating a certain third-party (non-TI) development board 23 2) At the end of 2019 we discovered a certain modem module which we call Tango,
24 which strongly appears to be a very close derivative of Leonardo, even closer 24 and this Tango module is essentially a mass-produced version of TI's Leonardo
25 than Openmoko. We are hoping to get one of these boards into Mother 25 core. Tango is just the core of Leonardo, without any peripherals, thus a
26 Mychaela's lab some time in 2020-01, at which time we will try running our 26 proper fw build target for any given Tango-based platform is going to be a
27 Magnetite-Leonardo fw on it. 27 little different from Leonardo in terms of GPIO and other peripheral config
28 (see our tangomdm target), but initially we ran our Magnetite-Leonardo fw
29 (built for target leonardo) on our Caramel board - it runs just fine except
30 for GPIO config being slightly wrong, leaving a few GPIO lines floating.
28 31
29 Supported Leonardo variants 32 Supported Leonardo variants
30 =========================== 33 ===========================
31 34
32 RF bands: there were several Leonardo variants with full quadband RF using Epcos 35 RF bands: there were several Leonardo variants with full quadband RF using Epcos
99 in AI_InitIOConfig() so this GPIO line never becomes an output in the first 102 in AI_InitIOConfig() so this GPIO line never becomes an output in the first
100 place, and our targets/leonardo.h configuration header defines 103 place, and our targets/leonardo.h configuration header defines
101 UARTFAX_CLASSIC_DTR_DCD to 0 on this target, disabling that code in the 104 UARTFAX_CLASSIC_DTR_DCD to 0 on this target, disabling that code in the
102 uartfax.c driver. 105 uartfax.c driver.
103 106
107 This peculiar GPIO 2 situation applies only to real Leonardo boards, not to
108 Tango modems: a custom design using a Tango module can use this GPIO line for
109 anything, but on Caramel boards it drives RS-232 DCD like on D-Sample and thus
110 should be configured as a Calypso output.
111
104 Other GPIO and multifunction pins 112 Other GPIO and multifunction pins
105 ================================= 113 =================================
106 114
107 Our Magnetite-Leonardo fw is unchanged from TI's TCS211 original in that GPIO0, 115 Our Magnetite-Leonardo fw is unchanged from TI's TCS211 original in that GPIO0,
108 TSPDI/GPIO4 and DSR_MODEM/LPG pins are left configured as inputs, even though 116 TSPDI/GPIO4 and DSR_MODEM/LPG pins are left configured as inputs, even though
111 to not float. We are leaving this aspect unchanged currently because this 119 to not float. We are leaving this aspect unchanged currently because this
112 Magnetite-Leonardo fw build target is really just a reference for practically 120 Magnetite-Leonardo fw build target is really just a reference for practically
113 non-existent hw, and given the unknown of what other Leonardo variants may have 121 non-existent hw, and given the unknown of what other Leonardo variants may have
114 existed once beyond our known schematics, we would rather leave a few floating 122 existed once beyond our known schematics, we would rather leave a few floating
115 inputs than risk causing a driver conflict on some unknown board. 123 inputs than risk causing a driver conflict on some unknown board.
124
125 In the case of Tango these 3 just-mentioned Calypso signals are contained inside
126 the module (not brought out), and it is currently unknown if they are simply
127 unconnected or if perhaps they are tied to either GND or V-IO inside the module.
128 The Tango manuf's original fw leaves these signals in their power-up default as
129 Calypso inputs, hence we do the same currently in order to not risk causing a
130 short. At some later time when our finances allow doing so, we may send a
131 sacrificial Tango module for destructive PCB reverse eng and see what is really
132 done with these Calypso signals - if they are really unconnected, then we can
133 change the code to switch them to outputs, just like we have done for the
134 gtamodem target where the original manuf's official fw also left a bunch of
135 floating inputs.