FreeCalypso > hg > fc-magnetite
view src/cs/riviera/rvt/rvt_gen.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 | 6cea809631d7 |
children |
line wrap: on
line source
/******************************************************************************* * * tr_gen.h * * This file contain general definitions of Trace Module. * Definitions are exportable * * (C) Texas Instruments, all rights reserved * * Version number : 0.1 * * History : 0.1 (7/4/2000) - Created * * Date : 7/4/2000 * * Author : Cristian Livadiotti, c-livadiotti@ti.com * ******************************************************************************/ #ifndef __RVT_GEN_H__ #define __RVT_GEN_H__ #include "rv/general.h" /* ** If TRACE_MODULE is defined, the trace is using the trace task API. ** Otherwise, the trace is using the RVF. NOW OBSOLETE !!!!!!!! */ //#define TRACE_MODULE /* ** If FRAMING_PROTOCOL is defined, the trace mux should be used because of encapsulation and byte stuffing. ** Otherwise, the hyperterminal should be used. */ #define FRAMING_PROTOCOL /* ** If MIXED_TRACE is defined, all traces are mixed on the same UART and the ** trace task handles the RX commands. */ //#define MIXED_TRACE /* ** Type definitions */ /* Define return parameters. */ typedef enum { RVT_OK = 0, RVT_NOT_SUPPORTED = -2, RVT_NOT_READY = -3, RVT_MEMORY_ERR = -4, RVT_INTERNAL_ERR = -9, RVT_INVALID_PARAMETER = -10 } T_RVT_RET; typedef UINT8 T_RVT_USER_ID; typedef UINT32 T_RVT_MSG_LG; typedef enum { RVT_ASCII_FORMAT, // 0 RVT_BINARY_FORMAT // 1 } T_RVT_FORMAT; typedef UINT8 * T_RVT_BUFFER; typedef char T_RVT_NAME; #define RVT_NAME_MAX_LEN (10) #define RVT_RV_HEADER 0x11 #define RVT_L1_HEADER 0x12 #define RVT_L23_HEADER 0x13 #define RVT_TM_HEADER 0x14 #define RVT_RNET_HEADER 0x15 #define RVT_PROF_HEADER 0x16 #define RVT_GTTBACK_HEADER 0x17 #define RVT_OTHER_HEADER 0x18 /* FreeCalypso additions */ #define RVT_AT_HEADER 0x1A #define RVT_EXTUI_HEADER 0x1B #define RVT_TCH_HEADER 0x1C #define RVT_KEEPALIVE_HEADER 0x1D /* end of FreeCalypso additions */ #define RVT_INVALID_HEADER 0xFF typedef void (*RVT_CALLBACK_FUNC)(T_RVT_BUFFER, UINT16); /********* Fonction Prototypes ***********/ void rvt_set_trace_level(T_RVT_BUFFER p_msg, UINT16 msg_length); T_RVT_RET rvt_send_trace_no_cpy(T_RVT_BUFFER p_buffer, T_RVT_USER_ID user_id, T_RVT_MSG_LG msg_lenght, T_RVT_FORMAT msg_format); T_RVT_RET rvt_send_trace_cpy(T_RVT_BUFFER msg, T_RVT_USER_ID user_id, T_RVT_MSG_LG msg_length, T_RVT_FORMAT msg_format); T_RVT_RET rvt_register_id(T_RVT_NAME name[], T_RVT_USER_ID *tr_id, RVT_CALLBACK_FUNC callback); T_RVT_RET rvt_mem_alloc(T_RVT_USER_ID user_id, T_RVT_MSG_LG buffer_lenght, T_RVT_BUFFER * buff); T_RVT_RET rvt_mem_free(T_RVT_BUFFER msg); #endif