]> begriffs open source - freertos/blob - 20100923-V6.1.0-RC2/Demo/Common/drivers/LuminaryMicro/rom.h
(no commit message)
[freertos] / 20100923-V6.1.0-RC2 / Demo / Common / drivers / LuminaryMicro / rom.h
1 //*****************************************************************************\r
2 //\r
3 // rom.h - Macros to facilitate calling functions in the ROM.\r
4 //\r
5 // Copyright (c) 2007-2008 Luminary Micro, Inc.  All rights reserved.\r
6 // \r
7 // Software License Agreement\r
8 // \r
9 // Luminary Micro, Inc. (LMI) is supplying this software for use solely and\r
10 // exclusively on LMI's microcontroller products.\r
11 // \r
12 // The software is owned by LMI and/or its suppliers, and is protected under\r
13 // applicable copyright laws.  All rights are reserved.  You may not combine\r
14 // this software with "viral" open-source software in order to form a larger\r
15 // program.  Any use in violation of the foregoing restrictions may subject\r
16 // the user to criminal sanctions under applicable laws, as well as to civil\r
17 // liability for the breach of the terms and conditions of this license.\r
18 // \r
19 // THIS SOFTWARE IS PROVIDED "AS IS".  NO WARRANTIES, WHETHER EXPRESS, IMPLIED\r
20 // OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF\r
21 // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.\r
22 // LMI SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR\r
23 // CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.\r
24 // \r
25 // This is part of revision 2523 of the Stellaris Peripheral Driver Library.\r
26 //\r
27 //*****************************************************************************\r
28 \r
29 #ifndef __ROM_H__\r
30 #define __ROM_H__\r
31 \r
32 //*****************************************************************************\r
33 //\r
34 // Pointers to the main API tables.\r
35 //\r
36 //*****************************************************************************\r
37 #define ROM_APITABLE            ((unsigned long *)0x01000010)\r
38 #define ROM_VERSION             (ROM_APITABLE[0])\r
39 #define ROM_UARTTABLE           ((unsigned long *)(ROM_APITABLE[1]))\r
40 #define ROM_SSITABLE            ((unsigned long *)(ROM_APITABLE[2]))\r
41 #define ROM_I2CTABLE            ((unsigned long *)(ROM_APITABLE[3]))\r
42 #define ROM_GPIOTABLE           ((unsigned long *)(ROM_APITABLE[4]))\r
43 #define ROM_ADCTABLE            ((unsigned long *)(ROM_APITABLE[5]))\r
44 #define ROM_COMPARATORTABLE     ((unsigned long *)(ROM_APITABLE[6]))\r
45 #define ROM_FLASHTABLE          ((unsigned long *)(ROM_APITABLE[7]))\r
46 #define ROM_PWMTABLE            ((unsigned long *)(ROM_APITABLE[8]))\r
47 #define ROM_QEITABLE            ((unsigned long *)(ROM_APITABLE[9]))\r
48 #define ROM_SYSTICKTABLE        ((unsigned long *)(ROM_APITABLE[10]))\r
49 #define ROM_TIMERTABLE          ((unsigned long *)(ROM_APITABLE[11]))\r
50 #define ROM_WATCHDOGTABLE       ((unsigned long *)(ROM_APITABLE[12]))\r
51 #define ROM_SYSCTLTABLE         ((unsigned long *)(ROM_APITABLE[13]))\r
52 #define ROM_INTERRUPTTABLE      ((unsigned long *)(ROM_APITABLE[14]))\r
53 \r
54 //*****************************************************************************\r
55 //\r
56 // Macros for calling ROM functions in the ADC API.\r
57 //\r
58 //*****************************************************************************\r
59 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
60 #define ROM_ADCSequenceDataGet                                                \\r
61         ((long (*)(unsigned long ulBase,                                      \\r
62                    unsigned long ulSequenceNum,                               \\r
63                    unsigned long *pulBuffer))ROM_ADCTABLE[0])\r
64 #endif\r
65 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
66 #define ROM_ADCIntDisable                                                     \\r
67         ((void (*)(unsigned long ulBase,                                      \\r
68                    unsigned long ulSequenceNum))ROM_ADCTABLE[1])\r
69 #endif\r
70 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
71 #define ROM_ADCIntEnable                                                      \\r
72         ((void (*)(unsigned long ulBase,                                      \\r
73                    unsigned long ulSequenceNum))ROM_ADCTABLE[2])\r
74 #endif\r
75 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
76 #define ROM_ADCIntStatus                                                      \\r
77         ((unsigned long (*)(unsigned long ulBase,                             \\r
78                             unsigned long ulSequenceNum,                      \\r
79                             tBoolean bMasked))ROM_ADCTABLE[3])\r
80 #endif\r
81 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
82 #define ROM_ADCIntClear                                                       \\r
83         ((void (*)(unsigned long ulBase,                                      \\r
84                    unsigned long ulSequenceNum))ROM_ADCTABLE[4])\r
85 #endif\r
86 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
87 #define ROM_ADCSequenceEnable                                                 \\r
88         ((void (*)(unsigned long ulBase,                                      \\r
89                    unsigned long ulSequenceNum))ROM_ADCTABLE[5])\r
90 #endif\r
91 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
92 #define ROM_ADCSequenceDisable                                                \\r
93         ((void (*)(unsigned long ulBase,                                      \\r
94                    unsigned long ulSequenceNum))ROM_ADCTABLE[6])\r
95 #endif\r
96 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
97 #define ROM_ADCSequenceConfigure                                              \\r
98         ((void (*)(unsigned long ulBase,                                      \\r
99                    unsigned long ulSequenceNum,                               \\r
100                    unsigned long ulTrigger,                                   \\r
101                    unsigned long ulPriority))ROM_ADCTABLE[7])\r
102 #endif\r
103 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
104 #define ROM_ADCSequenceStepConfigure                                          \\r
105         ((void (*)(unsigned long ulBase,                                      \\r
106                    unsigned long ulSequenceNum,                               \\r
107                    unsigned long ulStep,                                      \\r
108                    unsigned long ulConfig))ROM_ADCTABLE[8])\r
109 #endif\r
110 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
111 #define ROM_ADCSequenceOverflow                                               \\r
112         ((long (*)(unsigned long ulBase,                                      \\r
113                    unsigned long ulSequenceNum))ROM_ADCTABLE[9])\r
114 #endif\r
115 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
116 #define ROM_ADCSequenceOverflowClear                                          \\r
117         ((void (*)(unsigned long ulBase,                                      \\r
118                    unsigned long ulSequenceNum))ROM_ADCTABLE[10])\r
119 #endif\r
120 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
121 #define ROM_ADCSequenceUnderflow                                              \\r
122         ((long (*)(unsigned long ulBase,                                      \\r
123                    unsigned long ulSequenceNum))ROM_ADCTABLE[11])\r
124 #endif\r
125 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
126 #define ROM_ADCSequenceUnderflowClear                                         \\r
127         ((void (*)(unsigned long ulBase,                                      \\r
128                    unsigned long ulSequenceNum))ROM_ADCTABLE[12])\r
129 #endif\r
130 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
131 #define ROM_ADCProcessorTrigger                                               \\r
132         ((void (*)(unsigned long ulBase,                                      \\r
133                    unsigned long ulSequenceNum))ROM_ADCTABLE[13])\r
134 #endif\r
135 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
136 #define ROM_ADCHardwareOversampleConfigure                                    \\r
137         ((void (*)(unsigned long ulBase,                                      \\r
138                    unsigned long ulFactor))ROM_ADCTABLE[14])\r
139 #endif\r
140 \r
141 //*****************************************************************************\r
142 //\r
143 // Macros for calling ROM functions in the Comparator API.\r
144 //\r
145 //*****************************************************************************\r
146 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
147 #define ROM_ComparatorIntClear                                                \\r
148         ((void (*)(unsigned long ulBase,                                      \\r
149                    unsigned long ulComp))ROM_COMPARATORTABLE[0])\r
150 #endif\r
151 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
152 #define ROM_ComparatorConfigure                                               \\r
153         ((void (*)(unsigned long ulBase,                                      \\r
154                    unsigned long ulComp,                                      \\r
155                    unsigned long ulConfig))ROM_COMPARATORTABLE[1])\r
156 #endif\r
157 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
158 #define ROM_ComparatorRefSet                                                  \\r
159         ((void (*)(unsigned long ulBase,                                      \\r
160                    unsigned long ulRef))ROM_COMPARATORTABLE[2])\r
161 #endif\r
162 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
163 #define ROM_ComparatorValueGet                                                \\r
164         ((tBoolean (*)(unsigned long ulBase,                                  \\r
165                        unsigned long ulComp))ROM_COMPARATORTABLE[3])\r
166 #endif\r
167 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
168 #define ROM_ComparatorIntEnable                                               \\r
169         ((void (*)(unsigned long ulBase,                                      \\r
170                    unsigned long ulComp))ROM_COMPARATORTABLE[4])\r
171 #endif\r
172 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
173 #define ROM_ComparatorIntDisable                                              \\r
174         ((void (*)(unsigned long ulBase,                                      \\r
175                    unsigned long ulComp))ROM_COMPARATORTABLE[5])\r
176 #endif\r
177 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
178 #define ROM_ComparatorIntStatus                                               \\r
179         ((tBoolean (*)(unsigned long ulBase,                                  \\r
180                        unsigned long ulComp,                                  \\r
181                        tBoolean bMasked))ROM_COMPARATORTABLE[6])\r
182 #endif\r
183 \r
184 //*****************************************************************************\r
185 //\r
186 // Macros for calling ROM functions in the Flash API.\r
187 //\r
188 //*****************************************************************************\r
189 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
190 #define ROM_FlashProgram                                                      \\r
191         ((long (*)(unsigned long *pulData,                                    \\r
192                    unsigned long ulAddress,                                   \\r
193                    unsigned long ulCount))ROM_FLASHTABLE[0])\r
194 #endif\r
195 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
196 #define ROM_FlashUsecGet                                                      \\r
197         ((unsigned long (*)(void))ROM_FLASHTABLE[1])\r
198 #endif\r
199 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
200 #define ROM_FlashUsecSet                                                      \\r
201         ((void (*)(unsigned long ulClocks))ROM_FLASHTABLE[2])\r
202 #endif\r
203 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
204 #define ROM_FlashErase                                                        \\r
205         ((long (*)(unsigned long ulAddress))ROM_FLASHTABLE[3])\r
206 #endif\r
207 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
208 #define ROM_FlashProtectGet                                                   \\r
209         ((tFlashProtection (*)(unsigned long ulAddress))ROM_FLASHTABLE[4])\r
210 #endif\r
211 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
212 #define ROM_FlashProtectSet                                                   \\r
213         ((long (*)(unsigned long ulAddress,                                   \\r
214                    tFlashProtection eProtect))ROM_FLASHTABLE[5])\r
215 #endif\r
216 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
217 #define ROM_FlashProtectSave                                                  \\r
218         ((long (*)(void))ROM_FLASHTABLE[6])\r
219 #endif\r
220 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
221 #define ROM_FlashUserGet                                                      \\r
222         ((long (*)(unsigned long *pulUser0,                                   \\r
223                    unsigned long *pulUser1))ROM_FLASHTABLE[7])\r
224 #endif\r
225 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
226 #define ROM_FlashUserSet                                                      \\r
227         ((long (*)(unsigned long ulUser0,                                     \\r
228                    unsigned long ulUser1))ROM_FLASHTABLE[8])\r
229 #endif\r
230 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
231 #define ROM_FlashUserSave                                                     \\r
232         ((long (*)(void))ROM_FLASHTABLE[9])\r
233 #endif\r
234 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
235 #define ROM_FlashIntEnable                                                    \\r
236         ((void (*)(unsigned long ulIntFlags))ROM_FLASHTABLE[10])\r
237 #endif\r
238 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
239 #define ROM_FlashIntDisable                                                   \\r
240         ((void (*)(unsigned long ulIntFlags))ROM_FLASHTABLE[11])\r
241 #endif\r
242 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
243 #define ROM_FlashIntGetStatus                                                 \\r
244         ((unsigned long (*)(tBoolean bMasked))ROM_FLASHTABLE[12])\r
245 #endif\r
246 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
247 #define ROM_FlashIntClear                                                     \\r
248         ((void (*)(unsigned long ulIntFlags))ROM_FLASHTABLE[13])\r
249 #endif\r
250 \r
251 //*****************************************************************************\r
252 //\r
253 // Macros for calling ROM functions in the GPIO API.\r
254 //\r
255 //*****************************************************************************\r
256 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
257 #define ROM_GPIOPinWrite                                                      \\r
258         ((void (*)(unsigned long ulPort,                                      \\r
259                    unsigned char ucPins,                                      \\r
260                    unsigned char ucVal))ROM_GPIOTABLE[0])\r
261 #endif\r
262 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
263 #define ROM_GPIODirModeSet                                                    \\r
264         ((void (*)(unsigned long ulPort,                                      \\r
265                    unsigned char ucPins,                                      \\r
266                    unsigned long ulPinIO))ROM_GPIOTABLE[1])\r
267 #endif\r
268 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
269 #define ROM_GPIODirModeGet                                                    \\r
270         ((unsigned long (*)(unsigned long ulPort,                             \\r
271                             unsigned char ucPin))ROM_GPIOTABLE[2])\r
272 #endif\r
273 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
274 #define ROM_GPIOIntTypeSet                                                    \\r
275         ((void (*)(unsigned long ulPort,                                      \\r
276                    unsigned char ucPins,                                      \\r
277                    unsigned long ulIntType))ROM_GPIOTABLE[3])\r
278 #endif\r
279 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
280 #define ROM_GPIOIntTypeGet                                                    \\r
281         ((unsigned long (*)(unsigned long ulPort,                             \\r
282                             unsigned char ucPin))ROM_GPIOTABLE[4])\r
283 #endif\r
284 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
285 #define ROM_GPIOPadConfigSet                                                  \\r
286         ((void (*)(unsigned long ulPort,                                      \\r
287                    unsigned char ucPins,                                      \\r
288                    unsigned long ulStrength,                                  \\r
289                    unsigned long ulPadType))ROM_GPIOTABLE[5])\r
290 #endif\r
291 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
292 #define ROM_GPIOPadConfigGet                                                  \\r
293         ((void (*)(unsigned long ulPort,                                      \\r
294                    unsigned char ucPin,                                       \\r
295                    unsigned long *pulStrength,                                \\r
296                    unsigned long *pulPadType))ROM_GPIOTABLE[6])\r
297 #endif\r
298 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
299 #define ROM_GPIOPinIntEnable                                                  \\r
300         ((void (*)(unsigned long ulPort,                                      \\r
301                    unsigned char ucPins))ROM_GPIOTABLE[7])\r
302 #endif\r
303 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
304 #define ROM_GPIOPinIntDisable                                                 \\r
305         ((void (*)(unsigned long ulPort,                                      \\r
306                    unsigned char ucPins))ROM_GPIOTABLE[8])\r
307 #endif\r
308 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
309 #define ROM_GPIOPinIntStatus                                                  \\r
310         ((long (*)(unsigned long ulPort,                                      \\r
311                    tBoolean bMasked))ROM_GPIOTABLE[9])\r
312 #endif\r
313 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
314 #define ROM_GPIOPinIntClear                                                   \\r
315         ((void (*)(unsigned long ulPort,                                      \\r
316                    unsigned char ucPins))ROM_GPIOTABLE[10])\r
317 #endif\r
318 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
319 #define ROM_GPIOPinRead                                                       \\r
320         ((long (*)(unsigned long ulPort,                                      \\r
321                    unsigned char ucPins))ROM_GPIOTABLE[11])\r
322 #endif\r
323 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
324 #define ROM_GPIOPinTypeCAN                                                    \\r
325         ((void (*)(unsigned long ulPort,                                      \\r
326                    unsigned char ucPins))ROM_GPIOTABLE[12])\r
327 #endif\r
328 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
329 #define ROM_GPIOPinTypeComparator                                             \\r
330         ((void (*)(unsigned long ulPort,                                      \\r
331                    unsigned char ucPins))ROM_GPIOTABLE[13])\r
332 #endif\r
333 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
334 #define ROM_GPIOPinTypeGPIOInput                                              \\r
335         ((void (*)(unsigned long ulPort,                                      \\r
336                    unsigned char ucPins))ROM_GPIOTABLE[14])\r
337 #endif\r
338 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
339 #define ROM_GPIOPinTypeGPIOOutput                                             \\r
340         ((void (*)(unsigned long ulPort,                                      \\r
341                    unsigned char ucPins))ROM_GPIOTABLE[15])\r
342 #endif\r
343 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
344 #define ROM_GPIOPinTypeI2C                                                    \\r
345         ((void (*)(unsigned long ulPort,                                      \\r
346                    unsigned char ucPins))ROM_GPIOTABLE[16])\r
347 #endif\r
348 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
349 #define ROM_GPIOPinTypePWM                                                    \\r
350         ((void (*)(unsigned long ulPort,                                      \\r
351                    unsigned char ucPins))ROM_GPIOTABLE[17])\r
352 #endif\r
353 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
354 #define ROM_GPIOPinTypeQEI                                                    \\r
355         ((void (*)(unsigned long ulPort,                                      \\r
356                    unsigned char ucPins))ROM_GPIOTABLE[18])\r
357 #endif\r
358 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
359 #define ROM_GPIOPinTypeSSI                                                    \\r
360         ((void (*)(unsigned long ulPort,                                      \\r
361                    unsigned char ucPins))ROM_GPIOTABLE[19])\r
362 #endif\r
363 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
364 #define ROM_GPIOPinTypeTimer                                                  \\r
365         ((void (*)(unsigned long ulPort,                                      \\r
366                    unsigned char ucPins))ROM_GPIOTABLE[20])\r
367 #endif\r
368 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
369 #define ROM_GPIOPinTypeUART                                                   \\r
370         ((void (*)(unsigned long ulPort,                                      \\r
371                    unsigned char ucPins))ROM_GPIOTABLE[21])\r
372 #endif\r
373 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
374 #define ROM_GPIOPinTypeGPIOOutputOD                                           \\r
375         ((void (*)(unsigned long ulPort,                                      \\r
376                    unsigned char ucPins))ROM_GPIOTABLE[22])\r
377 #endif\r
378 \r
379 //*****************************************************************************\r
380 //\r
381 // Macros for calling ROM functions in the I2C API.\r
382 //\r
383 //*****************************************************************************\r
384 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
385 #define ROM_I2CMasterDataPut                                                  \\r
386         ((void (*)(unsigned long ulBase,                                      \\r
387                    unsigned char ucData))ROM_I2CTABLE[0])\r
388 #endif\r
389 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
390 #define ROM_I2CMasterInitExpClk                                               \\r
391         ((void (*)(unsigned long ulBase,                                      \\r
392                    unsigned long ulI2CClk,                                    \\r
393                    tBoolean bFast))ROM_I2CTABLE[1])\r
394 #endif\r
395 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
396 #define ROM_I2CSlaveInit                                                      \\r
397         ((void (*)(unsigned long ulBase,                                      \\r
398                    unsigned char ucSlaveAddr))ROM_I2CTABLE[2])\r
399 #endif\r
400 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
401 #define ROM_I2CMasterEnable                                                   \\r
402         ((void (*)(unsigned long ulBase))ROM_I2CTABLE[3])\r
403 #endif\r
404 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
405 #define ROM_I2CSlaveEnable                                                    \\r
406         ((void (*)(unsigned long ulBase))ROM_I2CTABLE[4])\r
407 #endif\r
408 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
409 #define ROM_I2CMasterDisable                                                  \\r
410         ((void (*)(unsigned long ulBase))ROM_I2CTABLE[5])\r
411 #endif\r
412 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
413 #define ROM_I2CSlaveDisable                                                   \\r
414         ((void (*)(unsigned long ulBase))ROM_I2CTABLE[6])\r
415 #endif\r
416 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
417 #define ROM_I2CMasterIntEnable                                                \\r
418         ((void (*)(unsigned long ulBase))ROM_I2CTABLE[7])\r
419 #endif\r
420 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
421 #define ROM_I2CSlaveIntEnable                                                 \\r
422         ((void (*)(unsigned long ulBase))ROM_I2CTABLE[8])\r
423 #endif\r
424 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
425 #define ROM_I2CMasterIntDisable                                               \\r
426         ((void (*)(unsigned long ulBase))ROM_I2CTABLE[9])\r
427 #endif\r
428 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
429 #define ROM_I2CSlaveIntDisable                                                \\r
430         ((void (*)(unsigned long ulBase))ROM_I2CTABLE[10])\r
431 #endif\r
432 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
433 #define ROM_I2CMasterIntStatus                                                \\r
434         ((tBoolean (*)(unsigned long ulBase,                                  \\r
435                        tBoolean bMasked))ROM_I2CTABLE[11])\r
436 #endif\r
437 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
438 #define ROM_I2CSlaveIntStatus                                                 \\r
439         ((tBoolean (*)(unsigned long ulBase,                                  \\r
440                        tBoolean bMasked))ROM_I2CTABLE[12])\r
441 #endif\r
442 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
443 #define ROM_I2CMasterIntClear                                                 \\r
444         ((void (*)(unsigned long ulBase))ROM_I2CTABLE[13])\r
445 #endif\r
446 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
447 #define ROM_I2CSlaveIntClear                                                  \\r
448         ((void (*)(unsigned long ulBase))ROM_I2CTABLE[14])\r
449 #endif\r
450 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
451 #define ROM_I2CMasterSlaveAddrSet                                             \\r
452         ((void (*)(unsigned long ulBase,                                      \\r
453                    unsigned char ucSlaveAddr,                                 \\r
454                    tBoolean bReceive))ROM_I2CTABLE[15])\r
455 #endif\r
456 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
457 #define ROM_I2CMasterBusy                                                     \\r
458         ((tBoolean (*)(unsigned long ulBase))ROM_I2CTABLE[16])\r
459 #endif\r
460 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
461 #define ROM_I2CMasterBusBusy                                                  \\r
462         ((tBoolean (*)(unsigned long ulBase))ROM_I2CTABLE[17])\r
463 #endif\r
464 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
465 #define ROM_I2CMasterControl                                                  \\r
466         ((void (*)(unsigned long ulBase,                                      \\r
467                    unsigned long ulCmd))ROM_I2CTABLE[18])\r
468 #endif\r
469 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
470 #define ROM_I2CMasterErr                                                      \\r
471         ((unsigned long (*)(unsigned long ulBase))ROM_I2CTABLE[19])\r
472 #endif\r
473 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
474 #define ROM_I2CMasterDataGet                                                  \\r
475         ((unsigned long (*)(unsigned long ulBase))ROM_I2CTABLE[20])\r
476 #endif\r
477 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
478 #define ROM_I2CSlaveStatus                                                    \\r
479         ((unsigned long (*)(unsigned long ulBase))ROM_I2CTABLE[21])\r
480 #endif\r
481 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
482 #define ROM_I2CSlaveDataPut                                                   \\r
483         ((void (*)(unsigned long ulBase,                                      \\r
484                    unsigned char ucData))ROM_I2CTABLE[22])\r
485 #endif\r
486 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
487 #define ROM_I2CSlaveDataGet                                                   \\r
488         ((unsigned long (*)(unsigned long ulBase))ROM_I2CTABLE[23])\r
489 #endif\r
490 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
491 #define ROM_UpdateI2C                                                         \\r
492         ((void (*)(void))ROM_I2CTABLE[24])\r
493 #endif\r
494 \r
495 //*****************************************************************************\r
496 //\r
497 // Macros for calling ROM functions in the Interrupt API.\r
498 //\r
499 //*****************************************************************************\r
500 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
501 #define ROM_IntEnable                                                         \\r
502         ((void (*)(unsigned long ulInterrupt))ROM_INTERRUPTTABLE[0])\r
503 #endif\r
504 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
505 #define ROM_IntDisable                                                        \\r
506         ((void (*)(unsigned long ulInterrupt))ROM_INTERRUPTTABLE[3])\r
507 #endif\r
508 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
509 #define ROM_IntPriorityGroupingSet                                            \\r
510         ((void (*)(unsigned long ulBits))ROM_INTERRUPTTABLE[4])\r
511 #endif\r
512 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
513 #define ROM_IntPriorityGroupingGet                                            \\r
514         ((unsigned long (*)(void))ROM_INTERRUPTTABLE[5])\r
515 #endif\r
516 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
517 #define ROM_IntPrioritySet                                                    \\r
518         ((void (*)(unsigned long ulInterrupt,                                 \\r
519                    unsigned char ucPriority))ROM_INTERRUPTTABLE[6])\r
520 #endif\r
521 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
522 #define ROM_IntPriorityGet                                                    \\r
523         ((long (*)(unsigned long ulInterrupt))ROM_INTERRUPTTABLE[7])\r
524 #endif\r
525 \r
526 //*****************************************************************************\r
527 //\r
528 // Macros for calling ROM functions in the PWM API.\r
529 //\r
530 //*****************************************************************************\r
531 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
532 #define ROM_PWMPulseWidthSet                                                  \\r
533         ((void (*)(unsigned long ulBase,                                      \\r
534                    unsigned long ulPWMOut,                                    \\r
535                    unsigned long ulWidth))ROM_PWMTABLE[0])\r
536 #endif\r
537 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
538 #define ROM_PWMGenConfigure                                                   \\r
539         ((void (*)(unsigned long ulBase,                                      \\r
540                    unsigned long ulGen,                                       \\r
541                    unsigned long ulConfig))ROM_PWMTABLE[1])\r
542 #endif\r
543 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
544 #define ROM_PWMGenPeriodSet                                                   \\r
545         ((void (*)(unsigned long ulBase,                                      \\r
546                    unsigned long ulGen,                                       \\r
547                    unsigned long ulPeriod))ROM_PWMTABLE[2])\r
548 #endif\r
549 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
550 #define ROM_PWMGenPeriodGet                                                   \\r
551         ((unsigned long (*)(unsigned long ulBase,                             \\r
552                             unsigned long ulGen))ROM_PWMTABLE[3])\r
553 #endif\r
554 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
555 #define ROM_PWMGenEnable                                                      \\r
556         ((void (*)(unsigned long ulBase,                                      \\r
557                    unsigned long ulGen))ROM_PWMTABLE[4])\r
558 #endif\r
559 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
560 #define ROM_PWMGenDisable                                                     \\r
561         ((void (*)(unsigned long ulBase,                                      \\r
562                    unsigned long ulGen))ROM_PWMTABLE[5])\r
563 #endif\r
564 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
565 #define ROM_PWMPulseWidthGet                                                  \\r
566         ((unsigned long (*)(unsigned long ulBase,                             \\r
567                             unsigned long ulPWMOut))ROM_PWMTABLE[6])\r
568 #endif\r
569 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
570 #define ROM_PWMDeadBandEnable                                                 \\r
571         ((void (*)(unsigned long ulBase,                                      \\r
572                    unsigned long ulGen,                                       \\r
573                    unsigned short usRise,                                     \\r
574                    unsigned short usFall))ROM_PWMTABLE[7])\r
575 #endif\r
576 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
577 #define ROM_PWMDeadBandDisable                                                \\r
578         ((void (*)(unsigned long ulBase,                                      \\r
579                    unsigned long ulGen))ROM_PWMTABLE[8])\r
580 #endif\r
581 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
582 #define ROM_PWMSyncUpdate                                                     \\r
583         ((void (*)(unsigned long ulBase,                                      \\r
584                    unsigned long ulGenBits))ROM_PWMTABLE[9])\r
585 #endif\r
586 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
587 #define ROM_PWMSyncTimeBase                                                   \\r
588         ((void (*)(unsigned long ulBase,                                      \\r
589                    unsigned long ulGenBits))ROM_PWMTABLE[10])\r
590 #endif\r
591 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
592 #define ROM_PWMOutputState                                                    \\r
593         ((void (*)(unsigned long ulBase,                                      \\r
594                    unsigned long ulPWMOutBits,                                \\r
595                    tBoolean bEnable))ROM_PWMTABLE[11])\r
596 #endif\r
597 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
598 #define ROM_PWMOutputInvert                                                   \\r
599         ((void (*)(unsigned long ulBase,                                      \\r
600                    unsigned long ulPWMOutBits,                                \\r
601                    tBoolean bInvert))ROM_PWMTABLE[12])\r
602 #endif\r
603 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
604 #define ROM_PWMOutputFault                                                    \\r
605         ((void (*)(unsigned long ulBase,                                      \\r
606                    unsigned long ulPWMOutBits,                                \\r
607                    tBoolean bFaultSuppress))ROM_PWMTABLE[13])\r
608 #endif\r
609 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
610 #define ROM_PWMGenIntTrigEnable                                               \\r
611         ((void (*)(unsigned long ulBase,                                      \\r
612                    unsigned long ulGen,                                       \\r
613                    unsigned long ulIntTrig))ROM_PWMTABLE[14])\r
614 #endif\r
615 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
616 #define ROM_PWMGenIntTrigDisable                                              \\r
617         ((void (*)(unsigned long ulBase,                                      \\r
618                    unsigned long ulGen,                                       \\r
619                    unsigned long ulIntTrig))ROM_PWMTABLE[15])\r
620 #endif\r
621 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
622 #define ROM_PWMGenIntStatus                                                   \\r
623         ((unsigned long (*)(unsigned long ulBase,                             \\r
624                             unsigned long ulGen,                              \\r
625                             tBoolean bMasked))ROM_PWMTABLE[16])\r
626 #endif\r
627 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
628 #define ROM_PWMGenIntClear                                                    \\r
629         ((void (*)(unsigned long ulBase,                                      \\r
630                    unsigned long ulGen,                                       \\r
631                    unsigned long ulInts))ROM_PWMTABLE[17])\r
632 #endif\r
633 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
634 #define ROM_PWMIntEnable                                                      \\r
635         ((void (*)(unsigned long ulBase,                                      \\r
636                    unsigned long ulGenFault))ROM_PWMTABLE[18])\r
637 #endif\r
638 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
639 #define ROM_PWMIntDisable                                                     \\r
640         ((void (*)(unsigned long ulBase,                                      \\r
641                    unsigned long ulGenFault))ROM_PWMTABLE[19])\r
642 #endif\r
643 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
644 #define ROM_PWMFaultIntClear                                                  \\r
645         ((void (*)(unsigned long ulBase))ROM_PWMTABLE[20])\r
646 #endif\r
647 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
648 #define ROM_PWMIntStatus                                                      \\r
649         ((unsigned long (*)(unsigned long ulBase,                             \\r
650                             tBoolean bMasked))ROM_PWMTABLE[21])\r
651 #endif\r
652 \r
653 //*****************************************************************************\r
654 //\r
655 // Macros for calling ROM functions in the QEI API.\r
656 //\r
657 //*****************************************************************************\r
658 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
659 #define ROM_QEIPositionGet                                                    \\r
660         ((unsigned long (*)(unsigned long ulBase))ROM_QEITABLE[0])\r
661 #endif\r
662 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
663 #define ROM_QEIEnable                                                         \\r
664         ((void (*)(unsigned long ulBase))ROM_QEITABLE[1])\r
665 #endif\r
666 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
667 #define ROM_QEIDisable                                                        \\r
668         ((void (*)(unsigned long ulBase))ROM_QEITABLE[2])\r
669 #endif\r
670 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
671 #define ROM_QEIConfigure                                                      \\r
672         ((void (*)(unsigned long ulBase,                                      \\r
673                    unsigned long ulConfig,                                    \\r
674                    unsigned long ulMaxPosition))ROM_QEITABLE[3])\r
675 #endif\r
676 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
677 #define ROM_QEIPositionSet                                                    \\r
678         ((void (*)(unsigned long ulBase,                                      \\r
679                    unsigned long ulPosition))ROM_QEITABLE[4])\r
680 #endif\r
681 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
682 #define ROM_QEIDirectionGet                                                   \\r
683         ((long (*)(unsigned long ulBase))ROM_QEITABLE[5])\r
684 #endif\r
685 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
686 #define ROM_QEIErrorGet                                                       \\r
687         ((tBoolean (*)(unsigned long ulBase))ROM_QEITABLE[6])\r
688 #endif\r
689 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
690 #define ROM_QEIVelocityEnable                                                 \\r
691         ((void (*)(unsigned long ulBase))ROM_QEITABLE[7])\r
692 #endif\r
693 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
694 #define ROM_QEIVelocityDisable                                                \\r
695         ((void (*)(unsigned long ulBase))ROM_QEITABLE[8])\r
696 #endif\r
697 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
698 #define ROM_QEIVelocityConfigure                                              \\r
699         ((void (*)(unsigned long ulBase,                                      \\r
700                    unsigned long ulPreDiv,                                    \\r
701                    unsigned long ulPeriod))ROM_QEITABLE[9])\r
702 #endif\r
703 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
704 #define ROM_QEIVelocityGet                                                    \\r
705         ((unsigned long (*)(unsigned long ulBase))ROM_QEITABLE[10])\r
706 #endif\r
707 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
708 #define ROM_QEIIntEnable                                                      \\r
709         ((void (*)(unsigned long ulBase,                                      \\r
710                    unsigned long ulIntFlags))ROM_QEITABLE[11])\r
711 #endif\r
712 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
713 #define ROM_QEIIntDisable                                                     \\r
714         ((void (*)(unsigned long ulBase,                                      \\r
715                    unsigned long ulIntFlags))ROM_QEITABLE[12])\r
716 #endif\r
717 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
718 #define ROM_QEIIntStatus                                                      \\r
719         ((unsigned long (*)(unsigned long ulBase,                             \\r
720                             tBoolean bMasked))ROM_QEITABLE[13])\r
721 #endif\r
722 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
723 #define ROM_QEIIntClear                                                       \\r
724         ((void (*)(unsigned long ulBase,                                      \\r
725                    unsigned long ulIntFlags))ROM_QEITABLE[14])\r
726 #endif\r
727 \r
728 //*****************************************************************************\r
729 //\r
730 // Macros for calling ROM functions in the SSI API.\r
731 //\r
732 //*****************************************************************************\r
733 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
734 #define ROM_SSIDataPut                                                        \\r
735         ((void (*)(unsigned long ulBase,                                      \\r
736                    unsigned long ulData))ROM_SSITABLE[0])\r
737 #endif\r
738 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
739 #define ROM_SSIConfigSetExpClk                                                \\r
740         ((void (*)(unsigned long ulBase,                                      \\r
741                    unsigned long ulSSIClk,                                    \\r
742                    unsigned long ulProtocol,                                  \\r
743                    unsigned long ulMode,                                      \\r
744                    unsigned long ulBitRate,                                   \\r
745                    unsigned long ulDataWidth))ROM_SSITABLE[1])\r
746 #endif\r
747 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
748 #define ROM_SSIEnable                                                         \\r
749         ((void (*)(unsigned long ulBase))ROM_SSITABLE[2])\r
750 #endif\r
751 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
752 #define ROM_SSIDisable                                                        \\r
753         ((void (*)(unsigned long ulBase))ROM_SSITABLE[3])\r
754 #endif\r
755 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
756 #define ROM_SSIIntEnable                                                      \\r
757         ((void (*)(unsigned long ulBase,                                      \\r
758                    unsigned long ulIntFlags))ROM_SSITABLE[4])\r
759 #endif\r
760 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
761 #define ROM_SSIIntDisable                                                     \\r
762         ((void (*)(unsigned long ulBase,                                      \\r
763                    unsigned long ulIntFlags))ROM_SSITABLE[5])\r
764 #endif\r
765 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
766 #define ROM_SSIIntStatus                                                      \\r
767         ((unsigned long (*)(unsigned long ulBase,                             \\r
768                             tBoolean bMasked))ROM_SSITABLE[6])\r
769 #endif\r
770 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
771 #define ROM_SSIIntClear                                                       \\r
772         ((void (*)(unsigned long ulBase,                                      \\r
773                    unsigned long ulIntFlags))ROM_SSITABLE[7])\r
774 #endif\r
775 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
776 #define ROM_SSIDataPutNonBlocking                                             \\r
777         ((long (*)(unsigned long ulBase,                                      \\r
778                    unsigned long ulData))ROM_SSITABLE[8])\r
779 #endif\r
780 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
781 #define ROM_SSIDataGet                                                        \\r
782         ((void (*)(unsigned long ulBase,                                      \\r
783                    unsigned long *pulData))ROM_SSITABLE[9])\r
784 #endif\r
785 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
786 #define ROM_SSIDataGetNonBlocking                                             \\r
787         ((long (*)(unsigned long ulBase,                                      \\r
788                    unsigned long *pulData))ROM_SSITABLE[10])\r
789 #endif\r
790 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
791 #define ROM_UpdateSSI                                                         \\r
792         ((void (*)(void))ROM_SSITABLE[11])\r
793 #endif\r
794 \r
795 //*****************************************************************************\r
796 //\r
797 // Macros for calling ROM functions in the SysCtl API.\r
798 //\r
799 //*****************************************************************************\r
800 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
801 #define ROM_SysCtlSleep                                                       \\r
802         ((void (*)(void))ROM_SYSCTLTABLE[0])\r
803 #endif\r
804 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
805 #define ROM_SysCtlSRAMSizeGet                                                 \\r
806         ((unsigned long (*)(void))ROM_SYSCTLTABLE[1])\r
807 #endif\r
808 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
809 #define ROM_SysCtlFlashSizeGet                                                \\r
810         ((unsigned long (*)(void))ROM_SYSCTLTABLE[2])\r
811 #endif\r
812 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
813 #define ROM_SysCtlPinPresent                                                  \\r
814         ((tBoolean (*)(unsigned long ulPin))ROM_SYSCTLTABLE[3])\r
815 #endif\r
816 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
817 #define ROM_SysCtlPeripheralPresent                                           \\r
818         ((tBoolean (*)(unsigned long ulPeripheral))ROM_SYSCTLTABLE[4])\r
819 #endif\r
820 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
821 #define ROM_SysCtlPeripheralReset                                             \\r
822         ((void (*)(unsigned long ulPeripheral))ROM_SYSCTLTABLE[5])\r
823 #endif\r
824 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
825 #define ROM_SysCtlPeripheralEnable                                            \\r
826         ((void (*)(unsigned long ulPeripheral))ROM_SYSCTLTABLE[6])\r
827 #endif\r
828 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
829 #define ROM_SysCtlPeripheralDisable                                           \\r
830         ((void (*)(unsigned long ulPeripheral))ROM_SYSCTLTABLE[7])\r
831 #endif\r
832 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
833 #define ROM_SysCtlPeripheralSleepEnable                                       \\r
834         ((void (*)(unsigned long ulPeripheral))ROM_SYSCTLTABLE[8])\r
835 #endif\r
836 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
837 #define ROM_SysCtlPeripheralSleepDisable                                      \\r
838         ((void (*)(unsigned long ulPeripheral))ROM_SYSCTLTABLE[9])\r
839 #endif\r
840 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
841 #define ROM_SysCtlPeripheralDeepSleepEnable                                   \\r
842         ((void (*)(unsigned long ulPeripheral))ROM_SYSCTLTABLE[10])\r
843 #endif\r
844 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
845 #define ROM_SysCtlPeripheralDeepSleepDisable                                  \\r
846         ((void (*)(unsigned long ulPeripheral))ROM_SYSCTLTABLE[11])\r
847 #endif\r
848 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
849 #define ROM_SysCtlPeripheralClockGating                                       \\r
850         ((void (*)(tBoolean bEnable))ROM_SYSCTLTABLE[12])\r
851 #endif\r
852 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
853 #define ROM_SysCtlIntEnable                                                   \\r
854         ((void (*)(unsigned long ulInts))ROM_SYSCTLTABLE[13])\r
855 #endif\r
856 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
857 #define ROM_SysCtlIntDisable                                                  \\r
858         ((void (*)(unsigned long ulInts))ROM_SYSCTLTABLE[14])\r
859 #endif\r
860 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
861 #define ROM_SysCtlIntClear                                                    \\r
862         ((void (*)(unsigned long ulInts))ROM_SYSCTLTABLE[15])\r
863 #endif\r
864 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
865 #define ROM_SysCtlIntStatus                                                   \\r
866         ((unsigned long (*)(tBoolean bMasked))ROM_SYSCTLTABLE[16])\r
867 #endif\r
868 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
869 #define ROM_SysCtlLDOSet                                                      \\r
870         ((void (*)(unsigned long ulVoltage))ROM_SYSCTLTABLE[17])\r
871 #endif\r
872 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
873 #define ROM_SysCtlLDOGet                                                      \\r
874         ((unsigned long (*)(void))ROM_SYSCTLTABLE[18])\r
875 #endif\r
876 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
877 #define ROM_SysCtlReset                                                       \\r
878         ((void (*)(void))ROM_SYSCTLTABLE[19])\r
879 #endif\r
880 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
881 #define ROM_SysCtlDeepSleep                                                   \\r
882         ((void (*)(void))ROM_SYSCTLTABLE[20])\r
883 #endif\r
884 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
885 #define ROM_SysCtlResetCauseGet                                               \\r
886         ((unsigned long (*)(void))ROM_SYSCTLTABLE[21])\r
887 #endif\r
888 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
889 #define ROM_SysCtlResetCauseClear                                             \\r
890         ((void (*)(unsigned long ulCauses))ROM_SYSCTLTABLE[22])\r
891 #endif\r
892 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
893 #define ROM_SysCtlClockSet                                                    \\r
894         ((void (*)(unsigned long ulConfig))ROM_SYSCTLTABLE[23])\r
895 #endif\r
896 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
897 #define ROM_SysCtlClockGet                                                    \\r
898         ((unsigned long (*)(void))ROM_SYSCTLTABLE[24])\r
899 #endif\r
900 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
901 #define ROM_SysCtlPWMClockSet                                                 \\r
902         ((void (*)(unsigned long ulConfig))ROM_SYSCTLTABLE[25])\r
903 #endif\r
904 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
905 #define ROM_SysCtlPWMClockGet                                                 \\r
906         ((unsigned long (*)(void))ROM_SYSCTLTABLE[26])\r
907 #endif\r
908 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
909 #define ROM_SysCtlADCSpeedSet                                                 \\r
910         ((void (*)(unsigned long ulSpeed))ROM_SYSCTLTABLE[27])\r
911 #endif\r
912 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
913 #define ROM_SysCtlADCSpeedGet                                                 \\r
914         ((unsigned long (*)(void))ROM_SYSCTLTABLE[28])\r
915 #endif\r
916 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
917 #define ROM_SysCtlGPIOAHBEnable                                               \\r
918         ((void (*)(unsigned long ulGPIOPeripheral))ROM_SYSCTLTABLE[29])\r
919 #endif\r
920 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
921 #define ROM_SysCtlGPIOAHBDisable                                              \\r
922         ((void (*)(unsigned long ulGPIOPeripheral))ROM_SYSCTLTABLE[30])\r
923 #endif\r
924 \r
925 //*****************************************************************************\r
926 //\r
927 // Macros for calling ROM functions in the SysTick API.\r
928 //\r
929 //*****************************************************************************\r
930 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
931 #define ROM_SysTickValueGet                                                   \\r
932         ((unsigned long (*)(void))ROM_SYSTICKTABLE[0])\r
933 #endif\r
934 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
935 #define ROM_SysTickEnable                                                     \\r
936         ((void (*)(void))ROM_SYSTICKTABLE[1])\r
937 #endif\r
938 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
939 #define ROM_SysTickDisable                                                    \\r
940         ((void (*)(void))ROM_SYSTICKTABLE[2])\r
941 #endif\r
942 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
943 #define ROM_SysTickIntEnable                                                  \\r
944         ((void (*)(void))ROM_SYSTICKTABLE[3])\r
945 #endif\r
946 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
947 #define ROM_SysTickIntDisable                                                 \\r
948         ((void (*)(void))ROM_SYSTICKTABLE[4])\r
949 #endif\r
950 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
951 #define ROM_SysTickPeriodSet                                                  \\r
952         ((void (*)(unsigned long ulPeriod))ROM_SYSTICKTABLE[5])\r
953 #endif\r
954 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
955 #define ROM_SysTickPeriodGet                                                  \\r
956         ((unsigned long (*)(void))ROM_SYSTICKTABLE[6])\r
957 #endif\r
958 \r
959 //*****************************************************************************\r
960 //\r
961 // Macros for calling ROM functions in the Timer API.\r
962 //\r
963 //*****************************************************************************\r
964 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
965 #define ROM_TimerIntClear                                                     \\r
966         ((void (*)(unsigned long ulBase,                                      \\r
967                    unsigned long ulIntFlags))ROM_TIMERTABLE[0])\r
968 #endif\r
969 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
970 #define ROM_TimerEnable                                                       \\r
971         ((void (*)(unsigned long ulBase,                                      \\r
972                    unsigned long ulTimer))ROM_TIMERTABLE[1])\r
973 #endif\r
974 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
975 #define ROM_TimerDisable                                                      \\r
976         ((void (*)(unsigned long ulBase,                                      \\r
977                    unsigned long ulTimer))ROM_TIMERTABLE[2])\r
978 #endif\r
979 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
980 #define ROM_TimerConfigure                                                    \\r
981         ((void (*)(unsigned long ulBase,                                      \\r
982                    unsigned long ulConfig))ROM_TIMERTABLE[3])\r
983 #endif\r
984 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
985 #define ROM_TimerControlLevel                                                 \\r
986         ((void (*)(unsigned long ulBase,                                      \\r
987                    unsigned long ulTimer,                                     \\r
988                    tBoolean bInvert))ROM_TIMERTABLE[4])\r
989 #endif\r
990 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
991 #define ROM_TimerControlTrigger                                               \\r
992         ((void (*)(unsigned long ulBase,                                      \\r
993                    unsigned long ulTimer,                                     \\r
994                    tBoolean bEnable))ROM_TIMERTABLE[5])\r
995 #endif\r
996 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
997 #define ROM_TimerControlEvent                                                 \\r
998         ((void (*)(unsigned long ulBase,                                      \\r
999                    unsigned long ulTimer,                                     \\r
1000                    unsigned long ulEvent))ROM_TIMERTABLE[6])\r
1001 #endif\r
1002 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1003 #define ROM_TimerControlStall                                                 \\r
1004         ((void (*)(unsigned long ulBase,                                      \\r
1005                    unsigned long ulTimer,                                     \\r
1006                    tBoolean bStall))ROM_TIMERTABLE[7])\r
1007 #endif\r
1008 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1009 #define ROM_TimerRTCEnable                                                    \\r
1010         ((void (*)(unsigned long ulBase))ROM_TIMERTABLE[8])\r
1011 #endif\r
1012 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1013 #define ROM_TimerRTCDisable                                                   \\r
1014         ((void (*)(unsigned long ulBase))ROM_TIMERTABLE[9])\r
1015 #endif\r
1016 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1017 #define ROM_TimerPrescaleSet                                                  \\r
1018         ((void (*)(unsigned long ulBase,                                      \\r
1019                    unsigned long ulTimer,                                     \\r
1020                    unsigned long ulValue))ROM_TIMERTABLE[10])\r
1021 #endif\r
1022 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1023 #define ROM_TimerPrescaleGet                                                  \\r
1024         ((unsigned long (*)(unsigned long ulBase,                             \\r
1025                             unsigned long ulTimer))ROM_TIMERTABLE[11])\r
1026 #endif\r
1027 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1028 #define ROM_TimerLoadSet                                                      \\r
1029         ((void (*)(unsigned long ulBase,                                      \\r
1030                    unsigned long ulTimer,                                     \\r
1031                    unsigned long ulValue))ROM_TIMERTABLE[14])\r
1032 #endif\r
1033 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1034 #define ROM_TimerLoadGet                                                      \\r
1035         ((unsigned long (*)(unsigned long ulBase,                             \\r
1036                             unsigned long ulTimer))ROM_TIMERTABLE[15])\r
1037 #endif\r
1038 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1039 #define ROM_TimerValueGet                                                     \\r
1040         ((unsigned long (*)(unsigned long ulBase,                             \\r
1041                             unsigned long ulTimer))ROM_TIMERTABLE[16])\r
1042 #endif\r
1043 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1044 #define ROM_TimerMatchSet                                                     \\r
1045         ((void (*)(unsigned long ulBase,                                      \\r
1046                    unsigned long ulTimer,                                     \\r
1047                    unsigned long ulValue))ROM_TIMERTABLE[17])\r
1048 #endif\r
1049 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1050 #define ROM_TimerMatchGet                                                     \\r
1051         ((unsigned long (*)(unsigned long ulBase,                             \\r
1052                             unsigned long ulTimer))ROM_TIMERTABLE[18])\r
1053 #endif\r
1054 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1055 #define ROM_TimerIntEnable                                                    \\r
1056         ((void (*)(unsigned long ulBase,                                      \\r
1057                    unsigned long ulIntFlags))ROM_TIMERTABLE[19])\r
1058 #endif\r
1059 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1060 #define ROM_TimerIntDisable                                                   \\r
1061         ((void (*)(unsigned long ulBase,                                      \\r
1062                    unsigned long ulIntFlags))ROM_TIMERTABLE[20])\r
1063 #endif\r
1064 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1065 #define ROM_TimerIntStatus                                                    \\r
1066         ((unsigned long (*)(unsigned long ulBase,                             \\r
1067                             tBoolean bMasked))ROM_TIMERTABLE[21])\r
1068 #endif\r
1069 \r
1070 //*****************************************************************************\r
1071 //\r
1072 // Macros for calling ROM functions in the UART API.\r
1073 //\r
1074 //*****************************************************************************\r
1075 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1076 #define ROM_UARTCharPut                                                       \\r
1077         ((void (*)(unsigned long ulBase,                                      \\r
1078                    unsigned char ucData))ROM_UARTTABLE[0])\r
1079 #endif\r
1080 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1081 #define ROM_UARTParityModeSet                                                 \\r
1082         ((void (*)(unsigned long ulBase,                                      \\r
1083                    unsigned long ulParity))ROM_UARTTABLE[1])\r
1084 #endif\r
1085 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1086 #define ROM_UARTParityModeGet                                                 \\r
1087         ((unsigned long (*)(unsigned long ulBase))ROM_UARTTABLE[2])\r
1088 #endif\r
1089 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1090 #define ROM_UARTFIFOLevelSet                                                  \\r
1091         ((void (*)(unsigned long ulBase,                                      \\r
1092                    unsigned long ulTxLevel,                                   \\r
1093                    unsigned long ulRxLevel))ROM_UARTTABLE[3])\r
1094 #endif\r
1095 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1096 #define ROM_UARTFIFOLevelGet                                                  \\r
1097         ((void (*)(unsigned long ulBase,                                      \\r
1098                    unsigned long *pulTxLevel,                                 \\r
1099                    unsigned long *pulRxLevel))ROM_UARTTABLE[4])\r
1100 #endif\r
1101 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1102 #define ROM_UARTConfigSetExpClk                                               \\r
1103         ((void (*)(unsigned long ulBase,                                      \\r
1104                    unsigned long ulUARTClk,                                   \\r
1105                    unsigned long ulBaud,                                      \\r
1106                    unsigned long ulConfig))ROM_UARTTABLE[5])\r
1107 #endif\r
1108 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1109 #define ROM_UARTConfigGetExpClk                                               \\r
1110         ((void (*)(unsigned long ulBase,                                      \\r
1111                    unsigned long ulUARTClk,                                   \\r
1112                    unsigned long *pulBaud,                                    \\r
1113                    unsigned long *pulConfig))ROM_UARTTABLE[6])\r
1114 #endif\r
1115 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1116 #define ROM_UARTEnable                                                        \\r
1117         ((void (*)(unsigned long ulBase))ROM_UARTTABLE[7])\r
1118 #endif\r
1119 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1120 #define ROM_UARTDisable                                                       \\r
1121         ((void (*)(unsigned long ulBase))ROM_UARTTABLE[8])\r
1122 #endif\r
1123 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1124 #define ROM_UARTEnableSIR                                                     \\r
1125         ((void (*)(unsigned long ulBase,                                      \\r
1126                    tBoolean bLowPower))ROM_UARTTABLE[9])\r
1127 #endif\r
1128 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1129 #define ROM_UARTDisableSIR                                                    \\r
1130         ((void (*)(unsigned long ulBase))ROM_UARTTABLE[10])\r
1131 #endif\r
1132 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1133 #define ROM_UARTCharsAvail                                                    \\r
1134         ((tBoolean (*)(unsigned long ulBase))ROM_UARTTABLE[11])\r
1135 #endif\r
1136 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1137 #define ROM_UARTSpaceAvail                                                    \\r
1138         ((tBoolean (*)(unsigned long ulBase))ROM_UARTTABLE[12])\r
1139 #endif\r
1140 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1141 #define ROM_UARTCharGetNonBlocking                                            \\r
1142         ((long (*)(unsigned long ulBase))ROM_UARTTABLE[13])\r
1143 #endif\r
1144 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1145 #define ROM_UARTCharGet                                                       \\r
1146         ((long (*)(unsigned long ulBase))ROM_UARTTABLE[14])\r
1147 #endif\r
1148 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1149 #define ROM_UARTCharPutNonBlocking                                            \\r
1150         ((tBoolean (*)(unsigned long ulBase,                                  \\r
1151                        unsigned char ucData))ROM_UARTTABLE[15])\r
1152 #endif\r
1153 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1154 #define ROM_UARTBreakCtl                                                      \\r
1155         ((void (*)(unsigned long ulBase,                                      \\r
1156                    tBoolean bBreakState))ROM_UARTTABLE[16])\r
1157 #endif\r
1158 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1159 #define ROM_UARTIntEnable                                                     \\r
1160         ((void (*)(unsigned long ulBase,                                      \\r
1161                    unsigned long ulIntFlags))ROM_UARTTABLE[17])\r
1162 #endif\r
1163 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1164 #define ROM_UARTIntDisable                                                    \\r
1165         ((void (*)(unsigned long ulBase,                                      \\r
1166                    unsigned long ulIntFlags))ROM_UARTTABLE[18])\r
1167 #endif\r
1168 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1169 #define ROM_UARTIntStatus                                                     \\r
1170         ((unsigned long (*)(unsigned long ulBase,                             \\r
1171                             tBoolean bMasked))ROM_UARTTABLE[19])\r
1172 #endif\r
1173 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1174 #define ROM_UARTIntClear                                                      \\r
1175         ((void (*)(unsigned long ulBase,                                      \\r
1176                    unsigned long ulIntFlags))ROM_UARTTABLE[20])\r
1177 #endif\r
1178 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1179 #define ROM_UpdateUART                                                        \\r
1180         ((void (*)(void))ROM_UARTTABLE[21])\r
1181 #endif\r
1182 \r
1183 //*****************************************************************************\r
1184 //\r
1185 // Macros for calling ROM functions in the Watchdog API.\r
1186 //\r
1187 //*****************************************************************************\r
1188 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1189 #define ROM_WatchdogIntClear                                                  \\r
1190         ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[0])\r
1191 #endif\r
1192 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1193 #define ROM_WatchdogRunning                                                   \\r
1194         ((tBoolean (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[1])\r
1195 #endif\r
1196 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1197 #define ROM_WatchdogEnable                                                    \\r
1198         ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[2])\r
1199 #endif\r
1200 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1201 #define ROM_WatchdogResetEnable                                               \\r
1202         ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[3])\r
1203 #endif\r
1204 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1205 #define ROM_WatchdogResetDisable                                              \\r
1206         ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[4])\r
1207 #endif\r
1208 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1209 #define ROM_WatchdogLock                                                      \\r
1210         ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[5])\r
1211 #endif\r
1212 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1213 #define ROM_WatchdogUnlock                                                    \\r
1214         ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[6])\r
1215 #endif\r
1216 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1217 #define ROM_WatchdogLockState                                                 \\r
1218         ((tBoolean (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[7])\r
1219 #endif\r
1220 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1221 #define ROM_WatchdogReloadSet                                                 \\r
1222         ((void (*)(unsigned long ulBase,                                      \\r
1223                    unsigned long ulLoadVal))ROM_WATCHDOGTABLE[8])\r
1224 #endif\r
1225 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1226 #define ROM_WatchdogReloadGet                                                 \\r
1227         ((unsigned long (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[9])\r
1228 #endif\r
1229 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1230 #define ROM_WatchdogValueGet                                                  \\r
1231         ((unsigned long (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[10])\r
1232 #endif\r
1233 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1234 #define ROM_WatchdogIntEnable                                                 \\r
1235         ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[11])\r
1236 #endif\r
1237 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1238 #define ROM_WatchdogIntStatus                                                 \\r
1239         ((unsigned long (*)(unsigned long ulBase,                             \\r
1240                             tBoolean bMasked))ROM_WATCHDOGTABLE[12])\r
1241 #endif\r
1242 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1243 #define ROM_WatchdogStallEnable                                               \\r
1244         ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[13])\r
1245 #endif\r
1246 #if defined(TARGET_IS_DUSTDEVIL_RA0)\r
1247 #define ROM_WatchdogStallDisable                                              \\r
1248         ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[14])\r
1249 #endif\r
1250 \r
1251 #endif // __ROM_H__\r