]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - processor-sdk/pdk.git/blob - packages/ti/osal/soc/c6678/TimerP_default.c
osal-rtos: add to PDK
[processor-sdk/pdk.git] / packages / ti / osal / soc / c6678 / TimerP_default.c
1 /*
2  * Copyright (c) 2015-2016, Texas Instruments Incorporated
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  *
9  * *  Redistributions of source code must retain the above copyright
10  *    notice, this list of conditions and the following disclaimer.
11  *
12  * *  Redistributions in binary form must reproduce the above copyright
13  *    notice, this list of conditions and the following disclaimer in the
14  *    documentation and/or other materials provided with the distribution.
15  *
16  * *  Neither the name of Texas Instruments Incorporated nor the names of
17  *    its contributors may be used to endorse or promote products derived
18  *    from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 /*
33  *  ======== TimerP_default.c ========
34  */
37 #include <stdint.h>
38 #include <stdbool.h>
39 #include <stdlib.h>
40 #include <ti/csl/soc.h>
41 #include <ti/osal/src/nonos/Nonos_config.h>
43 /* This information is derived from sysbios timer implmentation for multiple SoCs */
44 TimerP_timer64Default gTimer64InfoTbl[TimerP_numTimerDevices] = {
45   /* Timer ID 0 */
46   {
47     "Timer0",           /* Timer Name */
48      CSL_TIMER_0_REGS,  /* base address */
49      14,                /* Interrupt Number lo*/
50      4,                 /* Interrupt Number hi*/
51      64,                /* Event Id lo */
52      65,                /* Event Id hi */
53   },
55   /* Timer ID 1 */
56   {
57     "Timer1",           /* Timer Name */
58      CSL_TIMER_1_REGS,  /* base address */
59      14,                /* Interrupt Number lo*/
60      4,                 /* Interrupt Number hi*/
61      64,                /* Event Id lo */
62      65,                /* Event Id hi */
63   },
65   /* Timer ID 2 */
66   {
67     "Timer2",           /* Timer Name */
68      CSL_TIMER_2_REGS,  /* base address */
69      14,                /* Interrupt Number lo*/
70       4,                 /* Interrupt Number hi*/
71      64,                /* Event Id lo */
72      65,                /* Event Id hi */
73   },
74   /* Timer ID 3 */
75   {
76     "Timer3",           /* Timer Name */
77      CSL_TIMER_3_REGS,  /* base address */
78      14,                /* Interrupt Number lo*/
79      4,                 /* Interrupt Number hi*/
80      64,                /* Event Id lo */
81      65,                /* Event Id hi */
82   },
84   /* Timer ID 4 */
85   {
86     "Timer4",           /* Timer Name */
87      CSL_TIMER_4_REGS,  /* base address */
88      14,                /* Interrupt Number lo*/
89      4,                 /* Interrupt Number hi*/
90      64,                /* Event Id lo */
91      65,                /* Event Id hi */
92   },
94   /* Timer ID 5 */
95   {
96     "Timer5",           /* Timer Name */
97      CSL_TIMER_5_REGS,  /* base address */
98      14,                /* Interrupt Number lo*/
99       4,                 /* Interrupt Number hi*/
100      64,                /* Event Id lo */
101      65,                /* Event Id hi */
102   },
103   /* Timer ID 6 */
104   {
105     "Timer6",           /* Timer Name */
106      CSL_TIMER_6_REGS,  /* base address */
107      14,                /* Interrupt Number lo*/
108      4,                 /* Interrupt Number hi*/
109      64,                /* Event Id lo */
110      65,                /* Event Id hi */
111   },
113   /* Timer ID 7 */
114   {
115     "Timer7",           /* Timer Name */
116      CSL_TIMER_7_REGS,  /* base address */
117      14,                /* Interrupt Number lo*/
118      4,                 /* Interrupt Number hi*/
119      64,                /* Event Id lo */
120      65,                /* Event Id hi */
121   },
123   /* Timer ID 8 */
124   {
125     "Timer8",           /* Timer Name */
126      CSL_TIMER_8_REGS,  /* base address */
127      15,                /* Interrupt Number lo*/
128       5,                 /* Interrupt Number hi*/
129      68,                /* Event Id lo */
130      69,                /* Event Id hi */
131   },
132   /* Timer ID 9 */
133   {
134     "Timer9",           /* Timer Name */
135      CSL_TIMER_9_REGS,  /* base address */
136      15,                /* Interrupt Number lo*/
137      5,                 /* Interrupt Number hi*/
138      68,                /* Event Id lo */
139      69,                /* Event Id hi */
140   },
142   /* Timer ID 10 */
143   {
144     "Timer10",           /* Timer Name */
145      CSL_TIMER_10_REGS,  /* base address */
146      15,                /* Interrupt Number lo*/
147      5,                 /* Interrupt Number hi*/
148      70,                /* Event Id lo */
149      71,                /* Event Id hi */
150   },
152   /* Timer ID 11 */
153   {
154     "Timer11",           /* Timer Name */
155      CSL_TIMER_11_REGS,  /* base address */
156      15,                /* Interrupt Number lo*/
157       5,                 /* Interrupt Number hi*/
158      72,                /* Event Id lo */
159      73,                /* Event Id hi */
160   },
162   /* Timer ID 12 */
163   {
164     "Timer12",           /* Timer Name */
165      CSL_TIMER_12_REGS,  /* base address */
166      15,                /* Interrupt Number lo*/
167      5,                 /* Interrupt Number hi*/
168      74,                /* Event Id lo */
169      75,                /* Event Id hi */
170   },
171   /* Timer ID 13 */
172   {
173     "Timer13",           /* Timer Name */
174      CSL_TIMER_13_REGS,  /* base address */
175      15,                /* Interrupt Number lo*/
176      5,                 /* Interrupt Number hi*/
177      76,                /* Event Id lo */
178      77,                /* Event Id hi */
179   },
181   /* Timer ID 14 */
182   {
183     "Timer14",           /* Timer Name */
184      CSL_TIMER_14_REGS,  /* base address */
185      15,                /* Interrupt Number lo*/
186      5,                 /* Interrupt Number hi*/
187      78,                /* Event Id lo */
188      79,                /* Event Id hi */
189   },
191   /* Timer ID 15 */
192   {
193     "Timer15",           /* Timer Name */
194      CSL_TIMER_15_REGS,  /* base address */
195      15,                /* Interrupt Number lo*/
196       5,                 /* Interrupt Number hi*/
197      80,                /* Event Id lo */
198      81,                /* Event Id hi */
199   }
201 };
203 /* Returns the default frquency lower 32 bits */
204 int32_t TimerP_getDefaultFreqLo(uint32_t timerId)
206     /* return the same default frequency for all timer Ids */
207     return(TIMERP_TIMER_FREQ_LO);
210 /* Returns the default frquency higher 32 bits */
211 int32_t TimerP_getDefaultFreqHi(uint32_t timerId)
213     /* return the same default frequency for all timer Ids */
214     return(TIMERP_TIMER_FREQ_HI);
217 /* Nothing past this point */