FreeCalypso > hg > fc-magnetite
view src/gpf2/inc/pei.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 | 864b8cc0cf63 |
children |
line wrap: on
line source
/* +------------------------------------------------------------------------------ | File: pei.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 : Protocol Entity Interface exported definitions. +----------------------------------------------------------------------------- */ #ifndef __PEI_H__ #define __PEI_H__ /*==== INCLUDES ============================================================*/ #include <stddef.h> /*==== CONSTANTS ===========================================================*/ #define PEI_OK 0 #define PEI_ERROR (-1) /*==== TYPES ===============================================================*/ typedef int T_PEI_RETURN; typedef char * T_PEI_CONFIG; typedef void T_PEI_MONITOR; /* * types and macros for pei-jumptable processing */ #define PALLOC_TRANSITION /* to reinsert the sdu pointer in pei_primitive */ #define NO_COPY_ROUTING /* has to be set for frame version > 2.5.0 */ /* * for definitions of jumptables */ typedef void (*T_VOID_FUNC)(); typedef short (*T_SHORT_FUNC)(); typedef struct { T_VOID_FUNC func; size_t size; size_t soff; ULONG opc; } T_FUNC; #define MAK_FUNC_S(FUNC,OPC) { (T_VOID_FUNC)FUNC, sizeof(T_##OPC), offsetof(T_##OPC,sdu), OPC } #define MAK_FUNC_0(FUNC,OPC) { (T_VOID_FUNC)FUNC, sizeof(T_##OPC), 0 , OPC } #define MAK_FUNC_N(FUNC,OPC) { (T_VOID_FUNC)FUNC, 0 , 0 , 0 } #define TAB_SIZE(T) (sizeof T / sizeof *T) typedef struct { SHORT (*pei_init)(T_HANDLE); SHORT (*pei_exit)(void); SHORT (*pei_primitive)(void*); SHORT (*pei_timeout)(USHORT); SHORT (*pei_signal)(ULONG,void*); SHORT (*pei_run)(T_HANDLE,T_HANDLE); SHORT (*pei_config)(char*); SHORT (*pei_monitor)(void**); } T_PEI_FUNC; typedef struct { char const *Name; T_PEI_FUNC PeiTable; ULONG StackSize; USHORT QueueEntries; USHORT Priority; USHORT NumOfTimers; U32 Flags; } T_PEI_INFO; #endif /* __PEI_H__ */