FreeCalypso > hg > fc-magnetite
view cdg-hybrid/cdginc/p_8010_153_cause_include.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 | e7a67accfad9 |
children |
line wrap: on
line source
/* +--------------------------------------------------------------------------+ | PROJECT : PROTOCOL STACK | | FILE : p_8010_153_cause_include.h | | SOURCE : "sap\8010_153_cause_include.pdf" | | LastModified : "2004-11-30" | | IdAndVersion : "8010.153.04.032" | | SrcFileTime : "Thu Nov 29 09:29:16 2007" | | Generated by CCDGEN_2.5.5A on Fri Oct 14 21:41:52 2016 | | !!DO NOT MODIFY!!DO NOT MODIFY!!DO NOT MODIFY!! | +--------------------------------------------------------------------------+ */ /* PRAGMAS * PREFIX : CAUSE * COMPATIBILITY_DEFINES : NO * ALWAYS_ENUM_IN_VAL_FILE: YES * ENABLE_GROUP: NO * CAPITALIZE_TYPENAME: NO */ #ifndef P_8010_153_CAUSE_INCLUDE_H #define P_8010_153_CAUSE_INCLUDE_H #define CDG_ENTER__P_8010_153_CAUSE_INCLUDE_H #define CDG_ENTER__FILENAME _P_8010_153_CAUSE_INCLUDE_H #define CDG_ENTER__P_8010_153_CAUSE_INCLUDE_H__FILE_TYPE CDGINC #define CDG_ENTER__P_8010_153_CAUSE_INCLUDE_H__LAST_MODIFIED _2004_11_30 #define CDG_ENTER__P_8010_153_CAUSE_INCLUDE_H__ID_AND_VERSION _8010_153_04_032 #define CDG_ENTER__P_8010_153_CAUSE_INCLUDE_H__SRC_FILE_TIME _Thu_Nov_29_09_29_16_2007 #include "CDG_ENTER.h" #undef CDG_ENTER__P_8010_153_CAUSE_INCLUDE_H #undef CDG_ENTER__FILENAME #include "p_8010_153_cause_include.val" /* * typedef between var and valtab enums */ #ifndef __T_CAUSE_cc_cause__ #define __T_CAUSE_cc_cause__ typedef T_CAUSE_VAL_cc_cause T_CAUSE_cc_cause; #endif #ifndef __T_CAUSE_nwcc_cause__ #define __T_CAUSE_nwcc_cause__ typedef T_CAUSE_VAL_nwcc_cause T_CAUSE_nwcc_cause; #endif #ifndef __T_CAUSE_nwss_cause__ #define __T_CAUSE_nwss_cause__ typedef T_CAUSE_VAL_nwcc_cause T_CAUSE_nwss_cause; #endif #ifndef __T_CAUSE_dl_cause__ #define __T_CAUSE_dl_cause__ typedef T_CAUSE_VAL_dl_cause T_CAUSE_dl_cause; #endif #ifndef __T_CAUSE_l2r_cause__ #define __T_CAUSE_l2r_cause__ typedef T_CAUSE_VAL_l2r_cause T_CAUSE_l2r_cause; #endif #ifndef __T_CAUSE_llc_cause__ #define __T_CAUSE_llc_cause__ typedef T_CAUSE_VAL_llc_cause T_CAUSE_llc_cause; #endif #ifndef __T_CAUSE_mm_cause__ #define __T_CAUSE_mm_cause__ typedef T_CAUSE_VAL_mm_cause T_CAUSE_mm_cause; #endif #ifndef __T_CAUSE_nwmm_cause__ #define __T_CAUSE_nwmm_cause__ typedef T_CAUSE_VAL_nwmm_cause T_CAUSE_nwmm_cause; #endif #ifndef __T_CAUSE_ppp_cause__ #define __T_CAUSE_ppp_cause__ typedef T_CAUSE_VAL_ppp_cause T_CAUSE_ppp_cause; #endif #ifndef __T_CAUSE_rcm_cause__ #define __T_CAUSE_rcm_cause__ typedef T_CAUSE_VAL_rcm_cause T_CAUSE_rcm_cause; #endif #ifndef __T_CAUSE_rr_cause__ #define __T_CAUSE_rr_cause__ typedef T_CAUSE_VAL_rr_cause T_CAUSE_rr_cause; #endif #ifndef __T_CAUSE_nwrr_cause__ #define __T_CAUSE_nwrr_cause__ typedef T_CAUSE_VAL_nwrr_cause T_CAUSE_nwrr_cause; #endif #ifndef __T_CAUSE_rlp_cause__ #define __T_CAUSE_rlp_cause__ typedef T_CAUSE_VAL_rlp_cause T_CAUSE_rlp_cause; #endif #ifndef __T_CAUSE_rrc_cause__ #define __T_CAUSE_rrc_cause__ typedef T_CAUSE_VAL_rrc_cause T_CAUSE_rrc_cause; #endif #ifndef __T_CAUSE_nwrrc_cause__ #define __T_CAUSE_nwrrc_cause__ typedef T_CAUSE_VAL_nwrrc_cause T_CAUSE_nwrrc_cause; #endif #ifndef __T_CAUSE_sim_cause__ #define __T_CAUSE_sim_cause__ typedef T_CAUSE_VAL_sim_cause T_CAUSE_sim_cause; #endif #ifndef __T_CAUSE_sm_cause__ #define __T_CAUSE_sm_cause__ typedef T_CAUSE_VAL_sm_cause T_CAUSE_sm_cause; #endif #ifndef __T_CAUSE_nwsm_cause__ #define __T_CAUSE_nwsm_cause__ typedef T_CAUSE_VAL_nwsm_cause T_CAUSE_nwsm_cause; #endif #ifndef __T_CAUSE_sms_cause__ #define __T_CAUSE_sms_cause__ typedef T_CAUSE_VAL_sms_cause T_CAUSE_sms_cause; #endif #ifndef __T_CAUSE_nwsms_cp_cause__ #define __T_CAUSE_nwsms_cp_cause__ typedef T_CAUSE_VAL_nwsms_cp_cause T_CAUSE_nwsms_cp_cause; #endif #ifndef __T_CAUSE_nwsms_rp_cause__ #define __T_CAUSE_nwsms_rp_cause__ typedef T_CAUSE_VAL_nwsms_rp_cause T_CAUSE_nwsms_rp_cause; #endif #ifndef __T_CAUSE_nwsms_tp_cause__ #define __T_CAUSE_nwsms_tp_cause__ typedef T_CAUSE_VAL_nwsms_tp_cause T_CAUSE_nwsms_tp_cause; #endif #ifndef __T_CAUSE_sn_cause__ #define __T_CAUSE_sn_cause__ typedef T_CAUSE_VAL_sn_cause T_CAUSE_sn_cause; #endif #ifndef __T_CAUSE_upm_cause__ #define __T_CAUSE_upm_cause__ typedef T_CAUSE_VAL_upm_cause T_CAUSE_upm_cause; #endif #ifndef __T_CAUSE_rrlc_cause__ #define __T_CAUSE_rrlc_cause__ typedef T_CAUSE_VAL_rrlc_cause T_CAUSE_rrlc_cause; #endif #ifndef __T_CAUSE_value__ #define __T_CAUSE_value__ /* * Cause element containing result of operation * CCDGEN:WriteStruct_Count==1387 */ typedef union { U16 nwmm_cause; /*< 0: 2> T_CAUSE_nwmm_cause, Cause element from network peer MM */ U16 nwrr_cause; /*< 0: 2> T_CAUSE_nwrr_cause, Cause element from GSM peer RR */ U16 nwrrc_cause; /*< 0: 2> T_CAUSE_nwrrc_cause, Cause element from UTRAN peer RRC */ U16 nwsm_cause; /*< 0: 2> T_CAUSE_nwsm_cause, Cause element from network peer SM */ U16 nwss_cause; /*< 0: 2> T_CAUSE_nwss_cause, Cause element containing result of a SS operation */ U16 nwsms_cp_cause; /*< 0: 2> T_CAUSE_nwsms_cp_cause, Cause element containing result of an SMS operation */ U16 nwsms_rp_cause; /*< 0: 2> T_CAUSE_nwsms_rp_cause, Cause element containing result of an SMS operation */ U16 nwsms_tp_cause; /*< 0: 2> T_CAUSE_nwsms_tp_cause, Cause element containing result of an SMS operation */ U16 upper_nw_cause; /*< 0: 2> If ctrl_value is below is_from_nw the cause originates from NW. Do NOT use as real value of ctrl_value. */ U16 cc_cause; /*< 0: 2> T_CAUSE_cc_cause, Cause element containing result of a CC operation */ U16 dl_cause; /*< 0: 2> T_CAUSE_dl_cause, Cause element containing result of a DL operation */ U16 l2r_cause; /*< 0: 2> T_CAUSE_l2r_cause, Cause element containing result of a L2R operation */ U16 llc_cause; /*< 0: 2> T_CAUSE_llc_cause, Cause element containing result of a LLC operation */ U16 mm_cause; /*< 0: 2> T_CAUSE_mm_cause, Cause element containing result of an MM operation */ U16 nwcc_cause; /*< 0: 2> T_CAUSE_nwcc_cause, Cause element containing result of a CC operation */ U16 ppp_cause; /*< 0: 2> T_CAUSE_ppp_cause, Cause element containing result of a PPP operation */ U16 rcm_cause; /*< 0: 2> T_CAUSE_rcm_cause, Cause element containing result of an RCM operation */ U16 rr_cause; /*< 0: 2> T_CAUSE_rr_cause, Cause element containing result of an RR operation */ U16 rlp_cause; /*< 0: 2> T_CAUSE_rlp_cause, Cause element containing result of an RLP operation */ U16 rrc_cause; /*< 0: 2> T_CAUSE_rrc_cause, Cause element containing result of an RRC operation */ U16 sim_cause; /*< 0: 2> T_CAUSE_sim_cause, Cause element from SIM to ACI/SMS/MM */ U16 sm_cause; /*< 0: 2> T_CAUSE_sm_cause, Cause element containing result of an SM operation */ U16 sms_cause; /*< 0: 2> T_CAUSE_sms_cause, Cause element containing result of an SMS operation */ U16 sn_cause; /*< 0: 2> T_CAUSE_sn_cause, Cause element containing result of an SNDCP operation */ U16 upm_cause; /*< 0: 2> T_CAUSE_upm_cause, Cause element containing result of an UPM operation */ U16 upper_ue_cause; /*< 0: 2> If ctrl_value is between is_from_nw and is_from_ue the cause originates from UE. Do NOT use as real value of ctrl_value. */ U8 rrlc_cause; /*< 0: 1> T_CAUSE_rrlc_cause, cause */ } T_CAUSE_value; #endif #ifndef __T_CAUSE_ps_cause__ #define __T_CAUSE_ps_cause__ /* * Cause element containing result of operation * CCDGEN:WriteStruct_Count==1388 */ typedef struct { T_CAUSE_ctrl_value ctrl_value; /*< 0: 4> (enum=32bit) controller for union */ T_CAUSE_value value; /*< 4: 2> Cause element containing result of operation */ U8 _align0; /*< 6: 1> alignment */ U8 _align1; /*< 7: 1> alignment */ } T_CAUSE_ps_cause; #endif /* * End of substructure section, begin of primitive definition section */ #ifndef __T_CAUSE_EXPORT__ #define __T_CAUSE_EXPORT__ /* * * CCDGEN:WriteStruct_Count==1389 */ typedef struct { T_CAUSE_ps_cause ps_cause; /*< 0: 8> Cause element containing result of operation */ } T_CAUSE_EXPORT; #endif #include "CDG_LEAVE.h" #endif