comparison src/cs/drivers/drv_core/timer/timer_sec.c @ 0:b6a5e36de839

src/cs: initial import from Magnetite
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 15 Jul 2018 04:39:26 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:b6a5e36de839
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