FreeCalypso > hg > fc-magnetite
view src/g23m-fad/l2r/tra.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 | 90eb61ecd093 |
| children |
line wrap: on
line source
/* +----------------------------------------------------------------------------- | Project : CSD (8411) | Modul : tra.h +----------------------------------------------------------------------------- | Copyright 2002 Texas Instruments Berlin, AG | All rights reserved. | | This file is confidential and a trade secret of Texas | Instruments Berlin, AG | The receipt of or possession of this file does not convey | any rights to reproduce or disclose its contents or to | manufacture, use, or sell anything it may describe, in | whole, or in part, without the specific written consent of | Texas Instruments Berlin, AG. +----------------------------------------------------------------------------- | Purpose : Definitions for the Protocol Stack Entity | TRA +----------------------------------------------------------------------------- */ #ifndef TRA_H #define TRA_H /* * States of the entity process MGT */ #define MGT_IDLE 0 #define MGT_INACTIVE 1 #define MGT_ACTIVE 2 /* * States of the entity processes UP & DN */ #define UP_INACTIVE 0 #define UP_IDLE 1 #define UP_WAIT 2 #define UP_SEND 3 #define DN_INACTIVE 0 #define DN_IDLE 1 #define DN_WAIT 2 #define DN_SEND 3 /*==== TYPES ======================================================*/ /* * derived constants */ /* global user specific constants */ #define FL_INACTIVE 0 #define FL_ACTIVE 1 /* * Bitoffset for encoding/decoding, taken from RLP */ #define ENCODE_OFFSET 0 typedef enum { NONTRANSP = 0, TRANSP = 1 } T_MODE; /*lint -e767 macro 'ENTITY_DATA' was defined differently in another module */ #define ENTITY_DATA tra_data /* * MANAGEMENT signal processing */ #ifdef OPTION_MULTITHREAD #define sig_mgt_tra_up_send_break_req _ENTITY_PREFIXED(sig_mgt_tra_up_send_break_req) #define sig_mgt_tra_up_break_req _ENTITY_PREFIXED(sig_mgt_tra_up_break_req) #define sig_mgt_tra_dn_break_req _ENTITY_PREFIXED(sig_mgt_tra_dn_break_req) #define sig_any_tra_dn_send_break_req _ENTITY_PREFIXED(sig_any_tra_dn_send_break_req) #define sig_up_tra_mgt_break_ind _ENTITY_PREFIXED(sig_up_tra_mgt_break_ind) #define sig_dn_tra_mgt_break_ind _ENTITY_PREFIXED(sig_dn_tra_mgt_break_ind) #endif EXTERN void sig_mgt_tra_up_send_break_req(USHORT break_len); EXTERN void sig_mgt_tra_up_break_req(void); EXTERN void sig_mgt_tra_dn_break_req(void); EXTERN void sig_any_tra_dn_send_break_req (void); EXTERN void sig_up_tra_mgt_break_ind(USHORT break_len); EXTERN void sig_dn_tra_mgt_break_ind(U8 sa, U8 sb, U8 flow, USHORT break_len); /* * MANAGEMENT procedures */ EXTERN void send_tra_deactivate_cnf(void); EXTERN void send_tra_dti_cnf(T_TRA_DTI_REQ *tra_dti_req); /* * DN signal processing */ #ifdef OPTION_MULTITHREAD #define sig_mgt_tra_dn_dti_conn_setup _ENTITY_PREFIXED(sig_mgt_tra_dn_dti_conn_setup) #define sig_mgt_tra_dn_dti_conn_open _ENTITY_PREFIXED(sig_mgt_tra_dn_dti_conn_open) #define sig_mgt_tra_dn_dti_disc _ENTITY_PREFIXED(sig_mgt_tra_dn_dti_disc) #endif EXTERN void sig_mgt_tra_dn_dti_conn_setup(void); EXTERN void sig_mgt_tra_dn_dti_conn_open(void); EXTERN void sig_mgt_tra_dn_dti_disc(void); /* * DN procedures */ #ifdef OPTION_MULTITHREAD #define dl_init _ENTITY_PREFIXED(dl_init) #define rbm_init _ENTITY_PREFIXED(rbm_init) #define dl_send_data_ind _ENTITY_PREFIXED(dl_send_data_ind ) #define dl_prep_data_ind _ENTITY_PREFIXED(dl_prep_data_ind) #endif EXTERN void dl_init(T_TRA_DN *ddl); EXTERN void rbm_init(T_TRA_DN *ddl); EXTERN BOOL dl_send_data_ind (void); EXTERN void dl_prep_data_ind (T_FD *pFD); /* * UP signal processing */ #ifdef OPTION_MULTITHREAD #define sig_mgt_tra_up_dti_conn_setup _ENTITY_PREFIXED(sig_mgt_tra_up_dti_conn_setup) #define sig_mgt_tra_up_dti_conn_open _ENTITY_PREFIXED(sig_mgt_tra_up_dti_conn_open) #define sig_mgt_tra_up_dti_disc _ENTITY_PREFIXED(sig_mgt_tra_up_dti_disc) #endif EXTERN void sig_mgt_tra_up_dti_conn_setup(void); EXTERN void sig_mgt_tra_up_dti_conn_open(void); EXTERN void sig_mgt_tra_up_dti_disc(void); /* * UP procedures */ #ifdef OPTION_MULTITHREAD #define ul_init _ENTITY_PREFIXED(ul_init ) #define snd_data_to_RA _ENTITY_PREFIXED(snd_data_to_RA ) #define snd_break_to_RA _ENTITY_PREFIXED(snd_break_to_RA ) #define up_start_dti_flow _ENTITY_PREFIXED(up_start_dti_flow) #endif EXTERN void ul_init(T_TRA_UP *dul); EXTERN void snd_data_to_RA(); EXTERN void snd_break_to_RA(USHORT break_len); EXTERN void up_start_dti_flow(void); EXTERN T_MODE l2r_data_mode; /* * number of signals (max. signalNum which occurs in pei_signal) */ EXTERN DTI_HANDLE l2r_hDTI; /* DTI connection handle for DTI library */ EXTERN T_FD *tra_get_next_FrameDesc(void); #endif
