[processor-sdk/performance-audio-sr.git] / pdk_k2g_1_0_1 / packages / ti / csl / docs / doxygen / html / dcc__app_8c.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3 <title>dcc_app.c File Reference</title>
4 <link href="doxygen.css" rel="stylesheet" type="text/css">
5 <link href="tabs.css" rel="stylesheet" type="text/css">
6 </head><body>
7 <table width=100%>
8 <tr>
9 <td bgcolor="black" width="1"><a href="http://www.ti.com"><img border=0 src="../../tilogo.gif"></a></td>
10 <td bgcolor="red"><img src="../../titagline.gif"></td>
11 </tr>
12 </table>
13 <!-- Generated by Doxygen 1.8.9.1 -->
14 <div id="navrow1" class="tabs">
15 <ul class="tablist">
16 <li><a href="index.html"><span>Main Page</span></a></li>
17 <li><a href="modules.html"><span>Modules</span></a></li>
18 <li><a href="annotated.html"><span>Data Structures</span></a></li>
19 <li class="current"><a href="files.html"><span>Files</span></a></li>
20 </ul>
21 </div>
22 <div id="navrow2" class="tabs2">
23 <ul class="tablist">
24 <li><a href="files.html"><span>File List</span></a></li>
25 <li><a href="globals.html"><span>Globals</span></a></li>
26 </ul>
27 </div>
28 <div id="nav-path" class="navpath">
29 <ul>
30 <li class="navelem"><a class="el" href="dir_cfafba98a580ce4b62f8a6fa96d7cbb0.html">example</a></li><li class="navelem"><a class="el" href="dir_b7debd81d7ed20840c2548263488c333.html">dcc</a></li><li class="navelem"><a class="el" href="dir_004f63ae16ee48e5499b696fb2d60b41.html">dcc_singleshotmode_app</a></li> </ul>
31 </div>
32 </div><!-- top -->
33 <div class="header">
34 <div class="summary">
35 <a href="#func-members">Functions</a> </div>
36 <div class="headertitle">
37 <div class="title">dcc_app.c File Reference</div> </div>
38 </div><!--header-->
39 <div class="contents">
41 <p>This file contains DCC test code for single shot mode. DPLLDSP_GMAC_H12 clock is used as clock to be tested against SYS_CLK1 which is reference clock.
42 <a href="#details">More...</a></p>
43 <div class="textblock"><code>#include <stdint.h></code><br />
44 <code>#include <<a class="el" href="csl__types_8h.html">ti/csl/csl_types.h</a>></code><br />
45 <code>#include <ti/csl/soc.h></code><br />
46 <code>#include <ti/drv/pm/pmhal.h></code><br />
47 <code>#include <<a class="el" href="hw__types_8h.html">ti/csl/hw_types.h</a>></code><br />
48 <code>#include <ti/csl/cslr_dcc.h></code><br />
49 <code>#include <<a class="el" href="csl__arch_8h.html">ti/csl/arch/csl_arch.h</a>></code><br />
50 <code>#include <ti/csl/example/utils/common/inc/uartConfig.h></code><br />
51 <code>#include <<a class="el" href="csl__dcc_8h.html">ti/csl/csl_dcc.h</a>></code><br />
52 <code>#include <ti/csl/cslr_synctimer.h></code><br />
53 </div><table class="memberdecls">
54 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
55 Functions</h2></td></tr>
56 <tr class="memitem:ae567d32d1c480637e764f8b53b741f56"><td class="memItemLeft" align="right" valign="top">static uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="dcc__app_8c.html#ae567d32d1c480637e764f8b53b741f56">DCCAppXBarConfig</a> (uint32_t intrType)</td></tr>
57 <tr class="memdesc:ae567d32d1c480637e764f8b53b741f56"><td class="mdescLeft"> </td><td class="mdescRight">This function is used to configure and enable CPU interrupt. <a href="#ae567d32d1c480637e764f8b53b741f56">More...</a><br /></td></tr>
58 <tr class="separator:ae567d32d1c480637e764f8b53b741f56"><td class="memSeparator" colspan="2"> </td></tr>
59 <tr class="memitem:ac6115210ea3cd7c2f3ecfd375162d982"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="dcc__app_8c.html#ac6115210ea3cd7c2f3ecfd375162d982">DCCAppErrorIntrISR</a> (void *handle)</td></tr>
60 <tr class="memdesc:ac6115210ea3cd7c2f3ecfd375162d982"><td class="mdescLeft"> </td><td class="mdescRight">This Interrupt Service Routine for DCC error interrupt. <a href="#ac6115210ea3cd7c2f3ecfd375162d982">More...</a><br /></td></tr>
61 <tr class="separator:ac6115210ea3cd7c2f3ecfd375162d982"><td class="memSeparator" colspan="2"> </td></tr>
62 <tr class="memitem:af057353b5540836a49149dab920b1924"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="dcc__app_8c.html#af057353b5540836a49149dab920b1924">DCCAppDoneIntrISR</a> (void *handle)</td></tr>
63 <tr class="memdesc:af057353b5540836a49149dab920b1924"><td class="mdescLeft"> </td><td class="mdescRight">This Interrupt Service Routine for DCC DONE interrupt. <a href="#af057353b5540836a49149dab920b1924">More...</a><br /></td></tr>
64 <tr class="separator:af057353b5540836a49149dab920b1924"><td class="memSeparator" colspan="2"> </td></tr>
65 <tr class="memitem:ae66890be2dddf65ae28d2cfd3887b2f4"><td class="memItemLeft" align="right" valign="top">static uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="dcc__app_8c.html#ae66890be2dddf65ae28d2cfd3887b2f4">DCCAppGetTestClkfreqKHz</a> (uint32_t refClk)</td></tr>
66 <tr class="memdesc:ae66890be2dddf65ae28d2cfd3887b2f4"><td class="mdescLeft"> </td><td class="mdescRight">This function returns reference clock frequency. <a href="#ae66890be2dddf65ae28d2cfd3887b2f4">More...</a><br /></td></tr>
67 <tr class="separator:ae66890be2dddf65ae28d2cfd3887b2f4"><td class="memSeparator" colspan="2"> </td></tr>
68 <tr class="memitem:a53b363c766dd4683a16c7f2137978eb0"><td class="memItemLeft" align="right" valign="top">static int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="dcc__app_8c.html#a53b363c766dd4683a16c7f2137978eb0">DCCAppTestClkFreqChange</a> (void)</td></tr>
69 <tr class="memdesc:a53b363c766dd4683a16c7f2137978eb0"><td class="mdescLeft"> </td><td class="mdescRight">This function changes the test clock frequency. <a href="#a53b363c766dd4683a16c7f2137978eb0">More...</a><br /></td></tr>
70 <tr class="separator:a53b363c766dd4683a16c7f2137978eb0"><td class="memSeparator" colspan="2"> </td></tr>
71 <tr class="memitem:ab97ebb8d939368bb67189bd35d8d68ea"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="dcc__app_8c.html#ab97ebb8d939368bb67189bd35d8d68ea">DCCAppSetSeedVals</a> (uint32_t refClkFreq, uint32_t testClkFreq, uint32_t refClkRatioNum, uint32_t testClkRatioNum, uint32_t drfitPer, <a class="el" href="dcc_8h.html#ae8100af443137619dba94483fce54212">dccConfigParams_t</a> *configParams)</td></tr>
72 <tr class="memdesc:ab97ebb8d939368bb67189bd35d8d68ea"><td class="mdescLeft"> </td><td class="mdescRight">This function returns seed value for COUNT1. <a href="#ab97ebb8d939368bb67189bd35d8d68ea">More...</a><br /></td></tr>
73 <tr class="separator:ab97ebb8d939368bb67189bd35d8d68ea"><td class="memSeparator" colspan="2"> </td></tr>
74 <tr class="memitem:ab7424757de6d1134ddddadfdcf811b55"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="dcc__app_8c.html#ab7424757de6d1134ddddadfdcf811b55">DCCAppGetClkRatio</a> (uint32_t refClkFreq, uint32_t testClkFreq, uint32_t *refClkRatioNum, uint32_t *testClkRatioNum)</td></tr>
75 <tr class="memdesc:ab7424757de6d1134ddddadfdcf811b55"><td class="mdescLeft"> </td><td class="mdescRight">This function returns least integral ratio for given clocks. <a href="#ab7424757de6d1134ddddadfdcf811b55">More...</a><br /></td></tr>
76 <tr class="separator:ab7424757de6d1134ddddadfdcf811b55"><td class="memSeparator" colspan="2"> </td></tr>
77 <tr class="memitem:aa5f7a853efc119dfe325f8543a4b221c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dcc__app_8c.html#aa5f7a853efc119dfe325f8543a4b221c">DCCAppMiscConfig</a> (uint32_t clksrc)</td></tr>
78 <tr class="memdesc:aa5f7a853efc119dfe325f8543a4b221c"><td class="mdescLeft"> </td><td class="mdescRight">This function is used for misc configuration needed by DCC App. <a href="#aa5f7a853efc119dfe325f8543a4b221c">More...</a><br /></td></tr>
79 <tr class="separator:aa5f7a853efc119dfe325f8543a4b221c"><td class="memSeparator" colspan="2"> </td></tr>
80 <tr class="memitem:a840291bc02cba5474a4cb46a9b9566fe"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="dcc__app_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main</a> (void)</td></tr>
81 <tr class="separator:a840291bc02cba5474a4cb46a9b9566fe"><td class="memSeparator" colspan="2"> </td></tr>
82 </table>
83 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
84 <div class="textblock"><p>This file contains DCC test code for single shot mode. DPLLDSP_GMAC_H12 clock is used as clock to be tested against SYS_CLK1 which is reference clock. </p>
85 <p>DCC operational mode is set to single shot mode. </p>
86 </div><h2 class="groupheader">Function Documentation</h2>
87 <a class="anchor" id="af057353b5540836a49149dab920b1924"></a>
88 <div class="memitem">
89 <div class="memproto">
90 <table class="mlabels">
91 <tr>
92 <td class="mlabels-left">
93 <table class="memname">
94 <tr>
95 <td class="memname">static void DCCAppDoneIntrISR </td>
96 <td>(</td>
97 <td class="paramtype">void * </td>
98 <td class="paramname"><em>handle</em></td><td>)</td>
99 <td></td>
100 </tr>
101 </table>
102 </td>
103 <td class="mlabels-right">
104 <span class="mlabels"><span class="mlabel">static</span></span> </td>
105 </tr>
106 </table>
107 </div><div class="memdoc">
109 <p>This Interrupt Service Routine for DCC DONE interrupt. </p>
110 <dl class="params"><dt>Parameters</dt><dd>
111 <table class="params">
112 <tr><td class="paramname">none.</td><td></td></tr>
113 </table>
114 </dd>
115 </dl>
116 <dl class="retval"><dt>Return values</dt><dd>
117 <table class="retval">
118 <tr><td class="paramname">none.</td><td></td></tr>
119 </table>
120 </dd>
121 </dl>
123 </div>
124 </div>
125 <a class="anchor" id="ac6115210ea3cd7c2f3ecfd375162d982"></a>
126 <div class="memitem">
127 <div class="memproto">
128 <table class="mlabels">
129 <tr>
130 <td class="mlabels-left">
131 <table class="memname">
132 <tr>
133 <td class="memname">static void DCCAppErrorIntrISR </td>
134 <td>(</td>
135 <td class="paramtype">void * </td>
136 <td class="paramname"><em>handle</em></td><td>)</td>
137 <td></td>
138 </tr>
139 </table>
140 </td>
141 <td class="mlabels-right">
142 <span class="mlabels"><span class="mlabel">static</span></span> </td>
143 </tr>
144 </table>
145 </div><div class="memdoc">
147 <p>This Interrupt Service Routine for DCC error interrupt. </p>
148 <dl class="params"><dt>Parameters</dt><dd>
149 <table class="params">
150 <tr><td class="paramname">none.</td><td></td></tr>
151 </table>
152 </dd>
153 </dl>
154 <dl class="retval"><dt>Return values</dt><dd>
155 <table class="retval">
156 <tr><td class="paramname">none.</td><td></td></tr>
157 </table>
158 </dd>
159 </dl>
161 </div>
162 </div>
163 <a class="anchor" id="ab7424757de6d1134ddddadfdcf811b55"></a>
164 <div class="memitem">
165 <div class="memproto">
166 <table class="mlabels">
167 <tr>
168 <td class="mlabels-left">
169 <table class="memname">
170 <tr>
171 <td class="memname">static void DCCAppGetClkRatio </td>
172 <td>(</td>
173 <td class="paramtype">uint32_t </td>
174 <td class="paramname"><em>refClkFreq</em>, </td>
175 </tr>
176 <tr>
177 <td class="paramkey"></td>
178 <td></td>
179 <td class="paramtype">uint32_t </td>
180 <td class="paramname"><em>testClkFreq</em>, </td>
181 </tr>
182 <tr>
183 <td class="paramkey"></td>
184 <td></td>
185 <td class="paramtype">uint32_t * </td>
186 <td class="paramname"><em>refClkRatioNum</em>, </td>
187 </tr>
188 <tr>
189 <td class="paramkey"></td>
190 <td></td>
191 <td class="paramtype">uint32_t * </td>
192 <td class="paramname"><em>testClkRatioNum</em> </td>
193 </tr>
194 <tr>
195 <td></td>
196 <td>)</td>
197 <td></td><td></td>
198 </tr>
199 </table>
200 </td>
201 <td class="mlabels-right">
202 <span class="mlabels"><span class="mlabel">static</span></span> </td>
203 </tr>
204 </table>
205 </div><div class="memdoc">
207 <p>This function returns least integral ratio for given clocks. </p>
208 <dl class="params"><dt>Parameters</dt><dd>
209 <table class="params">
210 <tr><td class="paramname">refClkFreq</td><td>Reference clock frequency in KHz. </td></tr>
211 <tr><td class="paramname">testClkFreq</td><td>Test clock frequency in KHz. </td></tr>
212 <tr><td class="paramname">refClkRatioNum</td><td>Reference clock ratio number. </td></tr>
213 <tr><td class="paramname">testClkRatioNum</td><td>Test clock ratio number.</td></tr>
214 </table>
215 </dd>
216 </dl>
217 <dl class="retval"><dt>Return values</dt><dd>
218 <table class="retval">
219 <tr><td class="paramname">None.</td><td></td></tr>
220 </table>
221 </dd>
222 </dl>
224 </div>
225 </div>
226 <a class="anchor" id="ae66890be2dddf65ae28d2cfd3887b2f4"></a>
227 <div class="memitem">
228 <div class="memproto">
229 <table class="mlabels">
230 <tr>
231 <td class="mlabels-left">
232 <table class="memname">
233 <tr>
234 <td class="memname">static uint32_t DCCAppGetTestClkfreqKHz </td>
235 <td>(</td>
236 <td class="paramtype">uint32_t </td>
237 <td class="paramname"><em>refClk</em></td><td>)</td>
238 <td></td>
239 </tr>
240 </table>
241 </td>
242 <td class="mlabels-right">
243 <span class="mlabels"><span class="mlabel">static</span></span> </td>
244 </tr>
245 </table>
246 </div><div class="memdoc">
248 <p>This function returns reference clock frequency. </p>
249 <dl class="params"><dt>Parameters</dt><dd>
250 <table class="params">
251 <tr><td class="paramname">refClk</td><td>Clock whose frequency to be calculated.</td></tr>
252 </table>
253 </dd>
254 </dl>
255 <dl class="retval"><dt>Return values</dt><dd>
256 <table class="retval">
257 <tr><td class="paramname">frequency</td><td>Frequency of the given clock in KHz. </td></tr>
258 </table>
259 </dd>
260 </dl>
262 </div>
263 </div>
264 <a class="anchor" id="aa5f7a853efc119dfe325f8543a4b221c"></a>
265 <div class="memitem">
266 <div class="memproto">
267 <table class="memname">
268 <tr>
269 <td class="memname">void DCCAppMiscConfig </td>
270 <td>(</td>
271 <td class="paramtype">uint32_t </td>
272 <td class="paramname"><em>clksrc</em></td><td>)</td>
273 <td></td>
274 </tr>
275 </table>
276 </div><div class="memdoc">
278 <p>This function is used for misc configuration needed by DCC App. </p>
279 <dl class="params"><dt>Parameters</dt><dd>
280 <table class="params">
281 <tr><td class="paramname">none.</td><td></td></tr>
282 </table>
283 </dd>
284 </dl>
285 <dl class="retval"><dt>Return values</dt><dd>
286 <table class="retval">
287 <tr><td class="paramname">none.</td><td></td></tr>
288 </table>
289 </dd>
290 </dl>
292 </div>
293 </div>
294 <a class="anchor" id="ab97ebb8d939368bb67189bd35d8d68ea"></a>
295 <div class="memitem">
296 <div class="memproto">
297 <table class="mlabels">
298 <tr>
299 <td class="mlabels-left">
300 <table class="memname">
301 <tr>
302 <td class="memname">static void DCCAppSetSeedVals </td>
303 <td>(</td>
304 <td class="paramtype">uint32_t </td>
305 <td class="paramname"><em>refClkFreq</em>, </td>
306 </tr>
307 <tr>
308 <td class="paramkey"></td>
309 <td></td>
310 <td class="paramtype">uint32_t </td>
311 <td class="paramname"><em>testClkFreq</em>, </td>
312 </tr>
313 <tr>
314 <td class="paramkey"></td>
315 <td></td>
316 <td class="paramtype">uint32_t </td>
317 <td class="paramname"><em>refClkRatioNum</em>, </td>
318 </tr>
319 <tr>
320 <td class="paramkey"></td>
321 <td></td>
322 <td class="paramtype">uint32_t </td>
323 <td class="paramname"><em>testClkRatioNum</em>, </td>
324 </tr>
325 <tr>
326 <td class="paramkey"></td>
327 <td></td>
328 <td class="paramtype">uint32_t </td>
329 <td class="paramname"><em>drfitPer</em>, </td>
330 </tr>
331 <tr>
332 <td class="paramkey"></td>
333 <td></td>
334 <td class="paramtype"><a class="el" href="dcc_8h.html#ae8100af443137619dba94483fce54212">dccConfigParams_t</a> * </td>
335 <td class="paramname"><em>configParams</em> </td>
336 </tr>
337 <tr>
338 <td></td>
339 <td>)</td>
340 <td></td><td></td>
341 </tr>
342 </table>
343 </td>
344 <td class="mlabels-right">
345 <span class="mlabels"><span class="mlabel">static</span></span> </td>
346 </tr>
347 </table>
348 </div><div class="memdoc">
350 <p>This function returns seed value for COUNT1. </p>
351 <dl class="params"><dt>Parameters</dt><dd>
352 <table class="params">
353 <tr><td class="paramname">refClkFreq</td><td>Reference clock frequency in KHz. </td></tr>
354 <tr><td class="paramname">testClkFreq</td><td>Test clock frequency in KHz. </td></tr>
355 <tr><td class="paramname">refClkRatioNum</td><td>Reference clock ratio number. </td></tr>
356 <tr><td class="paramname">testClkRatioNum</td><td>Test clock ratio number. </td></tr>
357 <tr><td class="paramname">drfitPer</td><td>Allowed drift in test clock in percentage. </td></tr>
358 <tr><td class="paramname">configParams</td><td>DCC configuration parameters. Refer enum <a class="el" href="dcc_8h.html#ae8100af443137619dba94483fce54212" title="Structure containing parameters for DCC module configuration. ">dccConfigParams_t</a>.</td></tr>
359 </table>
360 </dd>
361 </dl>
362 <dl class="retval"><dt>Return values</dt><dd>
363 <table class="retval">
364 <tr><td class="paramname">None.</td><td></td></tr>
365 </table>
366 </dd>
367 </dl>
369 </div>
370 </div>
371 <a class="anchor" id="a53b363c766dd4683a16c7f2137978eb0"></a>
372 <div class="memitem">
373 <div class="memproto">
374 <table class="mlabels">
375 <tr>
376 <td class="mlabels-left">
377 <table class="memname">
378 <tr>
379 <td class="memname">static int32_t DCCAppTestClkFreqChange </td>
380 <td>(</td>
381 <td class="paramtype">void </td>
382 <td class="paramname"></td><td>)</td>
383 <td></td>
384 </tr>
385 </table>
386 </td>
387 <td class="mlabels-right">
388 <span class="mlabels"><span class="mlabel">static</span></span> </td>
389 </tr>
390 </table>
391 </div><div class="memdoc">
393 <p>This function changes the test clock frequency. </p>
394 <dl class="params"><dt>Parameters</dt><dd>
395 <table class="params">
396 <tr><td class="paramname">None</td><td></td></tr>
397 </table>
398 </dd>
399 </dl>
400 <dl class="retval"><dt>Return values</dt><dd>
401 <table class="retval">
402 <tr><td class="paramname">status</td><td>Configuration status. </td></tr>
403 </table>
404 </dd>
405 </dl>
407 </div>
408 </div>
409 <a class="anchor" id="ae567d32d1c480637e764f8b53b741f56"></a>
410 <div class="memitem">
411 <div class="memproto">
412 <table class="mlabels">
413 <tr>
414 <td class="mlabels-left">
415 <table class="memname">
416 <tr>
417 <td class="memname">static uint32_t DCCAppXBarConfig </td>
418 <td>(</td>
419 <td class="paramtype">uint32_t </td>
420 <td class="paramname"><em>intrType</em></td><td>)</td>
421 <td></td>
422 </tr>
423 </table>
424 </td>
425 <td class="mlabels-right">
426 <span class="mlabels"><span class="mlabel">static</span></span> </td>
427 </tr>
428 </table>
429 </div><div class="memdoc">
431 <p>This function is used to configure and enable CPU interrupt. </p>
432 <dl class="params"><dt>Parameters</dt><dd>
433 <table class="params">
434 <tr><td class="paramname">intrType</td><td>Interrupt for which crossbar is to be configured. Refer enum <a class="el" href="dcc_8h.html#acc57469735d7950561d0428a3401272b" title="Enum for DCC interrupts. ">dccIntrType_t</a>.</td></tr>
435 </table>
436 </dd>
437 </dl>
438 <dl class="retval"><dt>Return values</dt><dd>
439 <table class="retval">
440 <tr><td class="paramname">status</td><td>Configuration status. </td></tr>
441 </table>
442 </dd>
443 </dl>
445 </div>
446 </div>
447 <a class="anchor" id="a840291bc02cba5474a4cb46a9b9566fe"></a>
448 <div class="memitem">
449 <div class="memproto">
450 <table class="memname">
451 <tr>
452 <td class="memname">int main </td>
453 <td>(</td>
454 <td class="paramtype">void </td>
455 <td class="paramname"></td><td>)</td>
456 <td></td>
457 </tr>
458 </table>
459 </div><div class="memdoc">
460 <p><b>Description</b> <br />
461 Entry point for the test code.</p>
462 <dl class="retval"><dt>Return values</dt><dd>
463 <table class="retval">
464 <tr><td class="paramname">Not</td><td>Applicable. </td></tr>
465 </table>
466 </dd>
467 </dl>
469 </div>
470 </div>
471 </div><!-- contents -->
472 <hr size="1"><small>
473 Copyright 2016, Texas Instruments Incorporated</small>
474 </body>
475 </html>