samd51p19a.pp 98 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095
  1. {$IFNDEF FPC_DOTTEDUNITS}
  2. unit samd51p19a;
  3. {$ENDIF FPC_DOTTEDUNITS}
  4. (*
  5. Copyright (c) 2020 Microchip Technology Inc.
  6. Licensed under the Apache License, Version 2.0 (the "License");
  7. you may not use this file except in compliance with the License.
  8. You may obtain a copy of the Licence at
  9. http://www.apache.org/licenses/LICENSE-2.0
  10. Unless required by applicable law or agreed to in writing, software
  11. distributed under the License is distributed on an "AS IS" BASIS,
  12. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. See the License for the specific language governing permissions and
  14. limitations under the License.
  15. *)
  16. interface
  17. {$PACKRECORDS C}
  18. {$GOTO ON}
  19. {$SCOPEDENUMS ON}
  20. {$DEFINE INTERFACE}
  21. {$UNDEF IMPLEMENTATION}
  22. {$DEFINE __CORTEXM4}
  23. {$DEFINE __NVIC_PRIO_BITS3 }
  24. const
  25. __FPU_PRESENT=1;
  26. __MPU_PRESENT=1;
  27. __NVIC_PRIO_BITS=3;
  28. type
  29. TIRQn_Enum = (
  30. NonMaskableInt_IRQn = -14,
  31. HardFault_IRQn = -13,
  32. MemoryManagement_IRQn = -12,
  33. BusFault_IRQn = -11,
  34. UsageFault_IRQn = -10,
  35. SVCall_IRQn = -5,
  36. DebugMonitor_IRQn = -4,
  37. PendSV_IRQn = -2,
  38. SysTick_IRQn = -1,
  39. PM_IRQn = 0,
  40. MCLK_IRQn = 1,
  41. OSCCTRL_0_IRQn = 2,
  42. OSCCTRL_1_IRQn = 3,
  43. OSCCTRL_2_IRQn = 4,
  44. OSCCTRL_3_IRQn = 5,
  45. OSCCTRL_4_IRQn = 6,
  46. OSC32KCTRL_IRQn = 7,
  47. SUPC_0_IRQn = 8,
  48. SUPC_1_IRQn = 9,
  49. WDT_IRQn = 10,
  50. RTC_IRQn = 11,
  51. EIC_0_IRQn = 12,
  52. EIC_1_IRQn = 13,
  53. EIC_2_IRQn = 14,
  54. EIC_3_IRQn = 15,
  55. EIC_4_IRQn = 16,
  56. EIC_5_IRQn = 17,
  57. EIC_6_IRQn = 18,
  58. EIC_7_IRQn = 19,
  59. EIC_8_IRQn = 20,
  60. EIC_9_IRQn = 21,
  61. EIC_10_IRQn = 22,
  62. EIC_11_IRQn = 23,
  63. EIC_12_IRQn = 24,
  64. EIC_13_IRQn = 25,
  65. EIC_14_IRQn = 26,
  66. EIC_15_IRQn = 27,
  67. FREQM_IRQn = 28,
  68. NVMCTRL_0_IRQn = 29,
  69. NVMCTRL_1_IRQn = 30,
  70. DMAC_0_IRQn = 31,
  71. DMAC_1_IRQn = 32,
  72. DMAC_2_IRQn = 33,
  73. DMAC_3_IRQn = 34,
  74. DMAC_4_IRQn = 35,
  75. EVSYS_0_IRQn = 36,
  76. EVSYS_1_IRQn = 37,
  77. EVSYS_2_IRQn = 38,
  78. EVSYS_3_IRQn = 39,
  79. EVSYS_4_IRQn = 40,
  80. PAC_IRQn = 41,
  81. RAMECC_IRQn = 45,
  82. SERCOM0_0_IRQn = 46,
  83. SERCOM0_1_IRQn = 47,
  84. SERCOM0_2_IRQn = 48,
  85. SERCOM0_3_IRQn = 49,
  86. SERCOM1_0_IRQn = 50,
  87. SERCOM1_1_IRQn = 51,
  88. SERCOM1_2_IRQn = 52,
  89. SERCOM1_3_IRQn = 53,
  90. SERCOM2_0_IRQn = 54,
  91. SERCOM2_1_IRQn = 55,
  92. SERCOM2_2_IRQn = 56,
  93. SERCOM2_3_IRQn = 57,
  94. SERCOM3_0_IRQn = 58,
  95. SERCOM3_1_IRQn = 59,
  96. SERCOM3_2_IRQn = 60,
  97. SERCOM3_3_IRQn = 61,
  98. SERCOM4_0_IRQn = 62,
  99. SERCOM4_1_IRQn = 63,
  100. SERCOM4_2_IRQn = 64,
  101. SERCOM4_3_IRQn = 65,
  102. SERCOM5_0_IRQn = 66,
  103. SERCOM5_1_IRQn = 67,
  104. SERCOM5_2_IRQn = 68,
  105. SERCOM5_3_IRQn = 69,
  106. SERCOM6_0_IRQn = 70,
  107. SERCOM6_1_IRQn = 71,
  108. SERCOM6_2_IRQn = 72,
  109. SERCOM6_3_IRQn = 73,
  110. SERCOM7_0_IRQn = 74,
  111. SERCOM7_1_IRQn = 75,
  112. SERCOM7_2_IRQn = 76,
  113. SERCOM7_3_IRQn = 77,
  114. USB_0_IRQn = 80,
  115. USB_1_IRQn = 81,
  116. USB_2_IRQn = 82,
  117. USB_3_IRQn = 83,
  118. TCC0_0_IRQn = 85,
  119. TCC0_1_IRQn = 86,
  120. TCC0_2_IRQn = 87,
  121. TCC0_3_IRQn = 88,
  122. TCC0_4_IRQn = 89,
  123. TCC0_5_IRQn = 90,
  124. TCC0_6_IRQn = 91,
  125. TCC1_0_IRQn = 92,
  126. TCC1_1_IRQn = 93,
  127. TCC1_2_IRQn = 94,
  128. TCC1_3_IRQn = 95,
  129. TCC1_4_IRQn = 96,
  130. TCC2_0_IRQn = 97,
  131. TCC2_1_IRQn = 98,
  132. TCC2_2_IRQn = 99,
  133. TCC2_3_IRQn = 100,
  134. TCC3_0_IRQn = 101,
  135. TCC3_1_IRQn = 102,
  136. TCC3_2_IRQn = 103,
  137. TCC4_0_IRQn = 104,
  138. TCC4_1_IRQn = 105,
  139. TCC4_2_IRQn = 106,
  140. TC0_IRQn = 107,
  141. TC1_IRQn = 108,
  142. TC2_IRQn = 109,
  143. TC3_IRQn = 110,
  144. TC4_IRQn = 111,
  145. TC5_IRQn = 112,
  146. TC6_IRQn = 113,
  147. TC7_IRQn = 114,
  148. PDEC_0_IRQn = 115,
  149. PDEC_1_IRQn = 116,
  150. PDEC_2_IRQn = 117,
  151. ADC0_0_IRQn = 118,
  152. ADC0_1_IRQn = 119,
  153. ADC1_0_IRQn = 120,
  154. ADC1_1_IRQn = 121,
  155. AC_IRQn = 122,
  156. DAC_0_IRQn = 123,
  157. DAC_1_IRQn = 124,
  158. DAC_2_IRQn = 125,
  159. DAC_3_IRQn = 126,
  160. DAC_4_IRQn = 127,
  161. I2S_IRQn = 128,
  162. PCC_IRQn = 129,
  163. AES_IRQn = 130,
  164. TRNG_IRQn = 131,
  165. ICM_IRQn = 132,
  166. PUKCC_IRQn = 133,
  167. QSPI_IRQn = 134,
  168. SDHC0_IRQn = 135,
  169. SDHC1_IRQn = 136
  170. );
  171. TAC_Registers = record
  172. CTRLA : byte; //0000 Control A
  173. CTRLB : byte; //0001 Control B
  174. EVCTRL : word; //0002 Event Control
  175. INTENCLR : byte; //0004 Interrupt Enable Clear
  176. INTENSET : byte; //0005 Interrupt Enable Set
  177. INTFLAG : byte; //0006 Interrupt Flag Status and Clear
  178. STATUSA : byte; //0007 Status A
  179. STATUSB : byte; //0008 Status B
  180. DBGCTRL : byte; //0009 Debug Control
  181. WINCTRL : byte; //000A Window Control
  182. RESERVED0 : byte;
  183. SCALER : array[0..1] of byte; //000C Scaler n
  184. RESERVED1 : word;
  185. COMPCTRL : array[0..1] of longWord; //0010 Comparator Control n
  186. RESERVED2 : array[1..8] of byte;
  187. SYNCBUSY : longWord; //0020 Synchronization Busy
  188. CALIB : word; //0024 Calibration
  189. end;
  190. TADC_Registers = record
  191. CTRLA : word; //0000 Control A
  192. EVCTRL : byte; //0002 Event Control
  193. DBGCTRL : byte; //0003 Debug Control
  194. INPUTCTRL : word; //0004 Input Control
  195. CTRLB : word; //0006 Control B
  196. REFCTRL : byte; //0008 Reference Control
  197. RESERVED0 : byte;
  198. AVGCTRL : byte; //000A Average Control
  199. SAMPCTRL : byte; //000B Sample Time Control
  200. WINLT : word; //000C Window Monitor Lower Threshold
  201. WINUT : word; //000E Window Monitor Upper Threshold
  202. GAINCORR : word; //0010 Gain Correction
  203. OFFSETCORR : word; //0012 Offset Correction
  204. SWTRIG : byte; //0014 Software Trigger
  205. RESERVED1 : array[1..23] of byte;
  206. INTENCLR : byte; //002C Interrupt Enable Clear
  207. INTENSET : byte; //002D Interrupt Enable Set
  208. INTFLAG : byte; //002E Interrupt Flag Status and Clear
  209. STATUS : byte; //002F Status
  210. SYNCBUSY : longWord; //0030 Synchronization Busy
  211. DSEQDATA : longWord; //0034 DMA Sequencial Data
  212. DSEQCTRL : longWord; //0038 DMA Sequential Control
  213. DSEQSTAT : longWord; //003C DMA Sequencial Status
  214. RESULT : word; //0040 Result Conversion Value
  215. RESERVED2 : word;
  216. RESS : word; //0044 Last Sample Result
  217. RESERVED3 : word;
  218. CALIB : word; //0048 Calibration
  219. end;
  220. TAES_Registers = record
  221. CTRLA : longWord; //0000 Control A
  222. CTRLB : byte; //0004 Control B
  223. INTENCLR : byte; //0005 Interrupt Enable Clear
  224. INTENSET : byte; //0006 Interrupt Enable Set
  225. INTFLAG : byte; //0007 Interrupt Flag Status
  226. DATABUFPTR : byte; //0008 Data buffer pointer
  227. DBGCTRL : byte; //0009 Debug control
  228. RESERVED0 : word;
  229. KEYWORD : array[0..7] of longWord; //000C Keyword n
  230. RESERVED1 : array[1..12] of byte;
  231. INDATA : longWord; //0038 Indata
  232. INTVECTV : array[0..3] of longWord; //003C Initialisation Vector n
  233. RESERVED2 : array[1..16] of byte;
  234. HASHKEY : array[0..3] of longWord; //005C Hash key n
  235. GHASH : array[0..3] of longWord; //006C Galois Hash n
  236. RESERVED3 : longWord;
  237. CIPLEN : longWord; //0080 Cipher Length
  238. RANDSEED : longWord; //0084 Random Seed
  239. end;
  240. TCCL_Registers = record
  241. CTRL : byte; //0000 Control
  242. RESERVED0 : array[1..3] of byte;
  243. SEQCTRL : array[0..1] of byte; //0004 SEQ Control x
  244. RESERVED1 : word;
  245. LUTCTRL : array[0..3] of longWord; //0008 LUT Control x
  246. end;
  247. TCMCC_Registers = record
  248. &TYPE : longWord; //0000 Cache Type Register
  249. CFG : longWord; //0004 Cache Configuration Register
  250. CTRL : longWord; //0008 Cache Control Register
  251. SR : longWord; //000C Cache Status Register
  252. LCKWAY : longWord; //0010 Cache Lock per Way Register
  253. RESERVED0 : array[1..12] of byte;
  254. MAINT0 : longWord; //0020 Cache Maintenance Register 0
  255. MAINT1 : longWord; //0024 Cache Maintenance Register 1
  256. MCFG : longWord; //0028 Cache Monitor Configuration Register
  257. MEN : longWord; //002C Cache Monitor Enable Register
  258. MCTRL : longWord; //0030 Cache Monitor Control Register
  259. MSR : longWord; //0034 Cache Monitor Status Register
  260. end;
  261. TDAC_Registers = record
  262. CTRLA : byte; //0000 Control A
  263. CTRLB : byte; //0001 Control B
  264. EVCTRL : byte; //0002 Event Control
  265. RESERVED0 : byte;
  266. INTENCLR : byte; //0004 Interrupt Enable Clear
  267. INTENSET : byte; //0005 Interrupt Enable Set
  268. INTFLAG : byte; //0006 Interrupt Flag Status and Clear
  269. STATUS : byte; //0007 Status
  270. SYNCBUSY : longWord; //0008 Synchronization Busy
  271. DACCTRL : array[0..1] of word; //000C DAC n Control
  272. DATA : array[0..1] of word; //0010 DAC n Data
  273. DATABUF : array[0..1] of word; //0014 DAC n Data Buffer
  274. DBGCTRL : byte; //0018 Debug Control
  275. RESERVED1 : array[1..3] of byte;
  276. RESULT : array[0..1] of word; //001C Filter Result
  277. end;
  278. TDMAC_CHANNEL_Registers = record
  279. CHCTRLA : longWord; //0000 Channel n Control A
  280. CHCTRLB : byte; //0004 Channel n Control B
  281. CHPRILVL : byte; //0005 Channel n Priority Level
  282. CHEVCTRL : byte; //0006 Channel n Event Control
  283. RESERVED0 : array[1..5] of byte;
  284. CHINTENCLR : byte; //000C Channel n Interrupt Enable Clear
  285. CHINTENSET : byte; //000D Channel n Interrupt Enable Set
  286. CHINTFLAG : byte; //000E Channel n Interrupt Flag Status and Clear
  287. CHSTATUS : byte; //000F Channel n Status
  288. end;
  289. TDMAC_Registers = record
  290. CTRL : word; //0000 Control
  291. CRCCTRL : word; //0002 CRC Control
  292. CRCDATAIN : longWord; //0004 CRC Data Input
  293. CRCCHKSUM : longWord; //0008 CRC Checksum
  294. CRCSTATUS : byte; //000C CRC Status
  295. DBGCTRL : byte; //000D Debug Control
  296. RESERVED0 : word;
  297. SWTRIGCTRL : longWord; //0010 Software Trigger Control
  298. PRICTRL0 : longWord; //0014 Priority Control 0
  299. RESERVED1 : array[1..8] of byte;
  300. INTPEND : word; //0020 Interrupt Pending
  301. RESERVED2 : word;
  302. INTSTATUS : longWord; //0024 Interrupt Status
  303. BUSYCH : longWord; //0028 Busy Channels
  304. PENDCH : longWord; //002C Pending Channels
  305. ACTIVE : longWord; //0030 Active Channel and Levels
  306. BASEADDR : longWord; //0034 Descriptor Memory Section Base Address
  307. WRBADDR : longWord; //0038 Write-Back Memory Section Base Address
  308. RESERVED3 : longWord;
  309. CHANNEL : array[0..31] of TDMAC_CHANNEL_Registers; //0040
  310. end;
  311. TDMAC_DESCRIPTOR_Registers = record
  312. BTCTRL : word; //0000 Block Transfer Control
  313. BTCNT : word; //0002 Block Transfer Count
  314. SRCADDR : longWord; //0004 Block Transfer Source Address
  315. DSTADDR : longWord; //0008 Block Transfer Destination Address
  316. DESCADDR : longWord; //000C Next Descriptor Address
  317. end;
  318. TDSU_Registers = record
  319. CTRL : byte; //0000 Control
  320. STATUSA : byte; //0001 Status A
  321. STATUSB : byte; //0002 Status B
  322. RESERVED0 : byte;
  323. ADDR : longWord; //0004 Address
  324. LENGTH : longWord; //0008 Length
  325. DATA : longWord; //000C Data
  326. DCC : array[0..1] of longWord; //0010 Debug Communication Channel n
  327. DID : longWord; //0018 Device Identification
  328. CFG : longWord; //001C Configuration
  329. RESERVED1 : array[1..208] of byte;
  330. DCFG : array[0..1] of longWord; //00F0 Device Configuration
  331. RESERVED2 : array[1..3848] of byte;
  332. ENTRY0 : longWord; //1000 CoreSight ROM Table Entry 0
  333. ENTRY1 : longWord; //1004 CoreSight ROM Table Entry 1
  334. &END : longWord; //1008 CoreSight ROM Table End
  335. RESERVED3 : array[1..4032] of byte;
  336. MEMTYPE : longWord; //1FCC CoreSight ROM Table Memory Type
  337. PID4 : longWord; //1FD0 Peripheral Identification 4
  338. PID5 : longWord; //1FD4 Peripheral Identification 5
  339. PID6 : longWord; //1FD8 Peripheral Identification 6
  340. PID7 : longWord; //1FDC Peripheral Identification 7
  341. PID0 : longWord; //1FE0 Peripheral Identification 0
  342. PID1 : longWord; //1FE4 Peripheral Identification 1
  343. PID2 : longWord; //1FE8 Peripheral Identification 2
  344. PID3 : longWord; //1FEC Peripheral Identification 3
  345. CID0 : longWord; //1FF0 Component Identification 0
  346. CID1 : longWord; //1FF4 Component Identification 1
  347. CID2 : longWord; //1FF8 Component Identification 2
  348. CID3 : longWord; //1FFC Component Identification 3
  349. end;
  350. TEIC_Registers = record
  351. CTRLA : byte; //0000 Control A
  352. NMICTRL : byte; //0001 Non-Maskable Interrupt Control
  353. NMIFLAG : word; //0002 Non-Maskable Interrupt Flag Status and Clear
  354. SYNCBUSY : longWord; //0004 Synchronization Busy
  355. EVCTRL : longWord; //0008 Event Control
  356. INTENCLR : longWord; //000C Interrupt Enable Clear
  357. INTENSET : longWord; //0010 Interrupt Enable Set
  358. INTFLAG : longWord; //0014 Interrupt Flag Status and Clear
  359. ASYNCH : longWord; //0018 External Interrupt Asynchronous Mode
  360. CONFIG : array[0..1] of longWord; //001C External Interrupt Sense Configuration
  361. RESERVED0 : array[1..12] of byte;
  362. DEBOUNCEN : longWord; //0030 Debouncer Enable
  363. DPRESCALER : longWord; //0034 Debouncer Prescaler
  364. PINSTATE : longWord; //0038 Pin State
  365. end;
  366. TEVSYS_CHANNEL_Registers = record
  367. CHANNEL : longWord; //0000 Channel n Control
  368. CHINTENCLR : byte; //0004 Channel n Interrupt Enable Clear
  369. CHINTENSET : byte; //0005 Channel n Interrupt Enable Set
  370. CHINTFLAG : byte; //0006 Channel n Interrupt Flag Status and Clear
  371. CHSTATUS : byte; //0007 Channel n Status
  372. end;
  373. TEVSYS_Registers = record
  374. CTRLA : byte; //0000 Control
  375. RESERVED0 : array[1..3] of byte;
  376. SWEVT : longWord; //0004 Software Event
  377. PRICTRL : byte; //0008 Priority Control
  378. RESERVED1 : array[1..7] of byte;
  379. INTPEND : word; //0010 Channel Pending Interrupt
  380. RESERVED2 : word;
  381. INTSTATUS : longWord; //0014 Interrupt Status
  382. BUSYCH : longWord; //0018 Busy Channels
  383. READYUSR : longWord; //001C Ready Users
  384. CHANNEL : array[0..31] of TEVSYS_CHANNEL_Registers; //0020
  385. USER : array[0..66] of longWord; //0120 User Multiplexer n
  386. end;
  387. TFREQM_Registers = record
  388. CTRLA : byte; //0000 Control A Register
  389. CTRLB : byte; //0001 Control B Register
  390. CFGA : word; //0002 Config A register
  391. RESERVED0 : longWord;
  392. INTENCLR : byte; //0008 Interrupt Enable Clear Register
  393. INTENSET : byte; //0009 Interrupt Enable Set Register
  394. INTFLAG : byte; //000A Interrupt Flag Register
  395. STATUS : byte; //000B Status Register
  396. SYNCBUSY : longWord; //000C Synchronization Busy Register
  397. VALUE : longWord; //0010 Count Value Register
  398. end;
  399. TGCLK_Registers = record
  400. CTRLA : byte; //0000 Control
  401. RESERVED0 : array[1..3] of byte;
  402. SYNCBUSY : longWord; //0004 Synchronization Busy
  403. RESERVED1 : array[1..24] of byte;
  404. GENCTRL : array[0..11] of longWord; //0020 Generic Clock Generator Control
  405. RESERVED2 : array[1..48] of byte;
  406. PCHCTRL : array[0..47] of longWord; //0080 Peripheral Clock Control
  407. end;
  408. THMATRIXB_PRS_Registers = record
  409. PRAS : longWord; //0000 Priority A for Slave
  410. PRBS : longWord; //0004 Priority B for Slave
  411. end;
  412. THMATRIXB_Registers = record
  413. PRS : array[0..15] of THMATRIXB_PRS_Registers; //0080
  414. end;
  415. TICM_Registers = record
  416. CFG : longWord; //0000 Configuration
  417. CTRL : longWord; //0004 Control
  418. SR : longWord; //0008 Status
  419. RESERVED0 : longWord;
  420. IER : longWord; //0010 Interrupt Enable
  421. IDR : longWord; //0014 Interrupt Disable
  422. IMR : longWord; //0018 Interrupt Mask
  423. ISR : longWord; //001C Interrupt Status
  424. UASR : longWord; //0020 Undefined Access Status
  425. RESERVED1 : array[1..12] of byte;
  426. DSCR : longWord; //0030 Region Descriptor Area Start Address
  427. HASH : longWord; //0034 Region Hash Area Start Address
  428. UIHVAL : array[0..7] of longWord; //0038 User Initial Hash Value n
  429. end;
  430. TICM_DESCRIPTOR_Registers = record
  431. RADDR : longWord; //0000 Region Start Address
  432. RCFG : longWord; //0004 Region Configuration
  433. RCTRL : longWord; //0008 Region Control
  434. RNEXT : longWord; //000C Region Next Address
  435. end;
  436. TI2S_Registers = record
  437. CTRLA : byte; //0000 Control A
  438. RESERVED0 : array[1..3] of byte;
  439. CLKCTRL : array[0..1] of longWord; //0004 Clock Unit n Control
  440. INTENCLR : word; //000C Interrupt Enable Clear
  441. RESERVED1 : word;
  442. INTENSET : word; //0010 Interrupt Enable Set
  443. RESERVED2 : word;
  444. INTFLAG : word; //0014 Interrupt Flag Status and Clear
  445. RESERVED3 : word;
  446. SYNCBUSY : word; //0018 Synchronization Status
  447. RESERVED4 : array[1..6] of byte;
  448. TXCTRL : longWord; //0020 Tx Serializer Control
  449. RXCTRL : longWord; //0024 Rx Serializer Control
  450. RESERVED5 : array[1..8] of byte;
  451. TXDATA : longWord; //0030 Tx Data
  452. RXDATA : longWord; //0034 Rx Data
  453. end;
  454. TMCLK_Registers = record
  455. INTENCLR : byte; //0001 Interrupt Enable Clear
  456. INTENSET : byte; //0002 Interrupt Enable Set
  457. INTFLAG : byte; //0003 Interrupt Flag Status and Clear
  458. HSDIV : byte; //0004 HS Clock Division
  459. CPUDIV : byte; //0005 CPU Clock Division
  460. RESERVED0 : array[1..10] of byte;
  461. AHBMASK : longWord; //0010 AHB Mask
  462. APBAMASK : longWord; //0014 APBA Mask
  463. APBBMASK : longWord; //0018 APBB Mask
  464. APBCMASK : longWord; //001C APBC Mask
  465. APBDMASK : longWord; //0020 APBD Mask
  466. end;
  467. TNVMCTRL_Registers = record
  468. CTRLA : word; //0000 Control A
  469. RESERVED0 : word;
  470. CTRLB : word; //0004 Control B
  471. RESERVED1 : word;
  472. PARAM : longWord; //0008 NVM Parameter
  473. INTENCLR : word; //000C Interrupt Enable Clear
  474. INTENSET : word; //000E Interrupt Enable Set
  475. INTFLAG : word; //0010 Interrupt Flag Status and Clear
  476. STATUS : word; //0012 Status
  477. ADDR : longWord; //0014 Address
  478. RUNLOCK : longWord; //0018 Lock Section
  479. PBLDATA : array[0..1] of longWord; //001C Page Buffer Load Data x
  480. ECCERR : longWord; //0024 ECC Error Status Register
  481. DBGCTRL : byte; //0028 Debug Control
  482. RESERVED2 : byte;
  483. SEECFG : byte; //002A SmartEEPROM Configuration Register
  484. RESERVED3 : byte;
  485. SEESTAT : longWord; //002C SmartEEPROM Status Register
  486. end;
  487. TSW0_FUSES_Registers = record
  488. SW0_WORD_0 : longWord; //0000 SW0 Page Word 0
  489. SW0_WORD_1 : longWord; //0004 SW0 Page Word 1
  490. end;
  491. TTEMP_LOG_FUSES_Registers = record
  492. TEMP_LOG_WORD_0 : longWord; //0000 TEMP_LOG Page Word 0
  493. TEMP_LOG_WORD_1 : longWord; //0004 TEMP_LOG Page Word 1
  494. TEMP_LOG_WORD_2 : longWord; //0008 TEMP_LOG Page Word 2
  495. end;
  496. TUSER_FUSES_Registers = record
  497. USER_WORD_0 : longWord; //0000 USER Page Word 0
  498. USER_WORD_1 : longWord; //0004 USER Page Word 1
  499. USER_WORD_2 : longWord; //0008 USER Page Word 2
  500. end;
  501. TOSCCTRL_DPLL_Registers = record
  502. DPLLCTRLA : byte; //0000 DPLL Control A
  503. RESERVED0 : array[1..3] of byte;
  504. DPLLRATIO : longWord; //0004 DPLL Ratio Control
  505. DPLLCTRLB : longWord; //0008 DPLL Control B
  506. DPLLSYNCBUSY : longWord; //000C DPLL Synchronization Busy
  507. DPLLSTATUS : longWord; //0010 DPLL Status
  508. end;
  509. TOSCCTRL_Registers = record
  510. EVCTRL : byte; //0000 Event Control
  511. RESERVED0 : array[1..3] of byte;
  512. INTENCLR : longWord; //0004 Interrupt Enable Clear
  513. INTENSET : longWord; //0008 Interrupt Enable Set
  514. INTFLAG : longWord; //000C Interrupt Flag Status and Clear
  515. STATUS : longWord; //0010 Status
  516. XOSCCTRL : array[0..1] of longWord; //0014 External Multipurpose Crystal Oscillator Control
  517. DFLLCTRLA : byte; //001C DFLL48M Control A
  518. RESERVED1 : array[1..3] of byte;
  519. DFLLCTRLB : byte; //0020 DFLL48M Control B
  520. RESERVED2 : array[1..3] of byte;
  521. DFLLVAL : longWord; //0024 DFLL48M Value
  522. DFLLMUL : longWord; //0028 DFLL48M Multiplier
  523. DFLLSYNC : byte; //002C DFLL48M Synchronization
  524. RESERVED3 : array[1..3] of byte;
  525. DPLL : array[0..1] of TOSCCTRL_DPLL_Registers; //0030
  526. end;
  527. TOSC32KCTRL_Registers = record
  528. INTENCLR : longWord; //0000 Interrupt Enable Clear
  529. INTENSET : longWord; //0004 Interrupt Enable Set
  530. INTFLAG : longWord; //0008 Interrupt Flag Status and Clear
  531. STATUS : longWord; //000C Power and Clocks Status
  532. RTCCTRL : byte; //0010 RTC Clock Selection
  533. RESERVED0 : array[1..3] of byte;
  534. XOSC32K : word; //0014 32kHz External Crystal Oscillator (XOSC32K) Control
  535. CFDCTRL : byte; //0016 Clock Failure Detector Control
  536. EVCTRL : byte; //0017 Event Control
  537. RESERVED1 : longWord;
  538. OSCULP32K : longWord; //001C 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) Control
  539. end;
  540. TPAC_Registers = record
  541. WRCTRL : longWord; //0000 Write control
  542. EVCTRL : byte; //0004 Event control
  543. RESERVED0 : array[1..3] of byte;
  544. INTENCLR : byte; //0008 Interrupt enable clear
  545. INTENSET : byte; //0009 Interrupt enable set
  546. RESERVED1 : array[1..6] of byte;
  547. INTFLAGAHB : longWord; //0010 Bridge interrupt flag status
  548. INTFLAGA : longWord; //0014 Peripheral interrupt flag status - Bridge A
  549. INTFLAGB : longWord; //0018 Peripheral interrupt flag status - Bridge B
  550. INTFLAGC : longWord; //001C Peripheral interrupt flag status - Bridge C
  551. INTFLAGD : longWord; //0020 Peripheral interrupt flag status - Bridge D
  552. RESERVED2 : array[1..16] of byte;
  553. STATUSA : longWord; //0034 Peripheral write protection status - Bridge A
  554. STATUSB : longWord; //0038 Peripheral write protection status - Bridge B
  555. STATUSC : longWord; //003C Peripheral write protection status - Bridge C
  556. STATUSD : longWord; //0040 Peripheral write protection status - Bridge D
  557. end;
  558. TPCC_Registers = record
  559. MR : longWord; //0000 Mode Register
  560. IER : longWord; //0004 Interrupt Enable Register
  561. IDR : longWord; //0008 Interrupt Disable Register
  562. IMR : longWord; //000C Interrupt Mask Register
  563. ISR : longWord; //0010 Interrupt Status Register
  564. RHR : longWord; //0014 Reception Holding Register
  565. RESERVED0 : array[1..200] of byte;
  566. WPMR : longWord; //00E0 Write Protection Mode Register
  567. WPSR : longWord; //00E4 Write Protection Status Register
  568. end;
  569. TPDEC_Registers = record
  570. CTRLA : longWord; //0000 Control A
  571. CTRLBCLR : byte; //0004 Control B Clear
  572. CTRLBSET : byte; //0005 Control B Set
  573. EVCTRL : word; //0006 Event Control
  574. INTENCLR : byte; //0008 Interrupt Enable Clear
  575. INTENSET : byte; //0009 Interrupt Enable Set
  576. INTFLAG : byte; //000A Interrupt Flag Status and Clear
  577. RESERVED0 : byte;
  578. STATUS : word; //000C Status
  579. RESERVED1 : byte;
  580. DBGCTRL : byte; //000F Debug Control
  581. SYNCBUSY : longWord; //0010 Synchronization Status
  582. PRESC : byte; //0014 Prescaler Value
  583. FILTER : byte; //0015 Filter Value
  584. RESERVED2 : word;
  585. PRESCBUF : byte; //0018 Prescaler Buffer Value
  586. FILTERBUF : byte; //0019 Filter Buffer Value
  587. RESERVED3 : word;
  588. COUNT : longWord; //001C Counter Value
  589. CC : array[0..1] of longWord; //0020 Channel n Compare Value
  590. RESERVED4 : array[1..8] of byte;
  591. CCBUF : array[0..1] of longWord; //0030 Channel Compare Buffer Value
  592. end;
  593. TPM_Registers = record
  594. CTRLA : byte; //0000 Control A
  595. SLEEPCFG : byte; //0001 Sleep Configuration
  596. RESERVED0 : word;
  597. INTENCLR : byte; //0004 Interrupt Enable Clear
  598. INTENSET : byte; //0005 Interrupt Enable Set
  599. INTFLAG : byte; //0006 Interrupt Flag Status and Clear
  600. RESERVED1 : byte;
  601. STDBYCFG : byte; //0008 Standby Configuration
  602. HIBCFG : byte; //0009 Hibernate Configuration
  603. BKUPCFG : byte; //000A Backup Configuration
  604. RESERVED2 : array[1..7] of byte;
  605. PWSAKDLY : byte; //0012 Power Switch Acknowledge Delay
  606. end;
  607. TPORT_GROUP_Registers = record
  608. DIR : longWord; //0000 Data Direction
  609. DIRCLR : longWord; //0004 Data Direction Clear
  610. DIRSET : longWord; //0008 Data Direction Set
  611. DIRTGL : longWord; //000C Data Direction Toggle
  612. &OUT : longWord; //0010 Data Output Value
  613. OUTCLR : longWord; //0014 Data Output Value Clear
  614. OUTSET : longWord; //0018 Data Output Value Set
  615. OUTTGL : longWord; //001C Data Output Value Toggle
  616. &IN : longWord; //0020 Data Input Value
  617. CTRL : longWord; //0024 Control
  618. WRCONFIG : longWord; //0028 Write Configuration
  619. EVCTRL : longWord; //002C Event Input Control
  620. PMUX : array[0..15] of byte; //0030 Peripheral Multiplexing
  621. PINCFG : array[0..31] of byte; //0040 Pin Configuration
  622. Res : array[$60..$7F] of byte;
  623. end;
  624. TPORT_Registers = record
  625. GROUP : array[0..3] of TPORT_GROUP_Registers; //0000
  626. end;
  627. TPUKCC_Registers = record
  628. end;
  629. TQSPI_Registers = record
  630. CTRLA : longWord; //0000 Control A
  631. CTRLB : longWord; //0004 Control B
  632. BAUD : longWord; //0008 Baud Rate
  633. RXDATA : longWord; //000C Receive Data
  634. TXDATA : longWord; //0010 Transmit Data
  635. INTENCLR : longWord; //0014 Interrupt Enable Clear
  636. INTENSET : longWord; //0018 Interrupt Enable Set
  637. INTFLAG : longWord; //001C Interrupt Flag Status and Clear
  638. STATUS : longWord; //0020 Status Register
  639. RESERVED0 : array[1..12] of byte;
  640. INSTRADDR : longWord; //0030 Instruction Address
  641. INSTRCTRL : longWord; //0034 Instruction Code
  642. INSTRFRAME : longWord; //0038 Instruction Frame
  643. RESERVED1 : longWord;
  644. SCRAMBCTRL : longWord; //0040 Scrambling Mode
  645. SCRAMBKEY : longWord; //0044 Scrambling Key
  646. end;
  647. TRAMECC_Registers = record
  648. INTENCLR : byte; //0000 Interrupt Enable Clear
  649. INTENSET : byte; //0001 Interrupt Enable Set
  650. INTFLAG : byte; //0002 Interrupt Flag
  651. STATUS : byte; //0003 Status
  652. ERRADDR : longWord; //0004 Error Address
  653. RESERVED0 : array[1..7] of byte;
  654. DBGCTRL : byte; //000F Debug Control
  655. end;
  656. TRSTC_Registers = record
  657. RCAUSE : byte; //0000 Reset Cause
  658. RESERVED0 : byte;
  659. BKUPEXIT : byte; //0002 Backup Exit Source
  660. end;
  661. TRTCMODE0_Registers = record
  662. CTRLA : word; //0000 MODE0 Control A
  663. CTRLB : word; //0002 MODE0 Control B
  664. EVCTRL : longWord; //0004 MODE0 Event Control
  665. INTENCLR : word; //0008 MODE0 Interrupt Enable Clear
  666. INTENSET : word; //000A MODE0 Interrupt Enable Set
  667. INTFLAG : word; //000C MODE0 Interrupt Flag Status and Clear
  668. DBGCTRL : byte; //000E Debug Control
  669. RESERVED0 : byte;
  670. SYNCBUSY : longWord; //0010 MODE0 Synchronization Busy Status
  671. FREQCORR : byte; //0014 Frequency Correction
  672. RESERVED1 : array[1..3] of byte;
  673. COUNT : longWord; //0018 MODE0 Counter Value
  674. RESERVED2 : longWord;
  675. COMP : array[0..1] of longWord; //0020 MODE0 Compare n Value
  676. RESERVED3 : array[1..24] of byte;
  677. GP : array[0..3] of longWord; //0040 General Purpose
  678. RESERVED4 : array[1..16] of byte;
  679. TAMPCTRL : longWord; //0060 Tamper Control
  680. TIMESTAMP : longWord; //0064 MODE0 Timestamp
  681. TAMPID : longWord; //0068 Tamper ID
  682. RESERVED5 : array[1..20] of byte;
  683. BKUP : array[0..7] of longWord; //0080 Backup
  684. end;
  685. TRTCMODE1_Registers = record
  686. CTRLA : word; //0000 MODE1 Control A
  687. CTRLB : word; //0002 MODE1 Control B
  688. EVCTRL : longWord; //0004 MODE1 Event Control
  689. INTENCLR : word; //0008 MODE1 Interrupt Enable Clear
  690. INTENSET : word; //000A MODE1 Interrupt Enable Set
  691. INTFLAG : word; //000C MODE1 Interrupt Flag Status and Clear
  692. DBGCTRL : byte; //000E Debug Control
  693. RESERVED0 : byte;
  694. SYNCBUSY : longWord; //0010 MODE1 Synchronization Busy Status
  695. FREQCORR : byte; //0014 Frequency Correction
  696. RESERVED1 : array[1..3] of byte;
  697. COUNT : word; //0018 MODE1 Counter Value
  698. RESERVED2 : word;
  699. PER : word; //001C MODE1 Counter Period
  700. RESERVED3 : word;
  701. COMP : array[0..3] of word; //0020 MODE1 Compare n Value
  702. RESERVED4 : array[1..24] of byte;
  703. GP : array[0..3] of longWord; //0040 General Purpose
  704. RESERVED5 : array[1..16] of byte;
  705. TAMPCTRL : longWord; //0060 Tamper Control
  706. TIMESTAMP : longWord; //0064 MODE1 Timestamp
  707. TAMPID : longWord; //0068 Tamper ID
  708. RESERVED6 : array[1..20] of byte;
  709. BKUP : array[0..7] of longWord; //0080 Backup
  710. end;
  711. TRTCMODE2_Registers = record
  712. CTRLA : word; //0000 MODE2 Control A
  713. CTRLB : word; //0002 MODE2 Control B
  714. EVCTRL : longWord; //0004 MODE2 Event Control
  715. INTENCLR : word; //0008 MODE2 Interrupt Enable Clear
  716. INTENSET : word; //000A MODE2 Interrupt Enable Set
  717. INTFLAG : word; //000C MODE2 Interrupt Flag Status and Clear
  718. DBGCTRL : byte; //000E Debug Control
  719. RESERVED0 : byte;
  720. SYNCBUSY : longWord; //0010 MODE2 Synchronization Busy Status
  721. FREQCORR : byte; //0014 Frequency Correction
  722. RESERVED1 : array[1..3] of byte;
  723. CLOCK : longWord; //0018 MODE2 Clock Value
  724. RESERVED2 : longWord;
  725. ALARM0 : longWord; //0020 MODE2_ALARM Alarm n Value
  726. MASK0 : byte; //0024 MODE2_ALARM Alarm n Mask
  727. RESERVED3 : array[1..3] of byte;
  728. ALARM1 : longWord; //0028 MODE2_ALARM Alarm n Value
  729. MASK1 : byte; //002C MODE2_ALARM Alarm n Mask
  730. RESERVED4 : array[1..19] of byte;
  731. GP : array[0..3] of longWord; //0040 General Purpose
  732. RESERVED5 : array[1..16] of byte;
  733. TAMPCTRL : longWord; //0060 Tamper Control
  734. TIMESTAMP : longWord; //0064 MODE2 Timestamp
  735. TAMPID : longWord; //0068 Tamper ID
  736. RESERVED6 : array[1..20] of byte;
  737. BKUP : array[0..7] of longWord; //0080 Backup
  738. end;
  739. TSDHC_Registers = record
  740. SSAR : longWord; //0000 SDMA System Address / Argument 2
  741. BSR : word; //0004 Block Size
  742. BCR : word; //0006 Block Count
  743. ARG1R : longWord; //0008 Argument 1
  744. TMR : word; //000C Transfer Mode
  745. CR : word; //000E Command
  746. RR : array[0..3] of longWord; //0010 Response
  747. BDPR : longWord; //0020 Buffer Data Port
  748. PSR : longWord; //0024 Present State
  749. HC1R : byte; //0028 Host Control 1
  750. PCR : byte; //0029 Power Control
  751. BGCR : byte; //002A Block Gap Control
  752. WCR : byte; //002B Wakeup Control
  753. CCR : word; //002C Clock Control
  754. TCR : byte; //002E Timeout Control
  755. SRR : byte; //002F Software Reset
  756. NISTR : word; //0030 Normal Interrupt Status
  757. EISTR : word; //0032 Error Interrupt Status
  758. NISTER : word; //0034 Normal Interrupt Status Enable
  759. EISTER : word; //0036 Error Interrupt Status Enable
  760. NISIER : word; //0038 Normal Interrupt Signal Enable
  761. EISIER : word; //003A Error Interrupt Signal Enable
  762. ACESR : word; //003C Auto CMD Error Status
  763. HC2R : word; //003E Host Control 2
  764. CA0R : longWord; //0040 Capabilities 0
  765. CA1R : longWord; //0044 Capabilities 1
  766. MCCAR : longWord; //0048 Maximum Current Capabilities
  767. RESERVED0 : longWord;
  768. FERACES : word; //0050 Force Event for Auto CMD Error Status
  769. FEREIS : word; //0052 Force Event for Error Interrupt Status
  770. AESR : byte; //0054 ADMA Error Status
  771. RESERVED1 : array[1..3] of byte;
  772. ASAR : longWord; //0058 ADMA System Address n
  773. RESERVED2 : longWord;
  774. PVR : array[0..7] of word; //0060 Preset Value n
  775. RESERVED3 : array[1..140] of byte;
  776. SISR : word; //00FC Slot Interrupt Status
  777. HCVR : word; //00FE Host Controller Version
  778. RESERVED4 : array[1..260] of byte;
  779. MC1R : byte; //0204 MMC Control 1
  780. MC2R : byte; //0205 MMC Control 2
  781. RESERVED5 : word;
  782. ACR : longWord; //0208 AHB Control
  783. CC2R : longWord; //020C Clock Control 2
  784. RESERVED6 : array[1..32] of byte;
  785. CACR : longWord; //0230 Capabilities Control
  786. DBGR : byte; //0234 Debug
  787. end;
  788. TSERCOMI2CM_Registers = record
  789. CTRLA : longWord; //0000 I2CM Control A
  790. CTRLB : longWord; //0004 I2CM Control B
  791. CTRLC : longWord; //0008 I2CM Control C
  792. BAUD : longWord; //000C I2CM Baud Rate
  793. RESERVED0 : longWord;
  794. INTENCLR : byte; //0014 I2CM Interrupt Enable Clear
  795. RESERVED1 : byte;
  796. INTENSET : byte; //0016 I2CM Interrupt Enable Set
  797. RESERVED2 : byte;
  798. INTFLAG : byte; //0018 I2CM Interrupt Flag Status and Clear
  799. RESERVED3 : byte;
  800. STATUS : word; //001A I2CM Status
  801. SYNCBUSY : longWord; //001C I2CM Synchronization Busy
  802. RESERVED4 : longWord;
  803. ADDR : longWord; //0024 I2CM Address
  804. DATA : longWord; //0028 I2CM Data
  805. RESERVED5 : longWord;
  806. DBGCTRL : byte; //0030 I2CM Debug Control
  807. end;
  808. TSERCOMI2CS_Registers = record
  809. CTRLA : longWord; //0000 I2CS Control A
  810. CTRLB : longWord; //0004 I2CS Control B
  811. CTRLC : longWord; //0008 I2CS Control C
  812. RESERVED0 : array[1..8] of byte;
  813. INTENCLR : byte; //0014 I2CS Interrupt Enable Clear
  814. RESERVED1 : byte;
  815. INTENSET : byte; //0016 I2CS Interrupt Enable Set
  816. RESERVED2 : byte;
  817. INTFLAG : byte; //0018 I2CS Interrupt Flag Status and Clear
  818. RESERVED3 : byte;
  819. STATUS : word; //001A I2CS Status
  820. SYNCBUSY : longWord; //001C I2CS Synchronization Busy
  821. RESERVED4 : word;
  822. LENGTH : word; //0022 I2CS Length
  823. ADDR : longWord; //0024 I2CS Address
  824. DATA : longWord; //0028 I2CS Data
  825. end;
  826. TSERCOMSPIS_Registers = record
  827. CTRLA : longWord; //0000 SPIS Control A
  828. CTRLB : longWord; //0004 SPIS Control B
  829. CTRLC : longWord; //0008 SPIS Control C
  830. BAUD : byte; //000C SPIS Baud Rate
  831. RESERVED0 : array[1..7] of byte;
  832. INTENCLR : byte; //0014 SPIS Interrupt Enable Clear
  833. RESERVED1 : byte;
  834. INTENSET : byte; //0016 SPIS Interrupt Enable Set
  835. RESERVED2 : byte;
  836. INTFLAG : byte; //0018 SPIS Interrupt Flag Status and Clear
  837. RESERVED3 : byte;
  838. STATUS : word; //001A SPIS Status
  839. SYNCBUSY : longWord; //001C SPIS Synchronization Busy
  840. RESERVED4 : word;
  841. LENGTH : word; //0022 SPIS Length
  842. ADDR : longWord; //0024 SPIS Address
  843. DATA : longWord; //0028 SPIS Data
  844. RESERVED5 : longWord;
  845. DBGCTRL : byte; //0030 SPIS Debug Control
  846. end;
  847. TSERCOMSPIM_Registers = record
  848. CTRLA : longWord; //0000 SPIM Control A
  849. CTRLB : longWord; //0004 SPIM Control B
  850. CTRLC : longWord; //0008 SPIM Control C
  851. BAUD : byte; //000C SPIM Baud Rate
  852. RESERVED0 : array[1..7] of byte;
  853. INTENCLR : byte; //0014 SPIM Interrupt Enable Clear
  854. RESERVED1 : byte;
  855. INTENSET : byte; //0016 SPIM Interrupt Enable Set
  856. RESERVED2 : byte;
  857. INTFLAG : byte; //0018 SPIM Interrupt Flag Status and Clear
  858. RESERVED3 : byte;
  859. STATUS : word; //001A SPIM Status
  860. SYNCBUSY : longWord; //001C SPIM Synchronization Busy
  861. RESERVED4 : word;
  862. LENGTH : word; //0022 SPIM Length
  863. ADDR : longWord; //0024 SPIM Address
  864. DATA : longWord; //0028 SPIM Data
  865. RESERVED5 : longWord;
  866. DBGCTRL : byte; //0030 SPIM Debug Control
  867. end;
  868. TSERCOMUSART_EXT_Registers = record
  869. CTRLA : longWord; //0000 USART_EXT Control A
  870. CTRLB : longWord; //0004 USART_EXT Control B
  871. CTRLC : longWord; //0008 USART_EXT Control C
  872. BAUD : word; //000C USART_EXT Baud Rate
  873. RXPL : byte; //000E USART_EXT Receive Pulse Length
  874. RESERVED0 : array[1..5] of byte;
  875. INTENCLR : byte; //0014 USART_EXT Interrupt Enable Clear
  876. RESERVED1 : byte;
  877. INTENSET : byte; //0016 USART_EXT Interrupt Enable Set
  878. RESERVED2 : byte;
  879. INTFLAG : byte; //0018 USART_EXT Interrupt Flag Status and Clear
  880. RESERVED3 : byte;
  881. STATUS : word; //001A USART_EXT Status
  882. SYNCBUSY : longWord; //001C USART_EXT Synchronization Busy
  883. RXERRCNT : byte; //0020 USART_EXT Receive Error Count
  884. RESERVED4 : byte;
  885. LENGTH : word; //0022 USART_EXT Length
  886. RESERVED5 : longWord;
  887. DATA : longWord; //0028 USART_EXT Data
  888. RESERVED6 : longWord;
  889. DBGCTRL : byte; //0030 USART_EXT Debug Control
  890. end;
  891. TSERCOMUSART_INT_Registers = record
  892. CTRLA : longWord; //0000 USART_INT Control A
  893. CTRLB : longWord; //0004 USART_INT Control B
  894. CTRLC : longWord; //0008 USART_INT Control C
  895. BAUD : word; //000C USART_INT Baud Rate
  896. RXPL : byte; //000E USART_INT Receive Pulse Length
  897. RESERVED0 : array[1..5] of byte;
  898. INTENCLR : byte; //0014 USART_INT Interrupt Enable Clear
  899. RESERVED1 : byte;
  900. INTENSET : byte; //0016 USART_INT Interrupt Enable Set
  901. RESERVED2 : byte;
  902. INTFLAG : byte; //0018 USART_INT Interrupt Flag Status and Clear
  903. RESERVED3 : byte;
  904. STATUS : word; //001A USART_INT Status
  905. SYNCBUSY : longWord; //001C USART_INT Synchronization Busy
  906. RXERRCNT : byte; //0020 USART_INT Receive Error Count
  907. RESERVED4 : byte;
  908. LENGTH : word; //0022 USART_INT Length
  909. RESERVED5 : longWord;
  910. DATA : longWord; //0028 USART_INT Data
  911. RESERVED6 : longWord;
  912. DBGCTRL : byte; //0030 USART_INT Debug Control
  913. end;
  914. TSUPC_Registers = record
  915. INTENCLR : longWord; //0000 Interrupt Enable Clear
  916. INTENSET : longWord; //0004 Interrupt Enable Set
  917. INTFLAG : longWord; //0008 Interrupt Flag Status and Clear
  918. STATUS : longWord; //000C Power and Clocks Status
  919. BOD33 : longWord; //0010 BOD33 Control
  920. RESERVED0 : longWord;
  921. VREG : longWord; //0018 VREG Control
  922. VREF : longWord; //001C VREF Control
  923. BBPS : longWord; //0020 Battery Backup Power Switch
  924. BKOUT : longWord; //0024 Backup Output Control
  925. BKIN : longWord; //0028 Backup Input Control
  926. end;
  927. TTCCOUNT8_Registers = record
  928. CTRLA : longWord; //0000 Control A
  929. CTRLBCLR : byte; //0004 Control B Clear
  930. CTRLBSET : byte; //0005 Control B Set
  931. EVCTRL : word; //0006 Event Control
  932. INTENCLR : byte; //0008 Interrupt Enable Clear
  933. INTENSET : byte; //0009 Interrupt Enable Set
  934. INTFLAG : byte; //000A Interrupt Flag Status and Clear
  935. STATUS : byte; //000B Status
  936. WAVE : byte; //000C Waveform Generation Control
  937. DRVCTRL : byte; //000D Control C
  938. RESERVED0 : byte;
  939. DBGCTRL : byte; //000F Debug Control
  940. SYNCBUSY : longWord; //0010 Synchronization Status
  941. COUNT : byte; //0014 COUNT8 Count
  942. RESERVED1 : array[1..6] of byte;
  943. PER : byte; //001B COUNT8 Period
  944. CC : array[0..1] of byte; //001C COUNT8 Compare and Capture
  945. RESERVED2 : array[1..17] of byte;
  946. PERBUF : byte; //002F COUNT8 Period Buffer
  947. CCBUF : array[0..1] of byte; //0030 COUNT8 Compare and Capture Buffer
  948. end;
  949. TTCCOUNT16_Registers = record
  950. CTRLA : longWord; //0000 Control A
  951. CTRLBCLR : byte; //0004 Control B Clear
  952. CTRLBSET : byte; //0005 Control B Set
  953. EVCTRL : word; //0006 Event Control
  954. INTENCLR : byte; //0008 Interrupt Enable Clear
  955. INTENSET : byte; //0009 Interrupt Enable Set
  956. INTFLAG : byte; //000A Interrupt Flag Status and Clear
  957. STATUS : byte; //000B Status
  958. WAVE : byte; //000C Waveform Generation Control
  959. DRVCTRL : byte; //000D Control C
  960. RESERVED0 : byte;
  961. DBGCTRL : byte; //000F Debug Control
  962. SYNCBUSY : longWord; //0010 Synchronization Status
  963. COUNT : word; //0014 COUNT16 Count
  964. RESERVED1 : array[1..6] of byte;
  965. CC : array[0..1] of word; //001C COUNT16 Compare and Capture
  966. RESERVED2 : array[1..16] of byte;
  967. CCBUF : array[0..1] of word; //0030 COUNT16 Compare and Capture Buffer
  968. end;
  969. TTCCOUNT32_Registers = record
  970. CTRLA : longWord; //0000 Control A
  971. CTRLBCLR : byte; //0004 Control B Clear
  972. CTRLBSET : byte; //0005 Control B Set
  973. EVCTRL : word; //0006 Event Control
  974. INTENCLR : byte; //0008 Interrupt Enable Clear
  975. INTENSET : byte; //0009 Interrupt Enable Set
  976. INTFLAG : byte; //000A Interrupt Flag Status and Clear
  977. STATUS : byte; //000B Status
  978. WAVE : byte; //000C Waveform Generation Control
  979. DRVCTRL : byte; //000D Control C
  980. RESERVED0 : byte;
  981. DBGCTRL : byte; //000F Debug Control
  982. SYNCBUSY : longWord; //0010 Synchronization Status
  983. COUNT : longWord; //0014 COUNT32 Count
  984. RESERVED1 : longWord;
  985. CC : array[0..1] of longWord; //001C COUNT32 Compare and Capture
  986. RESERVED2 : array[1..12] of byte;
  987. CCBUF : array[0..1] of longWord; //0030 COUNT32 Compare and Capture Buffer
  988. end;
  989. TTCC_Registers = record
  990. CTRLA : longWord; //0000 Control A
  991. CTRLBCLR : byte; //0004 Control B Clear
  992. CTRLBSET : byte; //0005 Control B Set
  993. RESERVED0 : word;
  994. SYNCBUSY : longWord; //0008 Synchronization Busy
  995. FCTRLA : longWord; //000C Recoverable Fault A Configuration
  996. FCTRLB : longWord; //0010 Recoverable Fault B Configuration
  997. WEXCTRL : longWord; //0014 Waveform Extension Configuration
  998. DRVCTRL : longWord; //0018 Driver Control
  999. RESERVED1 : word;
  1000. DBGCTRL : byte; //001E Debug Control
  1001. RESERVED2 : byte;
  1002. EVCTRL : longWord; //0020 Event Control
  1003. INTENCLR : longWord; //0024 Interrupt Enable Clear
  1004. INTENSET : longWord; //0028 Interrupt Enable Set
  1005. INTFLAG : longWord; //002C Interrupt Flag Status and Clear
  1006. STATUS : longWord; //0030 Status
  1007. COUNT : longWord; //0034 Count
  1008. PATT : word; //0038 Pattern
  1009. RESERVED3 : word;
  1010. WAVE : longWord; //003C Waveform Control
  1011. PER : longWord; //0040 Period
  1012. CC : array[0..5] of longWord; //0044 Compare and Capture
  1013. RESERVED4 : array[1..8] of byte;
  1014. PATTBUF : word; //0064 Pattern Buffer
  1015. RESERVED5 : array[1..6] of byte;
  1016. PERBUF : longWord; //006C Period Buffer
  1017. CCBUF : array[0..5] of longWord; //0070 Compare and Capture Buffer
  1018. end;
  1019. TTRNG_Registers = record
  1020. CTRLA : byte; //0000 Control A
  1021. RESERVED0 : array[1..3] of byte;
  1022. EVCTRL : byte; //0004 Event Control
  1023. RESERVED1 : array[1..3] of byte;
  1024. INTENCLR : byte; //0008 Interrupt Enable Clear
  1025. INTENSET : byte; //0009 Interrupt Enable Set
  1026. INTFLAG : byte; //000A Interrupt Flag Status and Clear
  1027. RESERVED2 : array[1..21] of byte;
  1028. DATA : longWord; //0020 Output Data
  1029. end;
  1030. TUSB_DEVICE_DESC_BANK_Registers = record
  1031. ADDR : longWord; //0000 DEVICE_DESC_BANK Endpoint Bank, Adress of Data Buffer
  1032. PCKSIZE : longWord; //0004 DEVICE_DESC_BANK Endpoint Bank, Packet Size
  1033. EXTREG : word; //0008 DEVICE_DESC_BANK Endpoint Bank, Extended
  1034. STATUS_BK : byte; //000A DEVICE_DESC_BANK Enpoint Bank, Status of Bank
  1035. end;
  1036. TUSB_HOST_DESC_BANK_Registers = record
  1037. ADDR : longWord; //0000 HOST_DESC_BANK Host Bank, Adress of Data Buffer
  1038. PCKSIZE : longWord; //0004 HOST_DESC_BANK Host Bank, Packet Size
  1039. EXTREG : word; //0008 HOST_DESC_BANK Host Bank, Extended
  1040. STATUS_BK : byte; //000A HOST_DESC_BANK Host Bank, Status of Bank
  1041. RESERVED0 : byte;
  1042. CTRL_PIPE : word; //000C HOST_DESC_BANK Host Bank, Host Control Pipe
  1043. STATUS_PIPE : word; //000E HOST_DESC_BANK Host Bank, Host Status Pipe
  1044. end;
  1045. TUSB_DEVICE_ENDPOINT_Registers = record
  1046. EPCFG : byte; //0000 DEVICE_ENDPOINT End Point Configuration
  1047. RESERVED0 : array[1..3] of byte;
  1048. EPSTATUSCLR : byte; //0004 DEVICE_ENDPOINT End Point Pipe Status Clear
  1049. EPSTATUSSET : byte; //0005 DEVICE_ENDPOINT End Point Pipe Status Set
  1050. EPSTATUS : byte; //0006 DEVICE_ENDPOINT End Point Pipe Status
  1051. EPINTFLAG : byte; //0007 DEVICE_ENDPOINT End Point Interrupt Flag
  1052. EPINTENCLR : byte; //0008 DEVICE_ENDPOINT End Point Interrupt Clear Flag
  1053. EPINTENSET : byte; //0009 DEVICE_ENDPOINT End Point Interrupt Set Flag
  1054. end;
  1055. TUSB_HOST_PIPE_Registers = record
  1056. PCFG : byte; //0000 HOST_PIPE End Point Configuration
  1057. RESERVED0 : word;
  1058. BINTERVAL : byte; //0003 HOST_PIPE Bus Access Period of Pipe
  1059. PSTATUSCLR : byte; //0004 HOST_PIPE End Point Pipe Status Clear
  1060. PSTATUSSET : byte; //0005 HOST_PIPE End Point Pipe Status Set
  1061. PSTATUS : byte; //0006 HOST_PIPE End Point Pipe Status
  1062. PINTFLAG : byte; //0007 HOST_PIPE Pipe Interrupt Flag
  1063. PINTENCLR : byte; //0008 HOST_PIPE Pipe Interrupt Flag Clear
  1064. PINTENSET : byte; //0009 HOST_PIPE Pipe Interrupt Flag Set
  1065. end;
  1066. TUSBDEVICE_Registers = record
  1067. CTRLA : byte; //0000 Control A
  1068. RESERVED0 : byte;
  1069. SYNCBUSY : byte; //0002 Synchronization Busy
  1070. QOSCTRL : byte; //0003 USB Quality Of Service
  1071. RESERVED1 : longWord;
  1072. CTRLB : word; //0008 DEVICE Control B
  1073. DADD : byte; //000A DEVICE Device Address
  1074. RESERVED2 : byte;
  1075. STATUS : byte; //000C DEVICE Status
  1076. FSMSTATUS : byte; //000D Finite State Machine Status
  1077. RESERVED3 : word;
  1078. FNUM : word; //0010 DEVICE Device Frame Number
  1079. RESERVED4 : word;
  1080. INTENCLR : word; //0014 DEVICE Device Interrupt Enable Clear
  1081. RESERVED5 : word;
  1082. INTENSET : word; //0018 DEVICE Device Interrupt Enable Set
  1083. RESERVED6 : word;
  1084. INTFLAG : word; //001C DEVICE Device Interrupt Flag
  1085. RESERVED7 : word;
  1086. EPINTSMRY : word; //0020 DEVICE End Point Interrupt Summary
  1087. RESERVED8 : word;
  1088. DESCADD : longWord; //0024 Descriptor Address
  1089. PADCAL : word; //0028 USB PAD Calibration
  1090. RESERVED9 : array[1..214] of byte;
  1091. HOST_PIPE : array[0..7] of TUSB_HOST_PIPE_Registers; //0100
  1092. end;
  1093. TUSBHOST_Registers = record
  1094. CTRLA : byte; //0000 Control A
  1095. RESERVED0 : byte;
  1096. SYNCBUSY : byte; //0002 Synchronization Busy
  1097. QOSCTRL : byte; //0003 USB Quality Of Service
  1098. RESERVED1 : longWord;
  1099. CTRLB : word; //0008 HOST Control B
  1100. HSOFC : byte; //000A HOST Host Start Of Frame Control
  1101. RESERVED2 : byte;
  1102. STATUS : byte; //000C HOST Status
  1103. FSMSTATUS : byte; //000D Finite State Machine Status
  1104. RESERVED3 : word;
  1105. FNUM : word; //0010 HOST Host Frame Number
  1106. FLENHIGH : byte; //0012 HOST Host Frame Length
  1107. RESERVED4 : byte;
  1108. INTENCLR : word; //0014 HOST Host Interrupt Enable Clear
  1109. RESERVED5 : word;
  1110. INTENSET : word; //0018 HOST Host Interrupt Enable Set
  1111. RESERVED6 : word;
  1112. INTFLAG : word; //001C HOST Host Interrupt Flag
  1113. RESERVED7 : word;
  1114. PINTSMRY : word; //0020 HOST Pipe Interrupt Summary
  1115. RESERVED8 : word;
  1116. DESCADD : longWord; //0024 Descriptor Address
  1117. PADCAL : word; //0028 USB PAD Calibration
  1118. RESERVED9 : array[1..214] of byte;
  1119. HOST_PIPE : array[0..7] of TUSB_HOST_PIPE_Registers; //0100
  1120. end;
  1121. TUSB_DESCRIPTORDEVICE_Registers = record
  1122. HOST_DESC_BANK : array[0..1] of TUSB_HOST_DESC_BANK_Registers; //0000
  1123. end;
  1124. TUSB_DESCRIPTORHOST_Registers = record
  1125. HOST_DESC_BANK : array[0..1] of TUSB_HOST_DESC_BANK_Registers; //0000
  1126. end;
  1127. TWDT_Registers = record
  1128. CTRLA : byte; //0000 Control
  1129. CONFIG : byte; //0001 Configuration
  1130. EWCTRL : byte; //0002 Early Warning Interrupt Control
  1131. RESERVED0 : byte;
  1132. INTENCLR : byte; //0004 Interrupt Enable Clear
  1133. INTENSET : byte; //0005 Interrupt Enable Set
  1134. INTFLAG : byte; //0006 Interrupt Flag Status and Clear
  1135. RESERVED1 : byte;
  1136. SYNCBUSY : longWord; //0008 Synchronization Busy
  1137. CLEAR : byte; //000C Clear
  1138. end;
  1139. TETM_Registers = record
  1140. CR : longWord; //0000 ETM Main Control Register
  1141. CCR : longWord; //0004 ETM Configuration Code Register
  1142. TRIGGER : longWord; //0008 ETM Trigger Event Register
  1143. RESERVED0 : longWord;
  1144. SR : longWord; //0010 ETM Status Register
  1145. SCR : longWord; //0014 ETM System Configuration Register
  1146. RESERVED1 : array[1..8] of byte;
  1147. TEEVR : longWord; //0020 ETM TraceEnable Event Register
  1148. TECR1 : longWord; //0024 ETM TraceEnable Control 1 Register
  1149. FFLR : longWord; //0028 ETM FIFO Full Level Register
  1150. RESERVED2 : array[1..276] of byte;
  1151. CNTRLDVR1 : longWord; //0140 ETM Free-running Counter Reload Value
  1152. RESERVED3 : array[1..156] of byte;
  1153. SYNCFR : longWord; //01E0 ETM Synchronization Frequency Register
  1154. IDR : longWord; //01E4 ETM ID Register
  1155. CCER : longWord; //01E8 ETM Configuration Code Extension Register
  1156. RESERVED4 : longWord;
  1157. TESSEICR : longWord; //01F0 ETM TraceEnable Start/Stop EmbeddedICE Control Register
  1158. RESERVED5 : longWord;
  1159. TSEVT : longWord; //01F8 ETM TimeStamp Event Register
  1160. RESERVED6 : longWord;
  1161. TRACEIDR : longWord; //0200 ETM CoreSight Trace ID Register
  1162. RESERVED7 : longWord;
  1163. IDR2 : longWord; //0208 ETM ID Register 2
  1164. RESERVED8 : array[1..264] of byte;
  1165. PDSR : longWord; //0314 ETM Device Power-Down Status Register
  1166. RESERVED9 : array[1..3016] of byte;
  1167. ITMISCIN : longWord; //0EE0 ETM Integration Test Miscellaneous Inputs
  1168. RESERVED10 : longWord;
  1169. ITTRIGOUT : longWord; //0EE8 ETM Integration Test Trigger Out
  1170. RESERVED11 : longWord;
  1171. ITATBCTR2 : longWord; //0EF0 ETM Integration Test ATB Control 2
  1172. RESERVED12 : longWord;
  1173. ITATBCTR0 : longWord; //0EF8 ETM Integration Test ATB Control 0
  1174. RESERVED13 : longWord;
  1175. ITCTRL : longWord; //0F00 ETM Integration Mode Control Register
  1176. RESERVED14 : array[1..156] of byte;
  1177. CLAIMSET : longWord; //0FA0 ETM Claim Tag Set Register
  1178. CLAIMCLR : longWord; //0FA4 ETM Claim Tag Clear Register
  1179. RESERVED15 : array[1..8] of byte;
  1180. LAR : longWord; //0FB0 ETM Lock Access Register
  1181. LSR : longWord; //0FB4 ETM Lock Status Register
  1182. AUTHSTATUS : longWord; //0FB8 ETM Authentication Status Register
  1183. RESERVED16 : array[1..16] of byte;
  1184. DEVTYPE : longWord; //0FCC ETM CoreSight Device Type Register
  1185. PIDR4 : longWord; //0FD0 ETM Peripheral Identification Register #4
  1186. PIDR5 : longWord; //0FD4 ETM Peripheral Identification Register #5
  1187. PIDR6 : longWord; //0FD8 ETM Peripheral Identification Register #6
  1188. PIDR7 : longWord; //0FDC ETM Peripheral Identification Register #7
  1189. PIDR0 : longWord; //0FE0 ETM Peripheral Identification Register #0
  1190. PIDR1 : longWord; //0FE4 ETM Peripheral Identification Register #1
  1191. PIDR2 : longWord; //0FE8 ETM Peripheral Identification Register #2
  1192. PIDR3 : longWord; //0FEC ETM Peripheral Identification Register #3
  1193. CIDR0 : longWord; //0FF0 ETM Component Identification Register #0
  1194. CIDR1 : longWord; //0FF4 ETM Component Identification Register #1
  1195. CIDR2 : longWord; //0FF8 ETM Component Identification Register #2
  1196. CIDR3 : longWord; //0FFC ETM Component Identification Register #3
  1197. end;
  1198. TMPU_Registers = record
  1199. &TYPE : longWord; //0000 MPU Type Register
  1200. CTRL : longWord; //0004 MPU Control Register
  1201. RNR : longWord; //0008 MPU Region Number Register
  1202. RBAR : longWord; //000C MPU Region Base Address Register
  1203. RASR : longWord; //0010 MPU Region Attribute and Size Register
  1204. RBAR_A1 : longWord; //0014 MPU Alias 1 Region Base Address Register
  1205. RASR_A1 : longWord; //0018 MPU Alias 1 Region Attribute and Size Register
  1206. RBAR_A2 : longWord; //001C MPU Alias 2 Region Base Address Register
  1207. RASR_A2 : longWord; //0020 MPU Alias 2 Region Attribute and Size Register
  1208. RBAR_A3 : longWord; //0024 MPU Alias 3 Region Base Address Register
  1209. RASR_A3 : longWord; //0028 MPU Alias 3 Region Attribute and Size Register
  1210. end;
  1211. TSystemControl_Registers = record
  1212. ICTR : longWord; //0004 Interrupt Controller Type Register
  1213. ACTLR : longWord; //0008 Auxiliary Control Register
  1214. RESERVED0 : array[1..3316] of byte;
  1215. CPUID : longWord; //0D00 CPUID Base Register
  1216. ICSR : longWord; //0D04 Interrupt Control and State Register
  1217. VTOR : longWord; //0D08 Vector Table Offset Register
  1218. AIRCR : longWord; //0D0C Application Interrupt and Reset Control Register
  1219. SCR : longWord; //0D10 System Control Register
  1220. CCR : longWord; //0D14 Configuration and Control Register
  1221. SHPR1 : longWord; //0D18 System Handler Priority Register 1
  1222. SHPR2 : longWord; //0D1C System Handler Priority Register 2
  1223. SHPR3 : longWord; //0D20 System Handler Priority Register 3
  1224. SHCSR : longWord; //0D24 System Handler Control and State Register
  1225. CFSR : longWord; //0D28 Configurable Fault Status Register
  1226. HFSR : longWord; //0D2C HardFault Status Register
  1227. DFSR : longWord; //0D30 Debug Fault Status Register
  1228. MMFAR : longWord; //0D34 MemManage Fault Address Register
  1229. BFAR : longWord; //0D38 BusFault Address Register
  1230. AFSR : longWord; //0D3C Auxiliary Fault Status Register
  1231. PFR : array[0..1] of longWord; //0D40 Processor Feature Register
  1232. DFR : longWord; //0D48 Debug Feature Register
  1233. ADR : longWord; //0D4C Auxiliary Feature Register
  1234. MMFR : array[0..3] of longWord; //0D50 Memory Model Feature Register
  1235. ISAR : array[0..4] of longWord; //0D60 Instruction Set Attributes Register
  1236. RESERVED1 : array[1..20] of byte;
  1237. CPACR : longWord; //0D88 Coprocessor Access Control Register
  1238. end;
  1239. TTPIU_Registers = record
  1240. SSPSR : longWord; //0000 Supported Parallel Port Size Register
  1241. CSPSR : longWord; //0004 Current Parallel Port Size Register
  1242. RESERVED0 : array[1..8] of byte;
  1243. ACPR : longWord; //0010 Asynchronous Clock Prescaler Register
  1244. RESERVED1 : array[1..220] of byte;
  1245. SPPR : longWord; //00F0 Selected Pin Protocol Register
  1246. RESERVED2 : array[1..524] of byte;
  1247. FFSR : longWord; //0300 Formatter and Flush Status Register
  1248. FFCR : longWord; //0304 Formatter and Flush Control Register
  1249. FSCR : longWord; //0308 Formatter Synchronization Counter Register
  1250. RESERVED3 : array[1..3036] of byte;
  1251. TRIGGER : longWord; //0EE8 TRIGGER
  1252. FIFO0 : longWord; //0EEC Integration ETM Data
  1253. ITATBCTR2 : longWord; //0EF0 ITATBCTR2
  1254. RESERVED4 : longWord;
  1255. ITATBCTR0 : longWord; //0EF8 ITATBCTR0
  1256. FIFO1 : longWord; //0EFC Integration ITM Data
  1257. ITCTRL : longWord; //0F00 Integration Mode Control
  1258. RESERVED5 : array[1..156] of byte;
  1259. CLAIMSET : longWord; //0FA0 Claim tag set
  1260. CLAIMCLR : longWord; //0FA4 Claim tag clear
  1261. RESERVED6 : array[1..32] of byte;
  1262. DEVID : longWord; //0FC8 TPIU_DEVID
  1263. DEVTYPE : longWord; //0FCC TPIU_DEVTYPE
  1264. end;
  1265. TRTC_Registers = record
  1266. case byte of
  1267. 0: ( MODE0 : TRTCMODE0_Registers );
  1268. 1: ( MODE1 : TRTCMODE1_Registers );
  1269. 2: ( MODE2 : TRTCMODE2_Registers );
  1270. end;
  1271. TSERCOM_Registers = record
  1272. case byte of
  1273. 0: ( I2CM : TSERCOMI2CM_Registers );
  1274. 1: ( I2CS : TSERCOMI2CS_Registers );
  1275. 2: ( SPIS : TSERCOMSPIS_Registers );
  1276. 3: ( SPIM : TSERCOMSPIM_Registers );
  1277. 4: ( USART_EXT : TSERCOMUSART_EXT_Registers );
  1278. 5: ( USART_INT : TSERCOMUSART_INT_Registers );
  1279. end;
  1280. TTC_Registers = record
  1281. case byte of
  1282. 0: ( COUNT8 : TTCCOUNT8_Registers );
  1283. 1: ( COUNT16 : TTCCOUNT16_Registers );
  1284. 2: ( COUNT32 : TTCCOUNT32_Registers );
  1285. end;
  1286. TUSB_Registers = record
  1287. case byte of
  1288. 0: ( DEVICE : TUSBDEVICE_Registers );
  1289. 1: ( HOST : TUSBHOST_Registers );
  1290. end;
  1291. TUSB_DESCRIPTOR_Registers = record
  1292. case byte of
  1293. 0: ( DEVICE : TUSB_DESCRIPTORDEVICE_Registers );
  1294. 1: ( HOST : TUSB_DESCRIPTORHOST_Registers );
  1295. end;
  1296. const
  1297. AC_BASE = $42002000;
  1298. ADC0_BASE = $43001c00;
  1299. ADC1_BASE = $43002000;
  1300. AES_BASE = $42002400;
  1301. CCL_BASE = $42003800;
  1302. CMCC_BASE = $41006000;
  1303. DAC_BASE = $43002400;
  1304. DMAC_BASE = $4100a000;
  1305. DSU_BASE = $41002000;
  1306. EIC_BASE = $40002800;
  1307. ETM_BASE = $e0041000;
  1308. EVSYS_BASE = $4100e000;
  1309. FREQM_BASE = $40002c00;
  1310. GCLK_BASE = $40001c00;
  1311. HMATRIX_BASE = $4100c000;
  1312. I2S_BASE = $43002800;
  1313. ICM_BASE = $42002c00;
  1314. MCLK_BASE = $40000800;
  1315. MPU_BASE = $e000ed90;
  1316. NVMCTRL_BASE = $41004000;
  1317. OSC32KCTRL_BASE = $40001400;
  1318. OSCCTRL_BASE = $40001000;
  1319. PAC_BASE = $40000000;
  1320. PCC_BASE = $43002c00;
  1321. PDEC_BASE = $42001c00;
  1322. PM_BASE = $40000400;
  1323. PORT_BASE = $41008000;
  1324. QSPI_BASE = $42003400;
  1325. RAMECC_BASE = $41020000;
  1326. RSTC_BASE = $40000c00;
  1327. RTC_BASE = $40002400;
  1328. SDHC0_BASE = $45000000;
  1329. SDHC1_BASE = $46000000;
  1330. SERCOM0_BASE = $40003000;
  1331. SERCOM1_BASE = $40003400;
  1332. SERCOM2_BASE = $41012000;
  1333. SERCOM3_BASE = $41014000;
  1334. SERCOM4_BASE = $43000000;
  1335. SERCOM5_BASE = $43000400;
  1336. SERCOM6_BASE = $43000800;
  1337. SERCOM7_BASE = $43000c00;
  1338. SUPC_BASE = $40001800;
  1339. SW0_FUSES_BASE = $00800080;
  1340. SystemControl_BASE = $e000e000;
  1341. TC0_BASE = $40003800;
  1342. TC1_BASE = $40003c00;
  1343. TC2_BASE = $4101a000;
  1344. TC3_BASE = $4101c000;
  1345. TC4_BASE = $42001400;
  1346. TC5_BASE = $42001800;
  1347. TC6_BASE = $43001400;
  1348. TC7_BASE = $43001800;
  1349. TCC0_BASE = $41016000;
  1350. TCC1_BASE = $41018000;
  1351. TCC2_BASE = $42000c00;
  1352. TCC3_BASE = $42001000;
  1353. TCC4_BASE = $43001000;
  1354. TEMP_LOG_FUSES_BASE = $00800100;
  1355. TPIU_BASE = $e0040000;
  1356. TRNG_BASE = $42002800;
  1357. USB_BASE = $41000000;
  1358. USER_FUSES_BASE = $00804000;
  1359. WDT_BASE = $40002000;
  1360. var
  1361. AC : TAC_Registers absolute AC_BASE;
  1362. ADC0 : TADC_Registers absolute ADC0_BASE;
  1363. ADC1 : TADC_Registers absolute ADC1_BASE;
  1364. AES : TAES_Registers absolute AES_BASE;
  1365. CCL : TCCL_Registers absolute CCL_BASE;
  1366. CMCC : TCMCC_Registers absolute CMCC_BASE;
  1367. DAC : TDAC_Registers absolute DAC_BASE;
  1368. DMAC : TDMAC_Registers absolute DMAC_BASE;
  1369. DSU : TDSU_Registers absolute DSU_BASE;
  1370. EIC : TEIC_Registers absolute EIC_BASE;
  1371. ETM : TETM_Registers absolute ETM_BASE;
  1372. EVSYS : TEVSYS_Registers absolute EVSYS_BASE;
  1373. FREQM : TFREQM_Registers absolute FREQM_BASE;
  1374. GCLK : TGCLK_Registers absolute GCLK_BASE;
  1375. HMATRIX : THMATRIXB_Registers absolute HMATRIX_BASE;
  1376. I2S : TI2S_Registers absolute I2S_BASE;
  1377. ICM : TICM_Registers absolute ICM_BASE;
  1378. MCLK : TMCLK_Registers absolute MCLK_BASE;
  1379. MPU : TMPU_Registers absolute MPU_BASE;
  1380. NVMCTRL : TNVMCTRL_Registers absolute NVMCTRL_BASE;
  1381. OSC32KCTRL : TOSC32KCTRL_Registers absolute OSC32KCTRL_BASE;
  1382. OSCCTRL : TOSCCTRL_Registers absolute OSCCTRL_BASE;
  1383. PAC : TPAC_Registers absolute PAC_BASE;
  1384. PCC : TPCC_Registers absolute PCC_BASE;
  1385. PDEC : TPDEC_Registers absolute PDEC_BASE;
  1386. PM : TPM_Registers absolute PM_BASE;
  1387. PORT : TPORT_Registers absolute PORT_BASE;
  1388. QSPI : TQSPI_Registers absolute QSPI_BASE;
  1389. RAMECC : TRAMECC_Registers absolute RAMECC_BASE;
  1390. RSTC : TRSTC_Registers absolute RSTC_BASE;
  1391. RTC : TRTC_Registers absolute RTC_BASE;
  1392. SDHC0 : TSDHC_Registers absolute SDHC0_BASE;
  1393. SDHC1 : TSDHC_Registers absolute SDHC1_BASE;
  1394. SERCOM0 : TSERCOM_Registers absolute SERCOM0_BASE;
  1395. SERCOM1 : TSERCOM_Registers absolute SERCOM1_BASE;
  1396. SERCOM2 : TSERCOM_Registers absolute SERCOM2_BASE;
  1397. SERCOM3 : TSERCOM_Registers absolute SERCOM3_BASE;
  1398. SERCOM4 : TSERCOM_Registers absolute SERCOM4_BASE;
  1399. SERCOM5 : TSERCOM_Registers absolute SERCOM5_BASE;
  1400. SERCOM6 : TSERCOM_Registers absolute SERCOM6_BASE;
  1401. SERCOM7 : TSERCOM_Registers absolute SERCOM7_BASE;
  1402. SUPC : TSUPC_Registers absolute SUPC_BASE;
  1403. SW0_FUSES : TSW0_FUSES_Registers absolute SW0_FUSES_BASE;
  1404. SystemControl : TSystemControl_Registers absolute SystemControl_BASE;
  1405. TC0 : TTC_Registers absolute TC0_BASE;
  1406. TC1 : TTC_Registers absolute TC1_BASE;
  1407. TC2 : TTC_Registers absolute TC2_BASE;
  1408. TC3 : TTC_Registers absolute TC3_BASE;
  1409. TC4 : TTC_Registers absolute TC4_BASE;
  1410. TC5 : TTC_Registers absolute TC5_BASE;
  1411. TC6 : TTC_Registers absolute TC6_BASE;
  1412. TC7 : TTC_Registers absolute TC7_BASE;
  1413. TCC0 : TTCC_Registers absolute TCC0_BASE;
  1414. TCC1 : TTCC_Registers absolute TCC1_BASE;
  1415. TCC2 : TTCC_Registers absolute TCC2_BASE;
  1416. TCC3 : TTCC_Registers absolute TCC3_BASE;
  1417. TCC4 : TTCC_Registers absolute TCC4_BASE;
  1418. TEMP_LOG_FUSES : TTEMP_LOG_FUSES_Registers absolute TEMP_LOG_FUSES_BASE;
  1419. TPIU : TTPIU_Registers absolute TPIU_BASE;
  1420. TRNG : TTRNG_Registers absolute TRNG_BASE;
  1421. USB : TUSB_Registers absolute USB_BASE;
  1422. USER_FUSES : TUSER_FUSES_Registers absolute USER_FUSES_BASE;
  1423. WDT : TWDT_Registers absolute WDT_BASE;
  1424. implementation
  1425. {$DEFINE IMPLEMENTATION}
  1426. {$UNDEF INTERFACE}
  1427. procedure NonMaskableInt_interrupt; external name 'NonMaskableInt_interrupt';
  1428. procedure HardFault_interrupt; external name 'HardFault_interrupt';
  1429. procedure MemoryManagement_interrupt; external name 'MemoryManagement_interrupt';
  1430. procedure BusFault_interrupt; external name 'BusFault_interrupt';
  1431. procedure UsageFault_interrupt; external name 'UsageFault_interrupt';
  1432. procedure SVCall_interrupt; external name 'SVCall_interrupt';
  1433. procedure DebugMonitor_interrupt; external name 'DebugMonitor_interrupt';
  1434. procedure PendSV_interrupt; external name 'PendSV_interrupt';
  1435. procedure SysTick_interrupt; external name 'SysTick_interrupt';
  1436. procedure PM_interrupt; external name 'PM_interrupt';
  1437. procedure MCLK_interrupt; external name 'MCLK_interrupt';
  1438. procedure OSCCTRL_0_interrupt; external name 'OSCCTRL_0_interrupt';
  1439. procedure OSCCTRL_1_interrupt; external name 'OSCCTRL_1_interrupt';
  1440. procedure OSCCTRL_2_interrupt; external name 'OSCCTRL_2_interrupt';
  1441. procedure OSCCTRL_3_interrupt; external name 'OSCCTRL_3_interrupt';
  1442. procedure OSCCTRL_4_interrupt; external name 'OSCCTRL_4_interrupt';
  1443. procedure OSC32KCTRL_interrupt; external name 'OSC32KCTRL_interrupt';
  1444. procedure SUPC_0_interrupt; external name 'SUPC_0_interrupt';
  1445. procedure SUPC_1_interrupt; external name 'SUPC_1_interrupt';
  1446. procedure WDT_interrupt; external name 'WDT_interrupt';
  1447. procedure RTC_interrupt; external name 'RTC_interrupt';
  1448. procedure EIC_0_interrupt; external name 'EIC_0_interrupt';
  1449. procedure EIC_1_interrupt; external name 'EIC_1_interrupt';
  1450. procedure EIC_2_interrupt; external name 'EIC_2_interrupt';
  1451. procedure EIC_3_interrupt; external name 'EIC_3_interrupt';
  1452. procedure EIC_4_interrupt; external name 'EIC_4_interrupt';
  1453. procedure EIC_5_interrupt; external name 'EIC_5_interrupt';
  1454. procedure EIC_6_interrupt; external name 'EIC_6_interrupt';
  1455. procedure EIC_7_interrupt; external name 'EIC_7_interrupt';
  1456. procedure EIC_8_interrupt; external name 'EIC_8_interrupt';
  1457. procedure EIC_9_interrupt; external name 'EIC_9_interrupt';
  1458. procedure EIC_10_interrupt; external name 'EIC_10_interrupt';
  1459. procedure EIC_11_interrupt; external name 'EIC_11_interrupt';
  1460. procedure EIC_12_interrupt; external name 'EIC_12_interrupt';
  1461. procedure EIC_13_interrupt; external name 'EIC_13_interrupt';
  1462. procedure EIC_14_interrupt; external name 'EIC_14_interrupt';
  1463. procedure EIC_15_interrupt; external name 'EIC_15_interrupt';
  1464. procedure FREQM_interrupt; external name 'FREQM_interrupt';
  1465. procedure NVMCTRL_0_interrupt; external name 'NVMCTRL_0_interrupt';
  1466. procedure NVMCTRL_1_interrupt; external name 'NVMCTRL_1_interrupt';
  1467. procedure DMAC_0_interrupt; external name 'DMAC_0_interrupt';
  1468. procedure DMAC_1_interrupt; external name 'DMAC_1_interrupt';
  1469. procedure DMAC_2_interrupt; external name 'DMAC_2_interrupt';
  1470. procedure DMAC_3_interrupt; external name 'DMAC_3_interrupt';
  1471. procedure DMAC_4_interrupt; external name 'DMAC_4_interrupt';
  1472. procedure EVSYS_0_interrupt; external name 'EVSYS_0_interrupt';
  1473. procedure EVSYS_1_interrupt; external name 'EVSYS_1_interrupt';
  1474. procedure EVSYS_2_interrupt; external name 'EVSYS_2_interrupt';
  1475. procedure EVSYS_3_interrupt; external name 'EVSYS_3_interrupt';
  1476. procedure EVSYS_4_interrupt; external name 'EVSYS_4_interrupt';
  1477. procedure PAC_interrupt; external name 'PAC_interrupt';
  1478. procedure RAMECC_interrupt; external name 'RAMECC_interrupt';
  1479. procedure SERCOM0_0_interrupt; external name 'SERCOM0_0_interrupt';
  1480. procedure SERCOM0_1_interrupt; external name 'SERCOM0_1_interrupt';
  1481. procedure SERCOM0_2_interrupt; external name 'SERCOM0_2_interrupt';
  1482. procedure SERCOM0_3_interrupt; external name 'SERCOM0_3_interrupt';
  1483. procedure SERCOM1_0_interrupt; external name 'SERCOM1_0_interrupt';
  1484. procedure SERCOM1_1_interrupt; external name 'SERCOM1_1_interrupt';
  1485. procedure SERCOM1_2_interrupt; external name 'SERCOM1_2_interrupt';
  1486. procedure SERCOM1_3_interrupt; external name 'SERCOM1_3_interrupt';
  1487. procedure SERCOM2_0_interrupt; external name 'SERCOM2_0_interrupt';
  1488. procedure SERCOM2_1_interrupt; external name 'SERCOM2_1_interrupt';
  1489. procedure SERCOM2_2_interrupt; external name 'SERCOM2_2_interrupt';
  1490. procedure SERCOM2_3_interrupt; external name 'SERCOM2_3_interrupt';
  1491. procedure SERCOM3_0_interrupt; external name 'SERCOM3_0_interrupt';
  1492. procedure SERCOM3_1_interrupt; external name 'SERCOM3_1_interrupt';
  1493. procedure SERCOM3_2_interrupt; external name 'SERCOM3_2_interrupt';
  1494. procedure SERCOM3_3_interrupt; external name 'SERCOM3_3_interrupt';
  1495. procedure SERCOM4_0_interrupt; external name 'SERCOM4_0_interrupt';
  1496. procedure SERCOM4_1_interrupt; external name 'SERCOM4_1_interrupt';
  1497. procedure SERCOM4_2_interrupt; external name 'SERCOM4_2_interrupt';
  1498. procedure SERCOM4_3_interrupt; external name 'SERCOM4_3_interrupt';
  1499. procedure SERCOM5_0_interrupt; external name 'SERCOM5_0_interrupt';
  1500. procedure SERCOM5_1_interrupt; external name 'SERCOM5_1_interrupt';
  1501. procedure SERCOM5_2_interrupt; external name 'SERCOM5_2_interrupt';
  1502. procedure SERCOM5_3_interrupt; external name 'SERCOM5_3_interrupt';
  1503. procedure SERCOM6_0_interrupt; external name 'SERCOM6_0_interrupt';
  1504. procedure SERCOM6_1_interrupt; external name 'SERCOM6_1_interrupt';
  1505. procedure SERCOM6_2_interrupt; external name 'SERCOM6_2_interrupt';
  1506. procedure SERCOM6_3_interrupt; external name 'SERCOM6_3_interrupt';
  1507. procedure SERCOM7_0_interrupt; external name 'SERCOM7_0_interrupt';
  1508. procedure SERCOM7_1_interrupt; external name 'SERCOM7_1_interrupt';
  1509. procedure SERCOM7_2_interrupt; external name 'SERCOM7_2_interrupt';
  1510. procedure SERCOM7_3_interrupt; external name 'SERCOM7_3_interrupt';
  1511. procedure USB_0_interrupt; external name 'USB_0_interrupt';
  1512. procedure USB_1_interrupt; external name 'USB_1_interrupt';
  1513. procedure USB_2_interrupt; external name 'USB_2_interrupt';
  1514. procedure USB_3_interrupt; external name 'USB_3_interrupt';
  1515. procedure TCC0_0_interrupt; external name 'TCC0_0_interrupt';
  1516. procedure TCC0_1_interrupt; external name 'TCC0_1_interrupt';
  1517. procedure TCC0_2_interrupt; external name 'TCC0_2_interrupt';
  1518. procedure TCC0_3_interrupt; external name 'TCC0_3_interrupt';
  1519. procedure TCC0_4_interrupt; external name 'TCC0_4_interrupt';
  1520. procedure TCC0_5_interrupt; external name 'TCC0_5_interrupt';
  1521. procedure TCC0_6_interrupt; external name 'TCC0_6_interrupt';
  1522. procedure TCC1_0_interrupt; external name 'TCC1_0_interrupt';
  1523. procedure TCC1_1_interrupt; external name 'TCC1_1_interrupt';
  1524. procedure TCC1_2_interrupt; external name 'TCC1_2_interrupt';
  1525. procedure TCC1_3_interrupt; external name 'TCC1_3_interrupt';
  1526. procedure TCC1_4_interrupt; external name 'TCC1_4_interrupt';
  1527. procedure TCC2_0_interrupt; external name 'TCC2_0_interrupt';
  1528. procedure TCC2_1_interrupt; external name 'TCC2_1_interrupt';
  1529. procedure TCC2_2_interrupt; external name 'TCC2_2_interrupt';
  1530. procedure TCC2_3_interrupt; external name 'TCC2_3_interrupt';
  1531. procedure TCC3_0_interrupt; external name 'TCC3_0_interrupt';
  1532. procedure TCC3_1_interrupt; external name 'TCC3_1_interrupt';
  1533. procedure TCC3_2_interrupt; external name 'TCC3_2_interrupt';
  1534. procedure TCC4_0_interrupt; external name 'TCC4_0_interrupt';
  1535. procedure TCC4_1_interrupt; external name 'TCC4_1_interrupt';
  1536. procedure TCC4_2_interrupt; external name 'TCC4_2_interrupt';
  1537. procedure TC0_interrupt; external name 'TC0_interrupt';
  1538. procedure TC1_interrupt; external name 'TC1_interrupt';
  1539. procedure TC2_interrupt; external name 'TC2_interrupt';
  1540. procedure TC3_interrupt; external name 'TC3_interrupt';
  1541. procedure TC4_interrupt; external name 'TC4_interrupt';
  1542. procedure TC5_interrupt; external name 'TC5_interrupt';
  1543. procedure TC6_interrupt; external name 'TC6_interrupt';
  1544. procedure TC7_interrupt; external name 'TC7_interrupt';
  1545. procedure PDEC_0_interrupt; external name 'PDEC_0_interrupt';
  1546. procedure PDEC_1_interrupt; external name 'PDEC_1_interrupt';
  1547. procedure PDEC_2_interrupt; external name 'PDEC_2_interrupt';
  1548. procedure ADC0_0_interrupt; external name 'ADC0_0_interrupt';
  1549. procedure ADC0_1_interrupt; external name 'ADC0_1_interrupt';
  1550. procedure ADC1_0_interrupt; external name 'ADC1_0_interrupt';
  1551. procedure ADC1_1_interrupt; external name 'ADC1_1_interrupt';
  1552. procedure AC_interrupt; external name 'AC_interrupt';
  1553. procedure DAC_0_interrupt; external name 'DAC_0_interrupt';
  1554. procedure DAC_1_interrupt; external name 'DAC_1_interrupt';
  1555. procedure DAC_2_interrupt; external name 'DAC_2_interrupt';
  1556. procedure DAC_3_interrupt; external name 'DAC_3_interrupt';
  1557. procedure DAC_4_interrupt; external name 'DAC_4_interrupt';
  1558. procedure I2S_interrupt; external name 'I2S_interrupt';
  1559. procedure PCC_interrupt; external name 'PCC_interrupt';
  1560. procedure AES_interrupt; external name 'AES_interrupt';
  1561. procedure TRNG_interrupt; external name 'TRNG_interrupt';
  1562. procedure ICM_interrupt; external name 'ICM_interrupt';
  1563. procedure PUKCC_interrupt; external name 'PUKCC_interrupt';
  1564. procedure QSPI_interrupt; external name 'QSPI_interrupt';
  1565. procedure SDHC0_interrupt; external name 'SDHC0_interrupt';
  1566. procedure SDHC1_interrupt; external name 'SDHC1_interrupt';
  1567. {$i cortexm4f_start.inc}
  1568. procedure Vectors; assembler; nostackframe;
  1569. label interrupt_vectors;
  1570. asm
  1571. .section ".init.interrupt_vectors"
  1572. interrupt_vectors:
  1573. .long _stack_top
  1574. .long Startup
  1575. .long NonMaskableInt_interrupt;
  1576. .long HardFault_interrupt;
  1577. .long MemoryManagement_interrupt;
  1578. .long BusFault_interrupt;
  1579. .long UsageFault_interrupt;
  1580. .long 0
  1581. .long 0
  1582. .long 0
  1583. .long 0
  1584. .long SVCall_interrupt;
  1585. .long DebugMonitor_interrupt;
  1586. .long 0
  1587. .long PendSV_interrupt;
  1588. .long SysTick_interrupt;
  1589. .long PM_interrupt;
  1590. .long MCLK_interrupt;
  1591. .long OSCCTRL_0_interrupt;
  1592. .long OSCCTRL_1_interrupt;
  1593. .long OSCCTRL_2_interrupt;
  1594. .long OSCCTRL_3_interrupt;
  1595. .long OSCCTRL_4_interrupt;
  1596. .long OSC32KCTRL_interrupt;
  1597. .long SUPC_0_interrupt;
  1598. .long SUPC_1_interrupt;
  1599. .long WDT_interrupt;
  1600. .long RTC_interrupt;
  1601. .long EIC_0_interrupt;
  1602. .long EIC_1_interrupt;
  1603. .long EIC_2_interrupt;
  1604. .long EIC_3_interrupt;
  1605. .long EIC_4_interrupt;
  1606. .long EIC_5_interrupt;
  1607. .long EIC_6_interrupt;
  1608. .long EIC_7_interrupt;
  1609. .long EIC_8_interrupt;
  1610. .long EIC_9_interrupt;
  1611. .long EIC_10_interrupt;
  1612. .long EIC_11_interrupt;
  1613. .long EIC_12_interrupt;
  1614. .long EIC_13_interrupt;
  1615. .long EIC_14_interrupt;
  1616. .long EIC_15_interrupt;
  1617. .long FREQM_interrupt;
  1618. .long NVMCTRL_0_interrupt;
  1619. .long NVMCTRL_1_interrupt;
  1620. .long DMAC_0_interrupt;
  1621. .long DMAC_1_interrupt;
  1622. .long DMAC_2_interrupt;
  1623. .long DMAC_3_interrupt;
  1624. .long DMAC_4_interrupt;
  1625. .long EVSYS_0_interrupt;
  1626. .long EVSYS_1_interrupt;
  1627. .long EVSYS_2_interrupt;
  1628. .long EVSYS_3_interrupt;
  1629. .long EVSYS_4_interrupt;
  1630. .long PAC_interrupt;
  1631. .long 0
  1632. .long 0
  1633. .long 0
  1634. .long RAMECC_interrupt;
  1635. .long SERCOM0_0_interrupt;
  1636. .long SERCOM0_1_interrupt;
  1637. .long SERCOM0_2_interrupt;
  1638. .long SERCOM0_3_interrupt;
  1639. .long SERCOM1_0_interrupt;
  1640. .long SERCOM1_1_interrupt;
  1641. .long SERCOM1_2_interrupt;
  1642. .long SERCOM1_3_interrupt;
  1643. .long SERCOM2_0_interrupt;
  1644. .long SERCOM2_1_interrupt;
  1645. .long SERCOM2_2_interrupt;
  1646. .long SERCOM2_3_interrupt;
  1647. .long SERCOM3_0_interrupt;
  1648. .long SERCOM3_1_interrupt;
  1649. .long SERCOM3_2_interrupt;
  1650. .long SERCOM3_3_interrupt;
  1651. .long SERCOM4_0_interrupt;
  1652. .long SERCOM4_1_interrupt;
  1653. .long SERCOM4_2_interrupt;
  1654. .long SERCOM4_3_interrupt;
  1655. .long SERCOM5_0_interrupt;
  1656. .long SERCOM5_1_interrupt;
  1657. .long SERCOM5_2_interrupt;
  1658. .long SERCOM5_3_interrupt;
  1659. .long SERCOM6_0_interrupt;
  1660. .long SERCOM6_1_interrupt;
  1661. .long SERCOM6_2_interrupt;
  1662. .long SERCOM6_3_interrupt;
  1663. .long SERCOM7_0_interrupt;
  1664. .long SERCOM7_1_interrupt;
  1665. .long SERCOM7_2_interrupt;
  1666. .long SERCOM7_3_interrupt;
  1667. .long 0
  1668. .long 0
  1669. .long USB_0_interrupt;
  1670. .long USB_1_interrupt;
  1671. .long USB_2_interrupt;
  1672. .long USB_3_interrupt;
  1673. .long 0
  1674. .long TCC0_0_interrupt;
  1675. .long TCC0_1_interrupt;
  1676. .long TCC0_2_interrupt;
  1677. .long TCC0_3_interrupt;
  1678. .long TCC0_4_interrupt;
  1679. .long TCC0_5_interrupt;
  1680. .long TCC0_6_interrupt;
  1681. .long TCC1_0_interrupt;
  1682. .long TCC1_1_interrupt;
  1683. .long TCC1_2_interrupt;
  1684. .long TCC1_3_interrupt;
  1685. .long TCC1_4_interrupt;
  1686. .long TCC2_0_interrupt;
  1687. .long TCC2_1_interrupt;
  1688. .long TCC2_2_interrupt;
  1689. .long TCC2_3_interrupt;
  1690. .long TCC3_0_interrupt;
  1691. .long TCC3_1_interrupt;
  1692. .long TCC3_2_interrupt;
  1693. .long TCC4_0_interrupt;
  1694. .long TCC4_1_interrupt;
  1695. .long TCC4_2_interrupt;
  1696. .long TC0_interrupt;
  1697. .long TC1_interrupt;
  1698. .long TC2_interrupt;
  1699. .long TC3_interrupt;
  1700. .long TC4_interrupt;
  1701. .long TC5_interrupt;
  1702. .long TC6_interrupt;
  1703. .long TC7_interrupt;
  1704. .long PDEC_0_interrupt;
  1705. .long PDEC_1_interrupt;
  1706. .long PDEC_2_interrupt;
  1707. .long ADC0_0_interrupt;
  1708. .long ADC0_1_interrupt;
  1709. .long ADC1_0_interrupt;
  1710. .long ADC1_1_interrupt;
  1711. .long AC_interrupt;
  1712. .long DAC_0_interrupt;
  1713. .long DAC_1_interrupt;
  1714. .long DAC_2_interrupt;
  1715. .long DAC_3_interrupt;
  1716. .long DAC_4_interrupt;
  1717. .long I2S_interrupt;
  1718. .long PCC_interrupt;
  1719. .long AES_interrupt;
  1720. .long TRNG_interrupt;
  1721. .long ICM_interrupt;
  1722. .long PUKCC_interrupt;
  1723. .long QSPI_interrupt;
  1724. .long SDHC0_interrupt;
  1725. .long SDHC1_interrupt;
  1726. .weak NonMaskableInt_interrupt;
  1727. .weak HardFault_interrupt;
  1728. .weak MemoryManagement_interrupt;
  1729. .weak BusFault_interrupt;
  1730. .weak UsageFault_interrupt;
  1731. .weak SVCall_interrupt;
  1732. .weak DebugMonitor_interrupt;
  1733. .weak PendSV_interrupt;
  1734. .weak SysTick_interrupt;
  1735. .weak PM_interrupt;
  1736. .weak MCLK_interrupt;
  1737. .weak OSCCTRL_0_interrupt;
  1738. .weak OSCCTRL_1_interrupt;
  1739. .weak OSCCTRL_2_interrupt;
  1740. .weak OSCCTRL_3_interrupt;
  1741. .weak OSCCTRL_4_interrupt;
  1742. .weak OSC32KCTRL_interrupt;
  1743. .weak SUPC_0_interrupt;
  1744. .weak SUPC_1_interrupt;
  1745. .weak WDT_interrupt;
  1746. .weak RTC_interrupt;
  1747. .weak EIC_0_interrupt;
  1748. .weak EIC_1_interrupt;
  1749. .weak EIC_2_interrupt;
  1750. .weak EIC_3_interrupt;
  1751. .weak EIC_4_interrupt;
  1752. .weak EIC_5_interrupt;
  1753. .weak EIC_6_interrupt;
  1754. .weak EIC_7_interrupt;
  1755. .weak EIC_8_interrupt;
  1756. .weak EIC_9_interrupt;
  1757. .weak EIC_10_interrupt;
  1758. .weak EIC_11_interrupt;
  1759. .weak EIC_12_interrupt;
  1760. .weak EIC_13_interrupt;
  1761. .weak EIC_14_interrupt;
  1762. .weak EIC_15_interrupt;
  1763. .weak FREQM_interrupt;
  1764. .weak NVMCTRL_0_interrupt;
  1765. .weak NVMCTRL_1_interrupt;
  1766. .weak DMAC_0_interrupt;
  1767. .weak DMAC_1_interrupt;
  1768. .weak DMAC_2_interrupt;
  1769. .weak DMAC_3_interrupt;
  1770. .weak DMAC_4_interrupt;
  1771. .weak EVSYS_0_interrupt;
  1772. .weak EVSYS_1_interrupt;
  1773. .weak EVSYS_2_interrupt;
  1774. .weak EVSYS_3_interrupt;
  1775. .weak EVSYS_4_interrupt;
  1776. .weak PAC_interrupt;
  1777. .weak RAMECC_interrupt;
  1778. .weak SERCOM0_0_interrupt;
  1779. .weak SERCOM0_1_interrupt;
  1780. .weak SERCOM0_2_interrupt;
  1781. .weak SERCOM0_3_interrupt;
  1782. .weak SERCOM1_0_interrupt;
  1783. .weak SERCOM1_1_interrupt;
  1784. .weak SERCOM1_2_interrupt;
  1785. .weak SERCOM1_3_interrupt;
  1786. .weak SERCOM2_0_interrupt;
  1787. .weak SERCOM2_1_interrupt;
  1788. .weak SERCOM2_2_interrupt;
  1789. .weak SERCOM2_3_interrupt;
  1790. .weak SERCOM3_0_interrupt;
  1791. .weak SERCOM3_1_interrupt;
  1792. .weak SERCOM3_2_interrupt;
  1793. .weak SERCOM3_3_interrupt;
  1794. .weak SERCOM4_0_interrupt;
  1795. .weak SERCOM4_1_interrupt;
  1796. .weak SERCOM4_2_interrupt;
  1797. .weak SERCOM4_3_interrupt;
  1798. .weak SERCOM5_0_interrupt;
  1799. .weak SERCOM5_1_interrupt;
  1800. .weak SERCOM5_2_interrupt;
  1801. .weak SERCOM5_3_interrupt;
  1802. .weak SERCOM6_0_interrupt;
  1803. .weak SERCOM6_1_interrupt;
  1804. .weak SERCOM6_2_interrupt;
  1805. .weak SERCOM6_3_interrupt;
  1806. .weak SERCOM7_0_interrupt;
  1807. .weak SERCOM7_1_interrupt;
  1808. .weak SERCOM7_2_interrupt;
  1809. .weak SERCOM7_3_interrupt;
  1810. .weak USB_0_interrupt;
  1811. .weak USB_1_interrupt;
  1812. .weak USB_2_interrupt;
  1813. .weak USB_3_interrupt;
  1814. .weak TCC0_0_interrupt;
  1815. .weak TCC0_1_interrupt;
  1816. .weak TCC0_2_interrupt;
  1817. .weak TCC0_3_interrupt;
  1818. .weak TCC0_4_interrupt;
  1819. .weak TCC0_5_interrupt;
  1820. .weak TCC0_6_interrupt;
  1821. .weak TCC1_0_interrupt;
  1822. .weak TCC1_1_interrupt;
  1823. .weak TCC1_2_interrupt;
  1824. .weak TCC1_3_interrupt;
  1825. .weak TCC1_4_interrupt;
  1826. .weak TCC2_0_interrupt;
  1827. .weak TCC2_1_interrupt;
  1828. .weak TCC2_2_interrupt;
  1829. .weak TCC2_3_interrupt;
  1830. .weak TCC3_0_interrupt;
  1831. .weak TCC3_1_interrupt;
  1832. .weak TCC3_2_interrupt;
  1833. .weak TCC4_0_interrupt;
  1834. .weak TCC4_1_interrupt;
  1835. .weak TCC4_2_interrupt;
  1836. .weak TC0_interrupt;
  1837. .weak TC1_interrupt;
  1838. .weak TC2_interrupt;
  1839. .weak TC3_interrupt;
  1840. .weak TC4_interrupt;
  1841. .weak TC5_interrupt;
  1842. .weak TC6_interrupt;
  1843. .weak TC7_interrupt;
  1844. .weak PDEC_0_interrupt;
  1845. .weak PDEC_1_interrupt;
  1846. .weak PDEC_2_interrupt;
  1847. .weak ADC0_0_interrupt;
  1848. .weak ADC0_1_interrupt;
  1849. .weak ADC1_0_interrupt;
  1850. .weak ADC1_1_interrupt;
  1851. .weak AC_interrupt;
  1852. .weak DAC_0_interrupt;
  1853. .weak DAC_1_interrupt;
  1854. .weak DAC_2_interrupt;
  1855. .weak DAC_3_interrupt;
  1856. .weak DAC_4_interrupt;
  1857. .weak I2S_interrupt;
  1858. .weak PCC_interrupt;
  1859. .weak AES_interrupt;
  1860. .weak TRNG_interrupt;
  1861. .weak ICM_interrupt;
  1862. .weak PUKCC_interrupt;
  1863. .weak QSPI_interrupt;
  1864. .weak SDHC0_interrupt;
  1865. .weak SDHC1_interrupt;
  1866. .set NonMaskableInt_interrupt, Haltproc
  1867. .set HardFault_interrupt, Haltproc
  1868. .set MemoryManagement_interrupt,Haltproc
  1869. .set BusFault_interrupt, Haltproc
  1870. .set UsageFault_interrupt, Haltproc
  1871. .set SVCall_interrupt, Haltproc
  1872. .set DebugMonitor_interrupt, Haltproc
  1873. .set PendSV_interrupt, Haltproc
  1874. .set SysTick_interrupt, Haltproc
  1875. .set PM_interrupt, Haltproc
  1876. .set MCLK_interrupt, Haltproc
  1877. .set OSCCTRL_0_interrupt, Haltproc
  1878. .set OSCCTRL_1_interrupt, Haltproc
  1879. .set OSCCTRL_2_interrupt, Haltproc
  1880. .set OSCCTRL_3_interrupt, Haltproc
  1881. .set OSCCTRL_4_interrupt, Haltproc
  1882. .set OSC32KCTRL_interrupt, Haltproc
  1883. .set SUPC_0_interrupt, Haltproc
  1884. .set SUPC_1_interrupt, Haltproc
  1885. .set WDT_interrupt, Haltproc
  1886. .set RTC_interrupt, Haltproc
  1887. .set EIC_0_interrupt, Haltproc
  1888. .set EIC_1_interrupt, Haltproc
  1889. .set EIC_2_interrupt, Haltproc
  1890. .set EIC_3_interrupt, Haltproc
  1891. .set EIC_4_interrupt, Haltproc
  1892. .set EIC_5_interrupt, Haltproc
  1893. .set EIC_6_interrupt, Haltproc
  1894. .set EIC_7_interrupt, Haltproc
  1895. .set EIC_8_interrupt, Haltproc
  1896. .set EIC_9_interrupt, Haltproc
  1897. .set EIC_10_interrupt, Haltproc
  1898. .set EIC_11_interrupt, Haltproc
  1899. .set EIC_12_interrupt, Haltproc
  1900. .set EIC_13_interrupt, Haltproc
  1901. .set EIC_14_interrupt, Haltproc
  1902. .set EIC_15_interrupt, Haltproc
  1903. .set FREQM_interrupt, Haltproc
  1904. .set NVMCTRL_0_interrupt, Haltproc
  1905. .set NVMCTRL_1_interrupt, Haltproc
  1906. .set DMAC_0_interrupt, Haltproc
  1907. .set DMAC_1_interrupt, Haltproc
  1908. .set DMAC_2_interrupt, Haltproc
  1909. .set DMAC_3_interrupt, Haltproc
  1910. .set DMAC_4_interrupt, Haltproc
  1911. .set EVSYS_0_interrupt, Haltproc
  1912. .set EVSYS_1_interrupt, Haltproc
  1913. .set EVSYS_2_interrupt, Haltproc
  1914. .set EVSYS_3_interrupt, Haltproc
  1915. .set EVSYS_4_interrupt, Haltproc
  1916. .set PAC_interrupt, Haltproc
  1917. .set RAMECC_interrupt, Haltproc
  1918. .set SERCOM0_0_interrupt, Haltproc
  1919. .set SERCOM0_1_interrupt, Haltproc
  1920. .set SERCOM0_2_interrupt, Haltproc
  1921. .set SERCOM0_3_interrupt, Haltproc
  1922. .set SERCOM1_0_interrupt, Haltproc
  1923. .set SERCOM1_1_interrupt, Haltproc
  1924. .set SERCOM1_2_interrupt, Haltproc
  1925. .set SERCOM1_3_interrupt, Haltproc
  1926. .set SERCOM2_0_interrupt, Haltproc
  1927. .set SERCOM2_1_interrupt, Haltproc
  1928. .set SERCOM2_2_interrupt, Haltproc
  1929. .set SERCOM2_3_interrupt, Haltproc
  1930. .set SERCOM3_0_interrupt, Haltproc
  1931. .set SERCOM3_1_interrupt, Haltproc
  1932. .set SERCOM3_2_interrupt, Haltproc
  1933. .set SERCOM3_3_interrupt, Haltproc
  1934. .set SERCOM4_0_interrupt, Haltproc
  1935. .set SERCOM4_1_interrupt, Haltproc
  1936. .set SERCOM4_2_interrupt, Haltproc
  1937. .set SERCOM4_3_interrupt, Haltproc
  1938. .set SERCOM5_0_interrupt, Haltproc
  1939. .set SERCOM5_1_interrupt, Haltproc
  1940. .set SERCOM5_2_interrupt, Haltproc
  1941. .set SERCOM5_3_interrupt, Haltproc
  1942. .set SERCOM6_0_interrupt, Haltproc
  1943. .set SERCOM6_1_interrupt, Haltproc
  1944. .set SERCOM6_2_interrupt, Haltproc
  1945. .set SERCOM6_3_interrupt, Haltproc
  1946. .set SERCOM7_0_interrupt, Haltproc
  1947. .set SERCOM7_1_interrupt, Haltproc
  1948. .set SERCOM7_2_interrupt, Haltproc
  1949. .set SERCOM7_3_interrupt, Haltproc
  1950. .set USB_0_interrupt, Haltproc
  1951. .set USB_1_interrupt, Haltproc
  1952. .set USB_2_interrupt, Haltproc
  1953. .set USB_3_interrupt, Haltproc
  1954. .set TCC0_0_interrupt, Haltproc
  1955. .set TCC0_1_interrupt, Haltproc
  1956. .set TCC0_2_interrupt, Haltproc
  1957. .set TCC0_3_interrupt, Haltproc
  1958. .set TCC0_4_interrupt, Haltproc
  1959. .set TCC0_5_interrupt, Haltproc
  1960. .set TCC0_6_interrupt, Haltproc
  1961. .set TCC1_0_interrupt, Haltproc
  1962. .set TCC1_1_interrupt, Haltproc
  1963. .set TCC1_2_interrupt, Haltproc
  1964. .set TCC1_3_interrupt, Haltproc
  1965. .set TCC1_4_interrupt, Haltproc
  1966. .set TCC2_0_interrupt, Haltproc
  1967. .set TCC2_1_interrupt, Haltproc
  1968. .set TCC2_2_interrupt, Haltproc
  1969. .set TCC2_3_interrupt, Haltproc
  1970. .set TCC3_0_interrupt, Haltproc
  1971. .set TCC3_1_interrupt, Haltproc
  1972. .set TCC3_2_interrupt, Haltproc
  1973. .set TCC4_0_interrupt, Haltproc
  1974. .set TCC4_1_interrupt, Haltproc
  1975. .set TCC4_2_interrupt, Haltproc
  1976. .set TC0_interrupt, Haltproc
  1977. .set TC1_interrupt, Haltproc
  1978. .set TC2_interrupt, Haltproc
  1979. .set TC3_interrupt, Haltproc
  1980. .set TC4_interrupt, Haltproc
  1981. .set TC5_interrupt, Haltproc
  1982. .set TC6_interrupt, Haltproc
  1983. .set TC7_interrupt, Haltproc
  1984. .set PDEC_0_interrupt, Haltproc
  1985. .set PDEC_1_interrupt, Haltproc
  1986. .set PDEC_2_interrupt, Haltproc
  1987. .set ADC0_0_interrupt, Haltproc
  1988. .set ADC0_1_interrupt, Haltproc
  1989. .set ADC1_0_interrupt, Haltproc
  1990. .set ADC1_1_interrupt, Haltproc
  1991. .set AC_interrupt, Haltproc
  1992. .set DAC_0_interrupt, Haltproc
  1993. .set DAC_1_interrupt, Haltproc
  1994. .set DAC_2_interrupt, Haltproc
  1995. .set DAC_3_interrupt, Haltproc
  1996. .set DAC_4_interrupt, Haltproc
  1997. .set I2S_interrupt, Haltproc
  1998. .set PCC_interrupt, Haltproc
  1999. .set AES_interrupt, Haltproc
  2000. .set TRNG_interrupt, Haltproc
  2001. .set ICM_interrupt, Haltproc
  2002. .set PUKCC_interrupt, Haltproc
  2003. .set QSPI_interrupt, Haltproc
  2004. .set SDHC0_interrupt, Haltproc
  2005. .set SDHC1_interrupt, Haltproc
  2006. .text
  2007. end;
  2008. end.