FreeCalypso > hg > leo2moko-debug
comparison chipsetsw/drivers/drv_core/timer/timer_sec.c @ 0:509db1a7b7b8
initial import: leo2moko-r1
| author | Space Falcon <falcon@ivan.Harhan.ORG> |
|---|---|
| date | Mon, 01 Jun 2015 03:24:05 +0000 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:509db1a7b7b8 |
|---|---|
| 1 /******************************************************************************* | |
| 2 TEXAS INSTRUMENTS INCORPORATED PROPRIETARY INFORMATION | |
| 3 | |
| 4 Property of Texas Instruments -- For Unrestricted Internal Use Only | |
| 5 Unauthorized reproduction and/or distribution is strictly prohibited. This | |
| 6 product is protected under copyright law and trade secret law as an | |
| 7 unpublished work. Created 1987, (C) Copyright 1997 Texas Instruments. All | |
| 8 rights reserved. | |
| 9 | |
| 10 | |
| 11 Filename : timer_sec.c | |
| 12 | |
| 13 Description : timer_sec.c | |
| 14 | |
| 15 Project : drivers | |
| 16 | |
| 17 Author : pmonteil@tif.ti.com Patrice Monteil. | |
| 18 | |
| 19 Version number : 1.3 | |
| 20 | |
| 21 Date and time : 07/23/98 16:25:32 | |
| 22 Previous delta : 07/23/98 16:25:32 | |
| 23 | |
| 24 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.c | |
| 25 | |
| 26 Sccs Id (SID) : '@(#) timer.c 1.3 07/23/98 16:25:32 ' | |
| 27 | |
| 28 | |
| 29 *****************************************************************************/ | |
| 30 | |
| 31 #include "l1sw.cfg" | |
| 32 #include "chipset.cfg" | |
| 33 | |
| 34 #if (CHIPSET == 12) | |
| 35 | |
| 36 #if (OP_L1_STANDALONE == 0) | |
| 37 #include "main/sys_types.h" | |
| 38 #else | |
| 39 #include "sys_types.h" | |
| 40 #endif | |
| 41 #include "memif/mem.h" | |
| 42 #include "inth/iq.h" | |
| 43 #include "timer.h" | |
| 44 #include "timer_sec.h" | |
| 45 | |
| 46 | |
| 47 /*--------------------------------------------------------------*/ | |
| 48 /* TIMER_Read() */ | |
| 49 /*--------------------------------------------------------------*/ | |
| 50 /* Parameters : num of the register to be read */ | |
| 51 /* Return :value of the timer register read */ | |
| 52 /* Functionality : read one of the TIMER Secure register */ | |
| 53 /*--------------------------------------------------------------*/ | |
| 54 | |
| 55 SYS_UWORD16 TIMER_SEC_Read (SYS_UWORD16 regNum) | |
| 56 { | |
| 57 volatile SYS_UWORD16 timerReg; | |
| 58 | |
| 59 switch (regNum) { | |
| 60 case 0: | |
| 61 timerReg = (( * (SYS_UWORD16 *) TIMER_SEC_CNTL_REG) & TIMER_CNTL_MASK); | |
| 62 break; | |
| 63 case 1: | |
| 64 timerReg = ( * (SYS_UWORD16 *) TIMER_SEC_READ_REG); | |
| 65 break; | |
| 66 case 2: | |
| 67 timerReg = (( * (SYS_UWORD16 *) TIMER_SEC_MODE_REG) & TIMER_MODE_MASK); | |
| 68 break; | |
| 69 default: | |
| 70 break; | |
| 71 } | |
| 72 return(timerReg); | |
| 73 } | |
| 74 | |
| 75 | |
| 76 void TM_SEC_DisableWatchdog (void) | |
| 77 { | |
| 78 /* volatile variable needed due C to optimization */ | |
| 79 volatile SYS_UWORD16 *reg = (volatile SYS_UWORD16 *) TIMER_SEC_MODE_REG; | |
| 80 | |
| 81 * reg = 0xf5; | |
| 82 * reg = 0xa0; | |
| 83 } | |
| 84 | |
| 85 | |
| 86 /* | |
| 87 * TM_SEC_EnableWatchdog | |
| 88 * | |
| 89 */ | |
| 90 void TM_SEC_EnableWatchdog(void) | |
| 91 { | |
| 92 * ((volatile SYS_UWORD16 *) TIMER_SEC_MODE_REG) = TIMER_WDOG; | |
| 93 } | |
| 94 | |
| 95 /* | |
| 96 * TM_SEC_ResetWatchdog | |
| 97 * | |
| 98 * Parameter : Tick count | |
| 99 * Use a different value each time, otherwise watchdog bites | |
| 100 */ | |
| 101 void TM_SEC_ResetWatchdog(SYS_UWORD16 count) | |
| 102 { | |
| 103 * ((volatile SYS_UWORD16 *) TIMER_SEC_LOAD_REG) = count; | |
| 104 } | |
| 105 | |
| 106 | |
| 107 /*--------------------------------------------------------------*/ | |
| 108 /* TIMER_SEC_ReadValue() */ | |
| 109 /*--------------------------------------------------------------*/ | |
| 110 /* Parameters : none */ | |
| 111 /* Return : none */ | |
| 112 /* Functionality : Read timer value */ | |
| 113 /*--------------------------------------------------------------*/ | |
| 114 | |
| 115 SYS_UWORD16 TIMER_SEC_ReadValue (void) | |
| 116 { | |
| 117 return(* (SYS_UWORD16 *) TIMER_SEC_READ_REG); | |
| 118 | |
| 119 } | |
| 120 | |
| 121 /*--------------------------------------------------------------*/ | |
| 122 /* TIMER_SEC_WriteValue() */ | |
| 123 /*--------------------------------------------------------------*/ | |
| 124 /* Parameters : none */ | |
| 125 /* Return : none */ | |
| 126 /* Functionality : Write timer value */ | |
| 127 /*--------------------------------------------------------------*/ | |
| 128 | |
| 129 SYS_UWORD16 TIMER_SEC_WriteValue (SYS_UWORD16 value) | |
| 130 { | |
| 131 * (SYS_UWORD16 *) TIMER_SEC_LOAD_REG = value; /*load the value */ | |
| 132 | |
| 133 } | |
| 134 | |
| 135 #endif /* CHIPSET == 12 */ | |
| 136 |
