FreeCalypso > hg > fc-magnetite
view doc/FCDEV3B-751774 @ 629:3231dd9b38c1
armio.c: make GPIOs 8 & 13 outputs driving 1 on all "classic" targets
Calypso GPIOs 8 & 13 are pinmuxed with MCUEN1 & MCUEN2, respectively,
and on powerup these pins are MCUEN, i.e., outputs driving 1. TI's code
for C-Sample and earlier turns them into GPIOs configured as outputs also
driving 1 - so far, so good - but TI's code for BOARD 41 (which covers
D-Sample, Leonardo and all real world Calypso devices derived from the
latter) switches them from MCUEN to GPIOs, but then leaves them as inputs.
Given that the hardware powerup state of these two pins is outputs driving 1,
every Calypso board design MUST be compatible with such driving; typically
these GPIO signals will be either unused and unconnected or connected as
outputs driving some peripheral. Turning these pins into GPIO inputs will
result in floating inputs on every reasonably-wired board, thus I am
convinced that this configuration is nothing but a bug on the part of
whoever wrote this code at TI.
This floating input bug had already been fixed earlier for GTA modem and
FCDEV3B targets; the present change makes the fix unconditional for all
"classic" targets. The newly affected targets are D-Sample, Leonardo,
Tango and GTM900.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 02 Jan 2020 05:38:26 +0000 |
parents | 9f19cc5e46e8 |
children |
line wrap: on
line source
We have one experimental FCDEV3B V2 board on which our regular Calypso chip ([P]D751992AGHH) has been replaced with D751774AGHH, an earlier F-number featuring DSP ROM version 3416 rather than the final version 3606 which we normally work with. Both chip versions are Calypso C035 variants (ARM7 running at 52 MHz, DSP running at 104 MHz), and both include AMR support - but there must have been some issue with DSP version 34 (and maybe version 35 used in Calypso+) that compelled TI to produce the newer and final version 36 which we are most familiar with. Our Layer1 code is based on TI's TCS211-20070608 semi-src release (which we have reconstructed back to full source), and it officially supports only DSP 36. However, our FC Magnetite firmware can also be built for DSP 34 targets (see the Calypso-version-override article), in which case we use a monolithic DSP patch (no L1_DYN_DSP_DWNLD) extracted from the TSM30 source. The patch version is 4130. The configure.sh target name for this special modified board is fcdev3b-dsp34 instead of just fcdev3b, and the two firmware builds are not interchangeable: the regular fcdev3b build goes into regular FCDEV3B boards, the special fcdev3b-dsp34 build goes into the special FCDEV3B-751774 board. However, when running its respective build this DSP 34 board appears to function just as well as our regular DSP 36 targets: standalone RF tests work, DSP-based audio services (beeps and Melody E1) work, connecting to a live GSM network worked, a few test voice calls worked, all of them connected in AMR mode, voice passed successfully in both directions. Going forward, we shall continue using D751992AGHH chips with DSP ROM version 3606 as our regular platform, but it is nice to know that the earlier DSP 34 apparently works too.