rom.h 151 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103
  1. //*****************************************************************************
  2. //
  3. // rom.h - Macros to facilitate calling functions in the ROM.
  4. //
  5. // Copyright (c) 2007-2010 Texas Instruments Incorporated. All rights reserved.
  6. // Software License Agreement
  7. //
  8. // Texas Instruments (TI) is supplying this software for use solely and
  9. // exclusively on TI's microcontroller products. The software is owned by
  10. // TI and/or its suppliers, and is protected under applicable copyright
  11. // laws. You may not combine this software with "viral" open-source
  12. // software in order to form a larger program.
  13. //
  14. // THIS SOFTWARE IS PROVIDED "AS IS" AND WITH ALL FAULTS.
  15. // NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT
  16. // NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  17. // A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. TI SHALL NOT, UNDER ANY
  18. // CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
  19. // DAMAGES, FOR ANY REASON WHATSOEVER.
  20. //
  21. // This is part of revision 6459 of the Stellaris Peripheral Driver Library.
  22. //
  23. //*****************************************************************************
  24. #ifndef __ROM_H__
  25. #define __ROM_H__
  26. //*****************************************************************************
  27. //
  28. // Pointers to the main API tables.
  29. //
  30. //*****************************************************************************
  31. #define ROM_APITABLE ((unsigned long *)0x01000010)
  32. #define ROM_VERSION (ROM_APITABLE[0])
  33. #define ROM_UARTTABLE ((unsigned long *)(ROM_APITABLE[1]))
  34. #define ROM_SSITABLE ((unsigned long *)(ROM_APITABLE[2]))
  35. #define ROM_I2CTABLE ((unsigned long *)(ROM_APITABLE[3]))
  36. #define ROM_GPIOTABLE ((unsigned long *)(ROM_APITABLE[4]))
  37. #define ROM_ADCTABLE ((unsigned long *)(ROM_APITABLE[5]))
  38. #define ROM_COMPARATORTABLE ((unsigned long *)(ROM_APITABLE[6]))
  39. #define ROM_FLASHTABLE ((unsigned long *)(ROM_APITABLE[7]))
  40. #define ROM_PWMTABLE ((unsigned long *)(ROM_APITABLE[8]))
  41. #define ROM_QEITABLE ((unsigned long *)(ROM_APITABLE[9]))
  42. #define ROM_SYSTICKTABLE ((unsigned long *)(ROM_APITABLE[10]))
  43. #define ROM_TIMERTABLE ((unsigned long *)(ROM_APITABLE[11]))
  44. #define ROM_WATCHDOGTABLE ((unsigned long *)(ROM_APITABLE[12]))
  45. #define ROM_SYSCTLTABLE ((unsigned long *)(ROM_APITABLE[13]))
  46. #define ROM_INTERRUPTTABLE ((unsigned long *)(ROM_APITABLE[14]))
  47. #define ROM_ETHERNETTABLE ((unsigned long *)(ROM_APITABLE[15]))
  48. #define ROM_USBTABLE ((unsigned long *)(ROM_APITABLE[16]))
  49. #define ROM_UDMATABLE ((unsigned long *)(ROM_APITABLE[17]))
  50. #define ROM_CANTABLE ((unsigned long *)(ROM_APITABLE[18]))
  51. #define ROM_HIBERNATETABLE ((unsigned long *)(ROM_APITABLE[19]))
  52. #define ROM_MPUTABLE ((unsigned long *)(ROM_APITABLE[20]))
  53. #define ROM_SOFTWARETABLE ((unsigned long *)(ROM_APITABLE[21]))
  54. #define ROM_I2STABLE ((unsigned long *)(ROM_APITABLE[22]))
  55. #define ROM_EPITABLE ((unsigned long *)(ROM_APITABLE[23]))
  56. //*****************************************************************************
  57. //
  58. // Macros for calling ROM functions in the ADC API.
  59. //
  60. //*****************************************************************************
  61. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  62. defined(TARGET_IS_TEMPEST_RB1) || \
  63. defined(TARGET_IS_TEMPEST_RC1)
  64. #define ROM_ADCSequenceDataGet \
  65. ((long (*)(unsigned long ulBase, \
  66. unsigned long ulSequenceNum, \
  67. unsigned long *pulBuffer))ROM_ADCTABLE[0])
  68. #endif
  69. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  70. defined(TARGET_IS_TEMPEST_RB1) || \
  71. defined(TARGET_IS_TEMPEST_RC1)
  72. #define ROM_ADCIntDisable \
  73. ((void (*)(unsigned long ulBase, \
  74. unsigned long ulSequenceNum))ROM_ADCTABLE[1])
  75. #endif
  76. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  77. defined(TARGET_IS_TEMPEST_RB1) || \
  78. defined(TARGET_IS_TEMPEST_RC1)
  79. #define ROM_ADCIntEnable \
  80. ((void (*)(unsigned long ulBase, \
  81. unsigned long ulSequenceNum))ROM_ADCTABLE[2])
  82. #endif
  83. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  84. defined(TARGET_IS_TEMPEST_RB1) || \
  85. defined(TARGET_IS_TEMPEST_RC1)
  86. #define ROM_ADCIntStatus \
  87. ((unsigned long (*)(unsigned long ulBase, \
  88. unsigned long ulSequenceNum, \
  89. tBoolean bMasked))ROM_ADCTABLE[3])
  90. #endif
  91. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  92. defined(TARGET_IS_TEMPEST_RB1) || \
  93. defined(TARGET_IS_TEMPEST_RC1)
  94. #define ROM_ADCIntClear \
  95. ((void (*)(unsigned long ulBase, \
  96. unsigned long ulSequenceNum))ROM_ADCTABLE[4])
  97. #endif
  98. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  99. defined(TARGET_IS_TEMPEST_RB1) || \
  100. defined(TARGET_IS_TEMPEST_RC1)
  101. #define ROM_ADCSequenceEnable \
  102. ((void (*)(unsigned long ulBase, \
  103. unsigned long ulSequenceNum))ROM_ADCTABLE[5])
  104. #endif
  105. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  106. defined(TARGET_IS_TEMPEST_RB1) || \
  107. defined(TARGET_IS_TEMPEST_RC1)
  108. #define ROM_ADCSequenceDisable \
  109. ((void (*)(unsigned long ulBase, \
  110. unsigned long ulSequenceNum))ROM_ADCTABLE[6])
  111. #endif
  112. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  113. defined(TARGET_IS_TEMPEST_RB1) || \
  114. defined(TARGET_IS_TEMPEST_RC1)
  115. #define ROM_ADCSequenceConfigure \
  116. ((void (*)(unsigned long ulBase, \
  117. unsigned long ulSequenceNum, \
  118. unsigned long ulTrigger, \
  119. unsigned long ulPriority))ROM_ADCTABLE[7])
  120. #endif
  121. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  122. defined(TARGET_IS_TEMPEST_RB1) || \
  123. defined(TARGET_IS_TEMPEST_RC1)
  124. #define ROM_ADCSequenceStepConfigure \
  125. ((void (*)(unsigned long ulBase, \
  126. unsigned long ulSequenceNum, \
  127. unsigned long ulStep, \
  128. unsigned long ulConfig))ROM_ADCTABLE[8])
  129. #endif
  130. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  131. defined(TARGET_IS_TEMPEST_RB1) || \
  132. defined(TARGET_IS_TEMPEST_RC1)
  133. #define ROM_ADCSequenceOverflow \
  134. ((long (*)(unsigned long ulBase, \
  135. unsigned long ulSequenceNum))ROM_ADCTABLE[9])
  136. #endif
  137. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  138. defined(TARGET_IS_TEMPEST_RB1) || \
  139. defined(TARGET_IS_TEMPEST_RC1)
  140. #define ROM_ADCSequenceOverflowClear \
  141. ((void (*)(unsigned long ulBase, \
  142. unsigned long ulSequenceNum))ROM_ADCTABLE[10])
  143. #endif
  144. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  145. defined(TARGET_IS_TEMPEST_RB1) || \
  146. defined(TARGET_IS_TEMPEST_RC1)
  147. #define ROM_ADCSequenceUnderflow \
  148. ((long (*)(unsigned long ulBase, \
  149. unsigned long ulSequenceNum))ROM_ADCTABLE[11])
  150. #endif
  151. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  152. defined(TARGET_IS_TEMPEST_RB1) || \
  153. defined(TARGET_IS_TEMPEST_RC1)
  154. #define ROM_ADCSequenceUnderflowClear \
  155. ((void (*)(unsigned long ulBase, \
  156. unsigned long ulSequenceNum))ROM_ADCTABLE[12])
  157. #endif
  158. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  159. defined(TARGET_IS_TEMPEST_RB1) || \
  160. defined(TARGET_IS_TEMPEST_RC1)
  161. #define ROM_ADCProcessorTrigger \
  162. ((void (*)(unsigned long ulBase, \
  163. unsigned long ulSequenceNum))ROM_ADCTABLE[13])
  164. #endif
  165. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  166. defined(TARGET_IS_TEMPEST_RB1) || \
  167. defined(TARGET_IS_TEMPEST_RC1)
  168. #define ROM_ADCHardwareOversampleConfigure \
  169. ((void (*)(unsigned long ulBase, \
  170. unsigned long ulFactor))ROM_ADCTABLE[14])
  171. #endif
  172. #if defined(TARGET_IS_TEMPEST_RC1)
  173. #define ROM_ADCComparatorConfigure \
  174. ((void (*)(unsigned long ulBase, \
  175. unsigned long ulComp, \
  176. unsigned long ulConfig))ROM_ADCTABLE[15])
  177. #endif
  178. #if defined(TARGET_IS_TEMPEST_RC1)
  179. #define ROM_ADCComparatorRegionSet \
  180. ((void (*)(unsigned long ulBase, \
  181. unsigned long ulComp, \
  182. unsigned long ulLowRef, \
  183. unsigned long ulHighRef))ROM_ADCTABLE[16])
  184. #endif
  185. #if defined(TARGET_IS_TEMPEST_RC1)
  186. #define ROM_ADCComparatorReset \
  187. ((void (*)(unsigned long ulBase, \
  188. unsigned long ulComp, \
  189. tBoolean bTrigger, \
  190. tBoolean bInterrupt))ROM_ADCTABLE[17])
  191. #endif
  192. #if defined(TARGET_IS_TEMPEST_RC1)
  193. #define ROM_ADCComparatorIntDisable \
  194. ((void (*)(unsigned long ulBase, \
  195. unsigned long ulSequenceNum))ROM_ADCTABLE[18])
  196. #endif
  197. #if defined(TARGET_IS_TEMPEST_RC1)
  198. #define ROM_ADCComparatorIntEnable \
  199. ((void (*)(unsigned long ulBase, \
  200. unsigned long ulSequenceNum))ROM_ADCTABLE[19])
  201. #endif
  202. #if defined(TARGET_IS_TEMPEST_RC1)
  203. #define ROM_ADCComparatorIntStatus \
  204. ((unsigned long (*)(unsigned long ulBase))ROM_ADCTABLE[20])
  205. #endif
  206. #if defined(TARGET_IS_TEMPEST_RC1)
  207. #define ROM_ADCComparatorIntClear \
  208. ((void (*)(unsigned long ulBase, \
  209. unsigned long ulStatus))ROM_ADCTABLE[21])
  210. #endif
  211. //*****************************************************************************
  212. //
  213. // Macros for calling ROM functions in the CAN API.
  214. //
  215. //*****************************************************************************
  216. #if defined(TARGET_IS_TEMPEST_RB1) || \
  217. defined(TARGET_IS_TEMPEST_RC1)
  218. #define ROM_CANIntClear \
  219. ((void (*)(unsigned long ulBase, \
  220. unsigned long ulIntClr))ROM_CANTABLE[0])
  221. #endif
  222. #if defined(TARGET_IS_TEMPEST_RB1) || \
  223. defined(TARGET_IS_TEMPEST_RC1)
  224. #define ROM_CANInit \
  225. ((void (*)(unsigned long ulBase))ROM_CANTABLE[1])
  226. #endif
  227. #if defined(TARGET_IS_TEMPEST_RB1) || \
  228. defined(TARGET_IS_TEMPEST_RC1)
  229. #define ROM_CANEnable \
  230. ((void (*)(unsigned long ulBase))ROM_CANTABLE[2])
  231. #endif
  232. #if defined(TARGET_IS_TEMPEST_RB1) || \
  233. defined(TARGET_IS_TEMPEST_RC1)
  234. #define ROM_CANDisable \
  235. ((void (*)(unsigned long ulBase))ROM_CANTABLE[3])
  236. #endif
  237. #if defined(TARGET_IS_TEMPEST_RB1) || \
  238. defined(TARGET_IS_TEMPEST_RC1)
  239. #define ROM_CANBitTimingSet \
  240. ((void (*)(unsigned long ulBase, \
  241. tCANBitClkParms *pClkParms))ROM_CANTABLE[4])
  242. #endif
  243. #if defined(TARGET_IS_TEMPEST_RB1) || \
  244. defined(TARGET_IS_TEMPEST_RC1)
  245. #define ROM_CANBitTimingGet \
  246. ((void (*)(unsigned long ulBase, \
  247. tCANBitClkParms *pClkParms))ROM_CANTABLE[5])
  248. #endif
  249. #if defined(TARGET_IS_TEMPEST_RB1) || \
  250. defined(TARGET_IS_TEMPEST_RC1)
  251. #define ROM_CANMessageSet \
  252. ((void (*)(unsigned long ulBase, \
  253. unsigned long ulObjID, \
  254. tCANMsgObject *pMsgObject, \
  255. tMsgObjType eMsgType))ROM_CANTABLE[6])
  256. #endif
  257. #if defined(TARGET_IS_TEMPEST_RB1) || \
  258. defined(TARGET_IS_TEMPEST_RC1)
  259. #define ROM_CANMessageGet \
  260. ((void (*)(unsigned long ulBase, \
  261. unsigned long ulObjID, \
  262. tCANMsgObject *pMsgObject, \
  263. tBoolean bClrPendingInt))ROM_CANTABLE[7])
  264. #endif
  265. #if defined(TARGET_IS_TEMPEST_RB1) || \
  266. defined(TARGET_IS_TEMPEST_RC1)
  267. #define ROM_CANStatusGet \
  268. ((unsigned long (*)(unsigned long ulBase, \
  269. tCANStsReg eStatusReg))ROM_CANTABLE[8])
  270. #endif
  271. #if defined(TARGET_IS_TEMPEST_RB1) || \
  272. defined(TARGET_IS_TEMPEST_RC1)
  273. #define ROM_CANMessageClear \
  274. ((void (*)(unsigned long ulBase, \
  275. unsigned long ulObjID))ROM_CANTABLE[9])
  276. #endif
  277. #if defined(TARGET_IS_TEMPEST_RB1) || \
  278. defined(TARGET_IS_TEMPEST_RC1)
  279. #define ROM_CANIntEnable \
  280. ((void (*)(unsigned long ulBase, \
  281. unsigned long ulIntFlags))ROM_CANTABLE[10])
  282. #endif
  283. #if defined(TARGET_IS_TEMPEST_RB1) || \
  284. defined(TARGET_IS_TEMPEST_RC1)
  285. #define ROM_CANIntDisable \
  286. ((void (*)(unsigned long ulBase, \
  287. unsigned long ulIntFlags))ROM_CANTABLE[11])
  288. #endif
  289. #if defined(TARGET_IS_TEMPEST_RB1) || \
  290. defined(TARGET_IS_TEMPEST_RC1)
  291. #define ROM_CANIntStatus \
  292. ((unsigned long (*)(unsigned long ulBase, \
  293. tCANIntStsReg eIntStsReg))ROM_CANTABLE[12])
  294. #endif
  295. #if defined(TARGET_IS_TEMPEST_RB1) || \
  296. defined(TARGET_IS_TEMPEST_RC1)
  297. #define ROM_CANRetryGet \
  298. ((tBoolean (*)(unsigned long ulBase))ROM_CANTABLE[13])
  299. #endif
  300. #if defined(TARGET_IS_TEMPEST_RB1) || \
  301. defined(TARGET_IS_TEMPEST_RC1)
  302. #define ROM_CANRetrySet \
  303. ((void (*)(unsigned long ulBase, \
  304. tBoolean bAutoRetry))ROM_CANTABLE[14])
  305. #endif
  306. #if defined(TARGET_IS_TEMPEST_RB1) || \
  307. defined(TARGET_IS_TEMPEST_RC1)
  308. #define ROM_CANErrCntrGet \
  309. ((tBoolean (*)(unsigned long ulBase, \
  310. unsigned long *pulRxCount, \
  311. unsigned long *pulTxCount))ROM_CANTABLE[15])
  312. #endif
  313. #if defined(TARGET_IS_TEMPEST_RC1)
  314. #define ROM_CANBitRateSet \
  315. ((unsigned long (*)(unsigned long ulBase, \
  316. unsigned long ulSourceClock, \
  317. unsigned long ulBitRate))ROM_CANTABLE[16])
  318. #endif
  319. //*****************************************************************************
  320. //
  321. // Macros for calling ROM functions in the Comparator API.
  322. //
  323. //*****************************************************************************
  324. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  325. defined(TARGET_IS_TEMPEST_RB1) || \
  326. defined(TARGET_IS_TEMPEST_RC1)
  327. #define ROM_ComparatorIntClear \
  328. ((void (*)(unsigned long ulBase, \
  329. unsigned long ulComp))ROM_COMPARATORTABLE[0])
  330. #endif
  331. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  332. defined(TARGET_IS_TEMPEST_RB1) || \
  333. defined(TARGET_IS_TEMPEST_RC1)
  334. #define ROM_ComparatorConfigure \
  335. ((void (*)(unsigned long ulBase, \
  336. unsigned long ulComp, \
  337. unsigned long ulConfig))ROM_COMPARATORTABLE[1])
  338. #endif
  339. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  340. defined(TARGET_IS_TEMPEST_RB1) || \
  341. defined(TARGET_IS_TEMPEST_RC1)
  342. #define ROM_ComparatorRefSet \
  343. ((void (*)(unsigned long ulBase, \
  344. unsigned long ulRef))ROM_COMPARATORTABLE[2])
  345. #endif
  346. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  347. defined(TARGET_IS_TEMPEST_RB1) || \
  348. defined(TARGET_IS_TEMPEST_RC1)
  349. #define ROM_ComparatorValueGet \
  350. ((tBoolean (*)(unsigned long ulBase, \
  351. unsigned long ulComp))ROM_COMPARATORTABLE[3])
  352. #endif
  353. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  354. defined(TARGET_IS_TEMPEST_RB1) || \
  355. defined(TARGET_IS_TEMPEST_RC1)
  356. #define ROM_ComparatorIntEnable \
  357. ((void (*)(unsigned long ulBase, \
  358. unsigned long ulComp))ROM_COMPARATORTABLE[4])
  359. #endif
  360. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  361. defined(TARGET_IS_TEMPEST_RB1) || \
  362. defined(TARGET_IS_TEMPEST_RC1)
  363. #define ROM_ComparatorIntDisable \
  364. ((void (*)(unsigned long ulBase, \
  365. unsigned long ulComp))ROM_COMPARATORTABLE[5])
  366. #endif
  367. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  368. defined(TARGET_IS_TEMPEST_RB1) || \
  369. defined(TARGET_IS_TEMPEST_RC1)
  370. #define ROM_ComparatorIntStatus \
  371. ((tBoolean (*)(unsigned long ulBase, \
  372. unsigned long ulComp, \
  373. tBoolean bMasked))ROM_COMPARATORTABLE[6])
  374. #endif
  375. //*****************************************************************************
  376. //
  377. // Macros for calling ROM functions in the Ethernet API.
  378. //
  379. //*****************************************************************************
  380. #if defined(TARGET_IS_TEMPEST_RC1)
  381. #define ROM_EPIIntStatus \
  382. ((unsigned long (*)(unsigned long ulBase, \
  383. tBoolean bMasked))ROM_EPITABLE[0])
  384. #endif
  385. #if defined(TARGET_IS_TEMPEST_RC1)
  386. #define ROM_EPIModeSet \
  387. ((void (*)(unsigned long ulBase, \
  388. unsigned long ulMode))ROM_EPITABLE[1])
  389. #endif
  390. #if defined(TARGET_IS_TEMPEST_RC1)
  391. #define ROM_EPIDividerSet \
  392. ((void (*)(unsigned long ulBase, \
  393. unsigned long ulDivider))ROM_EPITABLE[2])
  394. #endif
  395. #if defined(TARGET_IS_TEMPEST_RC1)
  396. #define ROM_EPIConfigSDRAMSet \
  397. ((void (*)(unsigned long ulBase, \
  398. unsigned long ulConfig, \
  399. unsigned long ulRefresh))ROM_EPITABLE[3])
  400. #endif
  401. #if defined(TARGET_IS_TEMPEST_RC1)
  402. #define ROM_EPIConfigGPModeSet \
  403. ((void (*)(unsigned long ulBase, \
  404. unsigned long ulConfig, \
  405. unsigned long ulFrameCount, \
  406. unsigned long ulMaxWait))ROM_EPITABLE[4])
  407. #endif
  408. #if defined(TARGET_IS_TEMPEST_RC1)
  409. #define ROM_EPIConfigHB8Set \
  410. ((void (*)(unsigned long ulBase, \
  411. unsigned long ulConfig, \
  412. unsigned long ulMaxWait))ROM_EPITABLE[5])
  413. #endif
  414. #if defined(TARGET_IS_TEMPEST_RC1)
  415. #define ROM_EPIConfigHB16Set \
  416. ((void (*)(unsigned long ulBase, \
  417. unsigned long ulConfig, \
  418. unsigned long ulMaxWait))ROM_EPITABLE[6])
  419. #endif
  420. #if defined(TARGET_IS_TEMPEST_RC1)
  421. #define ROM_EPIAddressMapSet \
  422. ((void (*)(unsigned long ulBase, \
  423. unsigned long ulMap))ROM_EPITABLE[7])
  424. #endif
  425. #if defined(TARGET_IS_TEMPEST_RC1)
  426. #define ROM_EPINonBlockingReadConfigure \
  427. ((void (*)(unsigned long ulBase, \
  428. unsigned long ulChannel, \
  429. unsigned long ulDataSize, \
  430. unsigned long ulAddress))ROM_EPITABLE[8])
  431. #endif
  432. #if defined(TARGET_IS_TEMPEST_RC1)
  433. #define ROM_EPINonBlockingReadStart \
  434. ((void (*)(unsigned long ulBase, \
  435. unsigned long ulChannel, \
  436. unsigned long ulCount))ROM_EPITABLE[9])
  437. #endif
  438. #if defined(TARGET_IS_TEMPEST_RC1)
  439. #define ROM_EPINonBlockingReadStop \
  440. ((void (*)(unsigned long ulBase, \
  441. unsigned long ulChannel))ROM_EPITABLE[10])
  442. #endif
  443. #if defined(TARGET_IS_TEMPEST_RC1)
  444. #define ROM_EPINonBlockingReadCount \
  445. ((unsigned long (*)(unsigned long ulBase, \
  446. unsigned long ulChannel))ROM_EPITABLE[11])
  447. #endif
  448. #if defined(TARGET_IS_TEMPEST_RC1)
  449. #define ROM_EPINonBlockingReadAvail \
  450. ((unsigned long (*)(unsigned long ulBase))ROM_EPITABLE[12])
  451. #endif
  452. #if defined(TARGET_IS_TEMPEST_RC1)
  453. #define ROM_EPINonBlockingReadGet32 \
  454. ((unsigned long (*)(unsigned long ulBase, \
  455. unsigned long ulCount, \
  456. unsigned long *pulBuf))ROM_EPITABLE[13])
  457. #endif
  458. #if defined(TARGET_IS_TEMPEST_RC1)
  459. #define ROM_EPINonBlockingReadGet16 \
  460. ((unsigned long (*)(unsigned long ulBase, \
  461. unsigned long ulCount, \
  462. unsigned short *pusBuf))ROM_EPITABLE[14])
  463. #endif
  464. #if defined(TARGET_IS_TEMPEST_RC1)
  465. #define ROM_EPINonBlockingReadGet8 \
  466. ((unsigned long (*)(unsigned long ulBase, \
  467. unsigned long ulCount, \
  468. unsigned char *pucBuf))ROM_EPITABLE[15])
  469. #endif
  470. #if defined(TARGET_IS_TEMPEST_RC1)
  471. #define ROM_EPIFIFOConfig \
  472. ((void (*)(unsigned long ulBase, \
  473. unsigned long ulConfig))ROM_EPITABLE[16])
  474. #endif
  475. #if defined(TARGET_IS_TEMPEST_RC1)
  476. #define ROM_EPIWriteFIFOCountGet \
  477. ((unsigned long (*)(unsigned long ulBase))ROM_EPITABLE[17])
  478. #endif
  479. #if defined(TARGET_IS_TEMPEST_RC1)
  480. #define ROM_EPIIntEnable \
  481. ((void (*)(unsigned long ulBase, \
  482. unsigned long ulIntFlags))ROM_EPITABLE[18])
  483. #endif
  484. #if defined(TARGET_IS_TEMPEST_RC1)
  485. #define ROM_EPIIntDisable \
  486. ((void (*)(unsigned long ulBase, \
  487. unsigned long ulIntFlags))ROM_EPITABLE[19])
  488. #endif
  489. #if defined(TARGET_IS_TEMPEST_RC1)
  490. #define ROM_EPIIntErrorStatus \
  491. ((unsigned long (*)(unsigned long ulBase))ROM_EPITABLE[20])
  492. #endif
  493. #if defined(TARGET_IS_TEMPEST_RC1)
  494. #define ROM_EPIIntErrorClear \
  495. ((void (*)(unsigned long ulBase, \
  496. unsigned long ulErrFlags))ROM_EPITABLE[21])
  497. #endif
  498. //*****************************************************************************
  499. //
  500. // Macros for calling ROM functions in the Ethernet API.
  501. //
  502. //*****************************************************************************
  503. #if defined(TARGET_IS_TEMPEST_RB1) || \
  504. defined(TARGET_IS_TEMPEST_RC1)
  505. #define ROM_EthernetIntClear \
  506. ((void (*)(unsigned long ulBase, \
  507. unsigned long ulIntFlags))ROM_ETHERNETTABLE[0])
  508. #endif
  509. #if defined(TARGET_IS_TEMPEST_RB1) || \
  510. defined(TARGET_IS_TEMPEST_RC1)
  511. #define ROM_EthernetInitExpClk \
  512. ((void (*)(unsigned long ulBase, \
  513. unsigned long ulEthClk))ROM_ETHERNETTABLE[1])
  514. #endif
  515. #if defined(TARGET_IS_TEMPEST_RB1) || \
  516. defined(TARGET_IS_TEMPEST_RC1)
  517. #define ROM_EthernetConfigSet \
  518. ((void (*)(unsigned long ulBase, \
  519. unsigned long ulConfig))ROM_ETHERNETTABLE[2])
  520. #endif
  521. #if defined(TARGET_IS_TEMPEST_RB1) || \
  522. defined(TARGET_IS_TEMPEST_RC1)
  523. #define ROM_EthernetConfigGet \
  524. ((unsigned long (*)(unsigned long ulBase))ROM_ETHERNETTABLE[3])
  525. #endif
  526. #if defined(TARGET_IS_TEMPEST_RB1) || \
  527. defined(TARGET_IS_TEMPEST_RC1)
  528. #define ROM_EthernetMACAddrSet \
  529. ((void (*)(unsigned long ulBase, \
  530. unsigned char *pucMACAddr))ROM_ETHERNETTABLE[4])
  531. #endif
  532. #if defined(TARGET_IS_TEMPEST_RB1) || \
  533. defined(TARGET_IS_TEMPEST_RC1)
  534. #define ROM_EthernetMACAddrGet \
  535. ((void (*)(unsigned long ulBase, \
  536. unsigned char *pucMACAddr))ROM_ETHERNETTABLE[5])
  537. #endif
  538. #if defined(TARGET_IS_TEMPEST_RB1) || \
  539. defined(TARGET_IS_TEMPEST_RC1)
  540. #define ROM_EthernetEnable \
  541. ((void (*)(unsigned long ulBase))ROM_ETHERNETTABLE[6])
  542. #endif
  543. #if defined(TARGET_IS_TEMPEST_RB1) || \
  544. defined(TARGET_IS_TEMPEST_RC1)
  545. #define ROM_EthernetDisable \
  546. ((void (*)(unsigned long ulBase))ROM_ETHERNETTABLE[7])
  547. #endif
  548. #if defined(TARGET_IS_TEMPEST_RB1) || \
  549. defined(TARGET_IS_TEMPEST_RC1)
  550. #define ROM_EthernetPacketAvail \
  551. ((tBoolean (*)(unsigned long ulBase))ROM_ETHERNETTABLE[8])
  552. #endif
  553. #if defined(TARGET_IS_TEMPEST_RB1) || \
  554. defined(TARGET_IS_TEMPEST_RC1)
  555. #define ROM_EthernetSpaceAvail \
  556. ((tBoolean (*)(unsigned long ulBase))ROM_ETHERNETTABLE[9])
  557. #endif
  558. #if defined(TARGET_IS_TEMPEST_RB1) || \
  559. defined(TARGET_IS_TEMPEST_RC1)
  560. #define ROM_EthernetPacketGetNonBlocking \
  561. ((long (*)(unsigned long ulBase, \
  562. unsigned char *pucBuf, \
  563. long lBufLen))ROM_ETHERNETTABLE[10])
  564. #endif
  565. #if defined(TARGET_IS_TEMPEST_RB1) || \
  566. defined(TARGET_IS_TEMPEST_RC1)
  567. #define ROM_EthernetPacketGet \
  568. ((long (*)(unsigned long ulBase, \
  569. unsigned char *pucBuf, \
  570. long lBufLen))ROM_ETHERNETTABLE[11])
  571. #endif
  572. #if defined(TARGET_IS_TEMPEST_RB1) || \
  573. defined(TARGET_IS_TEMPEST_RC1)
  574. #define ROM_EthernetPacketPutNonBlocking \
  575. ((long (*)(unsigned long ulBase, \
  576. unsigned char *pucBuf, \
  577. long lBufLen))ROM_ETHERNETTABLE[12])
  578. #endif
  579. #if defined(TARGET_IS_TEMPEST_RB1) || \
  580. defined(TARGET_IS_TEMPEST_RC1)
  581. #define ROM_EthernetPacketPut \
  582. ((long (*)(unsigned long ulBase, \
  583. unsigned char *pucBuf, \
  584. long lBufLen))ROM_ETHERNETTABLE[13])
  585. #endif
  586. #if defined(TARGET_IS_TEMPEST_RB1) || \
  587. defined(TARGET_IS_TEMPEST_RC1)
  588. #define ROM_EthernetIntEnable \
  589. ((void (*)(unsigned long ulBase, \
  590. unsigned long ulIntFlags))ROM_ETHERNETTABLE[14])
  591. #endif
  592. #if defined(TARGET_IS_TEMPEST_RB1) || \
  593. defined(TARGET_IS_TEMPEST_RC1)
  594. #define ROM_EthernetIntDisable \
  595. ((void (*)(unsigned long ulBase, \
  596. unsigned long ulIntFlags))ROM_ETHERNETTABLE[15])
  597. #endif
  598. #if defined(TARGET_IS_TEMPEST_RB1) || \
  599. defined(TARGET_IS_TEMPEST_RC1)
  600. #define ROM_EthernetIntStatus \
  601. ((unsigned long (*)(unsigned long ulBase, \
  602. tBoolean bMasked))ROM_ETHERNETTABLE[16])
  603. #endif
  604. #if defined(TARGET_IS_TEMPEST_RB1) || \
  605. defined(TARGET_IS_TEMPEST_RC1)
  606. #define ROM_EthernetPHYWrite \
  607. ((void (*)(unsigned long ulBase, \
  608. unsigned char ucRegAddr, \
  609. unsigned long ulData))ROM_ETHERNETTABLE[17])
  610. #endif
  611. #if defined(TARGET_IS_TEMPEST_RB1) || \
  612. defined(TARGET_IS_TEMPEST_RC1)
  613. #define ROM_EthernetPHYRead \
  614. ((unsigned long (*)(unsigned long ulBase, \
  615. unsigned char ucRegAddr))ROM_ETHERNETTABLE[18])
  616. #endif
  617. #if defined(TARGET_IS_TEMPEST_RB1) || \
  618. defined(TARGET_IS_TEMPEST_RC1)
  619. #define ROM_UpdateEthernet \
  620. ((void (*)(unsigned long ulClock))ROM_ETHERNETTABLE[19])
  621. #endif
  622. //*****************************************************************************
  623. //
  624. // Macros for calling ROM functions in the Flash API.
  625. //
  626. //*****************************************************************************
  627. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  628. defined(TARGET_IS_TEMPEST_RB1) || \
  629. defined(TARGET_IS_TEMPEST_RC1)
  630. #define ROM_FlashProgram \
  631. ((long (*)(unsigned long *pulData, \
  632. unsigned long ulAddress, \
  633. unsigned long ulCount))ROM_FLASHTABLE[0])
  634. #endif
  635. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  636. defined(TARGET_IS_TEMPEST_RB1) || \
  637. defined(TARGET_IS_TEMPEST_RC1)
  638. #define ROM_FlashUsecGet \
  639. ((unsigned long (*)(void))ROM_FLASHTABLE[1])
  640. #endif
  641. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  642. defined(TARGET_IS_TEMPEST_RB1) || \
  643. defined(TARGET_IS_TEMPEST_RC1)
  644. #define ROM_FlashUsecSet \
  645. ((void (*)(unsigned long ulClocks))ROM_FLASHTABLE[2])
  646. #endif
  647. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  648. defined(TARGET_IS_TEMPEST_RB1) || \
  649. defined(TARGET_IS_TEMPEST_RC1)
  650. #define ROM_FlashErase \
  651. ((long (*)(unsigned long ulAddress))ROM_FLASHTABLE[3])
  652. #endif
  653. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  654. defined(TARGET_IS_TEMPEST_RB1) || \
  655. defined(TARGET_IS_TEMPEST_RC1)
  656. #define ROM_FlashProtectGet \
  657. ((tFlashProtection (*)(unsigned long ulAddress))ROM_FLASHTABLE[4])
  658. #endif
  659. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  660. defined(TARGET_IS_TEMPEST_RB1) || \
  661. defined(TARGET_IS_TEMPEST_RC1)
  662. #define ROM_FlashProtectSet \
  663. ((long (*)(unsigned long ulAddress, \
  664. tFlashProtection eProtect))ROM_FLASHTABLE[5])
  665. #endif
  666. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  667. defined(TARGET_IS_TEMPEST_RB1) || \
  668. defined(TARGET_IS_TEMPEST_RC1)
  669. #define ROM_FlashProtectSave \
  670. ((long (*)(void))ROM_FLASHTABLE[6])
  671. #endif
  672. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  673. defined(TARGET_IS_TEMPEST_RB1) || \
  674. defined(TARGET_IS_TEMPEST_RC1)
  675. #define ROM_FlashUserGet \
  676. ((long (*)(unsigned long *pulUser0, \
  677. unsigned long *pulUser1))ROM_FLASHTABLE[7])
  678. #endif
  679. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  680. defined(TARGET_IS_TEMPEST_RB1) || \
  681. defined(TARGET_IS_TEMPEST_RC1)
  682. #define ROM_FlashUserSet \
  683. ((long (*)(unsigned long ulUser0, \
  684. unsigned long ulUser1))ROM_FLASHTABLE[8])
  685. #endif
  686. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  687. defined(TARGET_IS_TEMPEST_RB1) || \
  688. defined(TARGET_IS_TEMPEST_RC1)
  689. #define ROM_FlashUserSave \
  690. ((long (*)(void))ROM_FLASHTABLE[9])
  691. #endif
  692. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  693. defined(TARGET_IS_TEMPEST_RB1) || \
  694. defined(TARGET_IS_TEMPEST_RC1)
  695. #define ROM_FlashIntEnable \
  696. ((void (*)(unsigned long ulIntFlags))ROM_FLASHTABLE[10])
  697. #endif
  698. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  699. defined(TARGET_IS_TEMPEST_RB1) || \
  700. defined(TARGET_IS_TEMPEST_RC1)
  701. #define ROM_FlashIntDisable \
  702. ((void (*)(unsigned long ulIntFlags))ROM_FLASHTABLE[11])
  703. #endif
  704. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  705. defined(TARGET_IS_TEMPEST_RB1) || \
  706. defined(TARGET_IS_TEMPEST_RC1)
  707. #define ROM_FlashIntStatus \
  708. ((unsigned long (*)(tBoolean bMasked))ROM_FLASHTABLE[12])
  709. #endif
  710. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  711. defined(TARGET_IS_TEMPEST_RB1) || \
  712. defined(TARGET_IS_TEMPEST_RC1)
  713. #define ROM_FlashIntClear \
  714. ((void (*)(unsigned long ulIntFlags))ROM_FLASHTABLE[13])
  715. #endif
  716. //*****************************************************************************
  717. //
  718. // Macros for calling ROM functions in the GPIO API.
  719. //
  720. //*****************************************************************************
  721. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  722. defined(TARGET_IS_TEMPEST_RB1) || \
  723. defined(TARGET_IS_TEMPEST_RC1)
  724. #define ROM_GPIOPinWrite \
  725. ((void (*)(unsigned long ulPort, \
  726. unsigned char ucPins, \
  727. unsigned char ucVal))ROM_GPIOTABLE[0])
  728. #endif
  729. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  730. defined(TARGET_IS_TEMPEST_RB1) || \
  731. defined(TARGET_IS_TEMPEST_RC1)
  732. #define ROM_GPIODirModeSet \
  733. ((void (*)(unsigned long ulPort, \
  734. unsigned char ucPins, \
  735. unsigned long ulPinIO))ROM_GPIOTABLE[1])
  736. #endif
  737. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  738. defined(TARGET_IS_TEMPEST_RB1) || \
  739. defined(TARGET_IS_TEMPEST_RC1)
  740. #define ROM_GPIODirModeGet \
  741. ((unsigned long (*)(unsigned long ulPort, \
  742. unsigned char ucPin))ROM_GPIOTABLE[2])
  743. #endif
  744. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  745. defined(TARGET_IS_TEMPEST_RB1) || \
  746. defined(TARGET_IS_TEMPEST_RC1)
  747. #define ROM_GPIOIntTypeSet \
  748. ((void (*)(unsigned long ulPort, \
  749. unsigned char ucPins, \
  750. unsigned long ulIntType))ROM_GPIOTABLE[3])
  751. #endif
  752. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  753. defined(TARGET_IS_TEMPEST_RB1) || \
  754. defined(TARGET_IS_TEMPEST_RC1)
  755. #define ROM_GPIOIntTypeGet \
  756. ((unsigned long (*)(unsigned long ulPort, \
  757. unsigned char ucPin))ROM_GPIOTABLE[4])
  758. #endif
  759. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  760. defined(TARGET_IS_TEMPEST_RB1) || \
  761. defined(TARGET_IS_TEMPEST_RC1)
  762. #define ROM_GPIOPadConfigSet \
  763. ((void (*)(unsigned long ulPort, \
  764. unsigned char ucPins, \
  765. unsigned long ulStrength, \
  766. unsigned long ulPadType))ROM_GPIOTABLE[5])
  767. #endif
  768. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  769. defined(TARGET_IS_TEMPEST_RB1) || \
  770. defined(TARGET_IS_TEMPEST_RC1)
  771. #define ROM_GPIOPadConfigGet \
  772. ((void (*)(unsigned long ulPort, \
  773. unsigned char ucPin, \
  774. unsigned long *pulStrength, \
  775. unsigned long *pulPadType))ROM_GPIOTABLE[6])
  776. #endif
  777. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  778. defined(TARGET_IS_TEMPEST_RB1) || \
  779. defined(TARGET_IS_TEMPEST_RC1)
  780. #define ROM_GPIOPinIntEnable \
  781. ((void (*)(unsigned long ulPort, \
  782. unsigned char ucPins))ROM_GPIOTABLE[7])
  783. #endif
  784. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  785. defined(TARGET_IS_TEMPEST_RB1) || \
  786. defined(TARGET_IS_TEMPEST_RC1)
  787. #define ROM_GPIOPinIntDisable \
  788. ((void (*)(unsigned long ulPort, \
  789. unsigned char ucPins))ROM_GPIOTABLE[8])
  790. #endif
  791. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  792. defined(TARGET_IS_TEMPEST_RB1) || \
  793. defined(TARGET_IS_TEMPEST_RC1)
  794. #define ROM_GPIOPinIntStatus \
  795. ((long (*)(unsigned long ulPort, \
  796. tBoolean bMasked))ROM_GPIOTABLE[9])
  797. #endif
  798. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  799. defined(TARGET_IS_TEMPEST_RB1) || \
  800. defined(TARGET_IS_TEMPEST_RC1)
  801. #define ROM_GPIOPinIntClear \
  802. ((void (*)(unsigned long ulPort, \
  803. unsigned char ucPins))ROM_GPIOTABLE[10])
  804. #endif
  805. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  806. defined(TARGET_IS_TEMPEST_RB1) || \
  807. defined(TARGET_IS_TEMPEST_RC1)
  808. #define ROM_GPIOPinRead \
  809. ((long (*)(unsigned long ulPort, \
  810. unsigned char ucPins))ROM_GPIOTABLE[11])
  811. #endif
  812. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  813. defined(TARGET_IS_TEMPEST_RB1) || \
  814. defined(TARGET_IS_TEMPEST_RC1)
  815. #define ROM_GPIOPinTypeCAN \
  816. ((void (*)(unsigned long ulPort, \
  817. unsigned char ucPins))ROM_GPIOTABLE[12])
  818. #endif
  819. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  820. defined(TARGET_IS_TEMPEST_RB1) || \
  821. defined(TARGET_IS_TEMPEST_RC1)
  822. #define ROM_GPIOPinTypeComparator \
  823. ((void (*)(unsigned long ulPort, \
  824. unsigned char ucPins))ROM_GPIOTABLE[13])
  825. #endif
  826. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  827. defined(TARGET_IS_TEMPEST_RB1) || \
  828. defined(TARGET_IS_TEMPEST_RC1)
  829. #define ROM_GPIOPinTypeGPIOInput \
  830. ((void (*)(unsigned long ulPort, \
  831. unsigned char ucPins))ROM_GPIOTABLE[14])
  832. #endif
  833. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  834. defined(TARGET_IS_TEMPEST_RB1) || \
  835. defined(TARGET_IS_TEMPEST_RC1)
  836. #define ROM_GPIOPinTypeGPIOOutput \
  837. ((void (*)(unsigned long ulPort, \
  838. unsigned char ucPins))ROM_GPIOTABLE[15])
  839. #endif
  840. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  841. defined(TARGET_IS_TEMPEST_RB1) || \
  842. defined(TARGET_IS_TEMPEST_RC1)
  843. #define ROM_GPIOPinTypeI2C \
  844. ((void (*)(unsigned long ulPort, \
  845. unsigned char ucPins))ROM_GPIOTABLE[16])
  846. #endif
  847. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  848. defined(TARGET_IS_TEMPEST_RB1) || \
  849. defined(TARGET_IS_TEMPEST_RC1)
  850. #define ROM_GPIOPinTypePWM \
  851. ((void (*)(unsigned long ulPort, \
  852. unsigned char ucPins))ROM_GPIOTABLE[17])
  853. #endif
  854. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  855. defined(TARGET_IS_TEMPEST_RB1) || \
  856. defined(TARGET_IS_TEMPEST_RC1)
  857. #define ROM_GPIOPinTypeQEI \
  858. ((void (*)(unsigned long ulPort, \
  859. unsigned char ucPins))ROM_GPIOTABLE[18])
  860. #endif
  861. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  862. defined(TARGET_IS_TEMPEST_RB1) || \
  863. defined(TARGET_IS_TEMPEST_RC1)
  864. #define ROM_GPIOPinTypeSSI \
  865. ((void (*)(unsigned long ulPort, \
  866. unsigned char ucPins))ROM_GPIOTABLE[19])
  867. #endif
  868. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  869. defined(TARGET_IS_TEMPEST_RB1) || \
  870. defined(TARGET_IS_TEMPEST_RC1)
  871. #define ROM_GPIOPinTypeTimer \
  872. ((void (*)(unsigned long ulPort, \
  873. unsigned char ucPins))ROM_GPIOTABLE[20])
  874. #endif
  875. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  876. defined(TARGET_IS_TEMPEST_RB1) || \
  877. defined(TARGET_IS_TEMPEST_RC1)
  878. #define ROM_GPIOPinTypeUART \
  879. ((void (*)(unsigned long ulPort, \
  880. unsigned char ucPins))ROM_GPIOTABLE[21])
  881. #endif
  882. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  883. defined(TARGET_IS_TEMPEST_RB1) || \
  884. defined(TARGET_IS_TEMPEST_RC1)
  885. #define ROM_GPIOPinTypeGPIOOutputOD \
  886. ((void (*)(unsigned long ulPort, \
  887. unsigned char ucPins))ROM_GPIOTABLE[22])
  888. #endif
  889. #if defined(TARGET_IS_TEMPEST_RB1) || \
  890. defined(TARGET_IS_TEMPEST_RC1)
  891. #define ROM_GPIOPinTypeADC \
  892. ((void (*)(unsigned long ulPort, \
  893. unsigned char ucPins))ROM_GPIOTABLE[23])
  894. #endif
  895. #if defined(TARGET_IS_TEMPEST_RB1) || \
  896. defined(TARGET_IS_TEMPEST_RC1)
  897. #define ROM_GPIOPinTypeUSBDigital \
  898. ((void (*)(unsigned long ulPort, \
  899. unsigned char ucPins))ROM_GPIOTABLE[24])
  900. #endif
  901. #if defined(TARGET_IS_TEMPEST_RC1)
  902. #define ROM_GPIOPinTypeI2S \
  903. ((void (*)(unsigned long ulPort, \
  904. unsigned char ucPins))ROM_GPIOTABLE[25])
  905. #endif
  906. #if defined(TARGET_IS_TEMPEST_RC1)
  907. #define ROM_GPIOPinConfigure \
  908. ((void (*)(unsigned long ulPinConfig))ROM_GPIOTABLE[26])
  909. #endif
  910. #if defined(TARGET_IS_TEMPEST_RC1)
  911. #define ROM_GPIOPinTypeEthernetLED \
  912. ((void (*)(unsigned long ulPort, \
  913. unsigned char ucPins))ROM_GPIOTABLE[27])
  914. #endif
  915. #if defined(TARGET_IS_TEMPEST_RC1)
  916. #define ROM_GPIOPinTypeUSBAnalog \
  917. ((void (*)(unsigned long ulPort, \
  918. unsigned char ucPins))ROM_GPIOTABLE[28])
  919. #endif
  920. //*****************************************************************************
  921. //
  922. // Macros for calling ROM functions in the Hibernate API.
  923. //
  924. //*****************************************************************************
  925. #if defined(TARGET_IS_TEMPEST_RB1) || \
  926. defined(TARGET_IS_TEMPEST_RC1)
  927. #define ROM_HibernateIntClear \
  928. ((void (*)(unsigned long ulIntFlags))ROM_HIBERNATETABLE[0])
  929. #endif
  930. #if defined(TARGET_IS_TEMPEST_RB1) || \
  931. defined(TARGET_IS_TEMPEST_RC1)
  932. #define ROM_HibernateEnableExpClk \
  933. ((void (*)(unsigned long ulHibClk))ROM_HIBERNATETABLE[1])
  934. #endif
  935. #if defined(TARGET_IS_TEMPEST_RB1) || \
  936. defined(TARGET_IS_TEMPEST_RC1)
  937. #define ROM_HibernateDisable \
  938. ((void (*)(void))ROM_HIBERNATETABLE[2])
  939. #endif
  940. #if defined(TARGET_IS_TEMPEST_RB1) || \
  941. defined(TARGET_IS_TEMPEST_RC1)
  942. #define ROM_HibernateClockSelect \
  943. ((void (*)(unsigned long ulClockInput))ROM_HIBERNATETABLE[3])
  944. #endif
  945. #if defined(TARGET_IS_TEMPEST_RB1) || \
  946. defined(TARGET_IS_TEMPEST_RC1)
  947. #define ROM_HibernateRTCEnable \
  948. ((void (*)(void))ROM_HIBERNATETABLE[4])
  949. #endif
  950. #if defined(TARGET_IS_TEMPEST_RB1) || \
  951. defined(TARGET_IS_TEMPEST_RC1)
  952. #define ROM_HibernateRTCDisable \
  953. ((void (*)(void))ROM_HIBERNATETABLE[5])
  954. #endif
  955. #if defined(TARGET_IS_TEMPEST_RB1) || \
  956. defined(TARGET_IS_TEMPEST_RC1)
  957. #define ROM_HibernateWakeSet \
  958. ((void (*)(unsigned long ulWakeFlags))ROM_HIBERNATETABLE[6])
  959. #endif
  960. #if defined(TARGET_IS_TEMPEST_RB1) || \
  961. defined(TARGET_IS_TEMPEST_RC1)
  962. #define ROM_HibernateWakeGet \
  963. ((unsigned long (*)(void))ROM_HIBERNATETABLE[7])
  964. #endif
  965. #if defined(TARGET_IS_TEMPEST_RB1) || \
  966. defined(TARGET_IS_TEMPEST_RC1)
  967. #define ROM_HibernateLowBatSet \
  968. ((void (*)(unsigned long ulLowBatFlags))ROM_HIBERNATETABLE[8])
  969. #endif
  970. #if defined(TARGET_IS_TEMPEST_RB1) || \
  971. defined(TARGET_IS_TEMPEST_RC1)
  972. #define ROM_HibernateLowBatGet \
  973. ((unsigned long (*)(void))ROM_HIBERNATETABLE[9])
  974. #endif
  975. #if defined(TARGET_IS_TEMPEST_RB1) || \
  976. defined(TARGET_IS_TEMPEST_RC1)
  977. #define ROM_HibernateRTCSet \
  978. ((void (*)(unsigned long ulRTCValue))ROM_HIBERNATETABLE[10])
  979. #endif
  980. #if defined(TARGET_IS_TEMPEST_RB1) || \
  981. defined(TARGET_IS_TEMPEST_RC1)
  982. #define ROM_HibernateRTCGet \
  983. ((unsigned long (*)(void))ROM_HIBERNATETABLE[11])
  984. #endif
  985. #if defined(TARGET_IS_TEMPEST_RB1) || \
  986. defined(TARGET_IS_TEMPEST_RC1)
  987. #define ROM_HibernateRTCMatch0Set \
  988. ((void (*)(unsigned long ulMatch))ROM_HIBERNATETABLE[12])
  989. #endif
  990. #if defined(TARGET_IS_TEMPEST_RB1) || \
  991. defined(TARGET_IS_TEMPEST_RC1)
  992. #define ROM_HibernateRTCMatch0Get \
  993. ((unsigned long (*)(void))ROM_HIBERNATETABLE[13])
  994. #endif
  995. #if defined(TARGET_IS_TEMPEST_RB1) || \
  996. defined(TARGET_IS_TEMPEST_RC1)
  997. #define ROM_HibernateRTCMatch1Set \
  998. ((void (*)(unsigned long ulMatch))ROM_HIBERNATETABLE[14])
  999. #endif
  1000. #if defined(TARGET_IS_TEMPEST_RB1) || \
  1001. defined(TARGET_IS_TEMPEST_RC1)
  1002. #define ROM_HibernateRTCMatch1Get \
  1003. ((unsigned long (*)(void))ROM_HIBERNATETABLE[15])
  1004. #endif
  1005. #if defined(TARGET_IS_TEMPEST_RB1) || \
  1006. defined(TARGET_IS_TEMPEST_RC1)
  1007. #define ROM_HibernateRTCTrimSet \
  1008. ((void (*)(unsigned long ulTrim))ROM_HIBERNATETABLE[16])
  1009. #endif
  1010. #if defined(TARGET_IS_TEMPEST_RB1) || \
  1011. defined(TARGET_IS_TEMPEST_RC1)
  1012. #define ROM_HibernateRTCTrimGet \
  1013. ((unsigned long (*)(void))ROM_HIBERNATETABLE[17])
  1014. #endif
  1015. #if defined(TARGET_IS_TEMPEST_RB1) || \
  1016. defined(TARGET_IS_TEMPEST_RC1)
  1017. #define ROM_HibernateDataSet \
  1018. ((void (*)(unsigned long *pulData, \
  1019. unsigned long ulCount))ROM_HIBERNATETABLE[18])
  1020. #endif
  1021. #if defined(TARGET_IS_TEMPEST_RB1) || \
  1022. defined(TARGET_IS_TEMPEST_RC1)
  1023. #define ROM_HibernateDataGet \
  1024. ((void (*)(unsigned long *pulData, \
  1025. unsigned long ulCount))ROM_HIBERNATETABLE[19])
  1026. #endif
  1027. #if defined(TARGET_IS_TEMPEST_RB1) || \
  1028. defined(TARGET_IS_TEMPEST_RC1)
  1029. #define ROM_HibernateRequest \
  1030. ((void (*)(void))ROM_HIBERNATETABLE[20])
  1031. #endif
  1032. #if defined(TARGET_IS_TEMPEST_RB1) || \
  1033. defined(TARGET_IS_TEMPEST_RC1)
  1034. #define ROM_HibernateIntEnable \
  1035. ((void (*)(unsigned long ulIntFlags))ROM_HIBERNATETABLE[21])
  1036. #endif
  1037. #if defined(TARGET_IS_TEMPEST_RB1) || \
  1038. defined(TARGET_IS_TEMPEST_RC1)
  1039. #define ROM_HibernateIntDisable \
  1040. ((void (*)(unsigned long ulIntFlags))ROM_HIBERNATETABLE[22])
  1041. #endif
  1042. #if defined(TARGET_IS_TEMPEST_RB1) || \
  1043. defined(TARGET_IS_TEMPEST_RC1)
  1044. #define ROM_HibernateIntStatus \
  1045. ((unsigned long (*)(tBoolean bMasked))ROM_HIBERNATETABLE[23])
  1046. #endif
  1047. #if defined(TARGET_IS_TEMPEST_RB1) || \
  1048. defined(TARGET_IS_TEMPEST_RC1)
  1049. #define ROM_HibernateIsActive \
  1050. ((unsigned int (*)(void))ROM_HIBERNATETABLE[24])
  1051. #endif
  1052. //*****************************************************************************
  1053. //
  1054. // Macros for calling ROM functions in the I2C API.
  1055. //
  1056. //*****************************************************************************
  1057. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1058. defined(TARGET_IS_TEMPEST_RB1) || \
  1059. defined(TARGET_IS_TEMPEST_RC1)
  1060. #define ROM_I2CMasterDataPut \
  1061. ((void (*)(unsigned long ulBase, \
  1062. unsigned char ucData))ROM_I2CTABLE[0])
  1063. #endif
  1064. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1065. defined(TARGET_IS_TEMPEST_RB1) || \
  1066. defined(TARGET_IS_TEMPEST_RC1)
  1067. #define ROM_I2CMasterInitExpClk \
  1068. ((void (*)(unsigned long ulBase, \
  1069. unsigned long ulI2CClk, \
  1070. tBoolean bFast))ROM_I2CTABLE[1])
  1071. #endif
  1072. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1073. defined(TARGET_IS_TEMPEST_RB1) || \
  1074. defined(TARGET_IS_TEMPEST_RC1)
  1075. #define ROM_I2CSlaveInit \
  1076. ((void (*)(unsigned long ulBase, \
  1077. unsigned char ucSlaveAddr))ROM_I2CTABLE[2])
  1078. #endif
  1079. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1080. defined(TARGET_IS_TEMPEST_RB1) || \
  1081. defined(TARGET_IS_TEMPEST_RC1)
  1082. #define ROM_I2CMasterEnable \
  1083. ((void (*)(unsigned long ulBase))ROM_I2CTABLE[3])
  1084. #endif
  1085. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1086. defined(TARGET_IS_TEMPEST_RB1) || \
  1087. defined(TARGET_IS_TEMPEST_RC1)
  1088. #define ROM_I2CSlaveEnable \
  1089. ((void (*)(unsigned long ulBase))ROM_I2CTABLE[4])
  1090. #endif
  1091. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1092. defined(TARGET_IS_TEMPEST_RB1) || \
  1093. defined(TARGET_IS_TEMPEST_RC1)
  1094. #define ROM_I2CMasterDisable \
  1095. ((void (*)(unsigned long ulBase))ROM_I2CTABLE[5])
  1096. #endif
  1097. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1098. defined(TARGET_IS_TEMPEST_RB1) || \
  1099. defined(TARGET_IS_TEMPEST_RC1)
  1100. #define ROM_I2CSlaveDisable \
  1101. ((void (*)(unsigned long ulBase))ROM_I2CTABLE[6])
  1102. #endif
  1103. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1104. defined(TARGET_IS_TEMPEST_RB1) || \
  1105. defined(TARGET_IS_TEMPEST_RC1)
  1106. #define ROM_I2CMasterIntEnable \
  1107. ((void (*)(unsigned long ulBase))ROM_I2CTABLE[7])
  1108. #endif
  1109. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1110. defined(TARGET_IS_TEMPEST_RB1) || \
  1111. defined(TARGET_IS_TEMPEST_RC1)
  1112. #define ROM_I2CSlaveIntEnable \
  1113. ((void (*)(unsigned long ulBase))ROM_I2CTABLE[8])
  1114. #endif
  1115. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1116. defined(TARGET_IS_TEMPEST_RB1) || \
  1117. defined(TARGET_IS_TEMPEST_RC1)
  1118. #define ROM_I2CMasterIntDisable \
  1119. ((void (*)(unsigned long ulBase))ROM_I2CTABLE[9])
  1120. #endif
  1121. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1122. defined(TARGET_IS_TEMPEST_RB1) || \
  1123. defined(TARGET_IS_TEMPEST_RC1)
  1124. #define ROM_I2CSlaveIntDisable \
  1125. ((void (*)(unsigned long ulBase))ROM_I2CTABLE[10])
  1126. #endif
  1127. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1128. defined(TARGET_IS_TEMPEST_RB1) || \
  1129. defined(TARGET_IS_TEMPEST_RC1)
  1130. #define ROM_I2CMasterIntStatus \
  1131. ((tBoolean (*)(unsigned long ulBase, \
  1132. tBoolean bMasked))ROM_I2CTABLE[11])
  1133. #endif
  1134. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1135. defined(TARGET_IS_TEMPEST_RB1) || \
  1136. defined(TARGET_IS_TEMPEST_RC1)
  1137. #define ROM_I2CSlaveIntStatus \
  1138. ((tBoolean (*)(unsigned long ulBase, \
  1139. tBoolean bMasked))ROM_I2CTABLE[12])
  1140. #endif
  1141. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1142. defined(TARGET_IS_TEMPEST_RB1) || \
  1143. defined(TARGET_IS_TEMPEST_RC1)
  1144. #define ROM_I2CMasterIntClear \
  1145. ((void (*)(unsigned long ulBase))ROM_I2CTABLE[13])
  1146. #endif
  1147. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1148. defined(TARGET_IS_TEMPEST_RB1) || \
  1149. defined(TARGET_IS_TEMPEST_RC1)
  1150. #define ROM_I2CSlaveIntClear \
  1151. ((void (*)(unsigned long ulBase))ROM_I2CTABLE[14])
  1152. #endif
  1153. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1154. defined(TARGET_IS_TEMPEST_RB1) || \
  1155. defined(TARGET_IS_TEMPEST_RC1)
  1156. #define ROM_I2CMasterSlaveAddrSet \
  1157. ((void (*)(unsigned long ulBase, \
  1158. unsigned char ucSlaveAddr, \
  1159. tBoolean bReceive))ROM_I2CTABLE[15])
  1160. #endif
  1161. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1162. defined(TARGET_IS_TEMPEST_RB1) || \
  1163. defined(TARGET_IS_TEMPEST_RC1)
  1164. #define ROM_I2CMasterBusy \
  1165. ((tBoolean (*)(unsigned long ulBase))ROM_I2CTABLE[16])
  1166. #endif
  1167. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1168. defined(TARGET_IS_TEMPEST_RB1) || \
  1169. defined(TARGET_IS_TEMPEST_RC1)
  1170. #define ROM_I2CMasterBusBusy \
  1171. ((tBoolean (*)(unsigned long ulBase))ROM_I2CTABLE[17])
  1172. #endif
  1173. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1174. defined(TARGET_IS_TEMPEST_RB1) || \
  1175. defined(TARGET_IS_TEMPEST_RC1)
  1176. #define ROM_I2CMasterControl \
  1177. ((void (*)(unsigned long ulBase, \
  1178. unsigned long ulCmd))ROM_I2CTABLE[18])
  1179. #endif
  1180. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1181. defined(TARGET_IS_TEMPEST_RB1) || \
  1182. defined(TARGET_IS_TEMPEST_RC1)
  1183. #define ROM_I2CMasterErr \
  1184. ((unsigned long (*)(unsigned long ulBase))ROM_I2CTABLE[19])
  1185. #endif
  1186. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1187. defined(TARGET_IS_TEMPEST_RB1) || \
  1188. defined(TARGET_IS_TEMPEST_RC1)
  1189. #define ROM_I2CMasterDataGet \
  1190. ((unsigned long (*)(unsigned long ulBase))ROM_I2CTABLE[20])
  1191. #endif
  1192. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1193. defined(TARGET_IS_TEMPEST_RB1) || \
  1194. defined(TARGET_IS_TEMPEST_RC1)
  1195. #define ROM_I2CSlaveStatus \
  1196. ((unsigned long (*)(unsigned long ulBase))ROM_I2CTABLE[21])
  1197. #endif
  1198. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1199. defined(TARGET_IS_TEMPEST_RB1) || \
  1200. defined(TARGET_IS_TEMPEST_RC1)
  1201. #define ROM_I2CSlaveDataPut \
  1202. ((void (*)(unsigned long ulBase, \
  1203. unsigned char ucData))ROM_I2CTABLE[22])
  1204. #endif
  1205. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1206. defined(TARGET_IS_TEMPEST_RB1) || \
  1207. defined(TARGET_IS_TEMPEST_RC1)
  1208. #define ROM_I2CSlaveDataGet \
  1209. ((unsigned long (*)(unsigned long ulBase))ROM_I2CTABLE[23])
  1210. #endif
  1211. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1212. defined(TARGET_IS_TEMPEST_RB1) || \
  1213. defined(TARGET_IS_TEMPEST_RC1)
  1214. #define ROM_UpdateI2C \
  1215. ((void (*)(void))ROM_I2CTABLE[24])
  1216. #endif
  1217. #if defined(TARGET_IS_TEMPEST_RC1)
  1218. #define ROM_I2CSlaveIntEnableEx \
  1219. ((void (*)(unsigned long ulBase, \
  1220. unsigned long ulIntFlags))ROM_I2CTABLE[25])
  1221. #endif
  1222. #if defined(TARGET_IS_TEMPEST_RC1)
  1223. #define ROM_I2CSlaveIntDisableEx \
  1224. ((void (*)(unsigned long ulBase, \
  1225. unsigned long ulIntFlags))ROM_I2CTABLE[26])
  1226. #endif
  1227. #if defined(TARGET_IS_TEMPEST_RC1)
  1228. #define ROM_I2CSlaveIntStatusEx \
  1229. ((unsigned long (*)(unsigned long ulBase, \
  1230. tBoolean bMasked))ROM_I2CTABLE[27])
  1231. #endif
  1232. #if defined(TARGET_IS_TEMPEST_RC1)
  1233. #define ROM_I2CSlaveIntClearEx \
  1234. ((void (*)(unsigned long ulBase, \
  1235. unsigned long ulIntFlags))ROM_I2CTABLE[28])
  1236. #endif
  1237. //*****************************************************************************
  1238. //
  1239. // Macros for calling ROM functions in the I2S API.
  1240. //
  1241. //*****************************************************************************
  1242. #if defined(TARGET_IS_TEMPEST_RC1)
  1243. #define ROM_I2SIntStatus \
  1244. ((unsigned long (*)(unsigned long ulBase, \
  1245. tBoolean bMasked))ROM_I2STABLE[0])
  1246. #endif
  1247. #if defined(TARGET_IS_TEMPEST_RC1)
  1248. #define ROM_I2STxEnable \
  1249. ((void (*)(unsigned long ulBase))ROM_I2STABLE[1])
  1250. #endif
  1251. #if defined(TARGET_IS_TEMPEST_RC1)
  1252. #define ROM_I2STxDisable \
  1253. ((void (*)(unsigned long ulBase))ROM_I2STABLE[2])
  1254. #endif
  1255. #if defined(TARGET_IS_TEMPEST_RC1)
  1256. #define ROM_I2STxDataPut \
  1257. ((void (*)(unsigned long ulBase, \
  1258. unsigned long ulData))ROM_I2STABLE[3])
  1259. #endif
  1260. #if defined(TARGET_IS_TEMPEST_RC1)
  1261. #define ROM_I2STxDataPutNonBlocking \
  1262. ((long (*)(unsigned long ulBase, \
  1263. unsigned long ulData))ROM_I2STABLE[4])
  1264. #endif
  1265. #if defined(TARGET_IS_TEMPEST_RC1)
  1266. #define ROM_I2STxConfigSet \
  1267. ((void (*)(unsigned long ulBase, \
  1268. unsigned long ulConfig))ROM_I2STABLE[5])
  1269. #endif
  1270. #if defined(TARGET_IS_TEMPEST_RC1)
  1271. #define ROM_I2STxFIFOLimitSet \
  1272. ((void (*)(unsigned long ulBase, \
  1273. unsigned long ulLevel))ROM_I2STABLE[6])
  1274. #endif
  1275. #if defined(TARGET_IS_TEMPEST_RC1)
  1276. #define ROM_I2STxFIFOLimitGet \
  1277. ((unsigned long (*)(unsigned long ulBase))ROM_I2STABLE[7])
  1278. #endif
  1279. #if defined(TARGET_IS_TEMPEST_RC1)
  1280. #define ROM_I2STxFIFOLevelGet \
  1281. ((unsigned long (*)(unsigned long ulBase))ROM_I2STABLE[8])
  1282. #endif
  1283. #if defined(TARGET_IS_TEMPEST_RC1)
  1284. #define ROM_I2SRxEnable \
  1285. ((void (*)(unsigned long ulBase))ROM_I2STABLE[9])
  1286. #endif
  1287. #if defined(TARGET_IS_TEMPEST_RC1)
  1288. #define ROM_I2SRxDisable \
  1289. ((void (*)(unsigned long ulBase))ROM_I2STABLE[10])
  1290. #endif
  1291. #if defined(TARGET_IS_TEMPEST_RC1)
  1292. #define ROM_I2SRxDataGet \
  1293. ((void (*)(unsigned long ulBase, \
  1294. unsigned long *pulData))ROM_I2STABLE[11])
  1295. #endif
  1296. #if defined(TARGET_IS_TEMPEST_RC1)
  1297. #define ROM_I2SRxDataGetNonBlocking \
  1298. ((long (*)(unsigned long ulBase, \
  1299. unsigned long *pulData))ROM_I2STABLE[12])
  1300. #endif
  1301. #if defined(TARGET_IS_TEMPEST_RC1)
  1302. #define ROM_I2SRxConfigSet \
  1303. ((void (*)(unsigned long ulBase, \
  1304. unsigned long ulConfig))ROM_I2STABLE[13])
  1305. #endif
  1306. #if defined(TARGET_IS_TEMPEST_RC1)
  1307. #define ROM_I2SRxFIFOLimitSet \
  1308. ((void (*)(unsigned long ulBase, \
  1309. unsigned long ulLevel))ROM_I2STABLE[14])
  1310. #endif
  1311. #if defined(TARGET_IS_TEMPEST_RC1)
  1312. #define ROM_I2SRxFIFOLimitGet \
  1313. ((unsigned long (*)(unsigned long ulBase))ROM_I2STABLE[15])
  1314. #endif
  1315. #if defined(TARGET_IS_TEMPEST_RC1)
  1316. #define ROM_I2SRxFIFOLevelGet \
  1317. ((unsigned long (*)(unsigned long ulBase))ROM_I2STABLE[16])
  1318. #endif
  1319. #if defined(TARGET_IS_TEMPEST_RC1)
  1320. #define ROM_I2STxRxEnable \
  1321. ((void (*)(unsigned long ulBase))ROM_I2STABLE[17])
  1322. #endif
  1323. #if defined(TARGET_IS_TEMPEST_RC1)
  1324. #define ROM_I2STxRxDisable \
  1325. ((void (*)(unsigned long ulBase))ROM_I2STABLE[18])
  1326. #endif
  1327. #if defined(TARGET_IS_TEMPEST_RC1)
  1328. #define ROM_I2STxRxConfigSet \
  1329. ((void (*)(unsigned long ulBase, \
  1330. unsigned long ulConfig))ROM_I2STABLE[19])
  1331. #endif
  1332. #if defined(TARGET_IS_TEMPEST_RC1)
  1333. #define ROM_I2SMasterClockSelect \
  1334. ((void (*)(unsigned long ulBase, \
  1335. unsigned long ulMClock))ROM_I2STABLE[20])
  1336. #endif
  1337. #if defined(TARGET_IS_TEMPEST_RC1)
  1338. #define ROM_I2SIntEnable \
  1339. ((void (*)(unsigned long ulBase, \
  1340. unsigned long ulIntFlags))ROM_I2STABLE[21])
  1341. #endif
  1342. #if defined(TARGET_IS_TEMPEST_RC1)
  1343. #define ROM_I2SIntDisable \
  1344. ((void (*)(unsigned long ulBase, \
  1345. unsigned long ulIntFlags))ROM_I2STABLE[22])
  1346. #endif
  1347. #if defined(TARGET_IS_TEMPEST_RC1)
  1348. #define ROM_I2SIntClear \
  1349. ((void (*)(unsigned long ulBase, \
  1350. unsigned long ulIntFlags))ROM_I2STABLE[23])
  1351. #endif
  1352. //*****************************************************************************
  1353. //
  1354. // Macros for calling ROM functions in the Interrupt API.
  1355. //
  1356. //*****************************************************************************
  1357. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1358. defined(TARGET_IS_TEMPEST_RB1) || \
  1359. defined(TARGET_IS_TEMPEST_RC1)
  1360. #define ROM_IntEnable \
  1361. ((void (*)(unsigned long ulInterrupt))ROM_INTERRUPTTABLE[0])
  1362. #endif
  1363. #if defined(TARGET_IS_TEMPEST_RB1) || \
  1364. defined(TARGET_IS_TEMPEST_RC1)
  1365. #define ROM_IntMasterEnable \
  1366. ((tBoolean (*)(void))ROM_INTERRUPTTABLE[1])
  1367. #endif
  1368. #if defined(TARGET_IS_TEMPEST_RB1) || \
  1369. defined(TARGET_IS_TEMPEST_RC1)
  1370. #define ROM_IntMasterDisable \
  1371. ((tBoolean (*)(void))ROM_INTERRUPTTABLE[2])
  1372. #endif
  1373. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1374. defined(TARGET_IS_TEMPEST_RB1) || \
  1375. defined(TARGET_IS_TEMPEST_RC1)
  1376. #define ROM_IntDisable \
  1377. ((void (*)(unsigned long ulInterrupt))ROM_INTERRUPTTABLE[3])
  1378. #endif
  1379. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1380. defined(TARGET_IS_TEMPEST_RB1) || \
  1381. defined(TARGET_IS_TEMPEST_RC1)
  1382. #define ROM_IntPriorityGroupingSet \
  1383. ((void (*)(unsigned long ulBits))ROM_INTERRUPTTABLE[4])
  1384. #endif
  1385. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1386. defined(TARGET_IS_TEMPEST_RB1) || \
  1387. defined(TARGET_IS_TEMPEST_RC1)
  1388. #define ROM_IntPriorityGroupingGet \
  1389. ((unsigned long (*)(void))ROM_INTERRUPTTABLE[5])
  1390. #endif
  1391. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1392. defined(TARGET_IS_TEMPEST_RB1) || \
  1393. defined(TARGET_IS_TEMPEST_RC1)
  1394. #define ROM_IntPrioritySet \
  1395. ((void (*)(unsigned long ulInterrupt, \
  1396. unsigned char ucPriority))ROM_INTERRUPTTABLE[6])
  1397. #endif
  1398. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1399. defined(TARGET_IS_TEMPEST_RB1) || \
  1400. defined(TARGET_IS_TEMPEST_RC1)
  1401. #define ROM_IntPriorityGet \
  1402. ((long (*)(unsigned long ulInterrupt))ROM_INTERRUPTTABLE[7])
  1403. #endif
  1404. #if defined(TARGET_IS_TEMPEST_RC1)
  1405. #define ROM_IntPendSet \
  1406. ((void (*)(unsigned long ulInterrupt))ROM_INTERRUPTTABLE[8])
  1407. #endif
  1408. #if defined(TARGET_IS_TEMPEST_RC1)
  1409. #define ROM_IntPendClear \
  1410. ((void (*)(unsigned long ulInterrupt))ROM_INTERRUPTTABLE[9])
  1411. #endif
  1412. //*****************************************************************************
  1413. //
  1414. // Macros for calling ROM functions in the MPU API.
  1415. //
  1416. //*****************************************************************************
  1417. #if defined(TARGET_IS_TEMPEST_RB1) || \
  1418. defined(TARGET_IS_TEMPEST_RC1)
  1419. #define ROM_MPUEnable \
  1420. ((void (*)(unsigned long ulMPUConfig))ROM_MPUTABLE[0])
  1421. #endif
  1422. #if defined(TARGET_IS_TEMPEST_RB1) || \
  1423. defined(TARGET_IS_TEMPEST_RC1)
  1424. #define ROM_MPUDisable \
  1425. ((void (*)(void))ROM_MPUTABLE[1])
  1426. #endif
  1427. #if defined(TARGET_IS_TEMPEST_RB1) || \
  1428. defined(TARGET_IS_TEMPEST_RC1)
  1429. #define ROM_MPURegionCountGet \
  1430. ((unsigned long (*)(void))ROM_MPUTABLE[2])
  1431. #endif
  1432. #if defined(TARGET_IS_TEMPEST_RB1) || \
  1433. defined(TARGET_IS_TEMPEST_RC1)
  1434. #define ROM_MPURegionEnable \
  1435. ((void (*)(unsigned long ulRegion))ROM_MPUTABLE[3])
  1436. #endif
  1437. #if defined(TARGET_IS_TEMPEST_RB1) || \
  1438. defined(TARGET_IS_TEMPEST_RC1)
  1439. #define ROM_MPURegionDisable \
  1440. ((void (*)(unsigned long ulRegion))ROM_MPUTABLE[4])
  1441. #endif
  1442. #if defined(TARGET_IS_TEMPEST_RB1) || \
  1443. defined(TARGET_IS_TEMPEST_RC1)
  1444. #define ROM_MPURegionSet \
  1445. ((void (*)(unsigned long ulRegion, \
  1446. unsigned long ulAddr, \
  1447. unsigned long ulFlags))ROM_MPUTABLE[5])
  1448. #endif
  1449. #if defined(TARGET_IS_TEMPEST_RB1) || \
  1450. defined(TARGET_IS_TEMPEST_RC1)
  1451. #define ROM_MPURegionGet \
  1452. ((void (*)(unsigned long ulRegion, \
  1453. unsigned long *pulAddr, \
  1454. unsigned long *pulFlags))ROM_MPUTABLE[6])
  1455. #endif
  1456. //*****************************************************************************
  1457. //
  1458. // Macros for calling ROM functions in the PWM API.
  1459. //
  1460. //*****************************************************************************
  1461. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1462. defined(TARGET_IS_TEMPEST_RB1) || \
  1463. defined(TARGET_IS_TEMPEST_RC1)
  1464. #define ROM_PWMPulseWidthSet \
  1465. ((void (*)(unsigned long ulBase, \
  1466. unsigned long ulPWMOut, \
  1467. unsigned long ulWidth))ROM_PWMTABLE[0])
  1468. #endif
  1469. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1470. defined(TARGET_IS_TEMPEST_RB1) || \
  1471. defined(TARGET_IS_TEMPEST_RC1)
  1472. #define ROM_PWMGenConfigure \
  1473. ((void (*)(unsigned long ulBase, \
  1474. unsigned long ulGen, \
  1475. unsigned long ulConfig))ROM_PWMTABLE[1])
  1476. #endif
  1477. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1478. defined(TARGET_IS_TEMPEST_RB1) || \
  1479. defined(TARGET_IS_TEMPEST_RC1)
  1480. #define ROM_PWMGenPeriodSet \
  1481. ((void (*)(unsigned long ulBase, \
  1482. unsigned long ulGen, \
  1483. unsigned long ulPeriod))ROM_PWMTABLE[2])
  1484. #endif
  1485. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1486. defined(TARGET_IS_TEMPEST_RB1) || \
  1487. defined(TARGET_IS_TEMPEST_RC1)
  1488. #define ROM_PWMGenPeriodGet \
  1489. ((unsigned long (*)(unsigned long ulBase, \
  1490. unsigned long ulGen))ROM_PWMTABLE[3])
  1491. #endif
  1492. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1493. defined(TARGET_IS_TEMPEST_RB1) || \
  1494. defined(TARGET_IS_TEMPEST_RC1)
  1495. #define ROM_PWMGenEnable \
  1496. ((void (*)(unsigned long ulBase, \
  1497. unsigned long ulGen))ROM_PWMTABLE[4])
  1498. #endif
  1499. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1500. defined(TARGET_IS_TEMPEST_RB1) || \
  1501. defined(TARGET_IS_TEMPEST_RC1)
  1502. #define ROM_PWMGenDisable \
  1503. ((void (*)(unsigned long ulBase, \
  1504. unsigned long ulGen))ROM_PWMTABLE[5])
  1505. #endif
  1506. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1507. defined(TARGET_IS_TEMPEST_RB1) || \
  1508. defined(TARGET_IS_TEMPEST_RC1)
  1509. #define ROM_PWMPulseWidthGet \
  1510. ((unsigned long (*)(unsigned long ulBase, \
  1511. unsigned long ulPWMOut))ROM_PWMTABLE[6])
  1512. #endif
  1513. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1514. defined(TARGET_IS_TEMPEST_RB1) || \
  1515. defined(TARGET_IS_TEMPEST_RC1)
  1516. #define ROM_PWMDeadBandEnable \
  1517. ((void (*)(unsigned long ulBase, \
  1518. unsigned long ulGen, \
  1519. unsigned short usRise, \
  1520. unsigned short usFall))ROM_PWMTABLE[7])
  1521. #endif
  1522. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1523. defined(TARGET_IS_TEMPEST_RB1) || \
  1524. defined(TARGET_IS_TEMPEST_RC1)
  1525. #define ROM_PWMDeadBandDisable \
  1526. ((void (*)(unsigned long ulBase, \
  1527. unsigned long ulGen))ROM_PWMTABLE[8])
  1528. #endif
  1529. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1530. defined(TARGET_IS_TEMPEST_RB1) || \
  1531. defined(TARGET_IS_TEMPEST_RC1)
  1532. #define ROM_PWMSyncUpdate \
  1533. ((void (*)(unsigned long ulBase, \
  1534. unsigned long ulGenBits))ROM_PWMTABLE[9])
  1535. #endif
  1536. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1537. defined(TARGET_IS_TEMPEST_RB1) || \
  1538. defined(TARGET_IS_TEMPEST_RC1)
  1539. #define ROM_PWMSyncTimeBase \
  1540. ((void (*)(unsigned long ulBase, \
  1541. unsigned long ulGenBits))ROM_PWMTABLE[10])
  1542. #endif
  1543. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1544. defined(TARGET_IS_TEMPEST_RB1) || \
  1545. defined(TARGET_IS_TEMPEST_RC1)
  1546. #define ROM_PWMOutputState \
  1547. ((void (*)(unsigned long ulBase, \
  1548. unsigned long ulPWMOutBits, \
  1549. tBoolean bEnable))ROM_PWMTABLE[11])
  1550. #endif
  1551. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1552. defined(TARGET_IS_TEMPEST_RB1) || \
  1553. defined(TARGET_IS_TEMPEST_RC1)
  1554. #define ROM_PWMOutputInvert \
  1555. ((void (*)(unsigned long ulBase, \
  1556. unsigned long ulPWMOutBits, \
  1557. tBoolean bInvert))ROM_PWMTABLE[12])
  1558. #endif
  1559. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1560. defined(TARGET_IS_TEMPEST_RB1) || \
  1561. defined(TARGET_IS_TEMPEST_RC1)
  1562. #define ROM_PWMOutputFault \
  1563. ((void (*)(unsigned long ulBase, \
  1564. unsigned long ulPWMOutBits, \
  1565. tBoolean bFaultSuppress))ROM_PWMTABLE[13])
  1566. #endif
  1567. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1568. defined(TARGET_IS_TEMPEST_RB1) || \
  1569. defined(TARGET_IS_TEMPEST_RC1)
  1570. #define ROM_PWMGenIntTrigEnable \
  1571. ((void (*)(unsigned long ulBase, \
  1572. unsigned long ulGen, \
  1573. unsigned long ulIntTrig))ROM_PWMTABLE[14])
  1574. #endif
  1575. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1576. defined(TARGET_IS_TEMPEST_RB1) || \
  1577. defined(TARGET_IS_TEMPEST_RC1)
  1578. #define ROM_PWMGenIntTrigDisable \
  1579. ((void (*)(unsigned long ulBase, \
  1580. unsigned long ulGen, \
  1581. unsigned long ulIntTrig))ROM_PWMTABLE[15])
  1582. #endif
  1583. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1584. defined(TARGET_IS_TEMPEST_RB1) || \
  1585. defined(TARGET_IS_TEMPEST_RC1)
  1586. #define ROM_PWMGenIntStatus \
  1587. ((unsigned long (*)(unsigned long ulBase, \
  1588. unsigned long ulGen, \
  1589. tBoolean bMasked))ROM_PWMTABLE[16])
  1590. #endif
  1591. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1592. defined(TARGET_IS_TEMPEST_RB1) || \
  1593. defined(TARGET_IS_TEMPEST_RC1)
  1594. #define ROM_PWMGenIntClear \
  1595. ((void (*)(unsigned long ulBase, \
  1596. unsigned long ulGen, \
  1597. unsigned long ulInts))ROM_PWMTABLE[17])
  1598. #endif
  1599. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1600. defined(TARGET_IS_TEMPEST_RB1) || \
  1601. defined(TARGET_IS_TEMPEST_RC1)
  1602. #define ROM_PWMIntEnable \
  1603. ((void (*)(unsigned long ulBase, \
  1604. unsigned long ulGenFault))ROM_PWMTABLE[18])
  1605. #endif
  1606. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1607. defined(TARGET_IS_TEMPEST_RB1) || \
  1608. defined(TARGET_IS_TEMPEST_RC1)
  1609. #define ROM_PWMIntDisable \
  1610. ((void (*)(unsigned long ulBase, \
  1611. unsigned long ulGenFault))ROM_PWMTABLE[19])
  1612. #endif
  1613. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1614. defined(TARGET_IS_TEMPEST_RB1) || \
  1615. defined(TARGET_IS_TEMPEST_RC1)
  1616. #define ROM_PWMFaultIntClear \
  1617. ((void (*)(unsigned long ulBase))ROM_PWMTABLE[20])
  1618. #endif
  1619. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1620. defined(TARGET_IS_TEMPEST_RB1) || \
  1621. defined(TARGET_IS_TEMPEST_RC1)
  1622. #define ROM_PWMIntStatus \
  1623. ((unsigned long (*)(unsigned long ulBase, \
  1624. tBoolean bMasked))ROM_PWMTABLE[21])
  1625. #endif
  1626. #if defined(TARGET_IS_TEMPEST_RB1) || \
  1627. defined(TARGET_IS_TEMPEST_RC1)
  1628. #define ROM_PWMOutputFaultLevel \
  1629. ((void (*)(unsigned long ulBase, \
  1630. unsigned long ulPWMOutBits, \
  1631. tBoolean bDriveHigh))ROM_PWMTABLE[22])
  1632. #endif
  1633. #if defined(TARGET_IS_TEMPEST_RB1) || \
  1634. defined(TARGET_IS_TEMPEST_RC1)
  1635. #define ROM_PWMFaultIntClearExt \
  1636. ((void (*)(unsigned long ulBase, \
  1637. unsigned long ulFaultInts))ROM_PWMTABLE[23])
  1638. #endif
  1639. #if defined(TARGET_IS_TEMPEST_RB1) || \
  1640. defined(TARGET_IS_TEMPEST_RC1)
  1641. #define ROM_PWMGenFaultConfigure \
  1642. ((void (*)(unsigned long ulBase, \
  1643. unsigned long ulGen, \
  1644. unsigned long ulMinFaultPeriod, \
  1645. unsigned long ulFaultSenses))ROM_PWMTABLE[24])
  1646. #endif
  1647. #if defined(TARGET_IS_TEMPEST_RB1) || \
  1648. defined(TARGET_IS_TEMPEST_RC1)
  1649. #define ROM_PWMGenFaultTriggerSet \
  1650. ((void (*)(unsigned long ulBase, \
  1651. unsigned long ulGen, \
  1652. unsigned long ulGroup, \
  1653. unsigned long ulFaultTriggers))ROM_PWMTABLE[25])
  1654. #endif
  1655. #if defined(TARGET_IS_TEMPEST_RB1) || \
  1656. defined(TARGET_IS_TEMPEST_RC1)
  1657. #define ROM_PWMGenFaultTriggerGet \
  1658. ((unsigned long (*)(unsigned long ulBase, \
  1659. unsigned long ulGen, \
  1660. unsigned long ulGroup))ROM_PWMTABLE[26])
  1661. #endif
  1662. #if defined(TARGET_IS_TEMPEST_RB1) || \
  1663. defined(TARGET_IS_TEMPEST_RC1)
  1664. #define ROM_PWMGenFaultStatus \
  1665. ((unsigned long (*)(unsigned long ulBase, \
  1666. unsigned long ulGen, \
  1667. unsigned long ulGroup))ROM_PWMTABLE[27])
  1668. #endif
  1669. #if defined(TARGET_IS_TEMPEST_RB1) || \
  1670. defined(TARGET_IS_TEMPEST_RC1)
  1671. #define ROM_PWMGenFaultClear \
  1672. ((void (*)(unsigned long ulBase, \
  1673. unsigned long ulGen, \
  1674. unsigned long ulGroup, \
  1675. unsigned long ulFaultTriggers))ROM_PWMTABLE[28])
  1676. #endif
  1677. //*****************************************************************************
  1678. //
  1679. // Macros for calling ROM functions in the QEI API.
  1680. //
  1681. //*****************************************************************************
  1682. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1683. defined(TARGET_IS_TEMPEST_RB1) || \
  1684. defined(TARGET_IS_TEMPEST_RC1)
  1685. #define ROM_QEIPositionGet \
  1686. ((unsigned long (*)(unsigned long ulBase))ROM_QEITABLE[0])
  1687. #endif
  1688. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1689. defined(TARGET_IS_TEMPEST_RB1) || \
  1690. defined(TARGET_IS_TEMPEST_RC1)
  1691. #define ROM_QEIEnable \
  1692. ((void (*)(unsigned long ulBase))ROM_QEITABLE[1])
  1693. #endif
  1694. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1695. defined(TARGET_IS_TEMPEST_RB1) || \
  1696. defined(TARGET_IS_TEMPEST_RC1)
  1697. #define ROM_QEIDisable \
  1698. ((void (*)(unsigned long ulBase))ROM_QEITABLE[2])
  1699. #endif
  1700. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1701. defined(TARGET_IS_TEMPEST_RB1) || \
  1702. defined(TARGET_IS_TEMPEST_RC1)
  1703. #define ROM_QEIConfigure \
  1704. ((void (*)(unsigned long ulBase, \
  1705. unsigned long ulConfig, \
  1706. unsigned long ulMaxPosition))ROM_QEITABLE[3])
  1707. #endif
  1708. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1709. defined(TARGET_IS_TEMPEST_RB1) || \
  1710. defined(TARGET_IS_TEMPEST_RC1)
  1711. #define ROM_QEIPositionSet \
  1712. ((void (*)(unsigned long ulBase, \
  1713. unsigned long ulPosition))ROM_QEITABLE[4])
  1714. #endif
  1715. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1716. defined(TARGET_IS_TEMPEST_RB1) || \
  1717. defined(TARGET_IS_TEMPEST_RC1)
  1718. #define ROM_QEIDirectionGet \
  1719. ((long (*)(unsigned long ulBase))ROM_QEITABLE[5])
  1720. #endif
  1721. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1722. defined(TARGET_IS_TEMPEST_RB1) || \
  1723. defined(TARGET_IS_TEMPEST_RC1)
  1724. #define ROM_QEIErrorGet \
  1725. ((tBoolean (*)(unsigned long ulBase))ROM_QEITABLE[6])
  1726. #endif
  1727. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1728. defined(TARGET_IS_TEMPEST_RB1) || \
  1729. defined(TARGET_IS_TEMPEST_RC1)
  1730. #define ROM_QEIVelocityEnable \
  1731. ((void (*)(unsigned long ulBase))ROM_QEITABLE[7])
  1732. #endif
  1733. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1734. defined(TARGET_IS_TEMPEST_RB1) || \
  1735. defined(TARGET_IS_TEMPEST_RC1)
  1736. #define ROM_QEIVelocityDisable \
  1737. ((void (*)(unsigned long ulBase))ROM_QEITABLE[8])
  1738. #endif
  1739. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1740. defined(TARGET_IS_TEMPEST_RB1) || \
  1741. defined(TARGET_IS_TEMPEST_RC1)
  1742. #define ROM_QEIVelocityConfigure \
  1743. ((void (*)(unsigned long ulBase, \
  1744. unsigned long ulPreDiv, \
  1745. unsigned long ulPeriod))ROM_QEITABLE[9])
  1746. #endif
  1747. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1748. defined(TARGET_IS_TEMPEST_RB1) || \
  1749. defined(TARGET_IS_TEMPEST_RC1)
  1750. #define ROM_QEIVelocityGet \
  1751. ((unsigned long (*)(unsigned long ulBase))ROM_QEITABLE[10])
  1752. #endif
  1753. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1754. defined(TARGET_IS_TEMPEST_RB1) || \
  1755. defined(TARGET_IS_TEMPEST_RC1)
  1756. #define ROM_QEIIntEnable \
  1757. ((void (*)(unsigned long ulBase, \
  1758. unsigned long ulIntFlags))ROM_QEITABLE[11])
  1759. #endif
  1760. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1761. defined(TARGET_IS_TEMPEST_RB1) || \
  1762. defined(TARGET_IS_TEMPEST_RC1)
  1763. #define ROM_QEIIntDisable \
  1764. ((void (*)(unsigned long ulBase, \
  1765. unsigned long ulIntFlags))ROM_QEITABLE[12])
  1766. #endif
  1767. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1768. defined(TARGET_IS_TEMPEST_RB1) || \
  1769. defined(TARGET_IS_TEMPEST_RC1)
  1770. #define ROM_QEIIntStatus \
  1771. ((unsigned long (*)(unsigned long ulBase, \
  1772. tBoolean bMasked))ROM_QEITABLE[13])
  1773. #endif
  1774. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1775. defined(TARGET_IS_TEMPEST_RB1) || \
  1776. defined(TARGET_IS_TEMPEST_RC1)
  1777. #define ROM_QEIIntClear \
  1778. ((void (*)(unsigned long ulBase, \
  1779. unsigned long ulIntFlags))ROM_QEITABLE[14])
  1780. #endif
  1781. //*****************************************************************************
  1782. //
  1783. // Macros for calling ROM functions in the SSI API.
  1784. //
  1785. //*****************************************************************************
  1786. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1787. defined(TARGET_IS_TEMPEST_RB1) || \
  1788. defined(TARGET_IS_TEMPEST_RC1)
  1789. #define ROM_SSIDataPut \
  1790. ((void (*)(unsigned long ulBase, \
  1791. unsigned long ulData))ROM_SSITABLE[0])
  1792. #endif
  1793. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1794. defined(TARGET_IS_TEMPEST_RB1) || \
  1795. defined(TARGET_IS_TEMPEST_RC1)
  1796. #define ROM_SSIConfigSetExpClk \
  1797. ((void (*)(unsigned long ulBase, \
  1798. unsigned long ulSSIClk, \
  1799. unsigned long ulProtocol, \
  1800. unsigned long ulMode, \
  1801. unsigned long ulBitRate, \
  1802. unsigned long ulDataWidth))ROM_SSITABLE[1])
  1803. #endif
  1804. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1805. defined(TARGET_IS_TEMPEST_RB1) || \
  1806. defined(TARGET_IS_TEMPEST_RC1)
  1807. #define ROM_SSIEnable \
  1808. ((void (*)(unsigned long ulBase))ROM_SSITABLE[2])
  1809. #endif
  1810. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1811. defined(TARGET_IS_TEMPEST_RB1) || \
  1812. defined(TARGET_IS_TEMPEST_RC1)
  1813. #define ROM_SSIDisable \
  1814. ((void (*)(unsigned long ulBase))ROM_SSITABLE[3])
  1815. #endif
  1816. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1817. defined(TARGET_IS_TEMPEST_RB1) || \
  1818. defined(TARGET_IS_TEMPEST_RC1)
  1819. #define ROM_SSIIntEnable \
  1820. ((void (*)(unsigned long ulBase, \
  1821. unsigned long ulIntFlags))ROM_SSITABLE[4])
  1822. #endif
  1823. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1824. defined(TARGET_IS_TEMPEST_RB1) || \
  1825. defined(TARGET_IS_TEMPEST_RC1)
  1826. #define ROM_SSIIntDisable \
  1827. ((void (*)(unsigned long ulBase, \
  1828. unsigned long ulIntFlags))ROM_SSITABLE[5])
  1829. #endif
  1830. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1831. defined(TARGET_IS_TEMPEST_RB1) || \
  1832. defined(TARGET_IS_TEMPEST_RC1)
  1833. #define ROM_SSIIntStatus \
  1834. ((unsigned long (*)(unsigned long ulBase, \
  1835. tBoolean bMasked))ROM_SSITABLE[6])
  1836. #endif
  1837. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1838. defined(TARGET_IS_TEMPEST_RB1) || \
  1839. defined(TARGET_IS_TEMPEST_RC1)
  1840. #define ROM_SSIIntClear \
  1841. ((void (*)(unsigned long ulBase, \
  1842. unsigned long ulIntFlags))ROM_SSITABLE[7])
  1843. #endif
  1844. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1845. defined(TARGET_IS_TEMPEST_RB1) || \
  1846. defined(TARGET_IS_TEMPEST_RC1)
  1847. #define ROM_SSIDataPutNonBlocking \
  1848. ((long (*)(unsigned long ulBase, \
  1849. unsigned long ulData))ROM_SSITABLE[8])
  1850. #endif
  1851. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1852. defined(TARGET_IS_TEMPEST_RB1) || \
  1853. defined(TARGET_IS_TEMPEST_RC1)
  1854. #define ROM_SSIDataGet \
  1855. ((void (*)(unsigned long ulBase, \
  1856. unsigned long *pulData))ROM_SSITABLE[9])
  1857. #endif
  1858. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1859. defined(TARGET_IS_TEMPEST_RB1) || \
  1860. defined(TARGET_IS_TEMPEST_RC1)
  1861. #define ROM_SSIDataGetNonBlocking \
  1862. ((long (*)(unsigned long ulBase, \
  1863. unsigned long *pulData))ROM_SSITABLE[10])
  1864. #endif
  1865. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1866. defined(TARGET_IS_TEMPEST_RB1) || \
  1867. defined(TARGET_IS_TEMPEST_RC1)
  1868. #define ROM_UpdateSSI \
  1869. ((void (*)(void))ROM_SSITABLE[11])
  1870. #endif
  1871. #if defined(TARGET_IS_TEMPEST_RB1) || \
  1872. defined(TARGET_IS_TEMPEST_RC1)
  1873. #define ROM_SSIDMAEnable \
  1874. ((void (*)(unsigned long ulBase, \
  1875. unsigned long ulDMAFlags))ROM_SSITABLE[12])
  1876. #endif
  1877. #if defined(TARGET_IS_TEMPEST_RB1) || \
  1878. defined(TARGET_IS_TEMPEST_RC1)
  1879. #define ROM_SSIDMADisable \
  1880. ((void (*)(unsigned long ulBase, \
  1881. unsigned long ulDMAFlags))ROM_SSITABLE[13])
  1882. #endif
  1883. #if defined(TARGET_IS_TEMPEST_RC1)
  1884. #define ROM_SSIBusy \
  1885. ((tBoolean (*)(unsigned long ulBase))ROM_SSITABLE[14])
  1886. #endif
  1887. //*****************************************************************************
  1888. //
  1889. // Macros for calling ROM functions in the SysCtl API.
  1890. //
  1891. //*****************************************************************************
  1892. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1893. defined(TARGET_IS_TEMPEST_RB1) || \
  1894. defined(TARGET_IS_TEMPEST_RC1)
  1895. #define ROM_SysCtlSleep \
  1896. ((void (*)(void))ROM_SYSCTLTABLE[0])
  1897. #endif
  1898. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1899. defined(TARGET_IS_TEMPEST_RB1) || \
  1900. defined(TARGET_IS_TEMPEST_RC1)
  1901. #define ROM_SysCtlSRAMSizeGet \
  1902. ((unsigned long (*)(void))ROM_SYSCTLTABLE[1])
  1903. #endif
  1904. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1905. defined(TARGET_IS_TEMPEST_RB1) || \
  1906. defined(TARGET_IS_TEMPEST_RC1)
  1907. #define ROM_SysCtlFlashSizeGet \
  1908. ((unsigned long (*)(void))ROM_SYSCTLTABLE[2])
  1909. #endif
  1910. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1911. defined(TARGET_IS_TEMPEST_RB1) || \
  1912. defined(TARGET_IS_TEMPEST_RC1)
  1913. #define ROM_SysCtlPinPresent \
  1914. ((tBoolean (*)(unsigned long ulPin))ROM_SYSCTLTABLE[3])
  1915. #endif
  1916. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1917. defined(TARGET_IS_TEMPEST_RB1) || \
  1918. defined(TARGET_IS_TEMPEST_RC1)
  1919. #define ROM_SysCtlPeripheralPresent \
  1920. ((tBoolean (*)(unsigned long ulPeripheral))ROM_SYSCTLTABLE[4])
  1921. #endif
  1922. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1923. defined(TARGET_IS_TEMPEST_RB1) || \
  1924. defined(TARGET_IS_TEMPEST_RC1)
  1925. #define ROM_SysCtlPeripheralReset \
  1926. ((void (*)(unsigned long ulPeripheral))ROM_SYSCTLTABLE[5])
  1927. #endif
  1928. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1929. defined(TARGET_IS_TEMPEST_RB1) || \
  1930. defined(TARGET_IS_TEMPEST_RC1)
  1931. #define ROM_SysCtlPeripheralEnable \
  1932. ((void (*)(unsigned long ulPeripheral))ROM_SYSCTLTABLE[6])
  1933. #endif
  1934. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1935. defined(TARGET_IS_TEMPEST_RB1) || \
  1936. defined(TARGET_IS_TEMPEST_RC1)
  1937. #define ROM_SysCtlPeripheralDisable \
  1938. ((void (*)(unsigned long ulPeripheral))ROM_SYSCTLTABLE[7])
  1939. #endif
  1940. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1941. defined(TARGET_IS_TEMPEST_RB1) || \
  1942. defined(TARGET_IS_TEMPEST_RC1)
  1943. #define ROM_SysCtlPeripheralSleepEnable \
  1944. ((void (*)(unsigned long ulPeripheral))ROM_SYSCTLTABLE[8])
  1945. #endif
  1946. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1947. defined(TARGET_IS_TEMPEST_RB1) || \
  1948. defined(TARGET_IS_TEMPEST_RC1)
  1949. #define ROM_SysCtlPeripheralSleepDisable \
  1950. ((void (*)(unsigned long ulPeripheral))ROM_SYSCTLTABLE[9])
  1951. #endif
  1952. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1953. defined(TARGET_IS_TEMPEST_RB1) || \
  1954. defined(TARGET_IS_TEMPEST_RC1)
  1955. #define ROM_SysCtlPeripheralDeepSleepEnable \
  1956. ((void (*)(unsigned long ulPeripheral))ROM_SYSCTLTABLE[10])
  1957. #endif
  1958. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1959. defined(TARGET_IS_TEMPEST_RB1) || \
  1960. defined(TARGET_IS_TEMPEST_RC1)
  1961. #define ROM_SysCtlPeripheralDeepSleepDisable \
  1962. ((void (*)(unsigned long ulPeripheral))ROM_SYSCTLTABLE[11])
  1963. #endif
  1964. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1965. defined(TARGET_IS_TEMPEST_RB1) || \
  1966. defined(TARGET_IS_TEMPEST_RC1)
  1967. #define ROM_SysCtlPeripheralClockGating \
  1968. ((void (*)(tBoolean bEnable))ROM_SYSCTLTABLE[12])
  1969. #endif
  1970. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1971. defined(TARGET_IS_TEMPEST_RB1) || \
  1972. defined(TARGET_IS_TEMPEST_RC1)
  1973. #define ROM_SysCtlIntEnable \
  1974. ((void (*)(unsigned long ulInts))ROM_SYSCTLTABLE[13])
  1975. #endif
  1976. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1977. defined(TARGET_IS_TEMPEST_RB1) || \
  1978. defined(TARGET_IS_TEMPEST_RC1)
  1979. #define ROM_SysCtlIntDisable \
  1980. ((void (*)(unsigned long ulInts))ROM_SYSCTLTABLE[14])
  1981. #endif
  1982. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1983. defined(TARGET_IS_TEMPEST_RB1) || \
  1984. defined(TARGET_IS_TEMPEST_RC1)
  1985. #define ROM_SysCtlIntClear \
  1986. ((void (*)(unsigned long ulInts))ROM_SYSCTLTABLE[15])
  1987. #endif
  1988. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1989. defined(TARGET_IS_TEMPEST_RB1) || \
  1990. defined(TARGET_IS_TEMPEST_RC1)
  1991. #define ROM_SysCtlIntStatus \
  1992. ((unsigned long (*)(tBoolean bMasked))ROM_SYSCTLTABLE[16])
  1993. #endif
  1994. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  1995. defined(TARGET_IS_TEMPEST_RB1) || \
  1996. defined(TARGET_IS_TEMPEST_RC1)
  1997. #define ROM_SysCtlLDOSet \
  1998. ((void (*)(unsigned long ulVoltage))ROM_SYSCTLTABLE[17])
  1999. #endif
  2000. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2001. defined(TARGET_IS_TEMPEST_RB1) || \
  2002. defined(TARGET_IS_TEMPEST_RC1)
  2003. #define ROM_SysCtlLDOGet \
  2004. ((unsigned long (*)(void))ROM_SYSCTLTABLE[18])
  2005. #endif
  2006. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2007. defined(TARGET_IS_TEMPEST_RB1) || \
  2008. defined(TARGET_IS_TEMPEST_RC1)
  2009. #define ROM_SysCtlReset \
  2010. ((void (*)(void))ROM_SYSCTLTABLE[19])
  2011. #endif
  2012. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2013. defined(TARGET_IS_TEMPEST_RB1) || \
  2014. defined(TARGET_IS_TEMPEST_RC1)
  2015. #define ROM_SysCtlDeepSleep \
  2016. ((void (*)(void))ROM_SYSCTLTABLE[20])
  2017. #endif
  2018. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2019. defined(TARGET_IS_TEMPEST_RB1) || \
  2020. defined(TARGET_IS_TEMPEST_RC1)
  2021. #define ROM_SysCtlResetCauseGet \
  2022. ((unsigned long (*)(void))ROM_SYSCTLTABLE[21])
  2023. #endif
  2024. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2025. defined(TARGET_IS_TEMPEST_RB1) || \
  2026. defined(TARGET_IS_TEMPEST_RC1)
  2027. #define ROM_SysCtlResetCauseClear \
  2028. ((void (*)(unsigned long ulCauses))ROM_SYSCTLTABLE[22])
  2029. #endif
  2030. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2031. defined(TARGET_IS_TEMPEST_RB1) || \
  2032. defined(TARGET_IS_TEMPEST_RC1)
  2033. #define ROM_SysCtlClockSet \
  2034. ((void (*)(unsigned long ulConfig))ROM_SYSCTLTABLE[23])
  2035. #endif
  2036. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2037. defined(TARGET_IS_TEMPEST_RB1) || \
  2038. defined(TARGET_IS_TEMPEST_RC1)
  2039. #define ROM_SysCtlClockGet \
  2040. ((unsigned long (*)(void))ROM_SYSCTLTABLE[24])
  2041. #endif
  2042. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2043. defined(TARGET_IS_TEMPEST_RB1) || \
  2044. defined(TARGET_IS_TEMPEST_RC1)
  2045. #define ROM_SysCtlPWMClockSet \
  2046. ((void (*)(unsigned long ulConfig))ROM_SYSCTLTABLE[25])
  2047. #endif
  2048. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2049. defined(TARGET_IS_TEMPEST_RB1) || \
  2050. defined(TARGET_IS_TEMPEST_RC1)
  2051. #define ROM_SysCtlPWMClockGet \
  2052. ((unsigned long (*)(void))ROM_SYSCTLTABLE[26])
  2053. #endif
  2054. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2055. defined(TARGET_IS_TEMPEST_RB1) || \
  2056. defined(TARGET_IS_TEMPEST_RC1)
  2057. #define ROM_SysCtlADCSpeedSet \
  2058. ((void (*)(unsigned long ulSpeed))ROM_SYSCTLTABLE[27])
  2059. #endif
  2060. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2061. defined(TARGET_IS_TEMPEST_RB1) || \
  2062. defined(TARGET_IS_TEMPEST_RC1)
  2063. #define ROM_SysCtlADCSpeedGet \
  2064. ((unsigned long (*)(void))ROM_SYSCTLTABLE[28])
  2065. #endif
  2066. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2067. defined(TARGET_IS_TEMPEST_RB1) || \
  2068. defined(TARGET_IS_TEMPEST_RC1)
  2069. #define ROM_SysCtlGPIOAHBEnable \
  2070. ((void (*)(unsigned long ulGPIOPeripheral))ROM_SYSCTLTABLE[29])
  2071. #endif
  2072. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2073. defined(TARGET_IS_TEMPEST_RB1) || \
  2074. defined(TARGET_IS_TEMPEST_RC1)
  2075. #define ROM_SysCtlGPIOAHBDisable \
  2076. ((void (*)(unsigned long ulGPIOPeripheral))ROM_SYSCTLTABLE[30])
  2077. #endif
  2078. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2079. defined(TARGET_IS_TEMPEST_RC1)
  2080. #define ROM_SysCtlUSBPLLEnable \
  2081. ((void (*)(void))ROM_SYSCTLTABLE[31])
  2082. #endif
  2083. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2084. defined(TARGET_IS_TEMPEST_RC1)
  2085. #define ROM_SysCtlUSBPLLDisable \
  2086. ((void (*)(void))ROM_SYSCTLTABLE[32])
  2087. #endif
  2088. #if defined(TARGET_IS_TEMPEST_RC1)
  2089. #define ROM_SysCtlI2SMClkSet \
  2090. ((unsigned long (*)(unsigned long ulInputClock, \
  2091. unsigned long ulMClk))ROM_SYSCTLTABLE[33])
  2092. #endif
  2093. #if defined(TARGET_IS_TEMPEST_RC1)
  2094. #define ROM_SysCtlDelay \
  2095. ((void (*)(unsigned long ulCount))ROM_SYSCTLTABLE[34])
  2096. #endif
  2097. //*****************************************************************************
  2098. //
  2099. // Macros for calling ROM functions in the SysTick API.
  2100. //
  2101. //*****************************************************************************
  2102. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2103. defined(TARGET_IS_TEMPEST_RB1) || \
  2104. defined(TARGET_IS_TEMPEST_RC1)
  2105. #define ROM_SysTickValueGet \
  2106. ((unsigned long (*)(void))ROM_SYSTICKTABLE[0])
  2107. #endif
  2108. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2109. defined(TARGET_IS_TEMPEST_RB1) || \
  2110. defined(TARGET_IS_TEMPEST_RC1)
  2111. #define ROM_SysTickEnable \
  2112. ((void (*)(void))ROM_SYSTICKTABLE[1])
  2113. #endif
  2114. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2115. defined(TARGET_IS_TEMPEST_RB1) || \
  2116. defined(TARGET_IS_TEMPEST_RC1)
  2117. #define ROM_SysTickDisable \
  2118. ((void (*)(void))ROM_SYSTICKTABLE[2])
  2119. #endif
  2120. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2121. defined(TARGET_IS_TEMPEST_RB1) || \
  2122. defined(TARGET_IS_TEMPEST_RC1)
  2123. #define ROM_SysTickIntEnable \
  2124. ((void (*)(void))ROM_SYSTICKTABLE[3])
  2125. #endif
  2126. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2127. defined(TARGET_IS_TEMPEST_RB1) || \
  2128. defined(TARGET_IS_TEMPEST_RC1)
  2129. #define ROM_SysTickIntDisable \
  2130. ((void (*)(void))ROM_SYSTICKTABLE[4])
  2131. #endif
  2132. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2133. defined(TARGET_IS_TEMPEST_RB1) || \
  2134. defined(TARGET_IS_TEMPEST_RC1)
  2135. #define ROM_SysTickPeriodSet \
  2136. ((void (*)(unsigned long ulPeriod))ROM_SYSTICKTABLE[5])
  2137. #endif
  2138. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2139. defined(TARGET_IS_TEMPEST_RB1) || \
  2140. defined(TARGET_IS_TEMPEST_RC1)
  2141. #define ROM_SysTickPeriodGet \
  2142. ((unsigned long (*)(void))ROM_SYSTICKTABLE[6])
  2143. #endif
  2144. //*****************************************************************************
  2145. //
  2146. // Macros for calling ROM functions in the Timer API.
  2147. //
  2148. //*****************************************************************************
  2149. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2150. defined(TARGET_IS_TEMPEST_RB1) || \
  2151. defined(TARGET_IS_TEMPEST_RC1)
  2152. #define ROM_TimerIntClear \
  2153. ((void (*)(unsigned long ulBase, \
  2154. unsigned long ulIntFlags))ROM_TIMERTABLE[0])
  2155. #endif
  2156. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2157. defined(TARGET_IS_TEMPEST_RB1) || \
  2158. defined(TARGET_IS_TEMPEST_RC1)
  2159. #define ROM_TimerEnable \
  2160. ((void (*)(unsigned long ulBase, \
  2161. unsigned long ulTimer))ROM_TIMERTABLE[1])
  2162. #endif
  2163. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2164. defined(TARGET_IS_TEMPEST_RB1) || \
  2165. defined(TARGET_IS_TEMPEST_RC1)
  2166. #define ROM_TimerDisable \
  2167. ((void (*)(unsigned long ulBase, \
  2168. unsigned long ulTimer))ROM_TIMERTABLE[2])
  2169. #endif
  2170. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2171. defined(TARGET_IS_TEMPEST_RB1) || \
  2172. defined(TARGET_IS_TEMPEST_RC1)
  2173. #define ROM_TimerConfigure \
  2174. ((void (*)(unsigned long ulBase, \
  2175. unsigned long ulConfig))ROM_TIMERTABLE[3])
  2176. #endif
  2177. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2178. defined(TARGET_IS_TEMPEST_RB1) || \
  2179. defined(TARGET_IS_TEMPEST_RC1)
  2180. #define ROM_TimerControlLevel \
  2181. ((void (*)(unsigned long ulBase, \
  2182. unsigned long ulTimer, \
  2183. tBoolean bInvert))ROM_TIMERTABLE[4])
  2184. #endif
  2185. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2186. defined(TARGET_IS_TEMPEST_RB1) || \
  2187. defined(TARGET_IS_TEMPEST_RC1)
  2188. #define ROM_TimerControlTrigger \
  2189. ((void (*)(unsigned long ulBase, \
  2190. unsigned long ulTimer, \
  2191. tBoolean bEnable))ROM_TIMERTABLE[5])
  2192. #endif
  2193. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2194. defined(TARGET_IS_TEMPEST_RB1) || \
  2195. defined(TARGET_IS_TEMPEST_RC1)
  2196. #define ROM_TimerControlEvent \
  2197. ((void (*)(unsigned long ulBase, \
  2198. unsigned long ulTimer, \
  2199. unsigned long ulEvent))ROM_TIMERTABLE[6])
  2200. #endif
  2201. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2202. defined(TARGET_IS_TEMPEST_RB1) || \
  2203. defined(TARGET_IS_TEMPEST_RC1)
  2204. #define ROM_TimerControlStall \
  2205. ((void (*)(unsigned long ulBase, \
  2206. unsigned long ulTimer, \
  2207. tBoolean bStall))ROM_TIMERTABLE[7])
  2208. #endif
  2209. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2210. defined(TARGET_IS_TEMPEST_RB1) || \
  2211. defined(TARGET_IS_TEMPEST_RC1)
  2212. #define ROM_TimerRTCEnable \
  2213. ((void (*)(unsigned long ulBase))ROM_TIMERTABLE[8])
  2214. #endif
  2215. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2216. defined(TARGET_IS_TEMPEST_RB1) || \
  2217. defined(TARGET_IS_TEMPEST_RC1)
  2218. #define ROM_TimerRTCDisable \
  2219. ((void (*)(unsigned long ulBase))ROM_TIMERTABLE[9])
  2220. #endif
  2221. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2222. defined(TARGET_IS_TEMPEST_RB1) || \
  2223. defined(TARGET_IS_TEMPEST_RC1)
  2224. #define ROM_TimerPrescaleSet \
  2225. ((void (*)(unsigned long ulBase, \
  2226. unsigned long ulTimer, \
  2227. unsigned long ulValue))ROM_TIMERTABLE[10])
  2228. #endif
  2229. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2230. defined(TARGET_IS_TEMPEST_RB1) || \
  2231. defined(TARGET_IS_TEMPEST_RC1)
  2232. #define ROM_TimerPrescaleGet \
  2233. ((unsigned long (*)(unsigned long ulBase, \
  2234. unsigned long ulTimer))ROM_TIMERTABLE[11])
  2235. #endif
  2236. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2237. defined(TARGET_IS_TEMPEST_RB1) || \
  2238. defined(TARGET_IS_TEMPEST_RC1)
  2239. #define ROM_TimerLoadSet \
  2240. ((void (*)(unsigned long ulBase, \
  2241. unsigned long ulTimer, \
  2242. unsigned long ulValue))ROM_TIMERTABLE[14])
  2243. #endif
  2244. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2245. defined(TARGET_IS_TEMPEST_RB1) || \
  2246. defined(TARGET_IS_TEMPEST_RC1)
  2247. #define ROM_TimerLoadGet \
  2248. ((unsigned long (*)(unsigned long ulBase, \
  2249. unsigned long ulTimer))ROM_TIMERTABLE[15])
  2250. #endif
  2251. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2252. defined(TARGET_IS_TEMPEST_RB1) || \
  2253. defined(TARGET_IS_TEMPEST_RC1)
  2254. #define ROM_TimerValueGet \
  2255. ((unsigned long (*)(unsigned long ulBase, \
  2256. unsigned long ulTimer))ROM_TIMERTABLE[16])
  2257. #endif
  2258. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2259. defined(TARGET_IS_TEMPEST_RB1) || \
  2260. defined(TARGET_IS_TEMPEST_RC1)
  2261. #define ROM_TimerMatchSet \
  2262. ((void (*)(unsigned long ulBase, \
  2263. unsigned long ulTimer, \
  2264. unsigned long ulValue))ROM_TIMERTABLE[17])
  2265. #endif
  2266. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2267. defined(TARGET_IS_TEMPEST_RB1) || \
  2268. defined(TARGET_IS_TEMPEST_RC1)
  2269. #define ROM_TimerMatchGet \
  2270. ((unsigned long (*)(unsigned long ulBase, \
  2271. unsigned long ulTimer))ROM_TIMERTABLE[18])
  2272. #endif
  2273. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2274. defined(TARGET_IS_TEMPEST_RB1) || \
  2275. defined(TARGET_IS_TEMPEST_RC1)
  2276. #define ROM_TimerIntEnable \
  2277. ((void (*)(unsigned long ulBase, \
  2278. unsigned long ulIntFlags))ROM_TIMERTABLE[19])
  2279. #endif
  2280. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2281. defined(TARGET_IS_TEMPEST_RB1) || \
  2282. defined(TARGET_IS_TEMPEST_RC1)
  2283. #define ROM_TimerIntDisable \
  2284. ((void (*)(unsigned long ulBase, \
  2285. unsigned long ulIntFlags))ROM_TIMERTABLE[20])
  2286. #endif
  2287. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2288. defined(TARGET_IS_TEMPEST_RB1) || \
  2289. defined(TARGET_IS_TEMPEST_RC1)
  2290. #define ROM_TimerIntStatus \
  2291. ((unsigned long (*)(unsigned long ulBase, \
  2292. tBoolean bMasked))ROM_TIMERTABLE[21])
  2293. #endif
  2294. //*****************************************************************************
  2295. //
  2296. // Macros for calling ROM functions in the UART API.
  2297. //
  2298. //*****************************************************************************
  2299. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2300. defined(TARGET_IS_TEMPEST_RB1) || \
  2301. defined(TARGET_IS_TEMPEST_RC1)
  2302. #define ROM_UARTCharPut \
  2303. ((void (*)(unsigned long ulBase, \
  2304. unsigned char ucData))ROM_UARTTABLE[0])
  2305. #endif
  2306. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2307. defined(TARGET_IS_TEMPEST_RB1) || \
  2308. defined(TARGET_IS_TEMPEST_RC1)
  2309. #define ROM_UARTParityModeSet \
  2310. ((void (*)(unsigned long ulBase, \
  2311. unsigned long ulParity))ROM_UARTTABLE[1])
  2312. #endif
  2313. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2314. defined(TARGET_IS_TEMPEST_RB1) || \
  2315. defined(TARGET_IS_TEMPEST_RC1)
  2316. #define ROM_UARTParityModeGet \
  2317. ((unsigned long (*)(unsigned long ulBase))ROM_UARTTABLE[2])
  2318. #endif
  2319. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2320. defined(TARGET_IS_TEMPEST_RB1) || \
  2321. defined(TARGET_IS_TEMPEST_RC1)
  2322. #define ROM_UARTFIFOLevelSet \
  2323. ((void (*)(unsigned long ulBase, \
  2324. unsigned long ulTxLevel, \
  2325. unsigned long ulRxLevel))ROM_UARTTABLE[3])
  2326. #endif
  2327. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2328. defined(TARGET_IS_TEMPEST_RB1) || \
  2329. defined(TARGET_IS_TEMPEST_RC1)
  2330. #define ROM_UARTFIFOLevelGet \
  2331. ((void (*)(unsigned long ulBase, \
  2332. unsigned long *pulTxLevel, \
  2333. unsigned long *pulRxLevel))ROM_UARTTABLE[4])
  2334. #endif
  2335. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2336. defined(TARGET_IS_TEMPEST_RB1) || \
  2337. defined(TARGET_IS_TEMPEST_RC1)
  2338. #define ROM_UARTConfigSetExpClk \
  2339. ((void (*)(unsigned long ulBase, \
  2340. unsigned long ulUARTClk, \
  2341. unsigned long ulBaud, \
  2342. unsigned long ulConfig))ROM_UARTTABLE[5])
  2343. #endif
  2344. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2345. defined(TARGET_IS_TEMPEST_RB1) || \
  2346. defined(TARGET_IS_TEMPEST_RC1)
  2347. #define ROM_UARTConfigGetExpClk \
  2348. ((void (*)(unsigned long ulBase, \
  2349. unsigned long ulUARTClk, \
  2350. unsigned long *pulBaud, \
  2351. unsigned long *pulConfig))ROM_UARTTABLE[6])
  2352. #endif
  2353. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2354. defined(TARGET_IS_TEMPEST_RB1) || \
  2355. defined(TARGET_IS_TEMPEST_RC1)
  2356. #define ROM_UARTEnable \
  2357. ((void (*)(unsigned long ulBase))ROM_UARTTABLE[7])
  2358. #endif
  2359. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2360. defined(TARGET_IS_TEMPEST_RB1) || \
  2361. defined(TARGET_IS_TEMPEST_RC1)
  2362. #define ROM_UARTDisable \
  2363. ((void (*)(unsigned long ulBase))ROM_UARTTABLE[8])
  2364. #endif
  2365. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2366. defined(TARGET_IS_TEMPEST_RB1) || \
  2367. defined(TARGET_IS_TEMPEST_RC1)
  2368. #define ROM_UARTEnableSIR \
  2369. ((void (*)(unsigned long ulBase, \
  2370. tBoolean bLowPower))ROM_UARTTABLE[9])
  2371. #endif
  2372. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2373. defined(TARGET_IS_TEMPEST_RB1) || \
  2374. defined(TARGET_IS_TEMPEST_RC1)
  2375. #define ROM_UARTDisableSIR \
  2376. ((void (*)(unsigned long ulBase))ROM_UARTTABLE[10])
  2377. #endif
  2378. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2379. defined(TARGET_IS_TEMPEST_RB1) || \
  2380. defined(TARGET_IS_TEMPEST_RC1)
  2381. #define ROM_UARTCharsAvail \
  2382. ((tBoolean (*)(unsigned long ulBase))ROM_UARTTABLE[11])
  2383. #endif
  2384. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2385. defined(TARGET_IS_TEMPEST_RB1) || \
  2386. defined(TARGET_IS_TEMPEST_RC1)
  2387. #define ROM_UARTSpaceAvail \
  2388. ((tBoolean (*)(unsigned long ulBase))ROM_UARTTABLE[12])
  2389. #endif
  2390. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2391. defined(TARGET_IS_TEMPEST_RB1) || \
  2392. defined(TARGET_IS_TEMPEST_RC1)
  2393. #define ROM_UARTCharGetNonBlocking \
  2394. ((long (*)(unsigned long ulBase))ROM_UARTTABLE[13])
  2395. #endif
  2396. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2397. defined(TARGET_IS_TEMPEST_RB1) || \
  2398. defined(TARGET_IS_TEMPEST_RC1)
  2399. #define ROM_UARTCharGet \
  2400. ((long (*)(unsigned long ulBase))ROM_UARTTABLE[14])
  2401. #endif
  2402. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2403. defined(TARGET_IS_TEMPEST_RB1) || \
  2404. defined(TARGET_IS_TEMPEST_RC1)
  2405. #define ROM_UARTCharPutNonBlocking \
  2406. ((tBoolean (*)(unsigned long ulBase, \
  2407. unsigned char ucData))ROM_UARTTABLE[15])
  2408. #endif
  2409. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2410. defined(TARGET_IS_TEMPEST_RB1) || \
  2411. defined(TARGET_IS_TEMPEST_RC1)
  2412. #define ROM_UARTBreakCtl \
  2413. ((void (*)(unsigned long ulBase, \
  2414. tBoolean bBreakState))ROM_UARTTABLE[16])
  2415. #endif
  2416. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2417. defined(TARGET_IS_TEMPEST_RB1) || \
  2418. defined(TARGET_IS_TEMPEST_RC1)
  2419. #define ROM_UARTIntEnable \
  2420. ((void (*)(unsigned long ulBase, \
  2421. unsigned long ulIntFlags))ROM_UARTTABLE[17])
  2422. #endif
  2423. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2424. defined(TARGET_IS_TEMPEST_RB1) || \
  2425. defined(TARGET_IS_TEMPEST_RC1)
  2426. #define ROM_UARTIntDisable \
  2427. ((void (*)(unsigned long ulBase, \
  2428. unsigned long ulIntFlags))ROM_UARTTABLE[18])
  2429. #endif
  2430. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2431. defined(TARGET_IS_TEMPEST_RB1) || \
  2432. defined(TARGET_IS_TEMPEST_RC1)
  2433. #define ROM_UARTIntStatus \
  2434. ((unsigned long (*)(unsigned long ulBase, \
  2435. tBoolean bMasked))ROM_UARTTABLE[19])
  2436. #endif
  2437. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2438. defined(TARGET_IS_TEMPEST_RB1) || \
  2439. defined(TARGET_IS_TEMPEST_RC1)
  2440. #define ROM_UARTIntClear \
  2441. ((void (*)(unsigned long ulBase, \
  2442. unsigned long ulIntFlags))ROM_UARTTABLE[20])
  2443. #endif
  2444. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2445. defined(TARGET_IS_TEMPEST_RB1) || \
  2446. defined(TARGET_IS_TEMPEST_RC1)
  2447. #define ROM_UpdateUART \
  2448. ((void (*)(void))ROM_UARTTABLE[21])
  2449. #endif
  2450. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2451. defined(TARGET_IS_TEMPEST_RC1)
  2452. #define ROM_UARTDMAEnable \
  2453. ((void (*)(unsigned long ulBase, \
  2454. unsigned long ulDMAFlags))ROM_UARTTABLE[22])
  2455. #endif
  2456. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2457. defined(TARGET_IS_TEMPEST_RC1)
  2458. #define ROM_UARTDMADisable \
  2459. ((void (*)(unsigned long ulBase, \
  2460. unsigned long ulDMAFlags))ROM_UARTTABLE[23])
  2461. #endif
  2462. #if defined(TARGET_IS_TEMPEST_RC1)
  2463. #define ROM_UARTFIFOEnable \
  2464. ((void (*)(unsigned long ulBase))ROM_UARTTABLE[24])
  2465. #endif
  2466. #if defined(TARGET_IS_TEMPEST_RC1)
  2467. #define ROM_UARTFIFODisable \
  2468. ((void (*)(unsigned long ulBase))ROM_UARTTABLE[25])
  2469. #endif
  2470. #if defined(TARGET_IS_TEMPEST_RC1)
  2471. #define ROM_UARTBusy \
  2472. ((tBoolean (*)(unsigned long ulBase))ROM_UARTTABLE[26])
  2473. #endif
  2474. #if defined(TARGET_IS_TEMPEST_RC1)
  2475. #define ROM_UARTTxIntModeSet \
  2476. ((void (*)(unsigned long ulBase, \
  2477. unsigned long ulMode))ROM_UARTTABLE[27])
  2478. #endif
  2479. #if defined(TARGET_IS_TEMPEST_RC1)
  2480. #define ROM_UARTTxIntModeGet \
  2481. ((unsigned long (*)(unsigned long ulBase))ROM_UARTTABLE[28])
  2482. #endif
  2483. #if defined(TARGET_IS_TEMPEST_RC1)
  2484. #define ROM_UARTRxErrorGet \
  2485. ((unsigned long (*)(unsigned long ulBase))ROM_UARTTABLE[29])
  2486. #endif
  2487. #if defined(TARGET_IS_TEMPEST_RC1)
  2488. #define ROM_UARTRxErrorClear \
  2489. ((void (*)(unsigned long ulBase))ROM_UARTTABLE[30])
  2490. #endif
  2491. //*****************************************************************************
  2492. //
  2493. // Macros for calling ROM functions in the uDMA API.
  2494. //
  2495. //*****************************************************************************
  2496. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2497. defined(TARGET_IS_TEMPEST_RC1)
  2498. #define ROM_uDMAChannelTransferSet \
  2499. ((void (*)(unsigned long ulChannel, \
  2500. unsigned long ulMode, \
  2501. void *pvSrcAddr, \
  2502. void *pvDstAddr, \
  2503. unsigned long ulTransferSize))ROM_UDMATABLE[0])
  2504. #endif
  2505. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2506. defined(TARGET_IS_TEMPEST_RC1)
  2507. #define ROM_uDMAEnable \
  2508. ((void (*)(void))ROM_UDMATABLE[1])
  2509. #endif
  2510. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2511. defined(TARGET_IS_TEMPEST_RC1)
  2512. #define ROM_uDMADisable \
  2513. ((void (*)(void))ROM_UDMATABLE[2])
  2514. #endif
  2515. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2516. defined(TARGET_IS_TEMPEST_RC1)
  2517. #define ROM_uDMAErrorStatusGet \
  2518. ((unsigned long (*)(void))ROM_UDMATABLE[3])
  2519. #endif
  2520. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2521. defined(TARGET_IS_TEMPEST_RC1)
  2522. #define ROM_uDMAErrorStatusClear \
  2523. ((void (*)(void))ROM_UDMATABLE[4])
  2524. #endif
  2525. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2526. defined(TARGET_IS_TEMPEST_RC1)
  2527. #define ROM_uDMAChannelEnable \
  2528. ((void (*)(unsigned long ulChannel))ROM_UDMATABLE[5])
  2529. #endif
  2530. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2531. defined(TARGET_IS_TEMPEST_RC1)
  2532. #define ROM_uDMAChannelDisable \
  2533. ((void (*)(unsigned long ulChannel))ROM_UDMATABLE[6])
  2534. #endif
  2535. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2536. defined(TARGET_IS_TEMPEST_RC1)
  2537. #define ROM_uDMAChannelIsEnabled \
  2538. ((tBoolean (*)(unsigned long ulChannel))ROM_UDMATABLE[7])
  2539. #endif
  2540. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2541. defined(TARGET_IS_TEMPEST_RC1)
  2542. #define ROM_uDMAControlBaseSet \
  2543. ((void (*)(void *pControlTable))ROM_UDMATABLE[8])
  2544. #endif
  2545. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2546. defined(TARGET_IS_TEMPEST_RC1)
  2547. #define ROM_uDMAControlBaseGet \
  2548. ((void * (*)(void))ROM_UDMATABLE[9])
  2549. #endif
  2550. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2551. defined(TARGET_IS_TEMPEST_RC1)
  2552. #define ROM_uDMAChannelRequest \
  2553. ((void (*)(unsigned long ulChannel))ROM_UDMATABLE[10])
  2554. #endif
  2555. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2556. defined(TARGET_IS_TEMPEST_RC1)
  2557. #define ROM_uDMAChannelAttributeEnable \
  2558. ((void (*)(unsigned long ulChannel, \
  2559. unsigned long ulAttr))ROM_UDMATABLE[11])
  2560. #endif
  2561. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2562. defined(TARGET_IS_TEMPEST_RC1)
  2563. #define ROM_uDMAChannelAttributeDisable \
  2564. ((void (*)(unsigned long ulChannel, \
  2565. unsigned long ulAttr))ROM_UDMATABLE[12])
  2566. #endif
  2567. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2568. defined(TARGET_IS_TEMPEST_RC1)
  2569. #define ROM_uDMAChannelAttributeGet \
  2570. ((unsigned long (*)(unsigned long ulChannel))ROM_UDMATABLE[13])
  2571. #endif
  2572. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2573. defined(TARGET_IS_TEMPEST_RC1)
  2574. #define ROM_uDMAChannelControlSet \
  2575. ((void (*)(unsigned long ulChannel, \
  2576. unsigned long ulControl))ROM_UDMATABLE[14])
  2577. #endif
  2578. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2579. defined(TARGET_IS_TEMPEST_RC1)
  2580. #define ROM_uDMAChannelSizeGet \
  2581. ((unsigned long (*)(unsigned long ulChannel))ROM_UDMATABLE[15])
  2582. #endif
  2583. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2584. defined(TARGET_IS_TEMPEST_RC1)
  2585. #define ROM_uDMAChannelModeGet \
  2586. ((unsigned long (*)(unsigned long ulChannel))ROM_UDMATABLE[16])
  2587. #endif
  2588. #if defined(TARGET_IS_TEMPEST_RC1)
  2589. #define ROM_uDMAChannelSelectSecondary \
  2590. ((void (*)(unsigned long ulSecPeriphs))ROM_UDMATABLE[17])
  2591. #endif
  2592. #if defined(TARGET_IS_TEMPEST_RC1)
  2593. #define ROM_uDMAChannelSelectDefault \
  2594. ((void (*)(unsigned long ulDefPeriphs))ROM_UDMATABLE[18])
  2595. #endif
  2596. //*****************************************************************************
  2597. //
  2598. // Macros for calling ROM functions in the USB API.
  2599. //
  2600. //*****************************************************************************
  2601. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2602. defined(TARGET_IS_TEMPEST_RC1)
  2603. #define ROM_USBIntStatus \
  2604. ((unsigned long (*)(unsigned long ulBase))ROM_USBTABLE[0])
  2605. #endif
  2606. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2607. defined(TARGET_IS_TEMPEST_RC1)
  2608. #define ROM_USBDevAddrGet \
  2609. ((unsigned long (*)(unsigned long ulBase))ROM_USBTABLE[1])
  2610. #endif
  2611. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2612. defined(TARGET_IS_TEMPEST_RC1)
  2613. #define ROM_USBDevAddrSet \
  2614. ((void (*)(unsigned long ulBase, \
  2615. unsigned long ulAddress))ROM_USBTABLE[2])
  2616. #endif
  2617. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2618. defined(TARGET_IS_TEMPEST_RC1)
  2619. #define ROM_USBDevConnect \
  2620. ((void (*)(unsigned long ulBase))ROM_USBTABLE[3])
  2621. #endif
  2622. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2623. defined(TARGET_IS_TEMPEST_RC1)
  2624. #define ROM_USBDevDisconnect \
  2625. ((void (*)(unsigned long ulBase))ROM_USBTABLE[4])
  2626. #endif
  2627. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2628. defined(TARGET_IS_TEMPEST_RC1)
  2629. #define ROM_USBDevEndpointConfigSet \
  2630. ((void (*)(unsigned long ulBase, \
  2631. unsigned long ulEndpoint, \
  2632. unsigned long ulMaxPacketSize, \
  2633. unsigned long ulFlags))ROM_USBTABLE[5])
  2634. #endif
  2635. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2636. defined(TARGET_IS_TEMPEST_RC1)
  2637. #define ROM_USBDevEndpointDataAck \
  2638. ((void (*)(unsigned long ulBase, \
  2639. unsigned long ulEndpoint, \
  2640. tBoolean bIsLastPacket))ROM_USBTABLE[6])
  2641. #endif
  2642. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2643. defined(TARGET_IS_TEMPEST_RC1)
  2644. #define ROM_USBDevEndpointStall \
  2645. ((void (*)(unsigned long ulBase, \
  2646. unsigned long ulEndpoint, \
  2647. unsigned long ulFlags))ROM_USBTABLE[7])
  2648. #endif
  2649. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2650. defined(TARGET_IS_TEMPEST_RC1)
  2651. #define ROM_USBDevEndpointStallClear \
  2652. ((void (*)(unsigned long ulBase, \
  2653. unsigned long ulEndpoint, \
  2654. unsigned long ulFlags))ROM_USBTABLE[8])
  2655. #endif
  2656. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2657. defined(TARGET_IS_TEMPEST_RC1)
  2658. #define ROM_USBDevEndpointStatusClear \
  2659. ((void (*)(unsigned long ulBase, \
  2660. unsigned long ulEndpoint, \
  2661. unsigned long ulFlags))ROM_USBTABLE[9])
  2662. #endif
  2663. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2664. defined(TARGET_IS_TEMPEST_RC1)
  2665. #define ROM_USBEndpointDataGet \
  2666. ((long (*)(unsigned long ulBase, \
  2667. unsigned long ulEndpoint, \
  2668. unsigned char *pucData, \
  2669. unsigned long *pulSize))ROM_USBTABLE[10])
  2670. #endif
  2671. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2672. defined(TARGET_IS_TEMPEST_RC1)
  2673. #define ROM_USBEndpointDataPut \
  2674. ((long (*)(unsigned long ulBase, \
  2675. unsigned long ulEndpoint, \
  2676. unsigned char *pucData, \
  2677. unsigned long ulSize))ROM_USBTABLE[11])
  2678. #endif
  2679. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2680. defined(TARGET_IS_TEMPEST_RC1)
  2681. #define ROM_USBEndpointDataSend \
  2682. ((long (*)(unsigned long ulBase, \
  2683. unsigned long ulEndpoint, \
  2684. unsigned long ulTransType))ROM_USBTABLE[12])
  2685. #endif
  2686. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2687. defined(TARGET_IS_TEMPEST_RC1)
  2688. #define ROM_USBEndpointDataToggleClear \
  2689. ((void (*)(unsigned long ulBase, \
  2690. unsigned long ulEndpoint, \
  2691. unsigned long ulFlags))ROM_USBTABLE[13])
  2692. #endif
  2693. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2694. defined(TARGET_IS_TEMPEST_RC1)
  2695. #define ROM_USBEndpointStatus \
  2696. ((unsigned long (*)(unsigned long ulBase, \
  2697. unsigned long ulEndpoint))ROM_USBTABLE[14])
  2698. #endif
  2699. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2700. defined(TARGET_IS_TEMPEST_RC1)
  2701. #define ROM_USBFIFOAddrGet \
  2702. ((unsigned long (*)(unsigned long ulBase, \
  2703. unsigned long ulEndpoint))ROM_USBTABLE[15])
  2704. #endif
  2705. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2706. defined(TARGET_IS_TEMPEST_RC1)
  2707. #define ROM_USBFIFOConfigGet \
  2708. ((void (*)(unsigned long ulBase, \
  2709. unsigned long ulEndpoint, \
  2710. unsigned long *pulFIFOAddress, \
  2711. unsigned long *pulFIFOSize, \
  2712. unsigned long ulFlags))ROM_USBTABLE[16])
  2713. #endif
  2714. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2715. defined(TARGET_IS_TEMPEST_RC1)
  2716. #define ROM_USBFIFOConfigSet \
  2717. ((void (*)(unsigned long ulBase, \
  2718. unsigned long ulEndpoint, \
  2719. unsigned long ulFIFOAddress, \
  2720. unsigned long ulFIFOSize, \
  2721. unsigned long ulFlags))ROM_USBTABLE[17])
  2722. #endif
  2723. #if defined(TARGET_IS_TEMPEST_RC1)
  2724. #define ROM_USBFIFOFlush \
  2725. ((void (*)(unsigned long ulBase, \
  2726. unsigned long ulEndpoint, \
  2727. unsigned long ulFlags))ROM_USBTABLE[18])
  2728. #endif
  2729. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2730. defined(TARGET_IS_TEMPEST_RC1)
  2731. #define ROM_USBFrameNumberGet \
  2732. ((unsigned long (*)(unsigned long ulBase))ROM_USBTABLE[19])
  2733. #endif
  2734. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2735. defined(TARGET_IS_TEMPEST_RC1)
  2736. #define ROM_USBHostAddrGet \
  2737. ((unsigned long (*)(unsigned long ulBase, \
  2738. unsigned long ulEndpoint, \
  2739. unsigned long ulFlags))ROM_USBTABLE[20])
  2740. #endif
  2741. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2742. defined(TARGET_IS_TEMPEST_RC1)
  2743. #define ROM_USBHostAddrSet \
  2744. ((void (*)(unsigned long ulBase, \
  2745. unsigned long ulEndpoint, \
  2746. unsigned long ulAddr, \
  2747. unsigned long ulFlags))ROM_USBTABLE[21])
  2748. #endif
  2749. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2750. defined(TARGET_IS_TEMPEST_RC1)
  2751. #define ROM_USBHostEndpointConfig \
  2752. ((void (*)(unsigned long ulBase, \
  2753. unsigned long ulEndpoint, \
  2754. unsigned long ulMaxPacketSize, \
  2755. unsigned long ulNAKPollInterval, \
  2756. unsigned long ulTargetEndpoint, \
  2757. unsigned long ulFlags))ROM_USBTABLE[22])
  2758. #endif
  2759. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2760. defined(TARGET_IS_TEMPEST_RC1)
  2761. #define ROM_USBHostEndpointDataAck \
  2762. ((void (*)(unsigned long ulBase, \
  2763. unsigned long ulEndpoint))ROM_USBTABLE[23])
  2764. #endif
  2765. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2766. defined(TARGET_IS_TEMPEST_RC1)
  2767. #define ROM_USBHostEndpointDataToggle \
  2768. ((void (*)(unsigned long ulBase, \
  2769. unsigned long ulEndpoint, \
  2770. tBoolean bDataToggle, \
  2771. unsigned long ulFlags))ROM_USBTABLE[24])
  2772. #endif
  2773. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2774. defined(TARGET_IS_TEMPEST_RC1)
  2775. #define ROM_USBHostEndpointStatusClear \
  2776. ((void (*)(unsigned long ulBase, \
  2777. unsigned long ulEndpoint, \
  2778. unsigned long ulFlags))ROM_USBTABLE[25])
  2779. #endif
  2780. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2781. defined(TARGET_IS_TEMPEST_RC1)
  2782. #define ROM_USBHostHubAddrGet \
  2783. ((unsigned long (*)(unsigned long ulBase, \
  2784. unsigned long ulEndpoint, \
  2785. unsigned long ulFlags))ROM_USBTABLE[26])
  2786. #endif
  2787. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2788. defined(TARGET_IS_TEMPEST_RC1)
  2789. #define ROM_USBHostHubAddrSet \
  2790. ((void (*)(unsigned long ulBase, \
  2791. unsigned long ulEndpoint, \
  2792. unsigned long ulAddr, \
  2793. unsigned long ulFlags))ROM_USBTABLE[27])
  2794. #endif
  2795. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2796. defined(TARGET_IS_TEMPEST_RC1)
  2797. #define ROM_USBHostPwrDisable \
  2798. ((void (*)(unsigned long ulBase))ROM_USBTABLE[28])
  2799. #endif
  2800. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2801. defined(TARGET_IS_TEMPEST_RC1)
  2802. #define ROM_USBHostPwrEnable \
  2803. ((void (*)(unsigned long ulBase))ROM_USBTABLE[29])
  2804. #endif
  2805. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2806. defined(TARGET_IS_TEMPEST_RC1)
  2807. #define ROM_USBHostPwrConfig \
  2808. ((void (*)(unsigned long ulBase, \
  2809. unsigned long ulFlags))ROM_USBTABLE[30])
  2810. #endif
  2811. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2812. defined(TARGET_IS_TEMPEST_RC1)
  2813. #define ROM_USBHostPwrFaultDisable \
  2814. ((void (*)(unsigned long ulBase))ROM_USBTABLE[31])
  2815. #endif
  2816. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2817. defined(TARGET_IS_TEMPEST_RC1)
  2818. #define ROM_USBHostPwrFaultEnable \
  2819. ((void (*)(unsigned long ulBase))ROM_USBTABLE[32])
  2820. #endif
  2821. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2822. defined(TARGET_IS_TEMPEST_RC1)
  2823. #define ROM_USBHostRequestIN \
  2824. ((void (*)(unsigned long ulBase, \
  2825. unsigned long ulEndpoint))ROM_USBTABLE[33])
  2826. #endif
  2827. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2828. defined(TARGET_IS_TEMPEST_RC1)
  2829. #define ROM_USBHostRequestStatus \
  2830. ((void (*)(unsigned long ulBase))ROM_USBTABLE[34])
  2831. #endif
  2832. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2833. defined(TARGET_IS_TEMPEST_RC1)
  2834. #define ROM_USBHostReset \
  2835. ((void (*)(unsigned long ulBase, \
  2836. tBoolean bStart))ROM_USBTABLE[35])
  2837. #endif
  2838. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2839. defined(TARGET_IS_TEMPEST_RC1)
  2840. #define ROM_USBHostResume \
  2841. ((void (*)(unsigned long ulBase, \
  2842. tBoolean bStart))ROM_USBTABLE[36])
  2843. #endif
  2844. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2845. defined(TARGET_IS_TEMPEST_RC1)
  2846. #define ROM_USBHostSpeedGet \
  2847. ((unsigned long (*)(unsigned long ulBase))ROM_USBTABLE[37])
  2848. #endif
  2849. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2850. defined(TARGET_IS_TEMPEST_RC1)
  2851. #define ROM_USBHostSuspend \
  2852. ((void (*)(unsigned long ulBase))ROM_USBTABLE[38])
  2853. #endif
  2854. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2855. defined(TARGET_IS_TEMPEST_RC1)
  2856. #define ROM_USBIntDisable \
  2857. ((void (*)(unsigned long ulBase, \
  2858. unsigned long ulIntFlags))ROM_USBTABLE[39])
  2859. #endif
  2860. #if defined(TARGET_IS_TEMPEST_RB1) || \
  2861. defined(TARGET_IS_TEMPEST_RC1)
  2862. #define ROM_USBIntEnable \
  2863. ((void (*)(unsigned long ulBase, \
  2864. unsigned long ulIntFlags))ROM_USBTABLE[40])
  2865. #endif
  2866. #if defined(TARGET_IS_TEMPEST_RC1)
  2867. #define ROM_USBDevEndpointConfigGet \
  2868. ((void (*)(unsigned long ulBase, \
  2869. unsigned long ulEndpoint, \
  2870. unsigned long *pulMaxPacketSize, \
  2871. unsigned long *pulFlags))ROM_USBTABLE[41])
  2872. #endif
  2873. #if defined(TARGET_IS_TEMPEST_RC1)
  2874. #define ROM_USBEndpointDMAEnable \
  2875. ((void (*)(unsigned long ulBase, \
  2876. unsigned long ulEndpoint, \
  2877. unsigned long ulFlags))ROM_USBTABLE[42])
  2878. #endif
  2879. #if defined(TARGET_IS_TEMPEST_RC1)
  2880. #define ROM_USBEndpointDMADisable \
  2881. ((void (*)(unsigned long ulBase, \
  2882. unsigned long ulEndpoint, \
  2883. unsigned long ulFlags))ROM_USBTABLE[43])
  2884. #endif
  2885. #if defined(TARGET_IS_TEMPEST_RC1)
  2886. #define ROM_USBEndpointDataAvail \
  2887. ((unsigned long (*)(unsigned long ulBase, \
  2888. unsigned long ulEndpoint))ROM_USBTABLE[44])
  2889. #endif
  2890. #if defined(TARGET_IS_TEMPEST_RC1)
  2891. #define ROM_USBOTGHostRequest \
  2892. ((void (*)(unsigned long ulBase, \
  2893. tBoolean bHNP))ROM_USBTABLE[45])
  2894. #endif
  2895. #if defined(TARGET_IS_TEMPEST_RC1)
  2896. #define ROM_USBModeGet \
  2897. ((unsigned long (*)(unsigned long ulBase))ROM_USBTABLE[46])
  2898. #endif
  2899. #if defined(TARGET_IS_TEMPEST_RC1)
  2900. #define ROM_USBEndpointDMAChannel \
  2901. ((void (*)(unsigned long ulBase, \
  2902. unsigned long ulEndpoint, \
  2903. unsigned long ulChannel))ROM_USBTABLE[47])
  2904. #endif
  2905. #if defined(TARGET_IS_TEMPEST_RC1)
  2906. #define ROM_USBIntDisableControl \
  2907. ((void (*)(unsigned long ulBase, \
  2908. unsigned long ulIntFlags))ROM_USBTABLE[48])
  2909. #endif
  2910. #if defined(TARGET_IS_TEMPEST_RC1)
  2911. #define ROM_USBIntEnableControl \
  2912. ((void (*)(unsigned long ulBase, \
  2913. unsigned long ulIntFlags))ROM_USBTABLE[49])
  2914. #endif
  2915. #if defined(TARGET_IS_TEMPEST_RC1)
  2916. #define ROM_USBIntStatusControl \
  2917. ((unsigned long (*)(unsigned long ulBase))ROM_USBTABLE[50])
  2918. #endif
  2919. #if defined(TARGET_IS_TEMPEST_RC1)
  2920. #define ROM_USBIntDisableEndpoint \
  2921. ((void (*)(unsigned long ulBase, \
  2922. unsigned long ulIntFlags))ROM_USBTABLE[51])
  2923. #endif
  2924. #if defined(TARGET_IS_TEMPEST_RC1)
  2925. #define ROM_USBIntEnableEndpoint \
  2926. ((void (*)(unsigned long ulBase, \
  2927. unsigned long ulIntFlags))ROM_USBTABLE[52])
  2928. #endif
  2929. #if defined(TARGET_IS_TEMPEST_RC1)
  2930. #define ROM_USBIntStatusEndpoint \
  2931. ((unsigned long (*)(unsigned long ulBase))ROM_USBTABLE[53])
  2932. #endif
  2933. #if defined(TARGET_IS_TEMPEST_RC1)
  2934. #define ROM_USBHostMode \
  2935. ((void (*)(unsigned long ulBase))ROM_USBTABLE[54])
  2936. #endif
  2937. //*****************************************************************************
  2938. //
  2939. // Macros for calling ROM functions in the Watchdog API.
  2940. //
  2941. //*****************************************************************************
  2942. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2943. defined(TARGET_IS_TEMPEST_RB1) || \
  2944. defined(TARGET_IS_TEMPEST_RC1)
  2945. #define ROM_WatchdogIntClear \
  2946. ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[0])
  2947. #endif
  2948. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2949. defined(TARGET_IS_TEMPEST_RB1) || \
  2950. defined(TARGET_IS_TEMPEST_RC1)
  2951. #define ROM_WatchdogRunning \
  2952. ((tBoolean (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[1])
  2953. #endif
  2954. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2955. defined(TARGET_IS_TEMPEST_RB1) || \
  2956. defined(TARGET_IS_TEMPEST_RC1)
  2957. #define ROM_WatchdogEnable \
  2958. ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[2])
  2959. #endif
  2960. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2961. defined(TARGET_IS_TEMPEST_RB1) || \
  2962. defined(TARGET_IS_TEMPEST_RC1)
  2963. #define ROM_WatchdogResetEnable \
  2964. ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[3])
  2965. #endif
  2966. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2967. defined(TARGET_IS_TEMPEST_RB1) || \
  2968. defined(TARGET_IS_TEMPEST_RC1)
  2969. #define ROM_WatchdogResetDisable \
  2970. ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[4])
  2971. #endif
  2972. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2973. defined(TARGET_IS_TEMPEST_RB1) || \
  2974. defined(TARGET_IS_TEMPEST_RC1)
  2975. #define ROM_WatchdogLock \
  2976. ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[5])
  2977. #endif
  2978. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2979. defined(TARGET_IS_TEMPEST_RB1) || \
  2980. defined(TARGET_IS_TEMPEST_RC1)
  2981. #define ROM_WatchdogUnlock \
  2982. ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[6])
  2983. #endif
  2984. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2985. defined(TARGET_IS_TEMPEST_RB1) || \
  2986. defined(TARGET_IS_TEMPEST_RC1)
  2987. #define ROM_WatchdogLockState \
  2988. ((tBoolean (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[7])
  2989. #endif
  2990. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2991. defined(TARGET_IS_TEMPEST_RB1) || \
  2992. defined(TARGET_IS_TEMPEST_RC1)
  2993. #define ROM_WatchdogReloadSet \
  2994. ((void (*)(unsigned long ulBase, \
  2995. unsigned long ulLoadVal))ROM_WATCHDOGTABLE[8])
  2996. #endif
  2997. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  2998. defined(TARGET_IS_TEMPEST_RB1) || \
  2999. defined(TARGET_IS_TEMPEST_RC1)
  3000. #define ROM_WatchdogReloadGet \
  3001. ((unsigned long (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[9])
  3002. #endif
  3003. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  3004. defined(TARGET_IS_TEMPEST_RB1) || \
  3005. defined(TARGET_IS_TEMPEST_RC1)
  3006. #define ROM_WatchdogValueGet \
  3007. ((unsigned long (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[10])
  3008. #endif
  3009. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  3010. defined(TARGET_IS_TEMPEST_RB1) || \
  3011. defined(TARGET_IS_TEMPEST_RC1)
  3012. #define ROM_WatchdogIntEnable \
  3013. ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[11])
  3014. #endif
  3015. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  3016. defined(TARGET_IS_TEMPEST_RB1) || \
  3017. defined(TARGET_IS_TEMPEST_RC1)
  3018. #define ROM_WatchdogIntStatus \
  3019. ((unsigned long (*)(unsigned long ulBase, \
  3020. tBoolean bMasked))ROM_WATCHDOGTABLE[12])
  3021. #endif
  3022. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  3023. defined(TARGET_IS_TEMPEST_RB1) || \
  3024. defined(TARGET_IS_TEMPEST_RC1)
  3025. #define ROM_WatchdogStallEnable \
  3026. ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[13])
  3027. #endif
  3028. #if defined(TARGET_IS_DUSTDEVIL_RA0) || \
  3029. defined(TARGET_IS_TEMPEST_RB1) || \
  3030. defined(TARGET_IS_TEMPEST_RC1)
  3031. #define ROM_WatchdogStallDisable \
  3032. ((void (*)(unsigned long ulBase))ROM_WATCHDOGTABLE[14])
  3033. #endif
  3034. //*****************************************************************************
  3035. //
  3036. // Macros for calling ROM functions in the Software API.
  3037. //
  3038. //*****************************************************************************
  3039. #if defined(TARGET_IS_TEMPEST_RB1) || \
  3040. defined(TARGET_IS_TEMPEST_RC1)
  3041. #define ROM_Crc16Array \
  3042. ((unsigned short (*)(unsigned long ulWordLen, \
  3043. unsigned long *pulData))ROM_SOFTWARETABLE[1])
  3044. #endif
  3045. #if defined(TARGET_IS_TEMPEST_RB1) || \
  3046. defined(TARGET_IS_TEMPEST_RC1)
  3047. #define ROM_Crc16Array3 \
  3048. ((void (*)(unsigned long ulWordLen, \
  3049. unsigned long *pulData, \
  3050. unsigned short *pusCrc3))ROM_SOFTWARETABLE[2])
  3051. #endif
  3052. #if defined(TARGET_IS_TEMPEST_RB1) || \
  3053. defined(TARGET_IS_TEMPEST_RC1)
  3054. #define ROM_pvAESTable \
  3055. ((void *)&(ROM_SOFTWARETABLE[7]))
  3056. #endif
  3057. //*****************************************************************************
  3058. //
  3059. // Deprecated ROM functions.
  3060. //
  3061. //*****************************************************************************
  3062. #ifndef DEPRECATED
  3063. #ifdef ROM_FlashIntStatus
  3064. #define ROM_FlashIntGetStatus \
  3065. ROM_FlashIntStatus
  3066. #endif
  3067. #ifdef ROM_USBDevEndpointConfigSet
  3068. #define ROM_USBDevEndpointConfig \
  3069. ROM_USBDevEndpointConfigSet
  3070. #endif
  3071. #ifdef ROM_USBHostPwrConfig
  3072. #define ROM_USBHostPwrFaultConfig \
  3073. ROM_USBHostPwrConfig
  3074. #endif
  3075. #endif
  3076. #endif // __ROM_H__