1 /*
2  *  Copyright (C) 2016 Texas Instruments Incorporated - http://www.ti.com/
3  *
4  *  Redistribution and use in source and binary forms, with or without
5  *  modification, are permitted provided that the following conditions
6  *  are met:
7  *
8  *    Redistributions of source code must retain the above copyright
9  *    notice, this list of conditions and the following disclaimer.
10  *
11  *    Redistributions in binary form must reproduce the above copyright
12  *    notice, this list of conditions and the following disclaimer in the
13  *    documentation and/or other materials provided with the
14  *    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
21  *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23  *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24  *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25  *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26  *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27  *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28  *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29  *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30  *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  *
32  */
33 //*****************************************************************************
34 //
35 // rom.h - Macros to facilitate calling functions in the ROM.
36 //
37 //
38 //*****************************************************************************
39 //
40 // THIS IS AN AUTO-GENERATED FILE.  DO NOT EDIT BY HAND.
41 //
42 //*****************************************************************************
43 
44 #ifndef __ROM_H__
45 #define __ROM_H__
46 
47 //*****************************************************************************
48 //
49 // For backward compatibility with older Driverlib versions
50 //
51 //*****************************************************************************
52 #ifdef TARGET_IS_CC3200
53 #define USE_CC3200_ROM_DRV_API
54 #endif
55 
56 //*****************************************************************************
57 //
58 // Pointers to the main API tables.
59 //
60 //*****************************************************************************
61 #define ROM_APITABLE            ((unsigned long *)0x0000040C)
62 #define ROM_VERSION             (ROM_APITABLE[0])
63 #define ROM_UARTTABLE           ((unsigned long *)(ROM_APITABLE[1]))
64 #define ROM_TIMERTABLE          ((unsigned long *)(ROM_APITABLE[2]))
65 #define ROM_WATCHDOGTABLE       ((unsigned long *)(ROM_APITABLE[3]))
66 #define ROM_INTERRUPTTABLE      ((unsigned long *)(ROM_APITABLE[4]))
67 #define ROM_UDMATABLE           ((unsigned long *)(ROM_APITABLE[5]))
68 #define ROM_PRCMTABLE           ((unsigned long *)(ROM_APITABLE[6]))
69 #define ROM_I2CTABLE            ((unsigned long *)(ROM_APITABLE[7]))
70 #define ROM_SPITABLE            ((unsigned long *)(ROM_APITABLE[8]))
71 #define ROM_CAMERATABLE         ((unsigned long *)(ROM_APITABLE[9]))
72 #define ROM_FLASHTABLE          ((unsigned long *)(ROM_APITABLE[10]))
73 #define ROM_PINTABLE            ((unsigned long *)(ROM_APITABLE[11]))
74 #define ROM_SYSTICKTABLE        ((unsigned long *)(ROM_APITABLE[12]))
75 #define ROM_UTILSTABLE          ((unsigned long *)(ROM_APITABLE[13]))
76 #define ROM_I2STABLE            ((unsigned long *)(ROM_APITABLE[14]))
77 #define ROM_HWSPINLOCKTABLE     ((unsigned long *)(ROM_APITABLE[15]))
78 #define ROM_GPIOTABLE           ((unsigned long *)(ROM_APITABLE[16]))
79 #define ROM_AESTABLE            ((unsigned long *)(ROM_APITABLE[17]))
80 #define ROM_DESTABLE            ((unsigned long *)(ROM_APITABLE[18]))
81 #define ROM_SHAMD5TABLE         ((unsigned long *)(ROM_APITABLE[19]))
82 #define ROM_CRCTABLE            ((unsigned long *)(ROM_APITABLE[20]))
83 #define ROM_SDHOSTTABLE         ((unsigned long *)(ROM_APITABLE[21]))
84 #define ROM_ADCTABLE            ((unsigned long *)(ROM_APITABLE[22]))
85 #define ROM_CPUTABLE            ((unsigned long *)(ROM_APITABLE[23]))
86 
87 //*****************************************************************************
88 //
89 // Macros for calling ROM functions in the Interrupt API.
90 //
91 //*****************************************************************************
92 #if defined(USE_CC3200_ROM_DRV_API) || \
93     defined(USE_CC3220_ROM_DRV_API)
94 #define ROM_IntEnable                                                         \
95         ((void (*)(unsigned long ulInterrupt))ROM_INTERRUPTTABLE[0])
96 #endif
97 #if defined(USE_CC3200_ROM_DRV_API) || \
98     defined(USE_CC3220_ROM_DRV_API)
99 #define ROM_IntMasterEnable                                                   \
100         ((tBoolean (*)(void))ROM_INTERRUPTTABLE[1])
101 #endif
102 #if defined(USE_CC3200_ROM_DRV_API) || \
103     defined(USE_CC3220_ROM_DRV_API)
104 #define ROM_IntMasterDisable                                                  \
105         ((tBoolean (*)(void))ROM_INTERRUPTTABLE[2])
106 #endif
107 #if defined(USE_CC3200_ROM_DRV_API) || \
108     defined(USE_CC3220_ROM_DRV_API)
109 #define ROM_IntDisable                                                        \
110         ((void (*)(unsigned long ulInterrupt))ROM_INTERRUPTTABLE[3])
111 #endif
112 #if defined(USE_CC3200_ROM_DRV_API) || \
113     defined(USE_CC3220_ROM_DRV_API)
114 #define ROM_IntPriorityGroupingSet                                            \
115         ((void (*)(unsigned long ulBits))ROM_INTERRUPTTABLE[4])
116 #endif
117 #if defined(USE_CC3200_ROM_DRV_API) || \
118     defined(USE_CC3220_ROM_DRV_API)
119 #define ROM_IntPriorityGroupingGet                                            \
120         ((unsigned long (*)(void))ROM_INTERRUPTTABLE[5])
121 #endif
122 #if defined(USE_CC3200_ROM_DRV_API) || \
123     defined(USE_CC3220_ROM_DRV_API)
124 #define ROM_IntPrioritySet                                                    \
125         ((void (*)(unsigned long ulInterrupt,                                 \
126                    unsigned char ucPriority))ROM_INTERRUPTTABLE[6])
127 #endif
128 #if defined(USE_CC3200_ROM_DRV_API) || \
129     defined(USE_CC3220_ROM_DRV_API)
130 #define ROM_IntPriorityGet                                                    \
131         ((long (*)(unsigned long ulInterrupt))ROM_INTERRUPTTABLE[7])
132 #endif
133 #if defined(USE_CC3200_ROM_DRV_API) || \
134     defined(USE_CC3220_ROM_DRV_API)
135 #define ROM_IntPendSet                                                        \
136         ((void (*)(unsigned long ulInterrupt))ROM_INTERRUPTTABLE[8])
137 #endif
138 #if defined(USE_CC3200_ROM_DRV_API) || \
139     defined(USE_CC3220_ROM_DRV_API)
140 #define ROM_IntPendClear                                                      \
141         ((void (*)(unsigned long ulInterrupt))ROM_INTERRUPTTABLE[9])
142 #endif
143 #if defined(USE_CC3200_ROM_DRV_API) || \
144     defined(USE_CC3220_ROM_DRV_API)
145 #define ROM_IntPriorityMaskSet                                                \
146         ((void (*)(unsigned long ulPriorityMask))ROM_INTERRUPTTABLE[10])
147 #endif
148 #if defined(USE_CC3200_ROM_DRV_API) || \
149     defined(USE_CC3220_ROM_DRV_API)
150 #define ROM_IntPriorityMaskGet                                                \
151         ((unsigned long (*)(void))ROM_INTERRUPTTABLE[11])
152 #endif
153 #if defined(USE_CC3200_ROM_DRV_API) || \
154     defined(USE_CC3220_ROM_DRV_API)
155 #define ROM_IntRegister                                                       \
156         ((void (*)(unsigned long ulInterrupt,                                 \
157                    void (*pfnHandler)(void)))ROM_INTERRUPTTABLE[12])
158 #endif
159 #if defined(USE_CC3200_ROM_DRV_API) || \
160     defined(USE_CC3220_ROM_DRV_API)
161 #define ROM_IntUnregister                                                     \
162         ((void (*)(unsigned long ulInterrupt))ROM_INTERRUPTTABLE[13])
163 #endif
164 #if defined(USE_CC3200_ROM_DRV_API) || \
165     defined(USE_CC3220_ROM_DRV_API)
166 #define ROM_IntVTableBaseSet                                                  \
167         ((void (*)(unsigned long ulVtableBase))ROM_INTERRUPTTABLE[14])
168 #endif
169 
170 //*****************************************************************************
171 //
172 // Macros for calling ROM functions in the Timer API.
173 //
174 //*****************************************************************************
175 #if defined(USE_CC3200_ROM_DRV_API) || \
176     defined(USE_CC3220_ROM_DRV_API)
177 #define ROM_TimerEnable                                                       \
178         ((void (*)(unsigned long ulBase,                                      \
179                    unsigned long ulTimer))ROM_TIMERTABLE[0])
180 #endif
181 #if defined(USE_CC3200_ROM_DRV_API) || \
182     defined(USE_CC3220_ROM_DRV_API)
183 #define ROM_TimerDisable                                                      \
184         ((void (*)(unsigned long ulBase,                                      \
185                    unsigned long ulTimer))ROM_TIMERTABLE[1])
186 #endif
187 #if defined(USE_CC3200_ROM_DRV_API) || \
188     defined(USE_CC3220_ROM_DRV_API)
189 #define ROM_TimerConfigure                                                    \
190         ((void (*)(unsigned long ulBase,                                      \
191                    unsigned long ulConfig))ROM_TIMERTABLE[2])
192 #endif
193 #if defined(USE_CC3200_ROM_DRV_API) || \
194     defined(USE_CC3220_ROM_DRV_API)
195 #define ROM_TimerControlLevel                                                 \
196         ((void (*)(unsigned long ulBase,                                      \
197                    unsigned long ulTimer,                                     \
198                    tBoolean bInvert))ROM_TIMERTABLE[3])
199 #endif
200 #if defined(USE_CC3200_ROM_DRV_API) || \
201     defined(USE_CC3220_ROM_DRV_API)
202 #define ROM_TimerControlEvent                                                 \
203         ((void (*)(unsigned long ulBase,                                      \
204                    unsigned long ulTimer,                                     \
205                    unsigned long ulEvent))ROM_TIMERTABLE[4])
206 #endif
207 #if defined(USE_CC3200_ROM_DRV_API) || \
208     defined(USE_CC3220_ROM_DRV_API)
209 #define ROM_TimerControlStall                                                 \
210         ((void (*)(unsigned long ulBase,                                      \
211                    unsigned long ulTimer,                                     \
212                    tBoolean bStall))ROM_TIMERTABLE[5])
213 #endif
214 #if defined(USE_CC3200_ROM_DRV_API) || \
215     defined(USE_CC3220_ROM_DRV_API)
216 #define ROM_TimerPrescaleSet                                                  \
217         ((void (*)(unsigned long ulBase,                                      \
218                    unsigned long ulTimer,                                     \
219                    unsigned long ulValue))ROM_TIMERTABLE[6])
220 #endif
221 #if defined(USE_CC3200_ROM_DRV_API) || \
222     defined(USE_CC3220_ROM_DRV_API)
223 #define ROM_TimerPrescaleGet                                                  \
224         ((unsigned long (*)(unsigned long ulBase,                             \
225                             unsigned long ulTimer))ROM_TIMERTABLE[7])
226 #endif
227 #if defined(USE_CC3200_ROM_DRV_API) || \
228     defined(USE_CC3220_ROM_DRV_API)
229 #define ROM_TimerPrescaleMatchSet                                             \
230         ((void (*)(unsigned long ulBase,                                      \
231                    unsigned long ulTimer,                                     \
232                    unsigned long ulValue))ROM_TIMERTABLE[8])
233 #endif
234 #if defined(USE_CC3200_ROM_DRV_API) || \
235     defined(USE_CC3220_ROM_DRV_API)
236 #define ROM_TimerPrescaleMatchGet                                             \
237         ((unsigned long (*)(unsigned long ulBase,                             \
238                             unsigned long ulTimer))ROM_TIMERTABLE[9])
239 #endif
240 #if defined(USE_CC3200_ROM_DRV_API) || \
241     defined(USE_CC3220_ROM_DRV_API)
242 #define ROM_TimerLoadSet                                                      \
243         ((void (*)(unsigned long ulBase,                                      \
244                    unsigned long ulTimer,                                     \
245                    unsigned long ulValue))ROM_TIMERTABLE[10])
246 #endif
247 #if defined(USE_CC3200_ROM_DRV_API) || \
248     defined(USE_CC3220_ROM_DRV_API)
249 #define ROM_TimerLoadGet                                                      \
250         ((unsigned long (*)(unsigned long ulBase,                             \
251                             unsigned long ulTimer))ROM_TIMERTABLE[11])
252 #endif
253 #if defined(USE_CC3200_ROM_DRV_API) || \
254     defined(USE_CC3220_ROM_DRV_API)
255 #define ROM_TimerValueGet                                                     \
256         ((unsigned long (*)(unsigned long ulBase,                             \
257                             unsigned long ulTimer))ROM_TIMERTABLE[12])
258 #endif
259 #if defined(USE_CC3200_ROM_DRV_API) || \
260     defined(USE_CC3220_ROM_DRV_API)
261 #define ROM_TimerMatchSet                                                     \
262         ((void (*)(unsigned long ulBase,                                      \
263                    unsigned long ulTimer,                                     \
264                    unsigned long ulValue))ROM_TIMERTABLE[13])
265 #endif
266 #if defined(USE_CC3200_ROM_DRV_API) || \
267     defined(USE_CC3220_ROM_DRV_API)
268 #define ROM_TimerMatchGet                                                     \
269         ((unsigned long (*)(unsigned long ulBase,                             \
270                             unsigned long ulTimer))ROM_TIMERTABLE[14])
271 #endif
272 #if defined(USE_CC3200_ROM_DRV_API) || \
273     defined(USE_CC3220_ROM_DRV_API)
274 #define ROM_TimerIntRegister                                                  \
275         ((void (*)(unsigned long ulBase,                                      \
276                    unsigned long ulTimer,                                     \
277                    void (*pfnHandler)(void)))ROM_TIMERTABLE[15])
278 #endif
279 #if defined(USE_CC3200_ROM_DRV_API) || \
280     defined(USE_CC3220_ROM_DRV_API)
281 #define ROM_TimerIntUnregister                                                \
282         ((void (*)(unsigned long ulBase,                                      \
283                    unsigned long ulTimer))ROM_TIMERTABLE[16])
284 #endif
285 #if defined(USE_CC3200_ROM_DRV_API) || \
286     defined(USE_CC3220_ROM_DRV_API)
287 #define ROM_TimerIntEnable                                                    \
288         ((void (*)(unsigned long ulBase,                                      \
289                    unsigned long ulIntFlags))ROM_TIMERTABLE[17])
290 #endif
291 #if defined(USE_CC3200_ROM_DRV_API) || \
292     defined(USE_CC3220_ROM_DRV_API)
293 #define ROM_TimerIntDisable                                                   \
294         ((void (*)(unsigned long ulBase,                                      \
295                    unsigned long ulIntFlags))ROM_TIMERTABLE[18])
296 #endif
297 #if defined(USE_CC3200_ROM_DRV_API) || \
298     defined(USE_CC3220_ROM_DRV_API)
299 #define ROM_TimerIntStatus                                                    \
300         ((unsigned long (*)(unsigned long ulBase,                             \
301                             tBoolean bMasked))ROM_TIMERTABLE[19])
302 #endif
303 #if defined(USE_CC3200_ROM_DRV_API) || \
304     defined(USE_CC3220_ROM_DRV_API)
305 #define ROM_TimerIntClear                                                     \
306         ((void (*)(unsigned long ulBase,                                      \
307                    unsigned long ulIntFlags))ROM_TIMERTABLE[20])
308 #endif
309 #if defined(USE_CC3220_ROM_DRV_API)
310 #define ROM_TimerValueSet                                                     \
311         ((void (*)(unsigned long ulBase,                                      \
312                    unsigned long ulTimer,                                     \
313                    unsigned long ulValue))ROM_TIMERTABLE[22])
314 #endif
315 #if defined(USE_CC3220_ROM_DRV_API)
316 #define ROM_TimerDMAEventSet                                                  \
317         ((void (*)(unsigned long ulBase,                                      \
318                    unsigned long ulDMAEvent))ROM_TIMERTABLE[23])
319 #endif
320 #if defined(USE_CC3220_ROM_DRV_API)
321 #define ROM_TimerDMAEventGet                                                  \
322         ((unsigned long (*)(unsigned long ulBase))ROM_TIMERTABLE[24])
323 #endif
324 
325 //*****************************************************************************
326 //
327 // Macros for calling ROM functions in the UART API.
328 //
329 //*****************************************************************************
330 #if defined(USE_CC3200_ROM_DRV_API) || \
331     defined(USE_CC3220_ROM_DRV_API)
332 #define ROM_UARTParityModeSet                                                 \
333         ((void (*)(unsigned long ulBase,                                      \
334                    unsigned long ulParity))ROM_UARTTABLE[0])
335 #endif
336 #if defined(USE_CC3200_ROM_DRV_API) || \
337     defined(USE_CC3220_ROM_DRV_API)
338 #define ROM_UARTParityModeGet                                                 \
339         ((unsigned long (*)(unsigned long ulBase))ROM_UARTTABLE[1])
340 #endif
341 #if defined(USE_CC3200_ROM_DRV_API) || \
342     defined(USE_CC3220_ROM_DRV_API)
343 #define ROM_UARTFIFOLevelSet                                                  \
344         ((void (*)(unsigned long ulBase,                                      \
345                    unsigned long ulTxLevel,                                   \
346                    unsigned long ulRxLevel))ROM_UARTTABLE[2])
347 #endif
348 #if defined(USE_CC3200_ROM_DRV_API) || \
349     defined(USE_CC3220_ROM_DRV_API)
350 #define ROM_UARTFIFOLevelGet                                                  \
351         ((void (*)(unsigned long ulBase,                                      \
352                    unsigned long *pulTxLevel,                                 \
353                    unsigned long *pulRxLevel))ROM_UARTTABLE[3])
354 #endif
355 #if defined(USE_CC3200_ROM_DRV_API) || \
356     defined(USE_CC3220_ROM_DRV_API)
357 #define ROM_UARTConfigSetExpClk                                               \
358         ((void (*)(unsigned long ulBase,                                      \
359                    unsigned long ulUARTClk,                                   \
360                    unsigned long ulBaud,                                      \
361                    unsigned long ulConfig))ROM_UARTTABLE[4])
362 #endif
363 #if defined(USE_CC3200_ROM_DRV_API) || \
364     defined(USE_CC3220_ROM_DRV_API)
365 #define ROM_UARTConfigGetExpClk                                               \
366         ((void (*)(unsigned long ulBase,                                      \
367                    unsigned long ulUARTClk,                                   \
368                    unsigned long *pulBaud,                                    \
369                    unsigned long *pulConfig))ROM_UARTTABLE[5])
370 #endif
371 #if defined(USE_CC3200_ROM_DRV_API) || \
372     defined(USE_CC3220_ROM_DRV_API)
373 #define ROM_UARTEnable                                                        \
374         ((void (*)(unsigned long ulBase))ROM_UARTTABLE[6])
375 #endif
376 #if defined(USE_CC3200_ROM_DRV_API) || \
377     defined(USE_CC3220_ROM_DRV_API)
378 #define ROM_UARTDisable                                                       \
379         ((void (*)(unsigned long ulBase))ROM_UARTTABLE[7])
380 #endif
381 #if defined(USE_CC3200_ROM_DRV_API) || \
382     defined(USE_CC3220_ROM_DRV_API)
383 #define ROM_UARTFIFOEnable                                                    \
384         ((void (*)(unsigned long ulBase))ROM_UARTTABLE[8])
385 #endif
386 #if defined(USE_CC3200_ROM_DRV_API) || \
387     defined(USE_CC3220_ROM_DRV_API)
388 #define ROM_UARTFIFODisable                                                   \
389         ((void (*)(unsigned long ulBase))ROM_UARTTABLE[9])
390 #endif
391 #if defined(USE_CC3200_ROM_DRV_API) || \
392     defined(USE_CC3220_ROM_DRV_API)
393 #define ROM_UARTCharsAvail                                                    \
394         ((tBoolean (*)(unsigned long ulBase))ROM_UARTTABLE[10])
395 #endif
396 #if defined(USE_CC3200_ROM_DRV_API) || \
397     defined(USE_CC3220_ROM_DRV_API)
398 #define ROM_UARTSpaceAvail                                                    \
399         ((tBoolean (*)(unsigned long ulBase))ROM_UARTTABLE[11])
400 #endif
401 #if defined(USE_CC3200_ROM_DRV_API) || \
402     defined(USE_CC3220_ROM_DRV_API)
403 #define ROM_UARTCharGetNonBlocking                                            \
404         ((long (*)(unsigned long ulBase))ROM_UARTTABLE[12])
405 #endif
406 #if defined(USE_CC3200_ROM_DRV_API) || \
407     defined(USE_CC3220_ROM_DRV_API)
408 #define ROM_UARTCharGet                                                       \
409         ((long (*)(unsigned long ulBase))ROM_UARTTABLE[13])
410 #endif
411 #if defined(USE_CC3200_ROM_DRV_API) || \
412     defined(USE_CC3220_ROM_DRV_API)
413 #define ROM_UARTCharPutNonBlocking                                            \
414         ((tBoolean (*)(unsigned long ulBase,                                  \
415                        unsigned char ucData))ROM_UARTTABLE[14])
416 #endif
417 #if defined(USE_CC3200_ROM_DRV_API) || \
418     defined(USE_CC3220_ROM_DRV_API)
419 #define ROM_UARTCharPut                                                       \
420         ((void (*)(unsigned long ulBase,                                      \
421                    unsigned char ucData))ROM_UARTTABLE[15])
422 #endif
423 #if defined(USE_CC3200_ROM_DRV_API) || \
424     defined(USE_CC3220_ROM_DRV_API)
425 #define ROM_UARTBreakCtl                                                      \
426         ((void (*)(unsigned long ulBase,                                      \
427                    tBoolean bBreakState))ROM_UARTTABLE[16])
428 #endif
429 #if defined(USE_CC3200_ROM_DRV_API) || \
430     defined(USE_CC3220_ROM_DRV_API)
431 #define ROM_UARTBusy                                                          \
432         ((tBoolean (*)(unsigned long ulBase))ROM_UARTTABLE[17])
433 #endif
434 #if defined(USE_CC3200_ROM_DRV_API) || \
435     defined(USE_CC3220_ROM_DRV_API)
436 #define ROM_UARTIntRegister                                                   \
437         ((void (*)(unsigned long ulBase,                                      \
438                    void(*pfnHandler)(void)))ROM_UARTTABLE[18])
439 #endif
440 #if defined(USE_CC3200_ROM_DRV_API) || \
441     defined(USE_CC3220_ROM_DRV_API)
442 #define ROM_UARTIntUnregister                                                 \
443         ((void (*)(unsigned long ulBase))ROM_UARTTABLE[19])
444 #endif
445 #if defined(USE_CC3200_ROM_DRV_API) || \
446     defined(USE_CC3220_ROM_DRV_API)
447 #define ROM_UARTIntEnable                                                     \
448         ((void (*)(unsigned long ulBase,                                      \
449                    unsigned long ulIntFlags))ROM_UARTTABLE[20])
450 #endif
451 #if defined(USE_CC3200_ROM_DRV_API) || \
452     defined(USE_CC3220_ROM_DRV_API)
453 #define ROM_UARTIntDisable                                                    \
454         ((void (*)(unsigned long ulBase,                                      \
455                    unsigned long ulIntFlags))ROM_UARTTABLE[21])
456 #endif
457 #if defined(USE_CC3200_ROM_DRV_API) || \
458     defined(USE_CC3220_ROM_DRV_API)
459 #define ROM_UARTIntStatus                                                     \
460         ((unsigned long (*)(unsigned long ulBase,                             \
461                             tBoolean bMasked))ROM_UARTTABLE[22])
462 #endif
463 #if defined(USE_CC3200_ROM_DRV_API) || \
464     defined(USE_CC3220_ROM_DRV_API)
465 #define ROM_UARTIntClear                                                      \
466         ((void (*)(unsigned long ulBase,                                      \
467                    unsigned long ulIntFlags))ROM_UARTTABLE[23])
468 #endif
469 #if defined(USE_CC3200_ROM_DRV_API) || \
470     defined(USE_CC3220_ROM_DRV_API)
471 #define ROM_UARTDMAEnable                                                     \
472         ((void (*)(unsigned long ulBase,                                      \
473                    unsigned long ulDMAFlags))ROM_UARTTABLE[24])
474 #endif
475 #if defined(USE_CC3200_ROM_DRV_API) || \
476     defined(USE_CC3220_ROM_DRV_API)
477 #define ROM_UARTDMADisable                                                    \
478         ((void (*)(unsigned long ulBase,                                      \
479                    unsigned long ulDMAFlags))ROM_UARTTABLE[25])
480 #endif
481 #if defined(USE_CC3200_ROM_DRV_API) || \
482     defined(USE_CC3220_ROM_DRV_API)
483 #define ROM_UARTRxErrorGet                                                    \
484         ((unsigned long (*)(unsigned long ulBase))ROM_UARTTABLE[26])
485 #endif
486 #if defined(USE_CC3200_ROM_DRV_API) || \
487     defined(USE_CC3220_ROM_DRV_API)
488 #define ROM_UARTRxErrorClear                                                  \
489         ((void (*)(unsigned long ulBase))ROM_UARTTABLE[27])
490 #endif
491 #if defined(USE_CC3200_ROM_DRV_API) || \
492     defined(USE_CC3220_ROM_DRV_API)
493 #define ROM_UARTModemControlSet                                               \
494         ((void (*)(unsigned long ulBase,                                      \
495                    unsigned long ulControl))ROM_UARTTABLE[28])
496 #endif
497 #if defined(USE_CC3200_ROM_DRV_API) || \
498     defined(USE_CC3220_ROM_DRV_API)
499 #define ROM_UARTModemControlClear                                             \
500         ((void (*)(unsigned long ulBase,                                      \
501                    unsigned long ulControl))ROM_UARTTABLE[29])
502 #endif
503 #if defined(USE_CC3200_ROM_DRV_API) || \
504     defined(USE_CC3220_ROM_DRV_API)
505 #define ROM_UARTModemControlGet                                               \
506         ((unsigned long (*)(unsigned long ulBase))ROM_UARTTABLE[30])
507 #endif
508 #if defined(USE_CC3200_ROM_DRV_API) || \
509     defined(USE_CC3220_ROM_DRV_API)
510 #define ROM_UARTModemStatusGet                                                \
511         ((unsigned long (*)(unsigned long ulBase))ROM_UARTTABLE[31])
512 #endif
513 #if defined(USE_CC3200_ROM_DRV_API) || \
514     defined(USE_CC3220_ROM_DRV_API)
515 #define ROM_UARTFlowControlSet                                                \
516         ((void (*)(unsigned long ulBase,                                      \
517                    unsigned long ulMode))ROM_UARTTABLE[32])
518 #endif
519 #if defined(USE_CC3200_ROM_DRV_API) || \
520     defined(USE_CC3220_ROM_DRV_API)
521 #define ROM_UARTFlowControlGet                                                \
522         ((unsigned long (*)(unsigned long ulBase))ROM_UARTTABLE[33])
523 #endif
524 #if defined(USE_CC3200_ROM_DRV_API) || \
525     defined(USE_CC3220_ROM_DRV_API)
526 #define ROM_UARTTxIntModeSet                                                  \
527         ((void (*)(unsigned long ulBase,                                      \
528                    unsigned long ulMode))ROM_UARTTABLE[34])
529 #endif
530 #if defined(USE_CC3200_ROM_DRV_API) || \
531     defined(USE_CC3220_ROM_DRV_API)
532 #define ROM_UARTTxIntModeGet                                                  \
533         ((unsigned long (*)(unsigned long ulBase))ROM_UARTTABLE[35])
534 #endif
535 
536 //*****************************************************************************
537 //
538 // Macros for calling ROM functions in the uDMA API.
539 //
540 //*****************************************************************************
541 #if defined(USE_CC3200_ROM_DRV_API) || \
542     defined(USE_CC3220_ROM_DRV_API)
543 #define ROM_uDMAChannelTransferSet                                            \
544         ((void (*)(unsigned long ulChannelStructIndex,                        \
545                    unsigned long ulMode,                                      \
546                    void *pvSrcAddr,                                           \
547                    void *pvDstAddr,                                           \
548                    unsigned long ulTransferSize))ROM_UDMATABLE[0])
549 #endif
550 #if defined(USE_CC3200_ROM_DRV_API) || \
551     defined(USE_CC3220_ROM_DRV_API)
552 #define ROM_uDMAEnable                                                        \
553         ((void (*)(void))ROM_UDMATABLE[1])
554 #endif
555 #if defined(USE_CC3200_ROM_DRV_API) || \
556     defined(USE_CC3220_ROM_DRV_API)
557 #define ROM_uDMADisable                                                       \
558         ((void (*)(void))ROM_UDMATABLE[2])
559 #endif
560 #if defined(USE_CC3200_ROM_DRV_API) || \
561     defined(USE_CC3220_ROM_DRV_API)
562 #define ROM_uDMAErrorStatusGet                                                \
563         ((unsigned long (*)(void))ROM_UDMATABLE[3])
564 #endif
565 #if defined(USE_CC3200_ROM_DRV_API) || \
566     defined(USE_CC3220_ROM_DRV_API)
567 #define ROM_uDMAErrorStatusClear                                              \
568         ((void (*)(void))ROM_UDMATABLE[4])
569 #endif
570 #if defined(USE_CC3200_ROM_DRV_API) || \
571     defined(USE_CC3220_ROM_DRV_API)
572 #define ROM_uDMAChannelEnable                                                 \
573         ((void (*)(unsigned long ulChannelNum))ROM_UDMATABLE[5])
574 #endif
575 #if defined(USE_CC3200_ROM_DRV_API) || \
576     defined(USE_CC3220_ROM_DRV_API)
577 #define ROM_uDMAChannelDisable                                                \
578         ((void (*)(unsigned long ulChannelNum))ROM_UDMATABLE[6])
579 #endif
580 #if defined(USE_CC3200_ROM_DRV_API) || \
581     defined(USE_CC3220_ROM_DRV_API)
582 #define ROM_uDMAChannelIsEnabled                                              \
583         ((tBoolean (*)(unsigned long ulChannelNum))ROM_UDMATABLE[7])
584 #endif
585 #if defined(USE_CC3200_ROM_DRV_API) || \
586     defined(USE_CC3220_ROM_DRV_API)
587 #define ROM_uDMAControlBaseSet                                                \
588         ((void (*)(void *pControlTable))ROM_UDMATABLE[8])
589 #endif
590 #if defined(USE_CC3200_ROM_DRV_API) || \
591     defined(USE_CC3220_ROM_DRV_API)
592 #define ROM_uDMAControlBaseGet                                                \
593         ((void * (*)(void))ROM_UDMATABLE[9])
594 #endif
595 #if defined(USE_CC3200_ROM_DRV_API) || \
596     defined(USE_CC3220_ROM_DRV_API)
597 #define ROM_uDMAChannelRequest                                                \
598         ((void (*)(unsigned long ulChannelNum))ROM_UDMATABLE[10])
599 #endif
600 #if defined(USE_CC3200_ROM_DRV_API) || \
601     defined(USE_CC3220_ROM_DRV_API)
602 #define ROM_uDMAChannelAttributeEnable                                        \
603         ((void (*)(unsigned long ulChannelNum,                                \
604                    unsigned long ulAttr))ROM_UDMATABLE[11])
605 #endif
606 #if defined(USE_CC3200_ROM_DRV_API) || \
607     defined(USE_CC3220_ROM_DRV_API)
608 #define ROM_uDMAChannelAttributeDisable                                       \
609         ((void (*)(unsigned long ulChannelNum,                                \
610                    unsigned long ulAttr))ROM_UDMATABLE[12])
611 #endif
612 #if defined(USE_CC3200_ROM_DRV_API) || \
613     defined(USE_CC3220_ROM_DRV_API)
614 #define ROM_uDMAChannelAttributeGet                                           \
615         ((unsigned long (*)(unsigned long ulChannelNum))ROM_UDMATABLE[13])
616 #endif
617 #if defined(USE_CC3200_ROM_DRV_API) || \
618     defined(USE_CC3220_ROM_DRV_API)
619 #define ROM_uDMAChannelControlSet                                             \
620         ((void (*)(unsigned long ulChannelStructIndex,                        \
621                    unsigned long ulControl))ROM_UDMATABLE[14])
622 #endif
623 #if defined(USE_CC3200_ROM_DRV_API) || \
624     defined(USE_CC3220_ROM_DRV_API)
625 #define ROM_uDMAChannelSizeGet                                                \
626         ((unsigned long (*)(unsigned long ulChannelStructIndex))ROM_UDMATABLE[15])
627 #endif
628 #if defined(USE_CC3200_ROM_DRV_API) || \
629     defined(USE_CC3220_ROM_DRV_API)
630 #define ROM_uDMAChannelModeGet                                                \
631         ((unsigned long (*)(unsigned long ulChannelStructIndex))ROM_UDMATABLE[16])
632 #endif
633 #if defined(USE_CC3200_ROM_DRV_API) || \
634     defined(USE_CC3220_ROM_DRV_API)
635 #define ROM_uDMAIntStatus                                                     \
636         ((unsigned long (*)(void))ROM_UDMATABLE[17])
637 #endif
638 #if defined(USE_CC3200_ROM_DRV_API) || \
639     defined(USE_CC3220_ROM_DRV_API)
640 #define ROM_uDMAIntClear                                                      \
641         ((void (*)(unsigned long ulChanMask))ROM_UDMATABLE[18])
642 #endif
643 #if defined(USE_CC3200_ROM_DRV_API) || \
644     defined(USE_CC3220_ROM_DRV_API)
645 #define ROM_uDMAControlAlternateBaseGet                                       \
646         ((void * (*)(void))ROM_UDMATABLE[19])
647 #endif
648 #if defined(USE_CC3200_ROM_DRV_API) || \
649     defined(USE_CC3220_ROM_DRV_API)
650 #define ROM_uDMAChannelScatterGatherSet                                       \
651         ((void (*)(unsigned long ulChannelNum,                                \
652                    unsigned ulTaskCount,                                      \
653                    void *pvTaskList,                                          \
654                    unsigned long ulIsPeriphSG))ROM_UDMATABLE[20])
655 #endif
656 #if defined(USE_CC3200_ROM_DRV_API) || \
657     defined(USE_CC3220_ROM_DRV_API)
658 #define ROM_uDMAChannelAssign                                                 \
659         ((void (*)(unsigned long ulMapping))ROM_UDMATABLE[21])
660 #endif
661 #if defined(USE_CC3200_ROM_DRV_API) || \
662     defined(USE_CC3220_ROM_DRV_API)
663 #define ROM_uDMAIntRegister                                                   \
664         ((void (*)(unsigned long ulIntChannel,                                \
665                    void (*pfnHandler)(void)))ROM_UDMATABLE[22])
666 #endif
667 #if defined(USE_CC3200_ROM_DRV_API) || \
668     defined(USE_CC3220_ROM_DRV_API)
669 #define ROM_uDMAIntUnregister                                                 \
670         ((void (*)(unsigned long ulIntChannel))ROM_UDMATABLE[23])
671 #endif
672 
673 //*****************************************************************************
674 //
675 // Macros for calling ROM functions in the Watchdog API.
676 //
677 //*****************************************************************************
678 #if defined(USE_CC3200_ROM_DRV_API) || \
679     defined(USE_CC3220_ROM_DRV_API)
680 #define ROM_WatchdogIntClear                                                  \
681         ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[0])
682 #endif
683 #if defined(USE_CC3200_ROM_DRV_API) || \
684     defined(USE_CC3220_ROM_DRV_API)
685 #define ROM_WatchdogRunning                                                   \
686         ((tBoolean (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[1])
687 #endif
688 #if defined(USE_CC3200_ROM_DRV_API) || \
689     defined(USE_CC3220_ROM_DRV_API)
690 #define ROM_WatchdogEnable                                                    \
691         ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[2])
692 #endif
693 #if defined(USE_CC3200_ROM_DRV_API) || \
694     defined(USE_CC3220_ROM_DRV_API)
695 #define ROM_WatchdogLock                                                      \
696         ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[3])
697 #endif
698 #if defined(USE_CC3200_ROM_DRV_API) || \
699     defined(USE_CC3220_ROM_DRV_API)
700 #define ROM_WatchdogUnlock                                                    \
701         ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[4])
702 #endif
703 #if defined(USE_CC3200_ROM_DRV_API) || \
704     defined(USE_CC3220_ROM_DRV_API)
705 #define ROM_WatchdogLockState                                                 \
706         ((tBoolean (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[5])
707 #endif
708 #if defined(USE_CC3200_ROM_DRV_API) || \
709     defined(USE_CC3220_ROM_DRV_API)
710 #define ROM_WatchdogReloadSet                                                 \
711         ((void (*)(unsigned long ulBase,                                      \
712                    unsigned long ulLoadVal))ROM_WATCHDOGTABLE[6])
713 #endif
714 #if defined(USE_CC3200_ROM_DRV_API) || \
715     defined(USE_CC3220_ROM_DRV_API)
716 #define ROM_WatchdogReloadGet                                                 \
717         ((unsigned long (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[7])
718 #endif
719 #if defined(USE_CC3200_ROM_DRV_API) || \
720     defined(USE_CC3220_ROM_DRV_API)
721 #define ROM_WatchdogValueGet                                                  \
722         ((unsigned long (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[8])
723 #endif
724 #if defined(USE_CC3200_ROM_DRV_API) || \
725     defined(USE_CC3220_ROM_DRV_API)
726 #define ROM_WatchdogIntStatus                                                 \
727         ((unsigned long (*)(unsigned long ulBase,                             \
728                             tBoolean bMasked))ROM_WATCHDOGTABLE[10])
729 #endif
730 #if defined(USE_CC3200_ROM_DRV_API) || \
731     defined(USE_CC3220_ROM_DRV_API)
732 #define ROM_WatchdogStallEnable                                               \
733         ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[11])
734 #endif
735 #if defined(USE_CC3200_ROM_DRV_API) || \
736     defined(USE_CC3220_ROM_DRV_API)
737 #define ROM_WatchdogStallDisable                                              \
738         ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[12])
739 #endif
740 #if defined(USE_CC3200_ROM_DRV_API) || \
741     defined(USE_CC3220_ROM_DRV_API)
742 #define ROM_WatchdogIntRegister                                               \
743         ((void (*)(unsigned long ulBase,                                      \
744                    void(*pfnHandler)(void)))ROM_WATCHDOGTABLE[13])
745 #endif
746 #if defined(USE_CC3200_ROM_DRV_API) || \
747     defined(USE_CC3220_ROM_DRV_API)
748 #define ROM_WatchdogIntUnregister                                             \
749         ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[14])
750 #endif
751 
752 //*****************************************************************************
753 //
754 // Macros for calling ROM functions in the I2C API.
755 //
756 //*****************************************************************************
757 #if defined(USE_CC3200_ROM_DRV_API) || \
758     defined(USE_CC3220_ROM_DRV_API)
759 #define ROM_I2CIntRegister                                                    \
760         ((void (*)(uint32_t ui32Base,                                         \
761                    void(pfnHandler)(void)))ROM_I2CTABLE[0])
762 #endif
763 #if defined(USE_CC3200_ROM_DRV_API) || \
764     defined(USE_CC3220_ROM_DRV_API)
765 #define ROM_I2CIntUnregister                                                  \
766         ((void (*)(uint32_t ui32Base))ROM_I2CTABLE[1])
767 #endif
768 #if defined(USE_CC3200_ROM_DRV_API) || \
769     defined(USE_CC3220_ROM_DRV_API)
770 #define ROM_I2CTxFIFOConfigSet                                                \
771         ((void (*)(uint32_t ui32Base,                                         \
772                    uint32_t ui32Config))ROM_I2CTABLE[2])
773 #endif
774 #if defined(USE_CC3200_ROM_DRV_API) || \
775     defined(USE_CC3220_ROM_DRV_API)
776 #define ROM_I2CTxFIFOFlush                                                    \
777         ((void (*)(uint32_t ui32Base))ROM_I2CTABLE[3])
778 #endif
779 #if defined(USE_CC3200_ROM_DRV_API) || \
780     defined(USE_CC3220_ROM_DRV_API)
781 #define ROM_I2CRxFIFOConfigSet                                                \
782         ((void (*)(uint32_t ui32Base,                                         \
783                    uint32_t ui32Config))ROM_I2CTABLE[4])
784 #endif
785 #if defined(USE_CC3200_ROM_DRV_API) || \
786     defined(USE_CC3220_ROM_DRV_API)
787 #define ROM_I2CRxFIFOFlush                                                    \
788         ((void (*)(uint32_t ui32Base))ROM_I2CTABLE[5])
789 #endif
790 #if defined(USE_CC3200_ROM_DRV_API) || \
791     defined(USE_CC3220_ROM_DRV_API)
792 #define ROM_I2CFIFOStatus                                                     \
793         ((uint32_t (*)(uint32_t ui32Base))ROM_I2CTABLE[6])
794 #endif
795 #if defined(USE_CC3200_ROM_DRV_API) || \
796     defined(USE_CC3220_ROM_DRV_API)
797 #define ROM_I2CFIFODataPut                                                    \
798         ((void (*)(uint32_t ui32Base,                                         \
799                    uint8_t ui8Data))ROM_I2CTABLE[7])
800 #endif
801 #if defined(USE_CC3200_ROM_DRV_API) || \
802     defined(USE_CC3220_ROM_DRV_API)
803 #define ROM_I2CFIFODataPutNonBlocking                                         \
804         ((uint32_t (*)(uint32_t ui32Base,                                     \
805                        uint8_t ui8Data))ROM_I2CTABLE[8])
806 #endif
807 #if defined(USE_CC3200_ROM_DRV_API) || \
808     defined(USE_CC3220_ROM_DRV_API)
809 #define ROM_I2CFIFODataGet                                                    \
810         ((uint32_t (*)(uint32_t ui32Base))ROM_I2CTABLE[9])
811 #endif
812 #if defined(USE_CC3200_ROM_DRV_API) || \
813     defined(USE_CC3220_ROM_DRV_API)
814 #define ROM_I2CFIFODataGetNonBlocking                                         \
815         ((uint32_t (*)(uint32_t ui32Base,                                     \
816                        uint8_t *pui8Data))ROM_I2CTABLE[10])
817 #endif
818 #if defined(USE_CC3200_ROM_DRV_API) || \
819     defined(USE_CC3220_ROM_DRV_API)
820 #define ROM_I2CMasterBurstLengthSet                                           \
821         ((void (*)(uint32_t ui32Base,                                         \
822                    uint8_t ui8Length))ROM_I2CTABLE[11])
823 #endif
824 #if defined(USE_CC3200_ROM_DRV_API) || \
825     defined(USE_CC3220_ROM_DRV_API)
826 #define ROM_I2CMasterBurstCountGet                                            \
827         ((uint32_t (*)(uint32_t ui32Base))ROM_I2CTABLE[12])
828 #endif
829 #if defined(USE_CC3200_ROM_DRV_API) || \
830     defined(USE_CC3220_ROM_DRV_API)
831 #define ROM_I2CMasterGlitchFilterConfigSet                                    \
832         ((void (*)(uint32_t ui32Base,                                         \
833                    uint32_t ui32Config))ROM_I2CTABLE[13])
834 #endif
835 #if defined(USE_CC3200_ROM_DRV_API) || \
836     defined(USE_CC3220_ROM_DRV_API)
837 #define ROM_I2CSlaveFIFOEnable                                                \
838         ((void (*)(uint32_t ui32Base,                                         \
839                    uint32_t ui32Config))ROM_I2CTABLE[14])
840 #endif
841 #if defined(USE_CC3200_ROM_DRV_API) || \
842     defined(USE_CC3220_ROM_DRV_API)
843 #define ROM_I2CSlaveFIFODisable                                               \
844         ((void (*)(uint32_t ui32Base))ROM_I2CTABLE[15])
845 #endif
846 #if defined(USE_CC3200_ROM_DRV_API) || \
847     defined(USE_CC3220_ROM_DRV_API)
848 #define ROM_I2CMasterBusBusy                                                  \
849         ((bool (*)(uint32_t ui32Base))ROM_I2CTABLE[16])
850 #endif
851 #if defined(USE_CC3200_ROM_DRV_API) || \
852     defined(USE_CC3220_ROM_DRV_API)
853 #define ROM_I2CMasterBusy                                                     \
854         ((bool (*)(uint32_t ui32Base))ROM_I2CTABLE[17])
855 #endif
856 #if defined(USE_CC3200_ROM_DRV_API) || \
857     defined(USE_CC3220_ROM_DRV_API)
858 #define ROM_I2CMasterControl                                                  \
859         ((void (*)(uint32_t ui32Base,                                         \
860                    uint32_t ui32Cmd))ROM_I2CTABLE[18])
861 #endif
862 #if defined(USE_CC3200_ROM_DRV_API) || \
863     defined(USE_CC3220_ROM_DRV_API)
864 #define ROM_I2CMasterDataGet                                                  \
865         ((uint32_t (*)(uint32_t ui32Base))ROM_I2CTABLE[19])
866 #endif
867 #if defined(USE_CC3200_ROM_DRV_API) || \
868     defined(USE_CC3220_ROM_DRV_API)
869 #define ROM_I2CMasterDataPut                                                  \
870         ((void (*)(uint32_t ui32Base,                                         \
871                    uint8_t ui8Data))ROM_I2CTABLE[20])
872 #endif
873 #if defined(USE_CC3200_ROM_DRV_API) || \
874     defined(USE_CC3220_ROM_DRV_API)
875 #define ROM_I2CMasterDisable                                                  \
876         ((void (*)(uint32_t ui32Base))ROM_I2CTABLE[21])
877 #endif
878 #if defined(USE_CC3200_ROM_DRV_API) || \
879     defined(USE_CC3220_ROM_DRV_API)
880 #define ROM_I2CMasterEnable                                                   \
881         ((void (*)(uint32_t ui32Base))ROM_I2CTABLE[22])
882 #endif
883 #if defined(USE_CC3200_ROM_DRV_API) || \
884     defined(USE_CC3220_ROM_DRV_API)
885 #define ROM_I2CMasterErr                                                      \
886         ((uint32_t (*)(uint32_t ui32Base))ROM_I2CTABLE[23])
887 #endif
888 #if defined(USE_CC3200_ROM_DRV_API) || \
889     defined(USE_CC3220_ROM_DRV_API)
890 #define ROM_I2CMasterIntClear                                                 \
891         ((void (*)(uint32_t ui32Base))ROM_I2CTABLE[24])
892 #endif
893 #if defined(USE_CC3200_ROM_DRV_API) || \
894     defined(USE_CC3220_ROM_DRV_API)
895 #define ROM_I2CMasterIntDisable                                               \
896         ((void (*)(uint32_t ui32Base))ROM_I2CTABLE[25])
897 #endif
898 #if defined(USE_CC3200_ROM_DRV_API) || \
899     defined(USE_CC3220_ROM_DRV_API)
900 #define ROM_I2CMasterIntEnable                                                \
901         ((void (*)(uint32_t ui32Base))ROM_I2CTABLE[26])
902 #endif
903 #if defined(USE_CC3200_ROM_DRV_API) || \
904     defined(USE_CC3220_ROM_DRV_API)
905 #define ROM_I2CMasterIntStatus                                                \
906         ((bool (*)(uint32_t ui32Base,                                         \
907                    bool bMasked))ROM_I2CTABLE[27])
908 #endif
909 #if defined(USE_CC3200_ROM_DRV_API) || \
910     defined(USE_CC3220_ROM_DRV_API)
911 #define ROM_I2CMasterIntEnableEx                                              \
912         ((void (*)(uint32_t ui32Base,                                         \
913                    uint32_t ui32IntFlags))ROM_I2CTABLE[28])
914 #endif
915 #if defined(USE_CC3200_ROM_DRV_API) || \
916     defined(USE_CC3220_ROM_DRV_API)
917 #define ROM_I2CMasterIntDisableEx                                             \
918         ((void (*)(uint32_t ui32Base,                                         \
919                    uint32_t ui32IntFlags))ROM_I2CTABLE[29])
920 #endif
921 #if defined(USE_CC3200_ROM_DRV_API) || \
922     defined(USE_CC3220_ROM_DRV_API)
923 #define ROM_I2CMasterIntStatusEx                                              \
924         ((uint32_t (*)(uint32_t ui32Base,                                     \
925                        bool bMasked))ROM_I2CTABLE[30])
926 #endif
927 #if defined(USE_CC3200_ROM_DRV_API) || \
928     defined(USE_CC3220_ROM_DRV_API)
929 #define ROM_I2CMasterIntClearEx                                               \
930         ((void (*)(uint32_t ui32Base,                                         \
931                    uint32_t ui32IntFlags))ROM_I2CTABLE[31])
932 #endif
933 #if defined(USE_CC3200_ROM_DRV_API) || \
934     defined(USE_CC3220_ROM_DRV_API)
935 #define ROM_I2CMasterTimeoutSet                                               \
936         ((void (*)(uint32_t ui32Base,                                         \
937                    uint32_t ui32Value))ROM_I2CTABLE[32])
938 #endif
939 #if defined(USE_CC3200_ROM_DRV_API) || \
940     defined(USE_CC3220_ROM_DRV_API)
941 #define ROM_I2CSlaveACKOverride                                               \
942         ((void (*)(uint32_t ui32Base,                                         \
943                    bool bEnable))ROM_I2CTABLE[33])
944 #endif
945 #if defined(USE_CC3200_ROM_DRV_API) || \
946     defined(USE_CC3220_ROM_DRV_API)
947 #define ROM_I2CSlaveACKValueSet                                               \
948         ((void (*)(uint32_t ui32Base,                                         \
949                    bool bACK))ROM_I2CTABLE[34])
950 #endif
951 #if defined(USE_CC3200_ROM_DRV_API) || \
952     defined(USE_CC3220_ROM_DRV_API)
953 #define ROM_I2CMasterLineStateGet                                             \
954         ((uint32_t (*)(uint32_t ui32Base))ROM_I2CTABLE[35])
955 #endif
956 #if defined(USE_CC3200_ROM_DRV_API) || \
957     defined(USE_CC3220_ROM_DRV_API)
958 #define ROM_I2CMasterSlaveAddrSet                                             \
959         ((void (*)(uint32_t ui32Base,                                         \
960                    uint8_t ui8SlaveAddr,                                      \
961                    bool bReceive))ROM_I2CTABLE[36])
962 #endif
963 #if defined(USE_CC3200_ROM_DRV_API) || \
964     defined(USE_CC3220_ROM_DRV_API)
965 #define ROM_I2CSlaveDataGet                                                   \
966         ((uint32_t (*)(uint32_t ui32Base))ROM_I2CTABLE[37])
967 #endif
968 #if defined(USE_CC3200_ROM_DRV_API) || \
969     defined(USE_CC3220_ROM_DRV_API)
970 #define ROM_I2CSlaveDataPut                                                   \
971         ((void (*)(uint32_t ui32Base,                                         \
972                    uint8_t ui8Data))ROM_I2CTABLE[38])
973 #endif
974 #if defined(USE_CC3200_ROM_DRV_API) || \
975     defined(USE_CC3220_ROM_DRV_API)
976 #define ROM_I2CSlaveDisable                                                   \
977         ((void (*)(uint32_t ui32Base))ROM_I2CTABLE[39])
978 #endif
979 #if defined(USE_CC3200_ROM_DRV_API) || \
980     defined(USE_CC3220_ROM_DRV_API)
981 #define ROM_I2CSlaveEnable                                                    \
982         ((void (*)(uint32_t ui32Base))ROM_I2CTABLE[40])
983 #endif
984 #if defined(USE_CC3200_ROM_DRV_API) || \
985     defined(USE_CC3220_ROM_DRV_API)
986 #define ROM_I2CSlaveInit                                                      \
987         ((void (*)(uint32_t ui32Base,                                         \
988                    uint8_t ui8SlaveAddr))ROM_I2CTABLE[41])
989 #endif
990 #if defined(USE_CC3200_ROM_DRV_API) || \
991     defined(USE_CC3220_ROM_DRV_API)
992 #define ROM_I2CSlaveAddressSet                                                \
993         ((void (*)(uint32_t ui32Base,                                         \
994                    uint8_t ui8AddrNum,                                        \
995                    uint8_t ui8SlaveAddr))ROM_I2CTABLE[42])
996 #endif
997 #if defined(USE_CC3200_ROM_DRV_API) || \
998     defined(USE_CC3220_ROM_DRV_API)
999 #define ROM_I2CSlaveIntClear                                                  \
1000         ((void (*)(uint32_t ui32Base))ROM_I2CTABLE[43])
1001 #endif
1002 #if defined(USE_CC3200_ROM_DRV_API) || \
1003     defined(USE_CC3220_ROM_DRV_API)
1004 #define ROM_I2CSlaveIntDisable                                                \
1005         ((void (*)(uint32_t ui32Base))ROM_I2CTABLE[44])
1006 #endif
1007 #if defined(USE_CC3200_ROM_DRV_API) || \
1008     defined(USE_CC3220_ROM_DRV_API)
1009 #define ROM_I2CSlaveIntEnable                                                 \
1010         ((void (*)(uint32_t ui32Base))ROM_I2CTABLE[45])
1011 #endif
1012 #if defined(USE_CC3200_ROM_DRV_API) || \
1013     defined(USE_CC3220_ROM_DRV_API)
1014 #define ROM_I2CSlaveIntClearEx                                                \
1015         ((void (*)(uint32_t ui32Base,                                         \
1016                    uint32_t ui32IntFlags))ROM_I2CTABLE[46])
1017 #endif
1018 #if defined(USE_CC3200_ROM_DRV_API) || \
1019     defined(USE_CC3220_ROM_DRV_API)
1020 #define ROM_I2CSlaveIntDisableEx                                              \
1021         ((void (*)(uint32_t ui32Base,                                         \
1022                    uint32_t ui32IntFlags))ROM_I2CTABLE[47])
1023 #endif
1024 #if defined(USE_CC3200_ROM_DRV_API) || \
1025     defined(USE_CC3220_ROM_DRV_API)
1026 #define ROM_I2CSlaveIntEnableEx                                               \
1027         ((void (*)(uint32_t ui32Base,                                         \
1028                    uint32_t ui32IntFlags))ROM_I2CTABLE[48])
1029 #endif
1030 #if defined(USE_CC3200_ROM_DRV_API) || \
1031     defined(USE_CC3220_ROM_DRV_API)
1032 #define ROM_I2CSlaveIntStatus                                                 \
1033         ((bool (*)(uint32_t ui32Base,                                         \
1034                    bool bMasked))ROM_I2CTABLE[49])
1035 #endif
1036 #if defined(USE_CC3200_ROM_DRV_API) || \
1037     defined(USE_CC3220_ROM_DRV_API)
1038 #define ROM_I2CSlaveIntStatusEx                                               \
1039         ((uint32_t (*)(uint32_t ui32Base,                                     \
1040                        bool bMasked))ROM_I2CTABLE[50])
1041 #endif
1042 #if defined(USE_CC3200_ROM_DRV_API) || \
1043     defined(USE_CC3220_ROM_DRV_API)
1044 #define ROM_I2CSlaveStatus                                                    \
1045         ((uint32_t (*)(uint32_t ui32Base))ROM_I2CTABLE[51])
1046 #endif
1047 #if defined(USE_CC3200_ROM_DRV_API) || \
1048     defined(USE_CC3220_ROM_DRV_API)
1049 #define ROM_I2CMasterInitExpClk                                               \
1050         ((void (*)(uint32_t ui32Base,                                         \
1051                    uint32_t ui32I2CClk,                                       \
1052                    bool bFast))ROM_I2CTABLE[52])
1053 #endif
1054 
1055 //*****************************************************************************
1056 //
1057 // Macros for calling ROM functions in the SPI API.
1058 //
1059 //*****************************************************************************
1060 #if defined(USE_CC3200_ROM_DRV_API) || \
1061     defined(USE_CC3220_ROM_DRV_API)
1062 #define ROM_SPIEnable                                                         \
1063         ((void (*)(unsigned long ulBase))ROM_SPITABLE[0])
1064 #endif
1065 #if defined(USE_CC3200_ROM_DRV_API) || \
1066     defined(USE_CC3220_ROM_DRV_API)
1067 #define ROM_SPIDisable                                                        \
1068         ((void (*)(unsigned long ulBase))ROM_SPITABLE[1])
1069 #endif
1070 #if defined(USE_CC3200_ROM_DRV_API) || \
1071     defined(USE_CC3220_ROM_DRV_API)
1072 #define ROM_SPIReset                                                          \
1073         ((void (*)(unsigned long ulBase))ROM_SPITABLE[2])
1074 #endif
1075 #if defined(USE_CC3200_ROM_DRV_API) || \
1076     defined(USE_CC3220_ROM_DRV_API)
1077 #define ROM_SPIConfigSetExpClk                                                \
1078         ((void (*)(unsigned long ulBase,                                      \
1079                   unsigned long ulSPIClk,                                     \
1080                    unsigned long ulBitRate,                                   \
1081                    unsigned long ulMode,                                      \
1082                    unsigned long ulSubMode,                                   \
1083                    unsigned long ulConfig))ROM_SPITABLE[3])
1084 #endif
1085 #if defined(USE_CC3200_ROM_DRV_API) || \
1086     defined(USE_CC3220_ROM_DRV_API)
1087 #define ROM_SPIDataGetNonBlocking                                             \
1088         ((long (*)(unsigned long ulBase,                                      \
1089                    unsigned long * pulData))ROM_SPITABLE[4])
1090 #endif
1091 #if defined(USE_CC3200_ROM_DRV_API) || \
1092     defined(USE_CC3220_ROM_DRV_API)
1093 #define ROM_SPIDataGet                                                        \
1094         ((void (*)(unsigned long ulBase,                                      \
1095                    unsigned long *pulData))ROM_SPITABLE[5])
1096 #endif
1097 #if defined(USE_CC3200_ROM_DRV_API) || \
1098     defined(USE_CC3220_ROM_DRV_API)
1099 #define ROM_SPIDataPutNonBlocking                                             \
1100         ((long (*)(unsigned long ulBase,                                      \
1101                    unsigned long ulData))ROM_SPITABLE[6])
1102 #endif
1103 #if defined(USE_CC3200_ROM_DRV_API) || \
1104     defined(USE_CC3220_ROM_DRV_API)
1105 #define ROM_SPIDataPut                                                        \
1106         ((void (*)(unsigned long ulBase,                                      \
1107                    unsigned long ulData))ROM_SPITABLE[7])
1108 #endif
1109 #if defined(USE_CC3200_ROM_DRV_API) || \
1110     defined(USE_CC3220_ROM_DRV_API)
1111 #define ROM_SPIFIFOEnable                                                     \
1112         ((void (*)(unsigned long ulBase,                                      \
1113                    unsigned long ulFlags))ROM_SPITABLE[8])
1114 #endif
1115 #if defined(USE_CC3200_ROM_DRV_API) || \
1116     defined(USE_CC3220_ROM_DRV_API)
1117 #define ROM_SPIFIFODisable                                                    \
1118         ((void (*)(unsigned long ulBase,                                      \
1119                    unsigned long ulFlags))ROM_SPITABLE[9])
1120 #endif
1121 #if defined(USE_CC3200_ROM_DRV_API) || \
1122     defined(USE_CC3220_ROM_DRV_API)
1123 #define ROM_SPIFIFOLevelSet                                                   \
1124         ((void (*)(unsigned long ulBase,                                      \
1125                    unsigned long ulTxLevel,                                   \
1126                    unsigned long ulRxLevel))ROM_SPITABLE[10])
1127 #endif
1128 #if defined(USE_CC3200_ROM_DRV_API) || \
1129     defined(USE_CC3220_ROM_DRV_API)
1130 #define ROM_SPIFIFOLevelGet                                                   \
1131         ((void (*)(unsigned long ulBase,                                      \
1132                    unsigned long *pulTxLevel,                                 \
1133                    unsigned long *pulRxLevel))ROM_SPITABLE[11])
1134 #endif
1135 #if defined(USE_CC3200_ROM_DRV_API) || \
1136     defined(USE_CC3220_ROM_DRV_API)
1137 #define ROM_SPIWordCountSet                                                   \
1138         ((void (*)(unsigned long ulBase,                                      \
1139                    unsigned long ulWordCount))ROM_SPITABLE[12])
1140 #endif
1141 #if defined(USE_CC3200_ROM_DRV_API) || \
1142     defined(USE_CC3220_ROM_DRV_API)
1143 #define ROM_SPIIntRegister                                                    \
1144         ((void (*)(unsigned long ulBase,                                      \
1145                    void(*pfnHandler)(void)))ROM_SPITABLE[13])
1146 #endif
1147 #if defined(USE_CC3200_ROM_DRV_API) || \
1148     defined(USE_CC3220_ROM_DRV_API)
1149 #define ROM_SPIIntUnregister                                                  \
1150         ((void (*)(unsigned long ulBase))ROM_SPITABLE[14])
1151 #endif
1152 #if defined(USE_CC3200_ROM_DRV_API) || \
1153     defined(USE_CC3220_ROM_DRV_API)
1154 #define ROM_SPIIntEnable                                                      \
1155         ((void (*)(unsigned long ulBase,                                      \
1156                    unsigned long ulIntFlags))ROM_SPITABLE[15])
1157 #endif
1158 #if defined(USE_CC3200_ROM_DRV_API) || \
1159     defined(USE_CC3220_ROM_DRV_API)
1160 #define ROM_SPIIntDisable                                                     \
1161         ((void (*)(unsigned long ulBase,                                      \
1162                    unsigned long ulIntFlags))ROM_SPITABLE[16])
1163 #endif
1164 #if defined(USE_CC3200_ROM_DRV_API) || \
1165     defined(USE_CC3220_ROM_DRV_API)
1166 #define ROM_SPIIntStatus                                                      \
1167         ((unsigned long (*)(unsigned long ulBase,                             \
1168                             tBoolean bMasked))ROM_SPITABLE[17])
1169 #endif
1170 #if defined(USE_CC3200_ROM_DRV_API) || \
1171     defined(USE_CC3220_ROM_DRV_API)
1172 #define ROM_SPIIntClear                                                       \
1173         ((void (*)(unsigned long ulBase,                                      \
1174                    unsigned long ulIntFlags))ROM_SPITABLE[18])
1175 #endif
1176 #if defined(USE_CC3200_ROM_DRV_API) || \
1177     defined(USE_CC3220_ROM_DRV_API)
1178 #define ROM_SPIDmaEnable                                                      \
1179         ((void (*)(unsigned long ulBase,                                      \
1180                    unsigned long ulFlags))ROM_SPITABLE[19])
1181 #endif
1182 #if defined(USE_CC3200_ROM_DRV_API) || \
1183     defined(USE_CC3220_ROM_DRV_API)
1184 #define ROM_SPIDmaDisable                                                     \
1185         ((void (*)(unsigned long ulBase,                                      \
1186                    unsigned long ulFlags))ROM_SPITABLE[20])
1187 #endif
1188 #if defined(USE_CC3200_ROM_DRV_API) || \
1189     defined(USE_CC3220_ROM_DRV_API)
1190 #define ROM_SPICSEnable                                                       \
1191         ((void (*)(unsigned long ulBase))ROM_SPITABLE[21])
1192 #endif
1193 #if defined(USE_CC3200_ROM_DRV_API) || \
1194     defined(USE_CC3220_ROM_DRV_API)
1195 #define ROM_SPICSDisable                                                      \
1196         ((void (*)(unsigned long ulBase))ROM_SPITABLE[22])
1197 #endif
1198 #if defined(USE_CC3200_ROM_DRV_API) || \
1199     defined(USE_CC3220_ROM_DRV_API)
1200 #define ROM_SPITransfer                                                       \
1201         ((long (*)(unsigned long ulBase,                                      \
1202                    unsigned char *ucDout,                                     \
1203                    unsigned char *ucDin,                                      \
1204                    unsigned long ulSize,                                      \
1205                    unsigned long ulFlags))ROM_SPITABLE[23])
1206 #endif
1207 
1208 //*****************************************************************************
1209 //
1210 // Macros for calling ROM functions in the CAM API.
1211 //
1212 //*****************************************************************************
1213 #if defined(USE_CC3200_ROM_DRV_API) || \
1214     defined(USE_CC3220_ROM_DRV_API)
1215 #define ROM_CameraReset                                                       \
1216         ((void (*)(unsigned long ulBase))ROM_CAMERATABLE[0])
1217 #endif
1218 #if defined(USE_CC3200_ROM_DRV_API) || \
1219     defined(USE_CC3220_ROM_DRV_API)
1220 #define ROM_CameraParamsConfig                                                \
1221         ((void (*)(unsigned long ulBase,                                      \
1222                    unsigned long ulHSPol,                                     \
1223                    unsigned long ulVSPol,                                     \
1224                    unsigned long ulFlags))ROM_CAMERATABLE[1])
1225 #endif
1226 #if defined(USE_CC3200_ROM_DRV_API) || \
1227     defined(USE_CC3220_ROM_DRV_API)
1228 #define ROM_CameraXClkConfig                                                  \
1229         ((void (*)(unsigned long ulBase,                                      \
1230                    unsigned long ulCamClkIn,                                  \
1231                    unsigned long ulXClk))ROM_CAMERATABLE[2])
1232 #endif
1233 #if defined(USE_CC3200_ROM_DRV_API) || \
1234     defined(USE_CC3220_ROM_DRV_API)
1235 #define ROM_CameraXClkSet                                                     \
1236         ((void (*)(unsigned long ulBase,                                      \
1237                    unsigned char bXClkFlags))ROM_CAMERATABLE[3])
1238 #endif
1239 #if defined(USE_CC3200_ROM_DRV_API) || \
1240     defined(USE_CC3220_ROM_DRV_API)
1241 #define ROM_CameraDMAEnable                                                   \
1242         ((void (*)(unsigned long ulBase))ROM_CAMERATABLE[4])
1243 #endif
1244 #if defined(USE_CC3200_ROM_DRV_API) || \
1245     defined(USE_CC3220_ROM_DRV_API)
1246 #define ROM_CameraDMADisable                                                  \
1247         ((void (*)(unsigned long ulBase))ROM_CAMERATABLE[5])
1248 #endif
1249 #if defined(USE_CC3200_ROM_DRV_API) || \
1250     defined(USE_CC3220_ROM_DRV_API)
1251 #define ROM_CameraThresholdSet                                                \
1252         ((void (*)(unsigned long ulBase,                                      \
1253                    unsigned long ulThreshold))ROM_CAMERATABLE[6])
1254 #endif
1255 #if defined(USE_CC3200_ROM_DRV_API) || \
1256     defined(USE_CC3220_ROM_DRV_API)
1257 #define ROM_CameraIntRegister                                                 \
1258         ((void (*)(unsigned long ulBase,                                      \
1259                    void (*pfnHandler)(void)))ROM_CAMERATABLE[7])
1260 #endif
1261 #if defined(USE_CC3200_ROM_DRV_API) || \
1262     defined(USE_CC3220_ROM_DRV_API)
1263 #define ROM_CameraIntUnregister                                               \
1264         ((void (*)(unsigned long ulBase))ROM_CAMERATABLE[8])
1265 #endif
1266 #if defined(USE_CC3200_ROM_DRV_API) || \
1267     defined(USE_CC3220_ROM_DRV_API)
1268 #define ROM_CameraIntEnable                                                   \
1269         ((void (*)(unsigned long ulBase,                                      \
1270                    unsigned long ulIntFlags))ROM_CAMERATABLE[9])
1271 #endif
1272 #if defined(USE_CC3200_ROM_DRV_API) || \
1273     defined(USE_CC3220_ROM_DRV_API)
1274 #define ROM_CameraIntDisable                                                  \
1275         ((void (*)(unsigned long ulBase,                                      \
1276                    unsigned long ulIntFlags))ROM_CAMERATABLE[10])
1277 #endif
1278 #if defined(USE_CC3200_ROM_DRV_API) || \
1279     defined(USE_CC3220_ROM_DRV_API)
1280 #define ROM_CameraIntStatus                                                   \
1281         ((unsigned long (*)(unsigned long ulBase))ROM_CAMERATABLE[11])
1282 #endif
1283 #if defined(USE_CC3200_ROM_DRV_API) || \
1284     defined(USE_CC3220_ROM_DRV_API)
1285 #define ROM_CameraIntClear                                                    \
1286         ((void (*)(unsigned long ulBase,                                      \
1287                    unsigned long ulIntFlags))ROM_CAMERATABLE[12])
1288 #endif
1289 #if defined(USE_CC3200_ROM_DRV_API) || \
1290     defined(USE_CC3220_ROM_DRV_API)
1291 #define ROM_CameraCaptureStop                                                 \
1292         ((void (*)(unsigned long ulBase,                                      \
1293                    tBoolean bImmediate))ROM_CAMERATABLE[13])
1294 #endif
1295 #if defined(USE_CC3200_ROM_DRV_API) || \
1296     defined(USE_CC3220_ROM_DRV_API)
1297 #define ROM_CameraCaptureStart                                                \
1298         ((void (*)(unsigned long ulBase))ROM_CAMERATABLE[14])
1299 #endif
1300 #if defined(USE_CC3200_ROM_DRV_API) || \
1301     defined(USE_CC3220_ROM_DRV_API)
1302 #define ROM_CameraBufferRead                                                  \
1303         ((void (*)(unsigned long ulBase,                                      \
1304                   unsigned long *pBuffer,                                     \
1305                    unsigned char ucSize))ROM_CAMERATABLE[15])
1306 #endif
1307 
1308 //*****************************************************************************
1309 //
1310 // Macros for calling ROM functions in the FLASH API.
1311 //
1312 //*****************************************************************************
1313 #if defined(USE_CC3200_ROM_DRV_API) || \
1314     defined(USE_CC3220_ROM_DRV_API)
1315 #define ROM_FlashDisable                                                      \
1316         ((void (*)(void))ROM_FLASHTABLE[0])
1317 #endif
1318 #if defined(USE_CC3200_ROM_DRV_API) || \
1319     defined(USE_CC3220_ROM_DRV_API)
1320 #define ROM_FlashErase                                                        \
1321         ((long (*)(unsigned long ulAddress))ROM_FLASHTABLE[1])
1322 #endif
1323 #if defined(USE_CC3200_ROM_DRV_API) || \
1324     defined(USE_CC3220_ROM_DRV_API)
1325 #define ROM_FlashMassErase                                                    \
1326         ((long (*)(void))ROM_FLASHTABLE[2])
1327 #endif
1328 #if defined(USE_CC3200_ROM_DRV_API) || \
1329     defined(USE_CC3220_ROM_DRV_API)
1330 #define ROM_FlashMassEraseNonBlocking                                         \
1331         ((void (*)(void))ROM_FLASHTABLE[3])
1332 #endif
1333 #if defined(USE_CC3200_ROM_DRV_API) || \
1334     defined(USE_CC3220_ROM_DRV_API)
1335 #define ROM_FlashEraseNonBlocking                                             \
1336         ((void (*)(unsigned long ulAddress))ROM_FLASHTABLE[4])
1337 #endif
1338 #if defined(USE_CC3200_ROM_DRV_API) || \
1339     defined(USE_CC3220_ROM_DRV_API)
1340 #define ROM_FlashProgram                                                      \
1341         ((long (*)(unsigned long *pulData,                                    \
1342                    unsigned long ulAddress,                                   \
1343                    unsigned long ulCount))ROM_FLASHTABLE[5])
1344 #endif
1345 #if defined(USE_CC3200_ROM_DRV_API) || \
1346     defined(USE_CC3220_ROM_DRV_API)
1347 #define ROM_FlashProgramNonBlocking                                           \
1348         ((long (*)(unsigned long *pulData,                                    \
1349                    unsigned long ulAddress,                                   \
1350                    unsigned long ulCount))ROM_FLASHTABLE[6])
1351 #endif
1352 #if defined(USE_CC3200_ROM_DRV_API) || \
1353     defined(USE_CC3220_ROM_DRV_API)
1354 #define ROM_FlashIntRegister                                                  \
1355         ((void (*)(void (*pfnHandler)(void)))ROM_FLASHTABLE[7])
1356 #endif
1357 #if defined(USE_CC3200_ROM_DRV_API) || \
1358     defined(USE_CC3220_ROM_DRV_API)
1359 #define ROM_FlashIntUnregister                                                \
1360         ((void (*)(void))ROM_FLASHTABLE[8])
1361 #endif
1362 #if defined(USE_CC3200_ROM_DRV_API) || \
1363     defined(USE_CC3220_ROM_DRV_API)
1364 #define ROM_FlashIntEnable                                                    \
1365         ((void (*)(unsigned long ulIntFlags))ROM_FLASHTABLE[9])
1366 #endif
1367 #if defined(USE_CC3200_ROM_DRV_API) || \
1368     defined(USE_CC3220_ROM_DRV_API)
1369 #define ROM_FlashIntDisable                                                   \
1370         ((void (*)(unsigned long ulIntFlags))ROM_FLASHTABLE[10])
1371 #endif
1372 #if defined(USE_CC3200_ROM_DRV_API) || \
1373     defined(USE_CC3220_ROM_DRV_API)
1374 #define ROM_FlashIntStatus                                                    \
1375         ((unsigned long (*)(tBoolean bMasked))ROM_FLASHTABLE[11])
1376 #endif
1377 #if defined(USE_CC3200_ROM_DRV_API) || \
1378     defined(USE_CC3220_ROM_DRV_API)
1379 #define ROM_FlashIntClear                                                     \
1380         ((void (*)(unsigned long ulIntFlags))ROM_FLASHTABLE[12])
1381 #endif
1382 #if defined(USE_CC3200_ROM_DRV_API) || \
1383     defined(USE_CC3220_ROM_DRV_API)
1384 #define ROM_FlashProtectGet                                                   \
1385         ((tFlashProtection (*)(unsigned long ulAddress))ROM_FLASHTABLE[13])
1386 #endif
1387 
1388 //*****************************************************************************
1389 //
1390 // Macros for calling ROM functions in the Pin API.
1391 //
1392 //*****************************************************************************
1393 #if defined(USE_CC3200_ROM_DRV_API) || \
1394     defined(USE_CC3220_ROM_DRV_API)
1395 #define ROM_PinModeSet                                                        \
1396         ((void (*)(unsigned long ulPin,                                       \
1397                    unsigned long ulPinMode))ROM_PINTABLE[0])
1398 #endif
1399 #if defined(USE_CC3200_ROM_DRV_API) || \
1400     defined(USE_CC3220_ROM_DRV_API)
1401 #define ROM_PinDirModeSet                                                     \
1402         ((void (*)(unsigned long ulPin,                                       \
1403                    unsigned long ulPinIO))ROM_PINTABLE[1])
1404 #endif
1405 #if defined(USE_CC3200_ROM_DRV_API) || \
1406     defined(USE_CC3220_ROM_DRV_API)
1407 #define ROM_PinDirModeGet                                                     \
1408         ((unsigned long (*)(unsigned long ulPin))ROM_PINTABLE[2])
1409 #endif
1410 #if defined(USE_CC3200_ROM_DRV_API) || \
1411     defined(USE_CC3220_ROM_DRV_API)
1412 #define ROM_PinModeGet                                                        \
1413         ((unsigned long (*)(unsigned long ulPin))ROM_PINTABLE[3])
1414 #endif
1415 #if defined(USE_CC3200_ROM_DRV_API) || \
1416     defined(USE_CC3220_ROM_DRV_API)
1417 #define ROM_PinConfigGet                                                      \
1418         ((void (*)(unsigned long ulPin,                                       \
1419                   unsigned long  *pulPinStrength,                             \
1420                    unsigned long *pulPinType))ROM_PINTABLE[4])
1421 #endif
1422 #if defined(USE_CC3200_ROM_DRV_API) || \
1423     defined(USE_CC3220_ROM_DRV_API)
1424 #define ROM_PinConfigSet                                                      \
1425         ((void (*)(unsigned long ulPin,                                       \
1426                   unsigned long  ulPinStrength,                               \
1427                    unsigned long ulPinType))ROM_PINTABLE[5])
1428 #endif
1429 #if defined(USE_CC3200_ROM_DRV_API) || \
1430     defined(USE_CC3220_ROM_DRV_API)
1431 #define ROM_PinTypeUART                                                       \
1432         ((void (*)(unsigned long ulPin,                                       \
1433                   unsigned long ulPinMode))ROM_PINTABLE[6])
1434 #endif
1435 #if defined(USE_CC3200_ROM_DRV_API) || \
1436     defined(USE_CC3220_ROM_DRV_API)
1437 #define ROM_PinTypeI2C                                                        \
1438         ((void (*)(unsigned long ulPin,                                       \
1439                   unsigned long ulPinMode))ROM_PINTABLE[7])
1440 #endif
1441 #if defined(USE_CC3200_ROM_DRV_API) || \
1442     defined(USE_CC3220_ROM_DRV_API)
1443 #define ROM_PinTypeSPI                                                        \
1444         ((void (*)(unsigned long ulPin,                                       \
1445                   unsigned long ulPinMode))ROM_PINTABLE[8])
1446 #endif
1447 #if defined(USE_CC3200_ROM_DRV_API) || \
1448     defined(USE_CC3220_ROM_DRV_API)
1449 #define ROM_PinTypeI2S                                                        \
1450         ((void (*)(unsigned long ulPin,                                       \
1451                   unsigned long ulPinMode))ROM_PINTABLE[9])
1452 #endif
1453 #if defined(USE_CC3200_ROM_DRV_API) || \
1454     defined(USE_CC3220_ROM_DRV_API)
1455 #define ROM_PinTypeTimer                                                      \
1456         ((void (*)(unsigned long ulPin,                                       \
1457                   unsigned long ulPinMode))ROM_PINTABLE[10])
1458 #endif
1459 #if defined(USE_CC3200_ROM_DRV_API) || \
1460     defined(USE_CC3220_ROM_DRV_API)
1461 #define ROM_PinTypeCamera                                                     \
1462         ((void (*)(unsigned long ulPin,                                       \
1463                   unsigned long ulPinMode))ROM_PINTABLE[11])
1464 #endif
1465 #if defined(USE_CC3200_ROM_DRV_API) || \
1466     defined(USE_CC3220_ROM_DRV_API)
1467 #define ROM_PinTypeGPIO                                                       \
1468         ((void (*)(unsigned long ulPin,                                       \
1469                   unsigned long ulPinMode,                                    \
1470                    tBoolean bOpenDrain))ROM_PINTABLE[12])
1471 #endif
1472 #if defined(USE_CC3200_ROM_DRV_API) || \
1473     defined(USE_CC3220_ROM_DRV_API)
1474 #define ROM_PinTypeADC                                                        \
1475         ((void (*)(unsigned long ulPin,                                       \
1476                   unsigned long ulPinMode))ROM_PINTABLE[13])
1477 #endif
1478 #if defined(USE_CC3200_ROM_DRV_API) || \
1479     defined(USE_CC3220_ROM_DRV_API)
1480 #define ROM_PinTypeSDHost                                                     \
1481         ((void (*)(unsigned long ulPin,                                       \
1482                   unsigned long ulPinMode))ROM_PINTABLE[14])
1483 #endif
1484 #if defined(USE_CC3220_ROM_DRV_API)
1485 #define ROM_PinHysteresisSet                                                  \
1486         ((void (*)(unsigned long ulHysteresis))ROM_PINTABLE[15])
1487 #endif
1488 #if defined(USE_CC3220_ROM_DRV_API)
1489 #define ROM_PinLockLevelSet                                                   \
1490         ((void (*)(unsigned long ulPin,                                       \
1491                    unsigned char ucLevel))ROM_PINTABLE[16])
1492 #endif
1493 #if defined(USE_CC3220_ROM_DRV_API)
1494 #define ROM_PinLock                                                           \
1495         ((void (*)(unsigned long ulOutEnable))ROM_PINTABLE[17])
1496 #endif
1497 #if defined(USE_CC3220_ROM_DRV_API)
1498 #define ROM_PinUnlock                                                         \
1499         ((void (*)(void))ROM_PINTABLE[18])
1500 #endif
1501 
1502 //*****************************************************************************
1503 //
1504 // Macros for calling ROM functions in the SYSTICK API.
1505 //
1506 //*****************************************************************************
1507 #if defined(USE_CC3200_ROM_DRV_API) || \
1508     defined(USE_CC3220_ROM_DRV_API)
1509 #define ROM_SysTickEnable                                                     \
1510         ((void (*)(void))ROM_SYSTICKTABLE[0])
1511 #endif
1512 #if defined(USE_CC3200_ROM_DRV_API) || \
1513     defined(USE_CC3220_ROM_DRV_API)
1514 #define ROM_SysTickDisable                                                    \
1515         ((void (*)(void))ROM_SYSTICKTABLE[1])
1516 #endif
1517 #if defined(USE_CC3200_ROM_DRV_API) || \
1518     defined(USE_CC3220_ROM_DRV_API)
1519 #define ROM_SysTickIntRegister                                                \
1520         ((void (*)(void (*pfnHandler)(void)))ROM_SYSTICKTABLE[2])
1521 #endif
1522 #if defined(USE_CC3200_ROM_DRV_API) || \
1523     defined(USE_CC3220_ROM_DRV_API)
1524 #define ROM_SysTickIntUnregister                                              \
1525         ((void (*)(void))ROM_SYSTICKTABLE[3])
1526 #endif
1527 #if defined(USE_CC3200_ROM_DRV_API) || \
1528     defined(USE_CC3220_ROM_DRV_API)
1529 #define ROM_SysTickIntEnable                                                  \
1530         ((void (*)(void))ROM_SYSTICKTABLE[4])
1531 #endif
1532 #if defined(USE_CC3200_ROM_DRV_API) || \
1533     defined(USE_CC3220_ROM_DRV_API)
1534 #define ROM_SysTickIntDisable                                                 \
1535         ((void (*)(void))ROM_SYSTICKTABLE[5])
1536 #endif
1537 #if defined(USE_CC3200_ROM_DRV_API) || \
1538     defined(USE_CC3220_ROM_DRV_API)
1539 #define ROM_SysTickPeriodSet                                                  \
1540         ((void (*)(unsigned long ulPeriod))ROM_SYSTICKTABLE[6])
1541 #endif
1542 #if defined(USE_CC3200_ROM_DRV_API) || \
1543     defined(USE_CC3220_ROM_DRV_API)
1544 #define ROM_SysTickPeriodGet                                                  \
1545         ((unsigned long (*)(void))ROM_SYSTICKTABLE[7])
1546 #endif
1547 #if defined(USE_CC3200_ROM_DRV_API) || \
1548     defined(USE_CC3220_ROM_DRV_API)
1549 #define ROM_SysTickValueGet                                                   \
1550         ((unsigned long (*)(void))ROM_SYSTICKTABLE[8])
1551 #endif
1552 
1553 //*****************************************************************************
1554 //
1555 // Macros for calling ROM functions in the UTILS API.
1556 //
1557 //*****************************************************************************
1558 #if defined(USE_CC3200_ROM_DRV_API) || \
1559     defined(USE_CC3220_ROM_DRV_API)
1560 #define ROM_UtilsDelay                                                        \
1561         ((void (*)(unsigned long ulCount))ROM_UTILSTABLE[0])
1562 #endif
1563 
1564 //*****************************************************************************
1565 //
1566 // Macros for calling ROM functions in the I2S API.
1567 //
1568 //*****************************************************************************
1569 #if defined(USE_CC3200_ROM_DRV_API) || \
1570     defined(USE_CC3220_ROM_DRV_API)
1571 #define ROM_I2SEnable                                                         \
1572         ((void (*)(unsigned long ulBase,                                      \
1573                    unsigned long ulMode))ROM_I2STABLE[0])
1574 #endif
1575 #if defined(USE_CC3200_ROM_DRV_API) || \
1576     defined(USE_CC3220_ROM_DRV_API)
1577 #define ROM_I2SDisable                                                        \
1578         ((void (*)(unsigned long ulBase))ROM_I2STABLE[1])
1579 #endif
1580 #if defined(USE_CC3200_ROM_DRV_API) || \
1581     defined(USE_CC3220_ROM_DRV_API)
1582 #define ROM_I2SDataPut                                                        \
1583         ((void (*)(unsigned long ulBase,                                      \
1584                    unsigned long ulDataLine,                                  \
1585                    unsigned long ulData))ROM_I2STABLE[2])
1586 #endif
1587 #if defined(USE_CC3200_ROM_DRV_API) || \
1588     defined(USE_CC3220_ROM_DRV_API)
1589 #define ROM_I2SDataPutNonBlocking                                             \
1590         ((long (*)(unsigned long ulBase,                                      \
1591                    unsigned long ulDataLine,                                  \
1592                    unsigned long ulData))ROM_I2STABLE[3])
1593 #endif
1594 #if defined(USE_CC3200_ROM_DRV_API) || \
1595     defined(USE_CC3220_ROM_DRV_API)
1596 #define ROM_I2SDataGet                                                        \
1597         ((void (*)(unsigned long ulBase,                                      \
1598                    unsigned long ulDataLine,                                  \
1599                    unsigned long *pulData))ROM_I2STABLE[4])
1600 #endif
1601 #if defined(USE_CC3200_ROM_DRV_API) || \
1602     defined(USE_CC3220_ROM_DRV_API)
1603 #define ROM_I2SDataGetNonBlocking                                             \
1604         ((long (*)(unsigned long ulBase,                                      \
1605                    unsigned long ulDataLine,                                  \
1606                    unsigned long *pulData))ROM_I2STABLE[5])
1607 #endif
1608 #if defined(USE_CC3200_ROM_DRV_API) || \
1609     defined(USE_CC3220_ROM_DRV_API)
1610 #define ROM_I2SConfigSetExpClk                                                \
1611         ((void (*)(unsigned long ulBase,                                      \
1612                    unsigned long ulI2SClk,                                    \
1613                    unsigned long ulBitClk,                                    \
1614                    unsigned long ulConfig))ROM_I2STABLE[6])
1615 #endif
1616 #if defined(USE_CC3200_ROM_DRV_API) || \
1617     defined(USE_CC3220_ROM_DRV_API)
1618 #define ROM_I2STxFIFOEnable                                                   \
1619         ((void (*)(unsigned long ulBase,                                      \
1620                    unsigned long ulTxLevel,                                   \
1621                    unsigned long ulWordsPerTransfer))ROM_I2STABLE[7])
1622 #endif
1623 #if defined(USE_CC3200_ROM_DRV_API) || \
1624     defined(USE_CC3220_ROM_DRV_API)
1625 #define ROM_I2STxFIFODisable                                                  \
1626         ((void (*)(unsigned long ulBase))ROM_I2STABLE[8])
1627 #endif
1628 #if defined(USE_CC3200_ROM_DRV_API) || \
1629     defined(USE_CC3220_ROM_DRV_API)
1630 #define ROM_I2SRxFIFOEnable                                                   \
1631         ((void (*)(unsigned long ulBase,                                      \
1632                    unsigned long ulRxLevel,                                   \
1633                    unsigned long ulWordsPerTransfer))ROM_I2STABLE[9])
1634 #endif
1635 #if defined(USE_CC3200_ROM_DRV_API) || \
1636     defined(USE_CC3220_ROM_DRV_API)
1637 #define ROM_I2SRxFIFODisable                                                  \
1638         ((void (*)(unsigned long ulBase))ROM_I2STABLE[10])
1639 #endif
1640 #if defined(USE_CC3200_ROM_DRV_API) || \
1641     defined(USE_CC3220_ROM_DRV_API)
1642 #define ROM_I2STxFIFOStatusGet                                                \
1643         ((unsigned long (*)(unsigned long ulBase))ROM_I2STABLE[11])
1644 #endif
1645 #if defined(USE_CC3200_ROM_DRV_API) || \
1646     defined(USE_CC3220_ROM_DRV_API)
1647 #define ROM_I2SRxFIFOStatusGet                                                \
1648         ((unsigned long (*)(unsigned long ulBase))ROM_I2STABLE[12])
1649 #endif
1650 #if defined(USE_CC3200_ROM_DRV_API) || \
1651     defined(USE_CC3220_ROM_DRV_API)
1652 #define ROM_I2SSerializerConfig                                               \
1653         ((void (*)(unsigned long ulBase,                                      \
1654                    unsigned long ulDataLine,                                  \
1655                    unsigned long ulSerMode,                                   \
1656                    unsigned long ulInActState))ROM_I2STABLE[13])
1657 #endif
1658 #if defined(USE_CC3200_ROM_DRV_API) || \
1659     defined(USE_CC3220_ROM_DRV_API)
1660 #define ROM_I2SIntEnable                                                      \
1661         ((void (*)(unsigned long ulBase,                                      \
1662                    unsigned long ulIntFlags))ROM_I2STABLE[14])
1663 #endif
1664 #if defined(USE_CC3200_ROM_DRV_API) || \
1665     defined(USE_CC3220_ROM_DRV_API)
1666 #define ROM_I2SIntDisable                                                     \
1667         ((void (*)(unsigned long ulBase,                                      \
1668                    unsigned long ulIntFlags))ROM_I2STABLE[15])
1669 #endif
1670 #if defined(USE_CC3200_ROM_DRV_API) || \
1671     defined(USE_CC3220_ROM_DRV_API)
1672 #define ROM_I2SIntStatus                                                      \
1673         ((unsigned long (*)(unsigned long ulBase))ROM_I2STABLE[16])
1674 #endif
1675 #if defined(USE_CC3200_ROM_DRV_API) || \
1676     defined(USE_CC3220_ROM_DRV_API)
1677 #define ROM_I2SIntClear                                                       \
1678         ((void (*)(unsigned long ulBase,                                      \
1679                    unsigned long ulIntFlags))ROM_I2STABLE[17])
1680 #endif
1681 #if defined(USE_CC3200_ROM_DRV_API) || \
1682     defined(USE_CC3220_ROM_DRV_API)
1683 #define ROM_I2SIntRegister                                                    \
1684         ((void (*)(unsigned long ulBase,                                      \
1685                    void (*pfnHandler)(void)))ROM_I2STABLE[18])
1686 #endif
1687 #if defined(USE_CC3200_ROM_DRV_API) || \
1688     defined(USE_CC3220_ROM_DRV_API)
1689 #define ROM_I2SIntUnregister                                                  \
1690         ((void (*)(unsigned long ulBase))ROM_I2STABLE[19])
1691 #endif
1692 #if defined(USE_CC3220_ROM_DRV_API)
1693 #define ROM_I2STxActiveSlotSet                                                \
1694         ((void (*)(unsigned long ulBase,                                      \
1695                    unsigned long ulActSlot))ROM_I2STABLE[20])
1696 #endif
1697 #if defined(USE_CC3220_ROM_DRV_API)
1698 #define ROM_I2SRxActiveSlotSet                                                \
1699         ((void (*)(unsigned long ulBase,                                      \
1700                    unsigned long ulActSlot))ROM_I2STABLE[21])
1701 #endif
1702 
1703 //*****************************************************************************
1704 //
1705 // Macros for calling ROM functions in the GPIO API.
1706 //
1707 //*****************************************************************************
1708 #if defined(USE_CC3200_ROM_DRV_API) || \
1709     defined(USE_CC3220_ROM_DRV_API)
1710 #define ROM_GPIODirModeSet                                                    \
1711         ((void (*)(unsigned long ulPort,                                      \
1712                    unsigned char ucPins,                                      \
1713                    unsigned long ulPinIO))ROM_GPIOTABLE[0])
1714 #endif
1715 #if defined(USE_CC3200_ROM_DRV_API) || \
1716     defined(USE_CC3220_ROM_DRV_API)
1717 #define ROM_GPIODirModeGet                                                    \
1718         ((unsigned long (*)(unsigned long ulPort,                             \
1719                             unsigned char ucPin))ROM_GPIOTABLE[1])
1720 #endif
1721 #if defined(USE_CC3200_ROM_DRV_API) || \
1722     defined(USE_CC3220_ROM_DRV_API)
1723 #define ROM_GPIOIntTypeSet                                                    \
1724         ((void (*)(unsigned long ulPort,                                      \
1725                    unsigned char ucPins,                                      \
1726                    unsigned long ulIntType))ROM_GPIOTABLE[2])
1727 #endif
1728 #if defined(USE_CC3200_ROM_DRV_API) || \
1729     defined(USE_CC3220_ROM_DRV_API)
1730 #define ROM_GPIODMATriggerEnable                                              \
1731         ((void (*)(unsigned long ulPort))ROM_GPIOTABLE[3])
1732 #endif
1733 #if defined(USE_CC3200_ROM_DRV_API) || \
1734     defined(USE_CC3220_ROM_DRV_API)
1735 #define ROM_GPIODMATriggerDisable                                             \
1736         ((void (*)(unsigned long ulPort))ROM_GPIOTABLE[4])
1737 #endif
1738 #if defined(USE_CC3200_ROM_DRV_API) || \
1739     defined(USE_CC3220_ROM_DRV_API)
1740 #define ROM_GPIOIntTypeGet                                                    \
1741         ((unsigned long (*)(unsigned long ulPort,                             \
1742                             unsigned char ucPin))ROM_GPIOTABLE[5])
1743 #endif
1744 #if defined(USE_CC3200_ROM_DRV_API) || \
1745     defined(USE_CC3220_ROM_DRV_API)
1746 #define ROM_GPIOIntEnable                                                     \
1747         ((void (*)(unsigned long ulPort,                                      \
1748                    unsigned long ulIntFlags))ROM_GPIOTABLE[6])
1749 #endif
1750 #if defined(USE_CC3200_ROM_DRV_API) || \
1751     defined(USE_CC3220_ROM_DRV_API)
1752 #define ROM_GPIOIntDisable                                                    \
1753         ((void (*)(unsigned long ulPort,                                      \
1754                    unsigned long ulIntFlags))ROM_GPIOTABLE[7])
1755 #endif
1756 #if defined(USE_CC3200_ROM_DRV_API) || \
1757     defined(USE_CC3220_ROM_DRV_API)
1758 #define ROM_GPIOIntStatus                                                     \
1759         ((long (*)(unsigned long ulPort,                                      \
1760                    tBoolean bMasked))ROM_GPIOTABLE[8])
1761 #endif
1762 #if defined(USE_CC3200_ROM_DRV_API) || \
1763     defined(USE_CC3220_ROM_DRV_API)
1764 #define ROM_GPIOIntClear                                                      \
1765         ((void (*)(unsigned long ulPort,                                      \
1766                    unsigned long ulIntFlags))ROM_GPIOTABLE[9])
1767 #endif
1768 #if defined(USE_CC3200_ROM_DRV_API) || \
1769     defined(USE_CC3220_ROM_DRV_API)
1770 #define ROM_GPIOIntRegister                                                   \
1771         ((void (*)(unsigned long ulPort,                                      \
1772                    void (*pfnIntHandler)(void)))ROM_GPIOTABLE[10])
1773 #endif
1774 #if defined(USE_CC3200_ROM_DRV_API) || \
1775     defined(USE_CC3220_ROM_DRV_API)
1776 #define ROM_GPIOIntUnregister                                                 \
1777         ((void (*)(unsigned long ulPort))ROM_GPIOTABLE[11])
1778 #endif
1779 #if defined(USE_CC3200_ROM_DRV_API) || \
1780     defined(USE_CC3220_ROM_DRV_API)
1781 #define ROM_GPIOPinRead                                                       \
1782         ((long (*)(unsigned long ulPort,                                      \
1783                    unsigned char ucPins))ROM_GPIOTABLE[12])
1784 #endif
1785 #if defined(USE_CC3200_ROM_DRV_API) || \
1786     defined(USE_CC3220_ROM_DRV_API)
1787 #define ROM_GPIOPinWrite                                                      \
1788         ((void (*)(unsigned long ulPort,                                      \
1789                    unsigned char ucPins,                                      \
1790                    unsigned char ucVal))ROM_GPIOTABLE[13])
1791 #endif
1792 
1793 //*****************************************************************************
1794 //
1795 // Macros for calling ROM functions in the AES API.
1796 //
1797 //*****************************************************************************
1798 #if defined(USE_CC3200_ROM_DRV_API) || \
1799     defined(USE_CC3220_ROM_DRV_API)
1800 #define ROM_AESConfigSet                                                      \
1801         ((void (*)(uint32_t ui32Base,                                         \
1802                    uint32_t ui32Config))ROM_AESTABLE[0])
1803 #endif
1804 #if defined(USE_CC3200_ROM_DRV_API) || \
1805     defined(USE_CC3220_ROM_DRV_API)
1806 #define ROM_AESKey1Set                                                        \
1807         ((void (*)(uint32_t ui32Base,                                         \
1808                    uint8_t *pui8Key,                                          \
1809                    uint32_t ui32Keysize))ROM_AESTABLE[1])
1810 #endif
1811 #if defined(USE_CC3200_ROM_DRV_API) || \
1812     defined(USE_CC3220_ROM_DRV_API)
1813 #define ROM_AESKey2Set                                                        \
1814         ((void (*)(uint32_t ui32Base,                                         \
1815                    uint8_t *pui8Key,                                          \
1816                    uint32_t ui32Keysize))ROM_AESTABLE[2])
1817 #endif
1818 #if defined(USE_CC3200_ROM_DRV_API) || \
1819     defined(USE_CC3220_ROM_DRV_API)
1820 #define ROM_AESKey3Set                                                        \
1821         ((void (*)(uint32_t ui32Base,                                         \
1822                    uint8_t *pui8Key))ROM_AESTABLE[3])
1823 #endif
1824 #if defined(USE_CC3200_ROM_DRV_API) || \
1825     defined(USE_CC3220_ROM_DRV_API)
1826 #define ROM_AESIVSet                                                          \
1827         ((void (*)(uint32_t ui32Base,                                         \
1828                    uint8_t *pui8IVdata))ROM_AESTABLE[4])
1829 #endif
1830 #if defined(USE_CC3200_ROM_DRV_API) || \
1831     defined(USE_CC3220_ROM_DRV_API)
1832 #define ROM_AESTagRead                                                        \
1833         ((void (*)(uint32_t ui32Base,                                         \
1834                    uint8_t *pui8TagData))ROM_AESTABLE[5])
1835 #endif
1836 #if defined(USE_CC3200_ROM_DRV_API) || \
1837     defined(USE_CC3220_ROM_DRV_API)
1838 #define ROM_AESDataLengthSet                                                  \
1839         ((void (*)(uint32_t ui32Base,                                         \
1840                    uint64_t ui64Length))ROM_AESTABLE[6])
1841 #endif
1842 #if defined(USE_CC3200_ROM_DRV_API) || \
1843     defined(USE_CC3220_ROM_DRV_API)
1844 #define ROM_AESAuthDataLengthSet                                              \
1845         ((void (*)(uint32_t ui32Base,                                         \
1846                    uint32_t ui32Length))ROM_AESTABLE[7])
1847 #endif
1848 #if defined(USE_CC3200_ROM_DRV_API) || \
1849     defined(USE_CC3220_ROM_DRV_API)
1850 #define ROM_AESDataReadNonBlocking                                            \
1851         ((bool (*)(uint32_t ui32Base,                                         \
1852                    uint8_t *pui8Dest,                                         \
1853                    uint8_t ui8Length))ROM_AESTABLE[8])
1854 #endif
1855 #if defined(USE_CC3200_ROM_DRV_API) || \
1856     defined(USE_CC3220_ROM_DRV_API)
1857 #define ROM_AESDataRead                                                       \
1858         ((void (*)(uint32_t ui32Base,                                         \
1859                    uint8_t *pui8Dest,                                         \
1860                    uint8_t ui8Length))ROM_AESTABLE[9])
1861 #endif
1862 #if defined(USE_CC3200_ROM_DRV_API) || \
1863     defined(USE_CC3220_ROM_DRV_API)
1864 #define ROM_AESDataWriteNonBlocking                                           \
1865         ((bool (*)(uint32_t ui32Base,                                         \
1866                    uint8_t *pui8Src,                                          \
1867                    uint8_t ui8Length))ROM_AESTABLE[10])
1868 #endif
1869 #if defined(USE_CC3200_ROM_DRV_API) || \
1870     defined(USE_CC3220_ROM_DRV_API)
1871 #define ROM_AESDataWrite                                                      \
1872         ((void (*)(uint32_t ui32Base,                                         \
1873                    uint8_t *pui8Src,                                          \
1874                    uint8_t ui8Length))ROM_AESTABLE[11])
1875 #endif
1876 #if defined(USE_CC3200_ROM_DRV_API) || \
1877     defined(USE_CC3220_ROM_DRV_API)
1878 #define ROM_AESDataProcess                                                    \
1879         ((bool (*)(uint32_t ui32Base,                                         \
1880                    uint8_t *pui8Src,                                          \
1881                    uint8_t *pui8Dest,                                         \
1882                    uint32_t ui32Length))ROM_AESTABLE[12])
1883 #endif
1884 #if defined(USE_CC3200_ROM_DRV_API) || \
1885     defined(USE_CC3220_ROM_DRV_API)
1886 #define ROM_AESDataMAC                                                        \
1887         ((bool (*)(uint32_t ui32Base,                                         \
1888                    uint8_t *pui8Src,                                          \
1889                    uint32_t ui32Length,                                       \
1890                    uint8_t *pui8Tag))ROM_AESTABLE[13])
1891 #endif
1892 #if defined(USE_CC3200_ROM_DRV_API) || \
1893     defined(USE_CC3220_ROM_DRV_API)
1894 #define ROM_AESDataProcessAE                                                  \
1895         ((bool (*)(uint32_t ui32Base,                                         \
1896                    uint8_t *pui8Src,                                          \
1897                    uint8_t *pui8Dest,                                         \
1898                    uint32_t ui32Length,                                       \
1899                    uint8_t *pui8AuthSrc,                                      \
1900                    uint32_t ui32AuthLength,                                   \
1901                    uint8_t *pui8Tag))ROM_AESTABLE[14])
1902 #endif
1903 #if defined(USE_CC3200_ROM_DRV_API) || \
1904     defined(USE_CC3220_ROM_DRV_API)
1905 #define ROM_AESIntStatus                                                      \
1906         ((uint32_t (*)(uint32_t ui32Base,                                     \
1907                        bool bMasked))ROM_AESTABLE[15])
1908 #endif
1909 #if defined(USE_CC3200_ROM_DRV_API) || \
1910     defined(USE_CC3220_ROM_DRV_API)
1911 #define ROM_AESIntEnable                                                      \
1912         ((void (*)(uint32_t ui32Base,                                         \
1913                    uint32_t ui32IntFlags))ROM_AESTABLE[16])
1914 #endif
1915 #if defined(USE_CC3200_ROM_DRV_API) || \
1916     defined(USE_CC3220_ROM_DRV_API)
1917 #define ROM_AESIntDisable                                                     \
1918         ((void (*)(uint32_t ui32Base,                                         \
1919                    uint32_t ui32IntFlags))ROM_AESTABLE[17])
1920 #endif
1921 #if defined(USE_CC3200_ROM_DRV_API) || \
1922     defined(USE_CC3220_ROM_DRV_API)
1923 #define ROM_AESIntClear                                                       \
1924         ((void (*)(uint32_t ui32Base,                                         \
1925                    uint32_t ui32IntFlags))ROM_AESTABLE[18])
1926 #endif
1927 #if defined(USE_CC3200_ROM_DRV_API) || \
1928     defined(USE_CC3220_ROM_DRV_API)
1929 #define ROM_AESIntRegister                                                    \
1930         ((void (*)(uint32_t ui32Base,                                         \
1931                    void(*pfnHandler)(void)))ROM_AESTABLE[19])
1932 #endif
1933 #if defined(USE_CC3200_ROM_DRV_API) || \
1934     defined(USE_CC3220_ROM_DRV_API)
1935 #define ROM_AESIntUnregister                                                  \
1936         ((void (*)(uint32_t ui32Base))ROM_AESTABLE[20])
1937 #endif
1938 #if defined(USE_CC3200_ROM_DRV_API) || \
1939     defined(USE_CC3220_ROM_DRV_API)
1940 #define ROM_AESDMAEnable                                                      \
1941         ((void (*)(uint32_t ui32Base,                                         \
1942                    uint32_t ui32Flags))ROM_AESTABLE[21])
1943 #endif
1944 #if defined(USE_CC3200_ROM_DRV_API) || \
1945     defined(USE_CC3220_ROM_DRV_API)
1946 #define ROM_AESDMADisable                                                     \
1947         ((void (*)(uint32_t ui32Base,                                         \
1948                    uint32_t ui32Flags))ROM_AESTABLE[22])
1949 #endif
1950 #if defined(USE_CC3220_ROM_DRV_API)
1951 #define ROM_AESIVGet                                                          \
1952         ((void (*)(uint32_t ui32Base,                                         \
1953                    uint8_t *pui8IVdata))ROM_AESTABLE[23])
1954 #endif
1955 
1956 //*****************************************************************************
1957 //
1958 // Macros for calling ROM functions in the DES API.
1959 //
1960 //*****************************************************************************
1961 #if defined(USE_CC3200_ROM_DRV_API) || \
1962     defined(USE_CC3220_ROM_DRV_API)
1963 #define ROM_DESConfigSet                                                      \
1964         ((void (*)(uint32_t ui32Base,                                         \
1965                    uint32_t ui32Config))ROM_DESTABLE[0])
1966 #endif
1967 #if defined(USE_CC3200_ROM_DRV_API) || \
1968     defined(USE_CC3220_ROM_DRV_API)
1969 #define ROM_DESDataRead                                                       \
1970         ((void (*)(uint32_t ui32Base,                                         \
1971                    uint8_t *pui8Dest,                                         \
1972                    uint8_t ui8Length))ROM_DESTABLE[1])
1973 #endif
1974 #if defined(USE_CC3200_ROM_DRV_API) || \
1975     defined(USE_CC3220_ROM_DRV_API)
1976 #define ROM_DESDataReadNonBlocking                                            \
1977         ((bool (*)(uint32_t ui32Base,                                         \
1978                    uint8_t *pui8Dest,                                         \
1979                    uint8_t ui8Length))ROM_DESTABLE[2])
1980 #endif
1981 #if defined(USE_CC3200_ROM_DRV_API) || \
1982     defined(USE_CC3220_ROM_DRV_API)
1983 #define ROM_DESDataProcess                                                    \
1984         ((bool (*)(uint32_t ui32Base,                                         \
1985                    uint8_t *pui8Src,                                          \
1986                    uint8_t *pui8Dest,                                         \
1987                    uint32_t ui32Length))ROM_DESTABLE[3])
1988 #endif
1989 #if defined(USE_CC3200_ROM_DRV_API) || \
1990     defined(USE_CC3220_ROM_DRV_API)
1991 #define ROM_DESDataWrite                                                      \
1992         ((void (*)(uint32_t ui32Base,                                         \
1993                    uint8_t *pui8Src,                                          \
1994                    uint8_t ui8Length))ROM_DESTABLE[4])
1995 #endif
1996 #if defined(USE_CC3200_ROM_DRV_API) || \
1997     defined(USE_CC3220_ROM_DRV_API)
1998 #define ROM_DESDataWriteNonBlocking                                           \
1999         ((bool (*)(uint32_t ui32Base,                                         \
2000                    uint8_t *pui8Src,                                          \
2001                    uint8_t ui8Length))ROM_DESTABLE[5])
2002 #endif
2003 #if defined(USE_CC3200_ROM_DRV_API) || \
2004     defined(USE_CC3220_ROM_DRV_API)
2005 #define ROM_DESDMADisable                                                     \
2006         ((void (*)(uint32_t ui32Base,                                         \
2007                    uint32_t ui32Flags))ROM_DESTABLE[6])
2008 #endif
2009 #if defined(USE_CC3200_ROM_DRV_API) || \
2010     defined(USE_CC3220_ROM_DRV_API)
2011 #define ROM_DESDMAEnable                                                      \
2012         ((void (*)(uint32_t ui32Base,                                         \
2013                    uint32_t ui32Flags))ROM_DESTABLE[7])
2014 #endif
2015 #if defined(USE_CC3200_ROM_DRV_API) || \
2016     defined(USE_CC3220_ROM_DRV_API)
2017 #define ROM_DESIntClear                                                       \
2018         ((void (*)(uint32_t ui32Base,                                         \
2019                    uint32_t ui32IntFlags))ROM_DESTABLE[8])
2020 #endif
2021 #if defined(USE_CC3200_ROM_DRV_API) || \
2022     defined(USE_CC3220_ROM_DRV_API)
2023 #define ROM_DESIntDisable                                                     \
2024         ((void (*)(uint32_t ui32Base,                                         \
2025                    uint32_t ui32IntFlags))ROM_DESTABLE[9])
2026 #endif
2027 #if defined(USE_CC3200_ROM_DRV_API) || \
2028     defined(USE_CC3220_ROM_DRV_API)
2029 #define ROM_DESIntEnable                                                      \
2030         ((void (*)(uint32_t ui32Base,                                         \
2031                    uint32_t ui32IntFlags))ROM_DESTABLE[10])
2032 #endif
2033 #if defined(USE_CC3200_ROM_DRV_API) || \
2034     defined(USE_CC3220_ROM_DRV_API)
2035 #define ROM_DESIntRegister                                                    \
2036         ((void (*)(uint32_t ui32Base,                                         \
2037                    void(*pfnHandler)(void)))ROM_DESTABLE[11])
2038 #endif
2039 #if defined(USE_CC3200_ROM_DRV_API) || \
2040     defined(USE_CC3220_ROM_DRV_API)
2041 #define ROM_DESIntStatus                                                      \
2042         ((uint32_t (*)(uint32_t ui32Base,                                     \
2043                        bool bMasked))ROM_DESTABLE[12])
2044 #endif
2045 #if defined(USE_CC3200_ROM_DRV_API) || \
2046     defined(USE_CC3220_ROM_DRV_API)
2047 #define ROM_DESIntUnregister                                                  \
2048         ((void (*)(uint32_t ui32Base))ROM_DESTABLE[13])
2049 #endif
2050 #if defined(USE_CC3200_ROM_DRV_API) || \
2051     defined(USE_CC3220_ROM_DRV_API)
2052 #define ROM_DESIVSet                                                          \
2053         ((bool (*)(uint32_t ui32Base,                                         \
2054                    uint8_t *pui8IVdata))ROM_DESTABLE[14])
2055 #endif
2056 #if defined(USE_CC3200_ROM_DRV_API) || \
2057     defined(USE_CC3220_ROM_DRV_API)
2058 #define ROM_DESKeySet                                                         \
2059         ((void (*)(uint32_t ui32Base,                                         \
2060                    uint8_t *pui8Key))ROM_DESTABLE[15])
2061 #endif
2062 #if defined(USE_CC3200_ROM_DRV_API) || \
2063     defined(USE_CC3220_ROM_DRV_API)
2064 #define ROM_DESDataLengthSet                                                  \
2065         ((void (*)(uint32_t ui32Base,                                         \
2066                    uint32_t ui32Length))ROM_DESTABLE[16])
2067 #endif
2068 
2069 //*****************************************************************************
2070 //
2071 // Macros for calling ROM functions in the SHAMD5 API.
2072 //
2073 //*****************************************************************************
2074 #if defined(USE_CC3200_ROM_DRV_API) || \
2075     defined(USE_CC3220_ROM_DRV_API)
2076 #define ROM_SHAMD5ConfigSet                                                   \
2077         ((void (*)(uint32_t ui32Base,                                         \
2078                    uint32_t ui32Mode))ROM_SHAMD5TABLE[0])
2079 #endif
2080 #if defined(USE_CC3200_ROM_DRV_API) || \
2081     defined(USE_CC3220_ROM_DRV_API)
2082 #define ROM_SHAMD5DataProcess                                                 \
2083         ((bool (*)(uint32_t ui32Base,                                         \
2084                    uint8_t *pui8DataSrc,                                      \
2085                    uint32_t ui32DataLength,                                   \
2086                    uint8_t *pui8HashResult))ROM_SHAMD5TABLE[1])
2087 #endif
2088 #if defined(USE_CC3200_ROM_DRV_API) || \
2089     defined(USE_CC3220_ROM_DRV_API)
2090 #define ROM_SHAMD5DataWrite                                                   \
2091         ((void (*)(uint32_t ui32Base,                                         \
2092                    uint8_t *pui8Src))ROM_SHAMD5TABLE[2])
2093 #endif
2094 #if defined(USE_CC3200_ROM_DRV_API) || \
2095     defined(USE_CC3220_ROM_DRV_API)
2096 #define ROM_SHAMD5DataWriteNonBlocking                                        \
2097         ((bool (*)(uint32_t ui32Base,                                         \
2098                    uint8_t *pui8Src))ROM_SHAMD5TABLE[3])
2099 #endif
2100 #if defined(USE_CC3200_ROM_DRV_API) || \
2101     defined(USE_CC3220_ROM_DRV_API)
2102 #define ROM_SHAMD5DMADisable                                                  \
2103         ((void (*)(uint32_t ui32Base))ROM_SHAMD5TABLE[4])
2104 #endif
2105 #if defined(USE_CC3200_ROM_DRV_API) || \
2106     defined(USE_CC3220_ROM_DRV_API)
2107 #define ROM_SHAMD5DMAEnable                                                   \
2108         ((void (*)(uint32_t ui32Base))ROM_SHAMD5TABLE[5])
2109 #endif
2110 #if defined(USE_CC3200_ROM_DRV_API) || \
2111     defined(USE_CC3220_ROM_DRV_API)
2112 #define ROM_SHAMD5DataLengthSet                                               \
2113         ((void (*)(uint32_t ui32Base,                                         \
2114                    uint32_t ui32Length))ROM_SHAMD5TABLE[6])
2115 #endif
2116 #if defined(USE_CC3200_ROM_DRV_API) || \
2117     defined(USE_CC3220_ROM_DRV_API)
2118 #define ROM_SHAMD5HMACKeySet                                                  \
2119         ((void (*)(uint32_t ui32Base,                                         \
2120                    uint8_t *pui8Src))ROM_SHAMD5TABLE[7])
2121 #endif
2122 #if defined(USE_CC3200_ROM_DRV_API) || \
2123     defined(USE_CC3220_ROM_DRV_API)
2124 #define ROM_SHAMD5HMACPPKeyGenerate                                           \
2125         ((void (*)(uint32_t ui32Base,                                         \
2126                    uint8_t *pui8Key,                                          \
2127                    uint8_t *pui8PPKey))ROM_SHAMD5TABLE[8])
2128 #endif
2129 #if defined(USE_CC3200_ROM_DRV_API) || \
2130     defined(USE_CC3220_ROM_DRV_API)
2131 #define ROM_SHAMD5HMACPPKeySet                                                \
2132         ((void (*)(uint32_t ui32Base,                                         \
2133                    uint8_t *pui8Src))ROM_SHAMD5TABLE[9])
2134 #endif
2135 #if defined(USE_CC3200_ROM_DRV_API) || \
2136     defined(USE_CC3220_ROM_DRV_API)
2137 #define ROM_SHAMD5HMACProcess                                                 \
2138         ((bool (*)(uint32_t ui32Base,                                         \
2139                    uint8_t *pui8DataSrc,                                      \
2140                    uint32_t ui32DataLength,                                   \
2141                    uint8_t *pui8HashResult))ROM_SHAMD5TABLE[10])
2142 #endif
2143 #if defined(USE_CC3200_ROM_DRV_API) || \
2144     defined(USE_CC3220_ROM_DRV_API)
2145 #define ROM_SHAMD5IntClear                                                    \
2146         ((void (*)(uint32_t ui32Base,                                         \
2147                    uint32_t ui32IntFlags))ROM_SHAMD5TABLE[11])
2148 #endif
2149 #if defined(USE_CC3200_ROM_DRV_API) || \
2150     defined(USE_CC3220_ROM_DRV_API)
2151 #define ROM_SHAMD5IntDisable                                                  \
2152         ((void (*)(uint32_t ui32Base,                                         \
2153                    uint32_t ui32IntFlags))ROM_SHAMD5TABLE[12])
2154 #endif
2155 #if defined(USE_CC3200_ROM_DRV_API) || \
2156     defined(USE_CC3220_ROM_DRV_API)
2157 #define ROM_SHAMD5IntEnable                                                   \
2158         ((void (*)(uint32_t ui32Base,                                         \
2159                    uint32_t ui32IntFlags))ROM_SHAMD5TABLE[13])
2160 #endif
2161 #if defined(USE_CC3200_ROM_DRV_API) || \
2162     defined(USE_CC3220_ROM_DRV_API)
2163 #define ROM_SHAMD5IntRegister                                                 \
2164         ((void (*)(uint32_t ui32Base,                                         \
2165                    void(*pfnHandler)(void)))ROM_SHAMD5TABLE[14])
2166 #endif
2167 #if defined(USE_CC3200_ROM_DRV_API) || \
2168     defined(USE_CC3220_ROM_DRV_API)
2169 #define ROM_SHAMD5IntStatus                                                   \
2170         ((uint32_t (*)(uint32_t ui32Base,                                     \
2171                        bool bMasked))ROM_SHAMD5TABLE[15])
2172 #endif
2173 #if defined(USE_CC3200_ROM_DRV_API) || \
2174     defined(USE_CC3220_ROM_DRV_API)
2175 #define ROM_SHAMD5IntUnregister                                               \
2176         ((void (*)(uint32_t ui32Base))ROM_SHAMD5TABLE[16])
2177 #endif
2178 #if defined(USE_CC3200_ROM_DRV_API) || \
2179     defined(USE_CC3220_ROM_DRV_API)
2180 #define ROM_SHAMD5ResultRead                                                  \
2181         ((void (*)(uint32_t ui32Base,                                         \
2182                    uint8_t *pui8Dest))ROM_SHAMD5TABLE[17])
2183 #endif
2184 
2185 //*****************************************************************************
2186 //
2187 // Macros for calling ROM functions in the CRC API.
2188 //
2189 //*****************************************************************************
2190 #if defined(USE_CC3200_ROM_DRV_API) || \
2191     defined(USE_CC3220_ROM_DRV_API)
2192 #define ROM_CRCConfigSet                                                      \
2193         ((void (*)(uint32_t ui32Base,                                         \
2194                    uint32_t ui32CRCConfig))ROM_CRCTABLE[0])
2195 #endif
2196 #if defined(USE_CC3200_ROM_DRV_API) || \
2197     defined(USE_CC3220_ROM_DRV_API)
2198 #define ROM_CRCDataProcess                                                    \
2199         ((uint32_t (*)(uint32_t ui32Base,                                     \
2200                        void *puiDataIn,                                       \
2201                        uint32_t ui32DataLength,                               \
2202                        uint32_t ui32Config))ROM_CRCTABLE[1])
2203 #endif
2204 #if defined(USE_CC3200_ROM_DRV_API) || \
2205     defined(USE_CC3220_ROM_DRV_API)
2206 #define ROM_CRCDataWrite                                                      \
2207         ((void (*)(uint32_t ui32Base,                                         \
2208                    uint32_t ui32Data))ROM_CRCTABLE[2])
2209 #endif
2210 #if defined(USE_CC3200_ROM_DRV_API) || \
2211     defined(USE_CC3220_ROM_DRV_API)
2212 #define ROM_CRCResultRead                                                     \
2213         ((uint32_t (*)(uint32_t ui32Base))ROM_CRCTABLE[3])
2214 #endif
2215 #if defined(USE_CC3200_ROM_DRV_API) || \
2216     defined(USE_CC3220_ROM_DRV_API)
2217 #define ROM_CRCSeedSet                                                        \
2218         ((void (*)(uint32_t ui32Base,                                         \
2219                    uint32_t ui32Seed))ROM_CRCTABLE[4])
2220 #endif
2221 
2222 //*****************************************************************************
2223 //
2224 // Macros for calling ROM functions in the SDHOST API.
2225 //
2226 //*****************************************************************************
2227 #if defined(USE_CC3200_ROM_DRV_API) || \
2228     defined(USE_CC3220_ROM_DRV_API)
2229 #define ROM_SDHostCmdReset                                                    \
2230         ((void (*)(unsigned long ulBase))ROM_SDHOSTTABLE[0])
2231 #endif
2232 #if defined(USE_CC3200_ROM_DRV_API) || \
2233     defined(USE_CC3220_ROM_DRV_API)
2234 #define ROM_SDHostInit                                                        \
2235         ((void (*)(unsigned long ulBase))ROM_SDHOSTTABLE[1])
2236 #endif
2237 #if defined(USE_CC3200_ROM_DRV_API) || \
2238     defined(USE_CC3220_ROM_DRV_API)
2239 #define ROM_SDHostCmdSend                                                     \
2240         ((long (*)(unsigned long ulBase,                                      \
2241                   unsigned long ulCmd,                                        \
2242                    unsigned ulArg))ROM_SDHOSTTABLE[2])
2243 #endif
2244 #if defined(USE_CC3200_ROM_DRV_API) || \
2245     defined(USE_CC3220_ROM_DRV_API)
2246 #define ROM_SDHostIntRegister                                                 \
2247         ((void (*)(unsigned long ulBase,                                      \
2248                    void (*pfnHandler)(void)))ROM_SDHOSTTABLE[3])
2249 #endif
2250 #if defined(USE_CC3200_ROM_DRV_API) || \
2251     defined(USE_CC3220_ROM_DRV_API)
2252 #define ROM_SDHostIntUnregister                                               \
2253         ((void (*)(unsigned long ulBase))ROM_SDHOSTTABLE[4])
2254 #endif
2255 #if defined(USE_CC3200_ROM_DRV_API) || \
2256     defined(USE_CC3220_ROM_DRV_API)
2257 #define ROM_SDHostIntEnable                                                   \
2258         ((void (*)(unsigned long ulBase,                                      \
2259                   unsigned long ulIntFlags))ROM_SDHOSTTABLE[5])
2260 #endif
2261 #if defined(USE_CC3200_ROM_DRV_API) || \
2262     defined(USE_CC3220_ROM_DRV_API)
2263 #define ROM_SDHostIntDisable                                                  \
2264         ((void (*)(unsigned long ulBase,                                      \
2265                   unsigned long ulIntFlags))ROM_SDHOSTTABLE[6])
2266 #endif
2267 #if defined(USE_CC3200_ROM_DRV_API) || \
2268     defined(USE_CC3220_ROM_DRV_API)
2269 #define ROM_SDHostIntStatus                                                   \
2270         ((unsigned long (*)(unsigned long ulBase))ROM_SDHOSTTABLE[7])
2271 #endif
2272 #if defined(USE_CC3200_ROM_DRV_API) || \
2273     defined(USE_CC3220_ROM_DRV_API)
2274 #define ROM_SDHostIntClear                                                    \
2275         ((void (*)(unsigned long ulBase,                                      \
2276                   unsigned long ulIntFlags))ROM_SDHOSTTABLE[8])
2277 #endif
2278 #if defined(USE_CC3200_ROM_DRV_API) || \
2279     defined(USE_CC3220_ROM_DRV_API)
2280 #define ROM_SDHostRespGet                                                     \
2281         ((void (*)(unsigned long ulBase,                                      \
2282                    unsigned long ulRespnse[4]))ROM_SDHOSTTABLE[10])
2283 #endif
2284 #if defined(USE_CC3200_ROM_DRV_API) || \
2285     defined(USE_CC3220_ROM_DRV_API)
2286 #define ROM_SDHostBlockSizeSet                                                \
2287         ((void (*)(unsigned long ulBase,                                      \
2288                    unsigned short ulBlkSize))ROM_SDHOSTTABLE[11])
2289 #endif
2290 #if defined(USE_CC3200_ROM_DRV_API) || \
2291     defined(USE_CC3220_ROM_DRV_API)
2292 #define ROM_SDHostBlockCountSet                                               \
2293         ((void (*)(unsigned long ulBase,                                      \
2294                    unsigned short ulBlkCount))ROM_SDHOSTTABLE[12])
2295 #endif
2296 #if defined(USE_CC3200_ROM_DRV_API) || \
2297     defined(USE_CC3220_ROM_DRV_API)
2298 #define ROM_SDHostDataNonBlockingWrite                                        \
2299         ((tBoolean (*)(unsigned long ulBase,                                  \
2300                        unsigned long ulData))ROM_SDHOSTTABLE[13])
2301 #endif
2302 #if defined(USE_CC3200_ROM_DRV_API) || \
2303     defined(USE_CC3220_ROM_DRV_API)
2304 #define ROM_SDHostDataNonBlockingRead                                         \
2305         ((tBoolean (*)(unsigned long ulBase,                                  \
2306                        unsigned long *pulData))ROM_SDHOSTTABLE[14])
2307 #endif
2308 #if defined(USE_CC3200_ROM_DRV_API) || \
2309     defined(USE_CC3220_ROM_DRV_API)
2310 #define ROM_SDHostDataWrite                                                   \
2311         ((void (*)(unsigned long ulBase,                                      \
2312                    unsigned long ulData))ROM_SDHOSTTABLE[15])
2313 #endif
2314 #if defined(USE_CC3200_ROM_DRV_API) || \
2315     defined(USE_CC3220_ROM_DRV_API)
2316 #define ROM_SDHostDataRead                                                    \
2317         ((void (*)(unsigned long ulBase,                                      \
2318                    unsigned long *ulData))ROM_SDHOSTTABLE[16])
2319 #endif
2320 #if defined(USE_CC3200_ROM_DRV_API) || \
2321     defined(USE_CC3220_ROM_DRV_API)
2322 #define ROM_SDHostSetExpClk                                                   \
2323         ((void (*)(unsigned long ulBase,                                      \
2324                    unsigned long ulSDHostClk,                                 \
2325                    unsigned long ulCardClk))ROM_SDHOSTTABLE[17])
2326 #endif
2327 #if defined(USE_CC3220_ROM_DRV_API)
2328 #define ROM_SDHostCardErrorMaskSet                                            \
2329         ((void (*)(unsigned long ulBase,                                      \
2330                    unsigned long ulErrMask))ROM_SDHOSTTABLE[18])
2331 #endif
2332 #if defined(USE_CC3220_ROM_DRV_API)
2333 #define ROM_SDHostCardErrorMaskGet                                            \
2334         ((unsigned long (*)(unsigned long ulBase))ROM_SDHOSTTABLE[19])
2335 #endif
2336 
2337 //*****************************************************************************
2338 //
2339 // Macros for calling ROM functions in the PRCM API.
2340 //
2341 //*****************************************************************************
2342 #if defined(USE_CC3200_ROM_DRV_API) || \
2343     defined(USE_CC3220_ROM_DRV_API)
2344 #define ROM_PRCMMCUReset                                                      \
2345         ((void (*)(tBoolean bIncludeSubsystem))ROM_PRCMTABLE[1])
2346 #endif
2347 #if defined(USE_CC3200_ROM_DRV_API) || \
2348     defined(USE_CC3220_ROM_DRV_API)
2349 #define ROM_PRCMSysResetCauseGet                                              \
2350         ((unsigned long (*)(void))ROM_PRCMTABLE[2])
2351 #endif
2352 #if defined(USE_CC3200_ROM_DRV_API) || \
2353     defined(USE_CC3220_ROM_DRV_API)
2354 #define ROM_PRCMPeripheralClkEnable                                           \
2355         ((void (*)(unsigned long ulPeripheral,                                \
2356                    unsigned long ulClkFlags))ROM_PRCMTABLE[3])
2357 #endif
2358 #if defined(USE_CC3200_ROM_DRV_API) || \
2359     defined(USE_CC3220_ROM_DRV_API)
2360 #define ROM_PRCMPeripheralClkDisable                                          \
2361         ((void (*)(unsigned long ulPeripheral,                                \
2362                    unsigned long ulClkFlags))ROM_PRCMTABLE[4])
2363 #endif
2364 #if defined(USE_CC3200_ROM_DRV_API) || \
2365     defined(USE_CC3220_ROM_DRV_API)
2366 #define ROM_PRCMPeripheralReset                                               \
2367         ((void (*)(unsigned long ulPeripheral))ROM_PRCMTABLE[5])
2368 #endif
2369 #if defined(USE_CC3200_ROM_DRV_API) || \
2370     defined(USE_CC3220_ROM_DRV_API)
2371 #define ROM_PRCMPeripheralStatusGet                                           \
2372         ((tBoolean (*)(unsigned long ulPeripheral))ROM_PRCMTABLE[6])
2373 #endif
2374 #if defined(USE_CC3200_ROM_DRV_API) || \
2375     defined(USE_CC3220_ROM_DRV_API)
2376 #define ROM_PRCMI2SClockFreqSet                                               \
2377         ((void (*)(unsigned long ulI2CClkFreq))ROM_PRCMTABLE[7])
2378 #endif
2379 #if defined(USE_CC3200_ROM_DRV_API) || \
2380     defined(USE_CC3220_ROM_DRV_API)
2381 #define ROM_PRCMPeripheralClockGet                                            \
2382         ((unsigned long (*)(unsigned long ulPeripheral))ROM_PRCMTABLE[8])
2383 #endif
2384 #if defined(USE_CC3200_ROM_DRV_API) || \
2385     defined(USE_CC3220_ROM_DRV_API)
2386 #define ROM_PRCMSleepEnter                                                    \
2387         ((void (*)(void))ROM_PRCMTABLE[9])
2388 #endif
2389 #if defined(USE_CC3200_ROM_DRV_API) || \
2390     defined(USE_CC3220_ROM_DRV_API)
2391 #define ROM_PRCMSRAMRetentionEnable                                           \
2392         ((void (*)(unsigned long ulSramColSel,                                \
2393                    unsigned long ulFlags))ROM_PRCMTABLE[11])
2394 #endif
2395 #if defined(USE_CC3200_ROM_DRV_API) || \
2396     defined(USE_CC3220_ROM_DRV_API)
2397 #define ROM_PRCMSRAMRetentionDisable                                          \
2398         ((void (*)(unsigned long ulSramColSel,                                \
2399                    unsigned long ulFlags))ROM_PRCMTABLE[12])
2400 #endif
2401 #if defined(USE_CC3200_ROM_DRV_API) || \
2402     defined(USE_CC3220_ROM_DRV_API)
2403 #define ROM_PRCMLPDSEnter                                                     \
2404         ((void (*)(void))ROM_PRCMTABLE[13])
2405 #endif
2406 #if defined(USE_CC3200_ROM_DRV_API) || \
2407     defined(USE_CC3220_ROM_DRV_API)
2408 #define ROM_PRCMLPDSIntervalSet                                               \
2409         ((void (*)(unsigned long ulTicks))ROM_PRCMTABLE[14])
2410 #endif
2411 #if defined(USE_CC3200_ROM_DRV_API) || \
2412     defined(USE_CC3220_ROM_DRV_API)
2413 #define ROM_PRCMLPDSWakeupSourceEnable                                        \
2414         ((void (*)(unsigned long ulLpdsWakeupSrc))ROM_PRCMTABLE[15])
2415 #endif
2416 #if defined(USE_CC3200_ROM_DRV_API) || \
2417     defined(USE_CC3220_ROM_DRV_API)
2418 #define ROM_PRCMLPDSWakeupCauseGet                                            \
2419         ((unsigned long (*)(void))ROM_PRCMTABLE[16])
2420 #endif
2421 #if defined(USE_CC3200_ROM_DRV_API) || \
2422     defined(USE_CC3220_ROM_DRV_API)
2423 #define ROM_PRCMLPDSWakeUpGPIOSelect                                          \
2424         ((void (*)(unsigned long ulGPIOPin,                                   \
2425                    unsigned long ulType))ROM_PRCMTABLE[17])
2426 #endif
2427 #if defined(USE_CC3200_ROM_DRV_API) || \
2428     defined(USE_CC3220_ROM_DRV_API)
2429 #define ROM_PRCMLPDSWakeupSourceDisable                                       \
2430         ((void (*)(unsigned long ulLpdsWakeupSrc))ROM_PRCMTABLE[18])
2431 #endif
2432 #if defined(USE_CC3200_ROM_DRV_API) || \
2433     defined(USE_CC3220_ROM_DRV_API)
2434 #define ROM_PRCMHibernateEnter                                                \
2435         ((void (*)(void))ROM_PRCMTABLE[19])
2436 #endif
2437 #if defined(USE_CC3200_ROM_DRV_API) || \
2438     defined(USE_CC3220_ROM_DRV_API)
2439 #define ROM_PRCMHibernateWakeupSourceEnable                                   \
2440         ((void (*)(unsigned long ulHIBWakupSrc))ROM_PRCMTABLE[20])
2441 #endif
2442 #if defined(USE_CC3200_ROM_DRV_API) || \
2443     defined(USE_CC3220_ROM_DRV_API)
2444 #define ROM_PRCMHibernateWakeupCauseGet                                       \
2445         ((unsigned long (*)(void))ROM_PRCMTABLE[21])
2446 #endif
2447 #if defined(USE_CC3200_ROM_DRV_API) || \
2448     defined(USE_CC3220_ROM_DRV_API)
2449 #define ROM_PRCMHibernateWakeUpGPIOSelect                                     \
2450         ((void (*)(unsigned long ulMultiGPIOBitMap,                           \
2451                    unsigned long ulType))ROM_PRCMTABLE[22])
2452 #endif
2453 #if defined(USE_CC3200_ROM_DRV_API) || \
2454     defined(USE_CC3220_ROM_DRV_API)
2455 #define ROM_PRCMHibernateWakeupSourceDisable                                  \
2456         ((void (*)(unsigned long ulHIBWakupSrc))ROM_PRCMTABLE[23])
2457 #endif
2458 #if defined(USE_CC3200_ROM_DRV_API) || \
2459     defined(USE_CC3220_ROM_DRV_API)
2460 #define ROM_PRCMHibernateIntervalSet                                          \
2461         ((void (*)(unsigned long long ullTicks))ROM_PRCMTABLE[24])
2462 #endif
2463 #if defined(USE_CC3200_ROM_DRV_API) || \
2464     defined(USE_CC3220_ROM_DRV_API)
2465 #define ROM_PRCMSlowClkCtrGet                                                 \
2466         ((unsigned long long (*)(void))ROM_PRCMTABLE[25])
2467 #endif
2468 #if defined(USE_CC3200_ROM_DRV_API) || \
2469     defined(USE_CC3220_ROM_DRV_API)
2470 #define ROM_PRCMSlowClkCtrMatchSet                                            \
2471         ((void (*)(unsigned long long ullTicks))ROM_PRCMTABLE[26])
2472 #endif
2473 #if defined(USE_CC3200_ROM_DRV_API) || \
2474     defined(USE_CC3220_ROM_DRV_API)
2475 #define ROM_PRCMSlowClkCtrMatchGet                                            \
2476         ((unsigned long long (*)(void))ROM_PRCMTABLE[27])
2477 #endif
2478 #if defined(USE_CC3200_ROM_DRV_API) || \
2479     defined(USE_CC3220_ROM_DRV_API)
2480 #define ROM_PRCMOCRRegisterWrite                                              \
2481         ((void (*)(unsigned char ucIndex,                                     \
2482                    unsigned long ulRegValue))ROM_PRCMTABLE[28])
2483 #endif
2484 #if defined(USE_CC3200_ROM_DRV_API) || \
2485     defined(USE_CC3220_ROM_DRV_API)
2486 #define ROM_PRCMOCRRegisterRead                                               \
2487         ((unsigned long (*)(unsigned char ucIndex))ROM_PRCMTABLE[29])
2488 #endif
2489 #if defined(USE_CC3200_ROM_DRV_API) || \
2490     defined(USE_CC3220_ROM_DRV_API)
2491 #define ROM_PRCMIntRegister                                                   \
2492         ((void (*)(void (*pfnHandler)(void)))ROM_PRCMTABLE[30])
2493 #endif
2494 #if defined(USE_CC3200_ROM_DRV_API) || \
2495     defined(USE_CC3220_ROM_DRV_API)
2496 #define ROM_PRCMIntUnregister                                                 \
2497         ((void (*)(void))ROM_PRCMTABLE[31])
2498 #endif
2499 #if defined(USE_CC3200_ROM_DRV_API) || \
2500     defined(USE_CC3220_ROM_DRV_API)
2501 #define ROM_PRCMIntEnable                                                     \
2502         ((void (*)(unsigned long ulIntFlags))ROM_PRCMTABLE[32])
2503 #endif
2504 #if defined(USE_CC3200_ROM_DRV_API) || \
2505     defined(USE_CC3220_ROM_DRV_API)
2506 #define ROM_PRCMIntDisable                                                    \
2507         ((void (*)(unsigned long ulIntFlags))ROM_PRCMTABLE[33])
2508 #endif
2509 #if defined(USE_CC3200_ROM_DRV_API) || \
2510     defined(USE_CC3220_ROM_DRV_API)
2511 #define ROM_PRCMIntStatus                                                     \
2512         ((unsigned long (*)(void))ROM_PRCMTABLE[34])
2513 #endif
2514 #if defined(USE_CC3200_ROM_DRV_API) || \
2515     defined(USE_CC3220_ROM_DRV_API)
2516 #define ROM_PRCMRTCInUseSet                                                   \
2517         ((void (*)(void))ROM_PRCMTABLE[35])
2518 #endif
2519 #if defined(USE_CC3200_ROM_DRV_API) || \
2520     defined(USE_CC3220_ROM_DRV_API)
2521 #define ROM_PRCMRTCInUseGet                                                   \
2522         ((tBoolean (*)(void))ROM_PRCMTABLE[36])
2523 #endif
2524 #if defined(USE_CC3200_ROM_DRV_API) || \
2525     defined(USE_CC3220_ROM_DRV_API)
2526 #define ROM_PRCMRTCSet                                                        \
2527         ((void (*)(unsigned long ulSecs,                                      \
2528                    unsigned short usMsec))ROM_PRCMTABLE[37])
2529 #endif
2530 #if defined(USE_CC3200_ROM_DRV_API) || \
2531     defined(USE_CC3220_ROM_DRV_API)
2532 #define ROM_PRCMRTCGet                                                        \
2533         ((void (*)(unsigned long *ulSecs,                                     \
2534                    unsigned short *usMsec))ROM_PRCMTABLE[38])
2535 #endif
2536 #if defined(USE_CC3200_ROM_DRV_API) || \
2537     defined(USE_CC3220_ROM_DRV_API)
2538 #define ROM_PRCMRTCMatchSet                                                   \
2539         ((void (*)(unsigned long ulSecs,                                      \
2540                    unsigned short usMsec))ROM_PRCMTABLE[39])
2541 #endif
2542 #if defined(USE_CC3200_ROM_DRV_API) || \
2543     defined(USE_CC3220_ROM_DRV_API)
2544 #define ROM_PRCMRTCMatchGet                                                   \
2545         ((void (*)(unsigned long *ulSecs,                                     \
2546                    unsigned short *usMsec))ROM_PRCMTABLE[40])
2547 #endif
2548 #if defined(USE_CC3200_ROM_DRV_API) || \
2549     defined(USE_CC3220_ROM_DRV_API)
2550 #define ROM_PRCMLPDSRestoreInfoSet                                            \
2551         ((void (*)(unsigned long ulRestoreSP,                                 \
2552                    unsigned long ulRestorePC))ROM_PRCMTABLE[41])
2553 #endif
2554 #if defined(USE_CC3220_ROM_DRV_API)
2555 #define ROM_PRCMSlowClkCtrFastGet                                             \
2556         ((unsigned long long (*)(void))ROM_PRCMTABLE[42])
2557 #endif
2558 #if defined(USE_CC3220_ROM_DRV_API)
2559 #define ROM_PRCMCC3200MCUInit                                                 \
2560         ((void (*)(void))ROM_PRCMTABLE[43])
2561 #endif
2562 #if defined(USE_CC3220_ROM_DRV_API)
2563 #define ROM_PRCMHIBRegRead                                                    \
2564         ((unsigned long (*)(unsigned long ulRegAddr))ROM_PRCMTABLE[44])
2565 #endif
2566 #if defined(USE_CC3220_ROM_DRV_API)
2567 #define ROM_PRCMHIBRegWrite                                                   \
2568         ((void (*)(unsigned long ulRegAddr,                                   \
2569                    unsigned long ulValue))ROM_PRCMTABLE[45])
2570 #endif
2571 #if defined(USE_CC3220_ROM_DRV_API)
2572 #define ROM_PRCMCameraFreqSet                                                 \
2573         ((unsigned long (*)(unsigned char ulDivider,                          \
2574                             unsigned char ulWidth))ROM_PRCMTABLE[46])
2575 #endif
2576 #if defined(USE_CC3220_ROM_DRV_API)
2577 #define ROM_PRCMIORetentionEnable                                             \
2578         ((void (*)(unsigned long ulIORetGrpFlags))ROM_PRCMTABLE[47])
2579 #endif
2580 #if defined(USE_CC3220_ROM_DRV_API)
2581 #define ROM_PRCMIORetentionDisable                                            \
2582         ((void (*)(unsigned long ulIORetGrpFlags))ROM_PRCMTABLE[48])
2583 #endif
2584 #if defined(USE_CC3220_ROM_DRV_API)
2585 #define ROM_PRCMDeviceTypeGet                                                 \
2586         ((unsigned long (*)(void))ROM_PRCMTABLE[49])
2587 #endif
2588 #if defined(USE_CC3220_ROM_DRV_API)
2589 #define ROM_PRCMLPDSEnterKeepDebugIf                                          \
2590         ((void (*)(void))ROM_PRCMTABLE[50])
2591 #endif
2592 #if defined(USE_CC3220_ROM_DRV_API)
2593 #define ROM_PRCMHibernateCycleTrigger                                         \
2594         ((void (*)(void))ROM_PRCMTABLE[51])
2595 #endif
2596 
2597 //*****************************************************************************
2598 //
2599 // Macros for calling ROM functions in the HWSPINLOCK API.
2600 //
2601 //*****************************************************************************
2602 #if defined(USE_CC3200_ROM_DRV_API) || \
2603     defined(USE_CC3220_ROM_DRV_API)
2604 #define ROM_HwSpinLockAcquire                                                 \
2605         ((void (*)(uint32_t ui32LockID))ROM_HWSPINLOCKTABLE[0])
2606 #endif
2607 #if defined(USE_CC3200_ROM_DRV_API) || \
2608     defined(USE_CC3220_ROM_DRV_API)
2609 #define ROM_HwSpinLockTryAcquire                                              \
2610         ((int32_t (*)(uint32_t ui32LockID,                                    \
2611                       uint32_t ui32Retry))ROM_HWSPINLOCKTABLE[1])
2612 #endif
2613 #if defined(USE_CC3200_ROM_DRV_API) || \
2614     defined(USE_CC3220_ROM_DRV_API)
2615 #define ROM_HwSpinLockRelease                                                 \
2616         ((void (*)(uint32_t ui32LockID))ROM_HWSPINLOCKTABLE[2])
2617 #endif
2618 #if defined(USE_CC3200_ROM_DRV_API) || \
2619     defined(USE_CC3220_ROM_DRV_API)
2620 #define ROM_HwSpinLockTest                                                    \
2621         ((uint32_t (*)(uint32_t ui32LockID,                                   \
2622                        bool bCurrentStatus))ROM_HWSPINLOCKTABLE[3])
2623 #endif
2624 
2625 //*****************************************************************************
2626 //
2627 // Macros for calling ROM functions in the ADC API.
2628 //
2629 //*****************************************************************************
2630 #if defined(USE_CC3200_ROM_DRV_API) || \
2631     defined(USE_CC3220_ROM_DRV_API)
2632 #define ROM_ADCEnable                                                         \
2633         ((void (*)(unsigned long ulBase))ROM_ADCTABLE[0])
2634 #endif
2635 #if defined(USE_CC3200_ROM_DRV_API) || \
2636     defined(USE_CC3220_ROM_DRV_API)
2637 #define ROM_ADCDisable                                                        \
2638         ((void (*)(unsigned long ulBase))ROM_ADCTABLE[1])
2639 #endif
2640 #if defined(USE_CC3200_ROM_DRV_API) || \
2641     defined(USE_CC3220_ROM_DRV_API)
2642 #define ROM_ADCChannelEnable                                                  \
2643         ((void (*)(unsigned long ulBase,                                      \
2644                   unsigned long ulChannel))ROM_ADCTABLE[2])
2645 #endif
2646 #if defined(USE_CC3200_ROM_DRV_API) || \
2647     defined(USE_CC3220_ROM_DRV_API)
2648 #define ROM_ADCChannelDisable                                                 \
2649         ((void (*)(unsigned long ulBase,                                      \
2650                   unsigned long ulChannel))ROM_ADCTABLE[3])
2651 #endif
2652 #if defined(USE_CC3200_ROM_DRV_API) || \
2653     defined(USE_CC3220_ROM_DRV_API)
2654 #define ROM_ADCIntRegister                                                    \
2655         ((void (*)(unsigned long ulBase,                                      \
2656                    unsigned long ulChannel,                                   \
2657                    void (*pfnHandler)(void)))ROM_ADCTABLE[4])
2658 #endif
2659 #if defined(USE_CC3200_ROM_DRV_API) || \
2660     defined(USE_CC3220_ROM_DRV_API)
2661 #define ROM_ADCIntUnregister                                                  \
2662         ((void (*)(unsigned long ulBase,                                      \
2663                    unsigned long ulChannel))ROM_ADCTABLE[5])
2664 #endif
2665 #if defined(USE_CC3200_ROM_DRV_API) || \
2666     defined(USE_CC3220_ROM_DRV_API)
2667 #define ROM_ADCIntEnable                                                      \
2668         ((void (*)(unsigned long ulBase,                                      \
2669                    unsigned long ulChannel,                                   \
2670                    unsigned long ulIntFlags))ROM_ADCTABLE[6])
2671 #endif
2672 #if defined(USE_CC3200_ROM_DRV_API) || \
2673     defined(USE_CC3220_ROM_DRV_API)
2674 #define ROM_ADCIntDisable                                                     \
2675         ((void (*)(unsigned long ulBase,                                      \
2676                    unsigned long ulChannel,                                   \
2677                    unsigned long ulIntFlags))ROM_ADCTABLE[7])
2678 #endif
2679 #if defined(USE_CC3200_ROM_DRV_API) || \
2680     defined(USE_CC3220_ROM_DRV_API)
2681 #define ROM_ADCIntStatus                                                      \
2682         ((unsigned long (*)(unsigned long ulBase,                             \
2683                            unsigned long ulChannel))ROM_ADCTABLE[8])
2684 #endif
2685 #if defined(USE_CC3200_ROM_DRV_API) || \
2686     defined(USE_CC3220_ROM_DRV_API)
2687 #define ROM_ADCIntClear                                                       \
2688         ((void (*)(unsigned long ulBase,                                      \
2689                    unsigned long ulChannel,                                   \
2690                    unsigned long ulIntFlags))ROM_ADCTABLE[9])
2691 #endif
2692 #if defined(USE_CC3200_ROM_DRV_API) || \
2693     defined(USE_CC3220_ROM_DRV_API)
2694 #define ROM_ADCDMAEnable                                                      \
2695         ((void (*)(unsigned long ulBase,                                      \
2696                    unsigned long ulChannel))ROM_ADCTABLE[10])
2697 #endif
2698 #if defined(USE_CC3200_ROM_DRV_API) || \
2699     defined(USE_CC3220_ROM_DRV_API)
2700 #define ROM_ADCDMADisable                                                     \
2701         ((void (*)(unsigned long ulBase,                                      \
2702                    unsigned long ulChannel))ROM_ADCTABLE[11])
2703 #endif
2704 #if defined(USE_CC3200_ROM_DRV_API) || \
2705     defined(USE_CC3220_ROM_DRV_API)
2706 #define ROM_ADCTimerConfig                                                    \
2707         ((void (*)(unsigned long ulBase,                                      \
2708                    unsigned long ulValue))ROM_ADCTABLE[14])
2709 #endif
2710 #if defined(USE_CC3200_ROM_DRV_API) || \
2711     defined(USE_CC3220_ROM_DRV_API)
2712 #define ROM_ADCTimerEnable                                                    \
2713         ((void (*)(unsigned long ulBase))ROM_ADCTABLE[15])
2714 #endif
2715 #if defined(USE_CC3200_ROM_DRV_API) || \
2716     defined(USE_CC3220_ROM_DRV_API)
2717 #define ROM_ADCTimerDisable                                                   \
2718         ((void (*)(unsigned long ulBase))ROM_ADCTABLE[16])
2719 #endif
2720 #if defined(USE_CC3200_ROM_DRV_API) || \
2721     defined(USE_CC3220_ROM_DRV_API)
2722 #define ROM_ADCTimerReset                                                     \
2723         ((void (*)(unsigned long ulBase))ROM_ADCTABLE[17])
2724 #endif
2725 #if defined(USE_CC3200_ROM_DRV_API) || \
2726     defined(USE_CC3220_ROM_DRV_API)
2727 #define ROM_ADCTimerValueGet                                                  \
2728         ((unsigned long (*)(unsigned long ulBase))ROM_ADCTABLE[18])
2729 #endif
2730 #if defined(USE_CC3200_ROM_DRV_API) || \
2731     defined(USE_CC3220_ROM_DRV_API)
2732 #define ROM_ADCFIFOLvlGet                                                     \
2733         ((unsigned char (*)(unsigned long ulBase,                             \
2734                             unsigned long ulChannel))ROM_ADCTABLE[19])
2735 #endif
2736 #if defined(USE_CC3200_ROM_DRV_API) || \
2737     defined(USE_CC3220_ROM_DRV_API)
2738 #define ROM_ADCFIFORead                                                       \
2739         ((unsigned long (*)(unsigned long ulBase,                             \
2740                             unsigned long ulChannel))ROM_ADCTABLE[20])
2741 #endif
2742 
2743 //*****************************************************************************
2744 //
2745 // Macros for calling ROM functions in the CPU API.
2746 //
2747 //*****************************************************************************
2748 #if defined(USE_CC3220_ROM_DRV_API)
2749 #define ROM_CPUcpsid                                                          \
2750         ((unsigned long (*)(void))ROM_CPUTABLE[0])
2751 #endif
2752 #if defined(USE_CC3220_ROM_DRV_API)
2753 #define ROM_CPUcpsie                                                          \
2754         ((unsigned long (*)(void))ROM_CPUTABLE[1])
2755 #endif
2756 #if defined(USE_CC3220_ROM_DRV_API)
2757 #define ROM_CPUprimask                                                        \
2758         ((unsigned long (*)(void))ROM_CPUTABLE[2])
2759 #endif
2760 #if defined(USE_CC3220_ROM_DRV_API)
2761 #define ROM_CPUwfi                                                            \
2762         ((void (*)(void))ROM_CPUTABLE[3])
2763 #endif
2764 #if defined(USE_CC3220_ROM_DRV_API)
2765 #define ROM_CPUbasepriGet                                                     \
2766         ((unsigned long (*)(void))ROM_CPUTABLE[4])
2767 #endif
2768 #if defined(USE_CC3220_ROM_DRV_API)
2769 #define ROM_CPUbasepriSet                                                     \
2770         ((void (*)(unsigned long ulNewBasepri))ROM_CPUTABLE[5])
2771 #endif
2772 
2773 //*****************************************************************************
2774 //
2775 // Macros for calling ROM functions Directly.
2776 //
2777 //*****************************************************************************
2778 #define ROM_UtilsDelayDirect                                                  \
2779         ((void (*)(unsigned long ulCount))ROM_UTILSTABLE[0])
2780 
2781 #define ROM_PRCMLPDSEnterDirect                                               \
2782         ((void (*)(void))ROM_PRCMTABLE[13])
2783 
2784 #define ROM_PRCMLPDSEnterKeepDebugIfDirect                                    \
2785         ((void (*)(void))ROM_PRCMTABLE[50])
2786 
2787 #endif // __ROM_H__
2788