FreeCalypso > hg > fc-magnetite
view cdg3/cdginc-locosto/p_mmcm.h @ 635:baa0a02bc676
niq32.c DTR handling restored for targets that have it
TI's original TCS211 fw treated GPIO 3 as the DTR input (wired so on C-Sample
and D-Sample boards, also compatible with Leonardo and FCDEV3B which have a
fixed pull-down resistor on this GPIO line), and the code in niq32.c called
UAF_DTRInterruptHandler() (implemented in uartfax.c) from the
IQ_KeypadGPIOHandler() function. But on Openmoko's GTA02 with their official
fw this GPIO is a floating input, all of the DTR handling code in uartfax.c
including the interrupt logic is still there, but the hobbled TCS211-20070608
semi-src delivery which OM got from TI contained a change in niq32.c (which
had been kept in FC until now) that removed the call to
UAF_DTRInterruptHandler() as part of those not-quite-understood "CC test"
hacks.
The present change fixes this bug at a long last: if we are building fw for a
target that has TI's "classic" DTR & DCD GPIO arrangement (dsample, fcmodem and
gtm900), we bring back all of TI's original code in both uartfax.c and niq32.c,
whereas if we are building fw for a target that does not use this classic GPIO
arrangement, the code in niq32.c goes back to what we got from OM and all
DTR & DCD code in uartfax.c is conditioned out. This change also removes the
very last remaining bit of "CC test" bogosity from our FreeCalypso code base.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 19 Jan 2020 01:41:35 +0000 |
parents | c15047b3d00d |
children |
line wrap: on
line source
/* +--------------------------------------------------------------------------+ | PROJECT : PROTOCOL STACK | | FILE : p_mmcm.h | | SOURCE : "sap\mmcm.pdf" | | LastModified : "2004-02-12" | | IdAndVersion : "6147.104.97.103" | | SrcFileTime : "Thu Nov 29 09:45:56 2007" | | Generated by CCDGEN_2.5.5A on Thu Sep 25 09:18:53 2014 | | !!DO NOT MODIFY!!DO NOT MODIFY!!DO NOT MODIFY!! | +--------------------------------------------------------------------------+ */ /* PRAGMAS * PREFIX : MMCM * COMPATIBILITY_DEFINES : NO * ALWAYS_ENUM_IN_VAL_FILE: NO * ENABLE_GROUP: NO * CAPITALIZE_TYPENAME: NO */ #ifndef P_MMCM_H #define P_MMCM_H #define CDG_ENTER__P_MMCM_H #define CDG_ENTER__FILENAME _P_MMCM_H #define CDG_ENTER__P_MMCM_H__FILE_TYPE CDGINC #define CDG_ENTER__P_MMCM_H__LAST_MODIFIED _2004_02_12 #define CDG_ENTER__P_MMCM_H__ID_AND_VERSION _6147_104_97_103 #define CDG_ENTER__P_MMCM_H__SRC_FILE_TIME _Thu_Nov_29_09_45_56_2007 #include "CDG_ENTER.h" #undef CDG_ENTER__P_MMCM_H #undef CDG_ENTER__FILENAME #include "p_mmcm.val" #ifndef __T_MMCM_ch_info__ #define __T_MMCM_ch_info__ /* * Channel information * CCDGEN:WriteStruct_Count==1788 */ typedef struct { U8 ch_type; /*< 0: 1> Channel Type */ U8 ch_mode; /*< 1: 1> Channel Mode */ U8 _align0; /*< 2: 1> alignment */ U8 _align1; /*< 3: 1> alignment */ } T_MMCM_ch_info; #endif #ifndef __T_MMCM_sync_info__ #define __T_MMCM_sync_info__ /* * Container for synchronisation info * CCDGEN:WriteStruct_Count==1790 */ typedef struct { T_MMCM_ch_info ch_info; /*< 0: 4> Channel information */ } T_MMCM_sync_info; #endif /* * End of substructure section, begin of primitive definition section */ #ifndef __T_MMCM_ESTABLISH_REQ__ #define __T_MMCM_ESTABLISH_REQ__ /* * * CCDGEN:WriteStruct_Count==1794 */ typedef struct { U8 ti; /*< 0: 1> transaction identifier */ U8 org_entity; /*< 1: 1> originating entity */ U16 estcs; /*< 2: 2> establishment cause */ } T_MMCM_ESTABLISH_REQ; #endif #ifndef __T_MMCM_ESTABLISH_CNF__ #define __T_MMCM_ESTABLISH_CNF__ /* * * CCDGEN:WriteStruct_Count==1795 */ typedef struct { U8 ti; /*< 0: 1> transaction identifier */ U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 _align2; /*< 3: 1> alignment */ } T_MMCM_ESTABLISH_CNF; #endif #ifndef __T_MMCM_ESTABLISH_IND__ #define __T_MMCM_ESTABLISH_IND__ /* * * CCDGEN:WriteStruct_Count==1796 */ typedef struct { U8 d1; /*< 0: 1> dummy, not used */ U8 d2; /*< 1: 1> dummy, not used */ U8 _align0; /*< 2: 1> alignment */ U8 _align1; /*< 3: 1> alignment */ T_sdu sdu; /*< 4: ? > Service Data Unit */ } T_MMCM_ESTABLISH_IND; #endif #ifndef __T_MMCM_DATA_REQ__ #define __T_MMCM_DATA_REQ__ /* * * CCDGEN:WriteStruct_Count==1797 */ typedef struct { U8 org_entity; /*< 0: 1> originating entity */ U8 d2; /*< 1: 1> dummy, not used */ U8 _align0; /*< 2: 1> alignment */ U8 _align1; /*< 3: 1> alignment */ T_sdu sdu; /*< 4: ? > Service Data Unit */ } T_MMCM_DATA_REQ; #endif #ifndef __T_MMCM_DATA_IND__ #define __T_MMCM_DATA_IND__ /* * * CCDGEN:WriteStruct_Count==1798 */ typedef struct { U8 d1; /*< 0: 1> dummy, not used */ U8 d2; /*< 1: 1> dummy, not used */ U8 _align0; /*< 2: 1> alignment */ U8 _align1; /*< 3: 1> alignment */ T_sdu sdu; /*< 4: ? > Service Data Unit */ } T_MMCM_DATA_IND; #endif #ifndef __T_MMCM_RELEASE_REQ__ #define __T_MMCM_RELEASE_REQ__ /* * * CCDGEN:WriteStruct_Count==1799 */ typedef struct { U8 ti; /*< 0: 1> transaction identifier */ U8 org_entity; /*< 1: 1> originating entity */ U8 _align0; /*< 2: 1> alignment */ U8 _align1; /*< 3: 1> alignment */ } T_MMCM_RELEASE_REQ; #endif #ifndef __T_MMCM_RELEASE_IND__ #define __T_MMCM_RELEASE_IND__ /* * * CCDGEN:WriteStruct_Count==1800 */ typedef struct { U8 ti; /*< 0: 1> transaction identifier */ U8 _align0; /*< 1: 1> alignment */ U16 cause; /*< 2: 2> MM cause */ } T_MMCM_RELEASE_IND; #endif #ifndef __T_MMCM_ERROR_IND__ #define __T_MMCM_ERROR_IND__ /* * * CCDGEN:WriteStruct_Count==1801 */ typedef struct { U8 ti; /*< 0: 1> transaction identifier */ U8 _align0; /*< 1: 1> alignment */ U16 cause; /*< 2: 2> MM cause */ } T_MMCM_ERROR_IND; #endif #ifndef __T_MMCM_REESTABLISH_REQ__ #define __T_MMCM_REESTABLISH_REQ__ /* * * CCDGEN:WriteStruct_Count==1802 */ typedef struct { U8 ti; /*< 0: 1> transaction identifier */ U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 _align2; /*< 3: 1> alignment */ } T_MMCM_REESTABLISH_REQ; #endif #ifndef __T_MMCM_REESTABLISH_CNF__ #define __T_MMCM_REESTABLISH_CNF__ /* * * CCDGEN:WriteStruct_Count==1803 */ typedef struct { U8 ti; /*< 0: 1> transaction identifier */ U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 _align2; /*< 3: 1> alignment */ } T_MMCM_REESTABLISH_CNF; #endif #ifndef __T_MMCM_PROMPT_IND__ #define __T_MMCM_PROMPT_IND__ /* * * CCDGEN:WriteStruct_Count==1804 */ typedef struct { U8 dummy; /*< 0: 1> no parameters */ } T_MMCM_PROMPT_IND; #endif #ifndef __T_MMCM_PROMPT_RES__ #define __T_MMCM_PROMPT_RES__ /* * * CCDGEN:WriteStruct_Count==1805 */ typedef struct { U8 ti; /*< 0: 1> transaction identifier */ U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 _align2; /*< 3: 1> alignment */ } T_MMCM_PROMPT_RES; #endif #ifndef __T_MMCM_PROMPT_REJ__ #define __T_MMCM_PROMPT_REJ__ /* * * CCDGEN:WriteStruct_Count==1806 */ typedef struct { U8 dummy; /*< 0: 1> no parameters */ } T_MMCM_PROMPT_REJ; #endif #ifndef __T_MMCM_SYNC_IND__ #define __T_MMCM_SYNC_IND__ /* * * CCDGEN:WriteStruct_Count==1807 */ typedef struct { U8 ti; /*< 0: 1> transaction identifier */ U8 _align0; /*< 1: 1> alignment */ U8 _align1; /*< 2: 1> alignment */ U8 _align2; /*< 3: 1> alignment */ T_MMCM_sync_info sync_info; /*< 4: 4> Container for synchronisation info */ } T_MMCM_SYNC_IND; #endif #include "CDG_LEAVE.h" #endif