FreeCalypso > hg > fc-magnetite
view src/cs/layer1/audio_include/l1audio_abb.h @ 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 | 945cf7f506b2 |
children |
line wrap: on
line source
/* * Filename l1audio_abb.h * Copyright 2003 (C) Texas Instruments * * */ #define ABB_L1_WRITE(addr,data) (((data) << 6) | (addr) | 0x01) void ABB_CAL_UlVolume (UWORD8 pga_index); void ABB_CAL_DlVolume (UWORD8 volume_index, UWORD8 pga_index); void ABB_UlVolume (UWORD8 volume_index); void ABB_DlVolume (UWORD8 volume_index); void ABB_DlMute (BOOL mute); void ABB_SideTone (UWORD8 volume_index); void ABB_Audio_Config (UWORD16 data); void ABB_Audio_Config_2 (UWORD16 data); void ABB_UlMute (BOOL mute); void ABB_Audio_Control (UWORD16 data); void ABB_Audio_On_Off (UWORD16 data); void ABB_Audio_Volume (UWORD16 data); void ABB_Audio_PLL (UWORD16 data); void ABB_Audio_VBPop (UWORD16 data); void ABB_Audio_Delay_Init (UWORD8 delay);