FreeCalypso > hg > freecalypso-sw
diff nuc-fw/bsp/timer.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/timer.h Sat Aug 31 23:43:23 2013 +0000 @@ -0,0 +1,91 @@ +/******************************************************************************* + 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 : timer.h + + Description : timer.c header + + Project : drivers + + Author : pmonteil@tif.ti.com Patrice Monteil. + + Version number : 1.3 + + Date and time : 07/23/98 16:25:53 + Previous delta : 07/23/98 16:25:52 + + SCCS file : /db/gsm_asp/db_ht96/dsp_0/gsw/rel_0/mcu_l1/release1.5/mod/emu/EMU_MCMP/eva3_drivers/source/SCCS/s.timer.h + + Sccs Id (SID) : '@(#) timer.h 1.3 07/23/98 16:25:53 ' + + +*****************************************************************************/ + +#include "../include/sys_types.h" + +#define TIMER_CNTL_REG MEM_TIMER_ADDR /* watchdog Control Timer register */ + +#define TIMER_ST 0x0080 +#define TIMER_AR 0x0100 +#define TIMER_PTV 0x0e00 +#define TIMER_CNTL_MASK 0x0f80 +#define TIMER_MODE_MASK 0x80ff + + +#define TIMER_LOAD_REG (MEM_TIMER_ADDR + 0x02) /* Timer load register */ +#define TIMER_READ_REG (MEM_TIMER_ADDR + 0x02) /* Timer read register */ + + +#define TIMER_MODE_REG (MEM_TIMER_ADDR + 0x04) /* Timer mode register */ +#define TIMER_WDOG 0x8000 /* watch dog */ + +#define START_STOP 1 /*to start or stop a timer */ +#define AR 0x0002 +#define PTV 0x001c +#define TIMER_CLK_EN 0x0020 + + +#define TIMER1_CNTL (MEM_TIMER1 + 0x00) +#define TIMER1_LOAD_TIM (MEM_TIMER1 + 0x02) +#define TIMER1_READ_TIM (MEM_TIMER1 + 0x04) +#define TIMER2_CNTL (MEM_TIMER2 + 0x00) +#define TIMER2_LOAD_TIM (MEM_TIMER2 + 0x02) +#define TIMER2_READ_TIM (MEM_TIMER2 + 0x04) + + +/*---------------------------------------------------------------/ +/* TIMER_START_STOP () */ +/*--------------------------------------------------------------*/ +/* Parameters : start or stop command */ +/* Return : none */ +/* Functionality : Start or Stop the timer */ +/*--------------------------------------------------------------*/ +#define TIMER_START_STOP(startStop) ((startStop) ? ((* (volatile SYS_UWORD16 *) TIMER_CNTL_REG) |= TIMER_ST) : \ +((* (volatile SYS_UWORD16 *) TIMER_CNTL_REG) &= ~TIMER_ST)) + + +/* Prototype of the functions */ + +void TM_ResetTimer (SYS_UWORD16 timerNum, SYS_UWORD16 countValue, + SYS_UWORD16 autoReload, SYS_UWORD16 clockScale); +void TM_StopTimer (int timerNum); +void TM_StartTimer (int timerNum); +SYS_UWORD16 TM_ReadTimer (int timerNum); + +void TM_DisableWatchdog(void); +void TM_EnableWatchdog(void); +void TM_ResetWatchdog(SYS_UWORD16 cnt); +void TM_EnableTimer (int timerNum); +void TM_DisableTimer (int timerNum); + +SYS_UWORD16 TIMER_Read (unsigned short); +inline unsigned short TIMER_WriteValue (SYS_UWORD16); +inline unsigned short TIMER_ReadValue (void); +