FreeCalypso > hg > freecalypso-sw
diff nuc-fw/bsp/iq.h @ 93:45911ad957fd
nuc-fw: beginning to integrate TI's BSP code
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Sat, 31 Aug 2013 23:43:23 +0000 |
parents | |
children | 91460c8957f0 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nuc-fw/bsp/iq.h Sat Aug 31 23:43:23 2013 +0000 @@ -0,0 +1,171 @@ +/****************************************************************************** + TEXAS INSTRUMENTS INCORPORATED PROPRIETARY INFORMATION + + Property of Texas Instruments -- For Unrestricted Internal Use Only + Unauthorized reproduction and/or distribution is strictly prohibited. This + product is protected under copyright law and trade secret law as an + unpublished work. Created 1987, (C) Copyright 1997 Texas Instruments. All + rights reserved. + + + Filename : iq.h + + Description : Interrupt header + + Project : drivers + + Author : pmonteil@tif.ti.com Patrice Monteil. + + Version number : 1.13 + + Date and time : 01/30/01 10:22:22 + + Previous delta : 12/19/00 14:22:53 + + SCCS file : /db/gsm_asp/db_ht96/dsp_0/gsw/rel_0/mcu_l1/release_gprs/RELEASE_GPRS/drivers1/common/SCCS/s.iq.h + + Sccs Id (SID) : '@(#) iq.h 1.13 01/30/01 10:22:22 ' + + +*****************************************************************************/ + +#include "../include/config.h" +#include "../include/sys_types.h" + +// Hardware driver library build number +#define IQ_BUILD 1 + +#define WS_MASK 0x001F + +#if (CHIPSET == 4) + #define IQ_NUM_INT 20 +#elif ((CHIPSET == 5) || (CHIPSET == 6) || (CHIPSET == 9)) + #define IQ_NUM_INT 25 +#elif (CHIPSET == 7) || (CHIPSET == 8) || (CHIPSET == 10) || (CHIPSET == 11) + #define IQ_NUM_INT 21 +#elif (CHIPSET == 12) + #define IQ_NUM_INT 32 // 2nd level interrupt handler is not considered here +#else + #define IQ_NUM_INT 16 +#endif + + +#define IRQ 0 +#define FIQ 1 + +/* + * Interrupt bit numbers + */ +#define IQ_WATCHDOG 0 + +#define IQ_TIM1 1 +#define IQ_TIM2 2 +#define IQ_TSP 3 +#define IQ_FRAME 4 +#define IQ_PAGE 5 +#define IQ_SIM 6 +#define IQ_UART_IT 7 +#if (CHIPSET == 12) + #define IQ_KEYBOARD 8 +#else + #define IQ_ARMIO 8 +#endif +#define IQ_RTC_TIMER 9 +#define IQ_RTC_ALARM 10 +#if ((CHIPSET == 4) || (CHIPSET == 5) || (CHIPSET == 6) || (CHIPSET == 7) || (CHIPSET == 8) || (CHIPSET == 9) || (CHIPSET == 10) || (CHIPSET == 11) || (CHIPSET == 12)) + #define IQ_TGSM 19 +#else + #define IQ_TGSM 10 +#endif +#define IQ_ULPD_GAUGING 11 +#define IQ_EXT 12 +#if (CHIPSET == 12) + #define IQ_ARMIO 16 +#else + #define IQ_SIM_CD 16 +#endif + +#if ((CHIPSET == 4) || (CHIPSET == 5) || (CHIPSET == 6) || (CHIPSET == 7) || (CHIPSET == 8) || (CHIPSET == 9) || (CHIPSET == 10) || (CHIPSET == 11) || (CHIPSET == 12)) + #define IQ_UART_IRDA_IT 18 +#endif + +#if (CHIPSET == 12) + #define IQ_UART_MODEM2_IT 28 +#endif +#define IQ_ICR 20 + +#if ((CHIPSET == 5) || (CHIPSET == 6)) + #define IQ_GEA_IT 24 +#elif (CHIPSET == 7) || (CHIPSET == 8) || (CHIPSET == 10) || (CHIPSET == 11) || (CHIPSET == 12) + #define IQ_GEA_IT 20 +#endif + +/**** JTAG ID ****/ +#define SATURN 0xB217 +#define HERCRAM 0xB268 +#define F731782 0xB2B5 // HERCROM OLD +#define F731782B 0xB2B5 // HERCROM 1M REV B +#define F731782A 0xB335 // HERCROM 1M REV A +#define F731950 0xB334 // HERCROM 2M +#if (CHIPSET == 4) + #define F731787 0xB2AC // HERCRAM20G +#endif +#if ((CHIPSET == 5) || (CHIPSET == 6)) + #define F741709 0xB393 // HERCROM20G1 +#endif +#if (CHIPSET == 9) + #define F751681 0xB217 // HERCROM200C035 +#endif +#if (CHIPSET == 12) + #define F751997 0xB512 // HERCROM500G2C035 +#endif + + +unsigned IQ_GetBuild(void); +void IQ_SetupInterrupts(void); +void IQ_Dummy(void); +void IQ_TimerHandler(void); /* Watchdog timer */ +void IQ_TimerHandler1(void); /* timer 1 */ +void IQ_TimerHandler2(void); /* timer 2 */ +void IQ_FrameHandler(void); /* It Handler for TPU Frame IT NUCLEUS TICKS */ +void IQ_IcrHandler32(void); // 32-bit ICR interrupt handler +void IQ_SetupInterruptEdge(unsigned short irq_num); +void IQ_SetupInterruptLevel(unsigned short irq_num); +void IQ_InitWaitState(unsigned short rom, unsigned short ram, unsigned short spy, unsigned short lcd, unsigned short jtag); +void IQ_Unmask(unsigned irqNum); +void IQ_Mask(unsigned irqNum); +void IQ_MaskAll(void); +/* + * FreeCalypso change: our starting version had #if/#elif logic + * selecting between declaring IQ_KeypadGPIOHandler() or IQ_KeypadHandler() + * based on BOARD voodoo numbers. + * + * Given that the actual Calypso interrupt covers both GPIO and keypad + * possibilities, let's always have an IQ_KeypadGPIOHandler() function + * and put whatever per-target conditionals are needed inside. + */ + void IQ_KeypadGPIOHandler (void); +/* end of FC change */ +SYS_UWORD16 IQ_GetJtagId(void); +SYS_UWORD16 IQ_GetDeviceVersion(void); +SYS_BOOL IQ_RamBasedLead(void); +SYS_UWORD16 IQ_GetRevision(void); +void IQ_Gauging_Handler(void); +void IQ_External(void); +void IQ_Rtc_Handler(void); +#if ((CHIPSET == 4) || (CHIPSET == 5) || (CHIPSET == 6) || (CHIPSET == 7) || (CHIPSET == 8) || (CHIPSET == 9) || (CHIPSET == 10) || (CHIPSET == 11) || (CHIPSET == 12)) + void IQ_RtcA_Handler(void); + void IQ_GsmTim_Handler(void); +#else + void IQ_RtcA_GsmTim_Handler(void); +#endif +#if ((CHIPSET == 5) || (CHIPSET == 6) || (CHIPSET == 7) || (CHIPSET == 8) || (CHIPSET == 10) || (CHIPSET == 11) || (CHIPSET == 12)) +// void IQ_GEA_Handler(void); +#endif + +#if (TI_PROFILER == 1) + void IQ_InitLevel( SYS_UWORD16 inputInt, + SYS_UWORD16 FIQ_nIRQ, + SYS_UWORD16 priority, + SYS_UWORD16 edge ); +#endif