IfxCpu_regdef.h 63 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643
  1. /**
  2. * \file IfxCpu_regdef.h
  3. * \brief
  4. * \copyright Copyright (c) 2014 Infineon Technologies AG. All rights reserved.
  5. *
  6. * Version: TC23XADAS_UM_V1.0P1.R0
  7. * Specification: tc23xadas_um_sfrs_MCSFR.xml (Revision: UM_V1.0p1)
  8. * MAY BE CHANGED BY USER [yes/no]: No
  9. *
  10. * IMPORTANT NOTICE
  11. *
  12. * Infineon Technologies AG (Infineon) is supplying this file for use
  13. * exclusively with Infineon's microcontroller products. This file can be freely
  14. * distributed within development tools that are supporting such microcontroller
  15. * products.
  16. *
  17. * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
  18. * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
  19. * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
  20. * INFINEON SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL,
  21. * OR CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
  22. *
  23. * \defgroup IfxLld_Cpu Cpu
  24. * \ingroup IfxLld
  25. *
  26. * \defgroup IfxLld_Cpu_Bitfields Bitfields
  27. * \ingroup IfxLld_Cpu
  28. *
  29. * \defgroup IfxLld_Cpu_union Union
  30. * \ingroup IfxLld_Cpu
  31. *
  32. * \defgroup IfxLld_Cpu_struct Struct
  33. * \ingroup IfxLld_Cpu
  34. *
  35. */
  36. #ifndef IFXCPU_REGDEF_H
  37. #define IFXCPU_REGDEF_H 1
  38. /******************************************************************************/
  39. #include "Ifx_TypesReg.h"
  40. /******************************************************************************/
  41. /** \addtogroup IfxLld_Cpu_Bitfields
  42. * \{ */
  43. /** \\brief Address General Purpose Register */
  44. typedef struct _Ifx_CPU_A_Bits
  45. {
  46. Ifx_Strict_32Bit ADDR:32; /**< \brief [31:0] Address Register (rw) */
  47. } Ifx_CPU_A_Bits;
  48. /** \\brief Base Interrupt Vector Table Pointer */
  49. typedef struct _Ifx_CPU_BIV_Bits
  50. {
  51. Ifx_Strict_32Bit VSS:1; /**< \brief [0:0] Vector Spacing Select (rw) */
  52. Ifx_Strict_32Bit BIV:31; /**< \brief [31:1] Base Address of Interrupt Vector Table (rw) */
  53. } Ifx_CPU_BIV_Bits;
  54. /** \\brief Base Trap Vector Table Pointer */
  55. typedef struct _Ifx_CPU_BTV_Bits
  56. {
  57. Ifx_Strict_32Bit reserved_0:1; /**< \brief \internal Reserved */
  58. Ifx_Strict_32Bit BTV:31; /**< \brief [31:1] Base Address of Trap Vector Table (rw) */
  59. } Ifx_CPU_BTV_Bits;
  60. /** \\brief CPU Clock Cycle Count */
  61. typedef struct _Ifx_CPU_CCNT_Bits
  62. {
  63. Ifx_Strict_32Bit CountValue:31; /**< \brief [30:0] Count Value (rw) */
  64. Ifx_Strict_32Bit SOvf:1; /**< \brief [31:31] Sticky Overflow Bit (rw) */
  65. } Ifx_CPU_CCNT_Bits;
  66. /** \\brief Counter Control */
  67. typedef struct _Ifx_CPU_CCTRL_Bits
  68. {
  69. Ifx_Strict_32Bit CM:1; /**< \brief [0:0] Counter Mode (rw) */
  70. Ifx_Strict_32Bit CE:1; /**< \brief [1:1] Count Enable (rw) */
  71. Ifx_Strict_32Bit M1:3; /**< \brief [4:2] M1CNT Configuration (rw) */
  72. Ifx_Strict_32Bit M2:3; /**< \brief [7:5] M2CNT Configuration (rw) */
  73. Ifx_Strict_32Bit M3:3; /**< \brief [10:8] M3CNT Configuration (rw) */
  74. Ifx_Strict_32Bit reserved_11:21; /**< \brief \internal Reserved */
  75. } Ifx_CPU_CCTRL_Bits;
  76. /** \\brief Compatibility Control Register */
  77. typedef struct _Ifx_CPU_COMPAT_Bits
  78. {
  79. Ifx_Strict_32Bit reserved_0:3; /**< \brief \internal Reserved */
  80. Ifx_Strict_32Bit RM:1; /**< \brief [3:3] Rounding Mode Compatibility (rw) */
  81. Ifx_Strict_32Bit SP:1; /**< \brief [4:4] SYSCON Safety Protection Mode Compatibility (rw) */
  82. Ifx_Strict_32Bit reserved_5:27; /**< \brief \internal Reserved */
  83. } Ifx_CPU_COMPAT_Bits;
  84. /** \\brief CPU Core Identification Register */
  85. typedef struct _Ifx_CPU_CORE_ID_Bits
  86. {
  87. Ifx_Strict_32Bit CORE_ID:3; /**< \brief [2:0] Core Identification Number (rw) */
  88. Ifx_Strict_32Bit reserved_3:29; /**< \brief \internal Reserved */
  89. } Ifx_CPU_CORE_ID_Bits;
  90. /** \\brief CPU Code Protection Range Lower Bound Register */
  91. typedef struct _Ifx_CPU_CPR_L_Bits
  92. {
  93. Ifx_Strict_32Bit reserved_0:3; /**< \brief \internal Reserved */
  94. Ifx_Strict_32Bit LOWBND:29; /**< \brief [31:3] CPRy Lower Boundary Address (rw) */
  95. } Ifx_CPU_CPR_L_Bits;
  96. /** \\brief CPU Code Protection Range Upper Bound Register */
  97. typedef struct _Ifx_CPU_CPR_U_Bits
  98. {
  99. Ifx_Strict_32Bit reserved_0:3; /**< \brief \internal Reserved */
  100. Ifx_Strict_32Bit UPPBND:29; /**< \brief [31:3] CPR0_m Upper Boundary Address (rw) */
  101. } Ifx_CPU_CPR_U_Bits;
  102. /** \\brief CPU Identification Register TC1.6P */
  103. typedef struct _Ifx_CPU_CPU_ID_Bits
  104. {
  105. Ifx_Strict_32Bit MODREV:8; /**< \brief [7:0] Revision Number (r) */
  106. Ifx_Strict_32Bit MOD_32B:8; /**< \brief [15:8] 32-Bit Module Enable (r) */
  107. Ifx_Strict_32Bit MOD:16; /**< \brief [31:16] Module Identification Number (r) */
  108. } Ifx_CPU_CPU_ID_Bits;
  109. /** \\brief CPU Code Protection Execute Enable Register Set */
  110. typedef struct _Ifx_CPU_CPXE_Bits
  111. {
  112. Ifx_Strict_32Bit XE:8; /**< \brief [7:0] Execute Enable Range select (rw) */
  113. Ifx_Strict_32Bit reserved_8:24; /**< \brief \internal Reserved */
  114. } Ifx_CPU_CPXE_Bits;
  115. /** \\brief Core Register Access Event */
  116. typedef struct _Ifx_CPU_CREVT_Bits
  117. {
  118. Ifx_Strict_32Bit EVTA:3; /**< \brief [2:0] Event Associated (rw) */
  119. Ifx_Strict_32Bit BBM:1; /**< \brief [3:3] Break Before Make (BBM) or Break After Make (BAM) Selection (rw) */
  120. Ifx_Strict_32Bit BOD:1; /**< \brief [4:4] Breakout Disable (rw) */
  121. Ifx_Strict_32Bit SUSP:1; /**< \brief [5:5] CDC Suspend-Out Signal State (rw) */
  122. Ifx_Strict_32Bit CNT:2; /**< \brief [7:6] Counter (rw) */
  123. Ifx_Strict_32Bit reserved_8:24; /**< \brief \internal Reserved */
  124. } Ifx_CPU_CREVT_Bits;
  125. /** \\brief CPU Customer ID register */
  126. typedef struct _Ifx_CPU_CUS_ID_Bits
  127. {
  128. Ifx_Strict_32Bit CID:3; /**< \brief [2:0] Customer ID (r) */
  129. Ifx_Strict_32Bit reserved_3:29; /**< \brief \internal Reserved */
  130. } Ifx_CPU_CUS_ID_Bits;
  131. /** \\brief Data General Purpose Register */
  132. typedef struct _Ifx_CPU_D_Bits
  133. {
  134. Ifx_Strict_32Bit DATA:32; /**< \brief [31:0] Data Register (rw) */
  135. } Ifx_CPU_D_Bits;
  136. /** \\brief Data Asynchronous Trap Register */
  137. typedef struct _Ifx_CPU_DATR_Bits
  138. {
  139. Ifx_Strict_32Bit reserved_0:3; /**< \brief \internal Reserved */
  140. Ifx_Strict_32Bit SBE:1; /**< \brief [3:3] Store Bus Error (rwh) */
  141. Ifx_Strict_32Bit reserved_4:5; /**< \brief \internal Reserved */
  142. Ifx_Strict_32Bit CWE:1; /**< \brief [9:9] Cache Writeback Error (rwh) */
  143. Ifx_Strict_32Bit CFE:1; /**< \brief [10:10] Cache Flush Error (rwh) */
  144. Ifx_Strict_32Bit reserved_11:3; /**< \brief \internal Reserved */
  145. Ifx_Strict_32Bit SOE:1; /**< \brief [14:14] Store Overlay Error (rwh) */
  146. Ifx_Strict_32Bit SME:1; /**< \brief [15:15] Store MIST Error (rwh) */
  147. Ifx_Strict_32Bit reserved_16:16; /**< \brief \internal Reserved */
  148. } Ifx_CPU_DATR_Bits;
  149. /** \\brief Debug Status Register */
  150. typedef struct _Ifx_CPU_DBGSR_Bits
  151. {
  152. Ifx_Strict_32Bit DE:1; /**< \brief [0:0] Debug Enable (rh) */
  153. Ifx_Strict_32Bit HALT:2; /**< \brief [2:1] CPU Halt Request / Status Field (rwh) */
  154. Ifx_Strict_32Bit SIH:1; /**< \brief [3:3] Suspend-in Halt (rh) */
  155. Ifx_Strict_32Bit SUSP:1; /**< \brief [4:4] Current State of the Core Suspend-Out Signal (rwh) */
  156. Ifx_Strict_32Bit reserved_5:1; /**< \brief \internal Reserved */
  157. Ifx_Strict_32Bit PREVSUSP:1; /**< \brief [6:6] Previous State of Core Suspend-Out Signal (rh) */
  158. Ifx_Strict_32Bit PEVT:1; /**< \brief [7:7] Posted Event (rwh) */
  159. Ifx_Strict_32Bit EVTSRC:5; /**< \brief [12:8] Event Source (rh) */
  160. Ifx_Strict_32Bit reserved_13:19; /**< \brief \internal Reserved */
  161. } Ifx_CPU_DBGSR_Bits;
  162. /** \\brief Debug Trap Control Register */
  163. typedef struct _Ifx_CPU_DBGTCR_Bits
  164. {
  165. Ifx_Strict_32Bit DTA:1; /**< \brief [0:0] Debug Trap Active Bit (rwh) */
  166. Ifx_Strict_32Bit reserved_1:31; /**< \brief \internal Reserved */
  167. } Ifx_CPU_DBGTCR_Bits;
  168. /** \\brief Data Memory Control Register */
  169. typedef struct _Ifx_CPU_DCON0_Bits
  170. {
  171. Ifx_Strict_32Bit reserved_0:1; /**< \brief \internal Reserved */
  172. Ifx_Strict_32Bit DCBYP:1; /**< \brief [1:1] Data Cache Bypass (rw) */
  173. Ifx_Strict_32Bit reserved_2:30; /**< \brief \internal Reserved */
  174. } Ifx_CPU_DCON0_Bits;
  175. /** \\brief Data Control Register 2 */
  176. typedef struct _Ifx_CPU_DCON2_Bits
  177. {
  178. Ifx_Strict_32Bit DCACHE_SZE:16; /**< \brief [15:0] Data Cache Size (r) */
  179. Ifx_Strict_32Bit DSCRATCH_SZE:16; /**< \brief [31:16] Data Scratch Size (r) */
  180. } Ifx_CPU_DCON2_Bits;
  181. /** \\brief CPU Debug Context Save Area Pointer */
  182. typedef struct _Ifx_CPU_DCX_Bits
  183. {
  184. Ifx_Strict_32Bit reserved_0:6; /**< \brief \internal Reserved */
  185. Ifx_Strict_32Bit DCXValue:26; /**< \brief [31:6] Debug Context Save Area Pointer (rw) */
  186. } Ifx_CPU_DCX_Bits;
  187. /** \\brief Data Error Address Register */
  188. typedef struct _Ifx_CPU_DEADD_Bits
  189. {
  190. Ifx_Strict_32Bit ERROR_ADDRESS:32; /**< \brief [31:0] Error Address (rh) */
  191. } Ifx_CPU_DEADD_Bits;
  192. /** \\brief Data Integrity Error Address Register */
  193. typedef struct _Ifx_CPU_DIEAR_Bits
  194. {
  195. Ifx_Strict_32Bit TA:32; /**< \brief [31:0] Transaction Address (rh) */
  196. } Ifx_CPU_DIEAR_Bits;
  197. /** \\brief Data Integrity Error Trap Register */
  198. typedef struct _Ifx_CPU_DIETR_Bits
  199. {
  200. Ifx_Strict_32Bit IED:1; /**< \brief [0:0] Integrity Error Detected (rwh) */
  201. Ifx_Strict_32Bit IE_T:1; /**< \brief [1:1] Integrity Error - Tag Memory (rh) */
  202. Ifx_Strict_32Bit IE_C:1; /**< \brief [2:2] Integrity Error - Cache Memory (rh) */
  203. Ifx_Strict_32Bit IE_S:1; /**< \brief [3:3] Integrity Error - Scratchpad Memory (rh) */
  204. Ifx_Strict_32Bit IE_BI:1; /**< \brief [4:4] Integrity Error - Bus Integrity (rh) */
  205. Ifx_Strict_32Bit E_INFO:6; /**< \brief [10:5] Error Information (rh) */
  206. Ifx_Strict_32Bit IE_DUAL:1; /**< \brief [11:11] Dual Bit Error Detected (rh) */
  207. Ifx_Strict_32Bit IE_SP:1; /**< \brief [12:12] Safety Protection Error Detected (rh) */
  208. Ifx_Strict_32Bit IE_BS:1; /**< \brief [13:13] Bus Slave Access Indicator (rh) */
  209. Ifx_Strict_32Bit reserved_14:18; /**< \brief \internal Reserved */
  210. } Ifx_CPU_DIETR_Bits;
  211. /** \\brief CPU Debug Monitor Start Address */
  212. typedef struct _Ifx_CPU_DMS_Bits
  213. {
  214. Ifx_Strict_32Bit reserved_0:1; /**< \brief \internal Reserved */
  215. Ifx_Strict_32Bit DMSValue:31; /**< \brief [31:1] Debug Monitor Start Address (rw) */
  216. } Ifx_CPU_DMS_Bits;
  217. /** \\brief CPU Data Protection Range, Lower Bound Register */
  218. typedef struct _Ifx_CPU_DPR_L_Bits
  219. {
  220. Ifx_Strict_32Bit reserved_0:3; /**< \brief \internal Reserved */
  221. Ifx_Strict_32Bit LOWBND:29; /**< \brief [31:3] DPRy Lower Boundary Address (rw) */
  222. } Ifx_CPU_DPR_L_Bits;
  223. /** \\brief CPU Data Protection Range, Upper Bound Register */
  224. typedef struct _Ifx_CPU_DPR_U_Bits
  225. {
  226. Ifx_Strict_32Bit reserved_0:3; /**< \brief \internal Reserved */
  227. Ifx_Strict_32Bit UPPBND:29; /**< \brief [31:3] DPRy Upper Boundary Address (rw) */
  228. } Ifx_CPU_DPR_U_Bits;
  229. /** \\brief CPU Data Protection Read Enable Register Set */
  230. typedef struct _Ifx_CPU_DPRE_Bits
  231. {
  232. Ifx_Strict_32Bit RE:16; /**< \brief [15:0] Read Enable Range Select (rw) */
  233. Ifx_Strict_32Bit reserved_16:16; /**< \brief \internal Reserved */
  234. } Ifx_CPU_DPRE_Bits;
  235. /** \\brief CPU Data Protection Write Enable Register Set */
  236. typedef struct _Ifx_CPU_DPWE_Bits
  237. {
  238. Ifx_Strict_32Bit WE:16; /**< \brief [15:0] Write Enable Range Select (rw) */
  239. Ifx_Strict_32Bit reserved_16:16; /**< \brief \internal Reserved */
  240. } Ifx_CPU_DPWE_Bits;
  241. /** \\brief Data Synchronous Trap Register */
  242. typedef struct _Ifx_CPU_DSTR_Bits
  243. {
  244. Ifx_Strict_32Bit SRE:1; /**< \brief [0:0] Scratch Range Error (rwh) */
  245. Ifx_Strict_32Bit GAE:1; /**< \brief [1:1] Global Address Error (rwh) */
  246. Ifx_Strict_32Bit LBE:1; /**< \brief [2:2] Load Bus Error (rwh) */
  247. Ifx_Strict_32Bit reserved_3:3; /**< \brief \internal Reserved */
  248. Ifx_Strict_32Bit CRE:1; /**< \brief [6:6] Cache Refill Error (rwh) */
  249. Ifx_Strict_32Bit reserved_7:7; /**< \brief \internal Reserved */
  250. Ifx_Strict_32Bit DTME:1; /**< \brief [14:14] DTAG MSIST Error (rwh) */
  251. Ifx_Strict_32Bit LOE:1; /**< \brief [15:15] Load Overlay Error (rwh) */
  252. Ifx_Strict_32Bit SDE:1; /**< \brief [16:16] Segment Difference Error (rwh) */
  253. Ifx_Strict_32Bit SCE:1; /**< \brief [17:17] Segment Crossing Error (rwh) */
  254. Ifx_Strict_32Bit CAC:1; /**< \brief [18:18] CSFR Access Error (rwh) */
  255. Ifx_Strict_32Bit MPE:1; /**< \brief [19:19] Memory Protection Error (rwh) */
  256. Ifx_Strict_32Bit CLE:1; /**< \brief [20:20] Context Location Error (rwh) */
  257. Ifx_Strict_32Bit reserved_21:3; /**< \brief \internal Reserved */
  258. Ifx_Strict_32Bit ALN:1; /**< \brief [24:24] Alignment Error (rwh) */
  259. Ifx_Strict_32Bit reserved_25:7; /**< \brief \internal Reserved */
  260. } Ifx_CPU_DSTR_Bits;
  261. /** \\brief External Event Register */
  262. typedef struct _Ifx_CPU_EXEVT_Bits
  263. {
  264. Ifx_Strict_32Bit EVTA:3; /**< \brief [2:0] Event Associated (rw) */
  265. Ifx_Strict_32Bit BBM:1; /**< \brief [3:3] Break Before Make (BBM) or Break After Make (BAM) Selection (rw) */
  266. Ifx_Strict_32Bit BOD:1; /**< \brief [4:4] Breakout Disable (rw) */
  267. Ifx_Strict_32Bit SUSP:1; /**< \brief [5:5] CDC Suspend-Out Signal State (rw) */
  268. Ifx_Strict_32Bit CNT:2; /**< \brief [7:6] Counter (rw) */
  269. Ifx_Strict_32Bit reserved_8:24; /**< \brief \internal Reserved */
  270. } Ifx_CPU_EXEVT_Bits;
  271. /** \\brief Free CSA List Head Pointer */
  272. typedef struct _Ifx_CPU_FCX_Bits
  273. {
  274. Ifx_Strict_32Bit FCXO:16; /**< \brief [15:0] FCX Offset Address Field (rw) */
  275. Ifx_Strict_32Bit FCXS:4; /**< \brief [19:16] FCX Segment Address Field (rw) */
  276. Ifx_Strict_32Bit reserved_20:12; /**< \brief \internal Reserved */
  277. } Ifx_CPU_FCX_Bits;
  278. /** \\brief CPU Trap Control Register */
  279. typedef struct _Ifx_CPU_FPU_TRAP_CON_Bits
  280. {
  281. Ifx_Strict_32Bit TST:1; /**< \brief [0:0] Trap Status (rh) */
  282. Ifx_Strict_32Bit TCL:1; /**< \brief [1:1] Trap Clear (w) */
  283. Ifx_Strict_32Bit reserved_2:6; /**< \brief \internal Reserved */
  284. Ifx_Strict_32Bit RM:2; /**< \brief [9:8] Captured Rounding Mode (rh) */
  285. Ifx_Strict_32Bit reserved_10:8; /**< \brief \internal Reserved */
  286. Ifx_Strict_32Bit FXE:1; /**< \brief [18:18] FX Trap Enable (rw) */
  287. Ifx_Strict_32Bit FUE:1; /**< \brief [19:19] FU Trap Enable (rw) */
  288. Ifx_Strict_32Bit FZE:1; /**< \brief [20:20] FZ Trap Enable (rw) */
  289. Ifx_Strict_32Bit FVE:1; /**< \brief [21:21] FV Trap Enable (rw) */
  290. Ifx_Strict_32Bit FIE:1; /**< \brief [22:22] FI Trap Enable (rw) */
  291. Ifx_Strict_32Bit reserved_23:3; /**< \brief \internal Reserved */
  292. Ifx_Strict_32Bit FX:1; /**< \brief [26:26] Captured FX (rh) */
  293. Ifx_Strict_32Bit FU:1; /**< \brief [27:27] Captured FU (rh) */
  294. Ifx_Strict_32Bit FZ:1; /**< \brief [28:28] Captured FZ (rh) */
  295. Ifx_Strict_32Bit FV:1; /**< \brief [29:29] Captured FV (rh) */
  296. Ifx_Strict_32Bit FI:1; /**< \brief [30:30] Captured FI (rh) */
  297. Ifx_Strict_32Bit reserved_31:1; /**< \brief \internal Reserved */
  298. } Ifx_CPU_FPU_TRAP_CON_Bits;
  299. /** \\brief CPU Trapping Instruction Opcode Register */
  300. typedef struct _Ifx_CPU_FPU_TRAP_OPC_Bits
  301. {
  302. Ifx_Strict_32Bit OPC:8; /**< \brief [7:0] Captured Opcode (rh) */
  303. Ifx_Strict_32Bit FMT:1; /**< \brief [8:8] Captured Instruction Format (rh) */
  304. Ifx_Strict_32Bit reserved_9:7; /**< \brief \internal Reserved */
  305. Ifx_Strict_32Bit DREG:4; /**< \brief [19:16] Captured Destination Register (rh) */
  306. Ifx_Strict_32Bit reserved_20:12; /**< \brief \internal Reserved */
  307. } Ifx_CPU_FPU_TRAP_OPC_Bits;
  308. /** \\brief CPU Trapping Instruction Program Counter Register */
  309. typedef struct _Ifx_CPU_FPU_TRAP_PC_Bits
  310. {
  311. Ifx_Strict_32Bit PC:32; /**< \brief [31:0] Captured Program Counter (rh) */
  312. } Ifx_CPU_FPU_TRAP_PC_Bits;
  313. /** \\brief CPU Trapping Instruction Operand Register */
  314. typedef struct _Ifx_CPU_FPU_TRAP_SRC1_Bits
  315. {
  316. Ifx_Strict_32Bit SRC1:32; /**< \brief [31:0] Captured SRC1 Operand (rh) */
  317. } Ifx_CPU_FPU_TRAP_SRC1_Bits;
  318. /** \\brief CPU Trapping Instruction Operand Register */
  319. typedef struct _Ifx_CPU_FPU_TRAP_SRC2_Bits
  320. {
  321. Ifx_Strict_32Bit SRC2:32; /**< \brief [31:0] Captured SRC2 Operand (rh) */
  322. } Ifx_CPU_FPU_TRAP_SRC2_Bits;
  323. /** \\brief Trapping Instruction Operand Register */
  324. typedef struct _Ifx_CPU_FPU_TRAP_SRC3_Bits
  325. {
  326. Ifx_Strict_32Bit SRC3:32; /**< \brief [31:0] Captured SRC3 Operand (rh) */
  327. } Ifx_CPU_FPU_TRAP_SRC3_Bits;
  328. /** \\brief Instruction Count */
  329. typedef struct _Ifx_CPU_ICNT_Bits
  330. {
  331. Ifx_Strict_32Bit CountValue:31; /**< \brief [30:0] Count Value (rw) */
  332. Ifx_Strict_32Bit SOvf:1; /**< \brief [31:31] Sticky Overflow Bit (rw) */
  333. } Ifx_CPU_ICNT_Bits;
  334. /** \\brief Interrupt Control Register */
  335. typedef struct _Ifx_CPU_ICR_Bits
  336. {
  337. Ifx_Strict_32Bit CCPN:10; /**< \brief [9:0] Current CPU Priority Number (rwh) */
  338. Ifx_Strict_32Bit reserved_10:5; /**< \brief \internal Reserved */
  339. Ifx_Strict_32Bit IE:1; /**< \brief [15:15] Global Interrupt Enable Bit (rwh) */
  340. Ifx_Strict_32Bit PIPN:10; /**< \brief [25:16] Pending Interrupt Priority Number (rh) */
  341. Ifx_Strict_32Bit reserved_26:6; /**< \brief \internal Reserved */
  342. } Ifx_CPU_ICR_Bits;
  343. /** \\brief Interrupt Stack Pointer */
  344. typedef struct _Ifx_CPU_ISP_Bits
  345. {
  346. Ifx_Strict_32Bit ISP:32; /**< \brief [31:0] Interrupt Stack Pointer (rw) */
  347. } Ifx_CPU_ISP_Bits;
  348. /** \\brief Free CSA List Limit Pointer */
  349. typedef struct _Ifx_CPU_LCX_Bits
  350. {
  351. Ifx_Strict_32Bit LCXO:16; /**< \brief [15:0] LCX Offset Field (rw) */
  352. Ifx_Strict_32Bit LCXS:4; /**< \brief [19:16] LCX Segment Address (rw) */
  353. Ifx_Strict_32Bit reserved_20:12; /**< \brief \internal Reserved */
  354. } Ifx_CPU_LCX_Bits;
  355. /** \\brief Multi-Count Register 1 */
  356. typedef struct _Ifx_CPU_M1CNT_Bits
  357. {
  358. Ifx_Strict_32Bit CountValue:31; /**< \brief [30:0] Count Value (rw) */
  359. Ifx_Strict_32Bit SOvf:1; /**< \brief [31:31] Sticky Overflow Bit (rw) */
  360. } Ifx_CPU_M1CNT_Bits;
  361. /** \\brief Multi-Count Register 2 */
  362. typedef struct _Ifx_CPU_M2CNT_Bits
  363. {
  364. Ifx_Strict_32Bit CountValue:31; /**< \brief [30:0] Count Value (rw) */
  365. Ifx_Strict_32Bit SOvf:1; /**< \brief [31:31] Sticky Overflow Bit (rw) */
  366. } Ifx_CPU_M2CNT_Bits;
  367. /** \\brief Multi-Count Register 3 */
  368. typedef struct _Ifx_CPU_M3CNT_Bits
  369. {
  370. Ifx_Strict_32Bit CountValue:31; /**< \brief [30:0] Count Value (rw) */
  371. Ifx_Strict_32Bit SOvf:1; /**< \brief [31:31] Sticky Overflow Bit (rw) */
  372. } Ifx_CPU_M3CNT_Bits;
  373. /** \\brief Program Counter */
  374. typedef struct _Ifx_CPU_PC_Bits
  375. {
  376. Ifx_Strict_32Bit reserved_0:1; /**< \brief \internal Reserved */
  377. Ifx_Strict_32Bit PC:31; /**< \brief [31:1] Program Counter (r) */
  378. } Ifx_CPU_PC_Bits;
  379. /** \\brief Program Control 0 */
  380. typedef struct _Ifx_CPU_PCON0_Bits
  381. {
  382. Ifx_Strict_32Bit reserved_0:1; /**< \brief \internal Reserved */
  383. Ifx_Strict_32Bit PCBYP:1; /**< \brief [1:1] Program Cache Bypass (rw) */
  384. Ifx_Strict_32Bit reserved_2:30; /**< \brief \internal Reserved */
  385. } Ifx_CPU_PCON0_Bits;
  386. /** \\brief Program Control 1 */
  387. typedef struct _Ifx_CPU_PCON1_Bits
  388. {
  389. Ifx_Strict_32Bit PCINV:1; /**< \brief [0:0] Program Cache Invalidate (rw) */
  390. Ifx_Strict_32Bit PBINV:1; /**< \brief [1:1] Program Buffer Invalidate (rw) */
  391. Ifx_Strict_32Bit reserved_2:30; /**< \brief \internal Reserved */
  392. } Ifx_CPU_PCON1_Bits;
  393. /** \\brief Program Control 2 */
  394. typedef struct _Ifx_CPU_PCON2_Bits
  395. {
  396. Ifx_Strict_32Bit PCACHE_SZE:16; /**< \brief [15:0] Program Cache Size (ICACHE) in KBytes (r) */
  397. Ifx_Strict_32Bit PSCRATCH_SZE:16; /**< \brief [31:16] Program Scratch Size in KBytes (r) */
  398. } Ifx_CPU_PCON2_Bits;
  399. /** \\brief Previous Context Information Register */
  400. typedef struct _Ifx_CPU_PCXI_Bits
  401. {
  402. Ifx_Strict_32Bit PCXO:16; /**< \brief [15:0] Previous Context Pointer Offset Field (rw) */
  403. Ifx_Strict_32Bit PCXS:4; /**< \brief [19:16] Previous Context Pointer Segment Address (rw) */
  404. Ifx_Strict_32Bit UL:1; /**< \brief [20:20] Upper or Lower Context Tag (rw) */
  405. Ifx_Strict_32Bit PIE:1; /**< \brief [21:21] Previous Interrupt Enable (rw) */
  406. Ifx_Strict_32Bit PCPN:10; /**< \brief [31:22] Previous CPU Priority Number (rw) */
  407. } Ifx_CPU_PCXI_Bits;
  408. /** \\brief Program Integrity Error Address Register */
  409. typedef struct _Ifx_CPU_PIEAR_Bits
  410. {
  411. Ifx_Strict_32Bit TA:32; /**< \brief [31:0] Transaction Address (rh) */
  412. } Ifx_CPU_PIEAR_Bits;
  413. /** \\brief Program Integrity Error Trap Register */
  414. typedef struct _Ifx_CPU_PIETR_Bits
  415. {
  416. Ifx_Strict_32Bit IED:1; /**< \brief [0:0] Integrity Error Detected (rwh) */
  417. Ifx_Strict_32Bit IE_T:1; /**< \brief [1:1] Integrity Error - Tag Memory (rh) */
  418. Ifx_Strict_32Bit IE_C:1; /**< \brief [2:2] Integrity Error - Cache Memory (rh) */
  419. Ifx_Strict_32Bit IE_S:1; /**< \brief [3:3] Integrity Error - Scratchpad Memory (rh) */
  420. Ifx_Strict_32Bit IE_BI:1; /**< \brief [4:4] Integrity Error - Bus Interface (rh) */
  421. Ifx_Strict_32Bit E_INFO:6; /**< \brief [10:5] Error Information (rh) */
  422. Ifx_Strict_32Bit IE_DUAL:1; /**< \brief [11:11] Integrity Error - Dual Error Detected (r) */
  423. Ifx_Strict_32Bit IE_SP:1; /**< \brief [12:12] Safety Protection Error Detected (rh) */
  424. Ifx_Strict_32Bit IE_BS:1; /**< \brief [13:13] Bus Slave Access Indicator (rh) */
  425. Ifx_Strict_32Bit reserved_14:18; /**< \brief \internal Reserved */
  426. } Ifx_CPU_PIETR_Bits;
  427. /** \\brief Data Access CacheabilityRegister */
  428. typedef struct _Ifx_CPU_PMA0_Bits
  429. {
  430. Ifx_Strict_32Bit reserved_0:13; /**< \brief \internal Reserved */
  431. Ifx_Strict_32Bit DAC:3; /**< \brief [15:13] Data Access Cacheability Segments FH,EH,DH (r) */
  432. Ifx_Strict_32Bit reserved_16:16; /**< \brief \internal Reserved */
  433. } Ifx_CPU_PMA0_Bits;
  434. /** \\brief Code Access CacheabilityRegister */
  435. typedef struct _Ifx_CPU_PMA1_Bits
  436. {
  437. Ifx_Strict_32Bit reserved_0:14; /**< \brief \internal Reserved */
  438. Ifx_Strict_32Bit CAC:2; /**< \brief [15:14] Code Access Cacheability Segments FH,EH (r) */
  439. Ifx_Strict_32Bit reserved_16:16; /**< \brief \internal Reserved */
  440. } Ifx_CPU_PMA1_Bits;
  441. /** \\brief Peripheral Space Identifier register */
  442. typedef struct _Ifx_CPU_PMA2_Bits
  443. {
  444. Ifx_Strict_32Bit PSI:16; /**< \brief [15:0] Peripheral Space Identifier Segments FH-0H (r) */
  445. Ifx_Strict_32Bit reserved_16:16; /**< \brief \internal Reserved */
  446. } Ifx_CPU_PMA2_Bits;
  447. /** \\brief Program Synchronous Trap Register */
  448. typedef struct _Ifx_CPU_PSTR_Bits
  449. {
  450. Ifx_Strict_32Bit FRE:1; /**< \brief [0:0] Fetch Range Error (rwh) */
  451. Ifx_Strict_32Bit reserved_1:1; /**< \brief \internal Reserved */
  452. Ifx_Strict_32Bit FBE:1; /**< \brief [2:2] Fetch Bus Error (rwh) */
  453. Ifx_Strict_32Bit reserved_3:9; /**< \brief \internal Reserved */
  454. Ifx_Strict_32Bit FPE:1; /**< \brief [12:12] Fetch Peripheral Error (rwh) */
  455. Ifx_Strict_32Bit reserved_13:1; /**< \brief \internal Reserved */
  456. Ifx_Strict_32Bit FME:1; /**< \brief [14:14] Fetch MSIST Error (rwh) */
  457. Ifx_Strict_32Bit reserved_15:17; /**< \brief \internal Reserved */
  458. } Ifx_CPU_PSTR_Bits;
  459. /** \\brief Program Status Word */
  460. typedef struct _Ifx_CPU_PSW_Bits
  461. {
  462. Ifx_Strict_32Bit CDC:7; /**< \brief [6:0] Call Depth Counter (rwh) */
  463. Ifx_Strict_32Bit CDE:1; /**< \brief [7:7] Call Depth Count Enable (rwh) */
  464. Ifx_Strict_32Bit GW:1; /**< \brief [8:8] Global Address Register Write Permission (rwh) */
  465. Ifx_Strict_32Bit IS:1; /**< \brief [9:9] Interrupt Stack Control (rwh) */
  466. Ifx_Strict_32Bit IO:2; /**< \brief [11:10] Access Privilege Level Control (I/O Privilege) (rwh) */
  467. Ifx_Strict_32Bit PRS:2; /**< \brief [13:12] Protection Register Set (rwh) */
  468. Ifx_Strict_32Bit S:1; /**< \brief [14:14] Safe Task Identifier (rwh) */
  469. Ifx_Strict_32Bit reserved_15:12; /**< \brief \internal Reserved */
  470. Ifx_Strict_32Bit SAV:1; /**< \brief [27:27] Sticky Advance Overflow Flag (rwh) */
  471. Ifx_Strict_32Bit AV:1; /**< \brief [28:28] Advance Overflow Flag (rwh) */
  472. Ifx_Strict_32Bit SV:1; /**< \brief [29:29] Sticky Overflow Flag (rwh) */
  473. Ifx_Strict_32Bit V:1; /**< \brief [30:30] Overflow Flag (rwh) */
  474. Ifx_Strict_32Bit C:1; /**< \brief [31:31] Carry Flag (rwh) */
  475. } Ifx_CPU_PSW_Bits;
  476. /** \\brief SRI Error Generation Register */
  477. typedef struct _Ifx_CPU_SEGEN_Bits
  478. {
  479. Ifx_Strict_32Bit ADFLIP:8; /**< \brief [7:0] Address ECC Bit Flip (rw) */
  480. Ifx_Strict_32Bit ADTYPE:2; /**< \brief [9:8] Type of error (rw) */
  481. Ifx_Strict_32Bit reserved_10:21; /**< \brief \internal Reserved */
  482. Ifx_Strict_32Bit AE:1; /**< \brief [31:31] Activate Error Enable (rwh) */
  483. } Ifx_CPU_SEGEN_Bits;
  484. /** \\brief SIST Mode Access Control Register */
  485. typedef struct _Ifx_CPU_SMACON_Bits
  486. {
  487. Ifx_Strict_32Bit PC:1; /**< \brief [0:0] Instruction Cache Memory SIST Mode Access Control (rw) */
  488. Ifx_Strict_32Bit reserved_1:1; /**< \brief \internal Reserved */
  489. Ifx_Strict_32Bit PT:1; /**< \brief [2:2] Program Tag Memory SIST Mode Access Control (rw) */
  490. Ifx_Strict_32Bit reserved_3:5; /**< \brief \internal Reserved */
  491. Ifx_Strict_32Bit DC:1; /**< \brief [8:8] Data Cache Memory SIST Mode Access Control (rw) */
  492. Ifx_Strict_32Bit reserved_9:1; /**< \brief \internal Reserved */
  493. Ifx_Strict_32Bit DT:1; /**< \brief [10:10] Data Tag Memory SIST Mode Access Control (rw) */
  494. Ifx_Strict_32Bit reserved_11:13; /**< \brief \internal Reserved */
  495. Ifx_Strict_32Bit IODT:1; /**< \brief [24:24] In-Order Data Transactions (rw) */
  496. Ifx_Strict_32Bit reserved_25:7; /**< \brief \internal Reserved */
  497. } Ifx_CPU_SMACON_Bits;
  498. /** \\brief CPU Safety Protection Register Access Enable Register A */
  499. typedef struct _Ifx_CPU_SPROT_ACCENA_Bits
  500. {
  501. unsigned int EN:32; /**< \brief [31:0] Access Enable for Master TAG ID n (n= 0-31) (rw) */
  502. } Ifx_CPU_SPROT_ACCENA_Bits;
  503. /** \\brief CPU Safety Protection Region Access Enable Register B */
  504. typedef struct _Ifx_CPU_SPROT_ACCENB_Bits
  505. {
  506. unsigned int reserved_0:32; /**< \brief \internal Reserved */
  507. } Ifx_CPU_SPROT_ACCENB_Bits;
  508. /** \\brief CPU Safety Protection Region Access Enable Register A */
  509. typedef struct _Ifx_CPU_SPROT_RGN_ACCENA_Bits
  510. {
  511. unsigned int EN:32; /**< \brief [31:0] Access Enable for Master TAG ID n (n = 0-31) (rw) */
  512. } Ifx_CPU_SPROT_RGN_ACCENA_Bits;
  513. /** \\brief CPU Safety Protection Region Access Enable Register B */
  514. typedef struct _Ifx_CPU_SPROT_RGN_ACCENB_Bits
  515. {
  516. unsigned int reserved_0:32; /**< \brief \internal Reserved */
  517. } Ifx_CPU_SPROT_RGN_ACCENB_Bits;
  518. /** \\brief CPU Safety Protection Region Lower Address Register */
  519. typedef struct _Ifx_CPU_SPROT_RGN_LA_Bits
  520. {
  521. unsigned int reserved_0:5; /**< \brief \internal Reserved */
  522. unsigned int ADDR:27; /**< \brief [31:5] Region Lower Address (rw) */
  523. } Ifx_CPU_SPROT_RGN_LA_Bits;
  524. /** \\brief CPU Safety protection Region Upper Address Register */
  525. typedef struct _Ifx_CPU_SPROT_RGN_UA_Bits
  526. {
  527. unsigned int reserved_0:5; /**< \brief \internal Reserved */
  528. unsigned int ADDR:27; /**< \brief [31:5] Region Upper Address (rw) */
  529. } Ifx_CPU_SPROT_RGN_UA_Bits;
  530. /** \\brief Software Debug Event */
  531. typedef struct _Ifx_CPU_SWEVT_Bits
  532. {
  533. Ifx_Strict_32Bit EVTA:3; /**< \brief [2:0] Event Associated (rw) */
  534. Ifx_Strict_32Bit BBM:1; /**< \brief [3:3] Break Before Make (BBM) or Break After Make (BAM) Selection (rw) */
  535. Ifx_Strict_32Bit BOD:1; /**< \brief [4:4] Breakout Disable (rw) */
  536. Ifx_Strict_32Bit SUSP:1; /**< \brief [5:5] CDC Suspend-Out Signal State (rw) */
  537. Ifx_Strict_32Bit CNT:2; /**< \brief [7:6] Counter (rw) */
  538. Ifx_Strict_32Bit reserved_8:24; /**< \brief \internal Reserved */
  539. } Ifx_CPU_SWEVT_Bits;
  540. /** \\brief System Configuration Register */
  541. typedef struct _Ifx_CPU_SYSCON_Bits
  542. {
  543. Ifx_Strict_32Bit FCDSF:1; /**< \brief [0:0] Free Context List Depleted Sticky Flag (rwh) */
  544. Ifx_Strict_32Bit PROTEN:1; /**< \brief [1:1] Memory Protection Enable (rw) */
  545. Ifx_Strict_32Bit TPROTEN:1; /**< \brief [2:2] Temporal Protection Enable (rw) */
  546. Ifx_Strict_32Bit IS:1; /**< \brief [3:3] Initial State (rw) */
  547. Ifx_Strict_32Bit IT:1; /**< \brief [4:4] Initial State (rw) */
  548. Ifx_Strict_32Bit reserved_5:27; /**< \brief \internal Reserved */
  549. } Ifx_CPU_SYSCON_Bits;
  550. /** \\brief CPU Task Address Space Identifier Register */
  551. typedef struct _Ifx_CPU_TASK_ASI_Bits
  552. {
  553. Ifx_Strict_32Bit ASI:5; /**< \brief [4:0] Address Space Identifier (rw) */
  554. Ifx_Strict_32Bit reserved_5:27; /**< \brief \internal Reserved */
  555. } Ifx_CPU_TASK_ASI_Bits;
  556. /** \\brief CPU Temporal Protection System Control Register */
  557. typedef struct _Ifx_CPU_TPS_CON_Bits
  558. {
  559. Ifx_Strict_32Bit TEXP0:1; /**< \brief [0:0] Timer0 Expired Flag (rh) */
  560. Ifx_Strict_32Bit TEXP1:1; /**< \brief [1:1] Timer1 Expired Flag (rh) */
  561. Ifx_Strict_32Bit TEXP2:1; /**< \brief [2:2] Timer1 Expired Flag (rh) */
  562. Ifx_Strict_32Bit reserved_3:13; /**< \brief \internal Reserved */
  563. Ifx_Strict_32Bit TTRAP:1; /**< \brief [16:16] Temporal Protection Trap (rh) */
  564. Ifx_Strict_32Bit reserved_17:15; /**< \brief \internal Reserved */
  565. } Ifx_CPU_TPS_CON_Bits;
  566. /** \\brief CPU Temporal Protection System Timer Register */
  567. typedef struct _Ifx_CPU_TPS_TIMER_Bits
  568. {
  569. Ifx_Strict_32Bit Timer:32; /**< \brief [31:0] Temporal Protection Timer (rwh) */
  570. } Ifx_CPU_TPS_TIMER_Bits;
  571. /** \\brief Trigger Address */
  572. typedef struct _Ifx_CPU_TR_ADR_Bits
  573. {
  574. Ifx_Strict_32Bit ADDR:32; /**< \brief [31:0] Comparison Address (rw) */
  575. } Ifx_CPU_TR_ADR_Bits;
  576. /** \\brief Trigger Event */
  577. typedef struct _Ifx_CPU_TR_EVT_Bits
  578. {
  579. Ifx_Strict_32Bit EVTA:3; /**< \brief [2:0] Event Associated (rw) */
  580. Ifx_Strict_32Bit BBM:1; /**< \brief [3:3] Break Before Make (BBM) or Break After Make (BAM) Selection (rw) */
  581. Ifx_Strict_32Bit BOD:1; /**< \brief [4:4] Breakout Disable (rw) */
  582. Ifx_Strict_32Bit SUSP:1; /**< \brief [5:5] CDC Suspend-Out Signal State (rw) */
  583. Ifx_Strict_32Bit CNT:2; /**< \brief [7:6] Counter (rw) */
  584. Ifx_Strict_32Bit reserved_8:4; /**< \brief \internal Reserved */
  585. Ifx_Strict_32Bit TYP:1; /**< \brief [12:12] Input Selection (rw) */
  586. Ifx_Strict_32Bit RNG:1; /**< \brief [13:13] Compare Type (rw) */
  587. Ifx_Strict_32Bit reserved_14:1; /**< \brief \internal Reserved */
  588. Ifx_Strict_32Bit ASI_EN:1; /**< \brief [15:15] Enable ASI Comparison (rw) */
  589. Ifx_Strict_32Bit ASI:5; /**< \brief [20:16] Address Space Identifier (rw) */
  590. Ifx_Strict_32Bit reserved_21:6; /**< \brief \internal Reserved */
  591. Ifx_Strict_32Bit AST:1; /**< \brief [27:27] Address Store (rw) */
  592. Ifx_Strict_32Bit ALD:1; /**< \brief [28:28] Address Load (rw) */
  593. Ifx_Strict_32Bit reserved_29:3; /**< \brief \internal Reserved */
  594. } Ifx_CPU_TR_EVT_Bits;
  595. /** \\brief CPU Trigger Address x */
  596. typedef struct _Ifx_CPU_TRIG_ACC_Bits
  597. {
  598. Ifx_Strict_32Bit T0:1; /**< \brief [0:0] Trigger-0 (rh) */
  599. Ifx_Strict_32Bit T1:1; /**< \brief [1:1] Trigger-1 (rh) */
  600. Ifx_Strict_32Bit T2:1; /**< \brief [2:2] Trigger-2 (rh) */
  601. Ifx_Strict_32Bit T3:1; /**< \brief [3:3] Trigger-3 (rh) */
  602. Ifx_Strict_32Bit T4:1; /**< \brief [4:4] Trigger-4 (rh) */
  603. Ifx_Strict_32Bit T5:1; /**< \brief [5:5] Trigger-5 (rh) */
  604. Ifx_Strict_32Bit T6:1; /**< \brief [6:6] Trigger-6 (rh) */
  605. Ifx_Strict_32Bit T7:1; /**< \brief [7:7] Trigger-7 (rh) */
  606. Ifx_Strict_32Bit reserved_8:24; /**< \brief \internal Reserved */
  607. } Ifx_CPU_TRIG_ACC_Bits;
  608. /** \} */
  609. /******************************************************************************/
  610. /******************************************************************************/
  611. /** \addtogroup IfxLld_Cpu_union
  612. * \{ */
  613. /** \\brief Address General Purpose Register */
  614. typedef union
  615. {
  616. /** \brief Unsigned access */
  617. unsigned int U;
  618. /** \brief Signed access */
  619. signed int I;
  620. /** \brief Bitfield access */
  621. Ifx_CPU_A_Bits B;
  622. } Ifx_CPU_A;
  623. /** \\brief Base Interrupt Vector Table Pointer */
  624. typedef union
  625. {
  626. /** \brief Unsigned access */
  627. unsigned int U;
  628. /** \brief Signed access */
  629. signed int I;
  630. /** \brief Bitfield access */
  631. Ifx_CPU_BIV_Bits B;
  632. } Ifx_CPU_BIV;
  633. /** \\brief Base Trap Vector Table Pointer */
  634. typedef union
  635. {
  636. /** \brief Unsigned access */
  637. unsigned int U;
  638. /** \brief Signed access */
  639. signed int I;
  640. /** \brief Bitfield access */
  641. Ifx_CPU_BTV_Bits B;
  642. } Ifx_CPU_BTV;
  643. /** \\brief CPU Clock Cycle Count */
  644. typedef union
  645. {
  646. /** \brief Unsigned access */
  647. unsigned int U;
  648. /** \brief Signed access */
  649. signed int I;
  650. /** \brief Bitfield access */
  651. Ifx_CPU_CCNT_Bits B;
  652. } Ifx_CPU_CCNT;
  653. /** \\brief Counter Control */
  654. typedef union
  655. {
  656. /** \brief Unsigned access */
  657. unsigned int U;
  658. /** \brief Signed access */
  659. signed int I;
  660. /** \brief Bitfield access */
  661. Ifx_CPU_CCTRL_Bits B;
  662. } Ifx_CPU_CCTRL;
  663. /** \\brief Compatibility Control Register */
  664. typedef union
  665. {
  666. /** \brief Unsigned access */
  667. unsigned int U;
  668. /** \brief Signed access */
  669. signed int I;
  670. /** \brief Bitfield access */
  671. Ifx_CPU_COMPAT_Bits B;
  672. } Ifx_CPU_COMPAT;
  673. /** \\brief CPU Core Identification Register */
  674. typedef union
  675. {
  676. /** \brief Unsigned access */
  677. unsigned int U;
  678. /** \brief Signed access */
  679. signed int I;
  680. /** \brief Bitfield access */
  681. Ifx_CPU_CORE_ID_Bits B;
  682. } Ifx_CPU_CORE_ID;
  683. /** \\brief CPU Code Protection Range Lower Bound Register */
  684. typedef union
  685. {
  686. /** \brief Unsigned access */
  687. unsigned int U;
  688. /** \brief Signed access */
  689. signed int I;
  690. /** \brief Bitfield access */
  691. Ifx_CPU_CPR_L_Bits B;
  692. } Ifx_CPU_CPR_L;
  693. /** \\brief CPU Code Protection Range Upper Bound Register */
  694. typedef union
  695. {
  696. /** \brief Unsigned access */
  697. unsigned int U;
  698. /** \brief Signed access */
  699. signed int I;
  700. /** \brief Bitfield access */
  701. Ifx_CPU_CPR_U_Bits B;
  702. } Ifx_CPU_CPR_U;
  703. /** \\brief CPU Identification Register TC1.6P */
  704. typedef union
  705. {
  706. /** \brief Unsigned access */
  707. unsigned int U;
  708. /** \brief Signed access */
  709. signed int I;
  710. /** \brief Bitfield access */
  711. Ifx_CPU_CPU_ID_Bits B;
  712. } Ifx_CPU_CPU_ID;
  713. /** \\brief CPU Code Protection Execute Enable Register Set */
  714. typedef union
  715. {
  716. /** \brief Unsigned access */
  717. unsigned int U;
  718. /** \brief Signed access */
  719. signed int I;
  720. /** \brief Bitfield access */
  721. Ifx_CPU_CPXE_Bits B;
  722. } Ifx_CPU_CPXE;
  723. /** \\brief Core Register Access Event */
  724. typedef union
  725. {
  726. /** \brief Unsigned access */
  727. unsigned int U;
  728. /** \brief Signed access */
  729. signed int I;
  730. /** \brief Bitfield access */
  731. Ifx_CPU_CREVT_Bits B;
  732. } Ifx_CPU_CREVT;
  733. /** \\brief CPU Customer ID register */
  734. typedef union
  735. {
  736. /** \brief Unsigned access */
  737. unsigned int U;
  738. /** \brief Signed access */
  739. signed int I;
  740. /** \brief Bitfield access */
  741. Ifx_CPU_CUS_ID_Bits B;
  742. } Ifx_CPU_CUS_ID;
  743. /** \\brief Data General Purpose Register */
  744. typedef union
  745. {
  746. /** \brief Unsigned access */
  747. unsigned int U;
  748. /** \brief Signed access */
  749. signed int I;
  750. /** \brief Bitfield access */
  751. Ifx_CPU_D_Bits B;
  752. } Ifx_CPU_D;
  753. /** \\brief Data Asynchronous Trap Register */
  754. typedef union
  755. {
  756. /** \brief Unsigned access */
  757. unsigned int U;
  758. /** \brief Signed access */
  759. signed int I;
  760. /** \brief Bitfield access */
  761. Ifx_CPU_DATR_Bits B;
  762. } Ifx_CPU_DATR;
  763. /** \\brief Debug Status Register */
  764. typedef union
  765. {
  766. /** \brief Unsigned access */
  767. unsigned int U;
  768. /** \brief Signed access */
  769. signed int I;
  770. /** \brief Bitfield access */
  771. Ifx_CPU_DBGSR_Bits B;
  772. } Ifx_CPU_DBGSR;
  773. /** \\brief Debug Trap Control Register */
  774. typedef union
  775. {
  776. /** \brief Unsigned access */
  777. unsigned int U;
  778. /** \brief Signed access */
  779. signed int I;
  780. /** \brief Bitfield access */
  781. Ifx_CPU_DBGTCR_Bits B;
  782. } Ifx_CPU_DBGTCR;
  783. /** \\brief Data Memory Control Register */
  784. typedef union
  785. {
  786. /** \brief Unsigned access */
  787. unsigned int U;
  788. /** \brief Signed access */
  789. signed int I;
  790. /** \brief Bitfield access */
  791. Ifx_CPU_DCON0_Bits B;
  792. } Ifx_CPU_DCON0;
  793. /** \\brief Data Control Register 2 */
  794. typedef union
  795. {
  796. /** \brief Unsigned access */
  797. unsigned int U;
  798. /** \brief Signed access */
  799. signed int I;
  800. /** \brief Bitfield access */
  801. Ifx_CPU_DCON2_Bits B;
  802. } Ifx_CPU_DCON2;
  803. /** \\brief CPU Debug Context Save Area Pointer */
  804. typedef union
  805. {
  806. /** \brief Unsigned access */
  807. unsigned int U;
  808. /** \brief Signed access */
  809. signed int I;
  810. /** \brief Bitfield access */
  811. Ifx_CPU_DCX_Bits B;
  812. } Ifx_CPU_DCX;
  813. /** \\brief Data Error Address Register */
  814. typedef union
  815. {
  816. /** \brief Unsigned access */
  817. unsigned int U;
  818. /** \brief Signed access */
  819. signed int I;
  820. /** \brief Bitfield access */
  821. Ifx_CPU_DEADD_Bits B;
  822. } Ifx_CPU_DEADD;
  823. /** \\brief Data Integrity Error Address Register */
  824. typedef union
  825. {
  826. /** \brief Unsigned access */
  827. unsigned int U;
  828. /** \brief Signed access */
  829. signed int I;
  830. /** \brief Bitfield access */
  831. Ifx_CPU_DIEAR_Bits B;
  832. } Ifx_CPU_DIEAR;
  833. /** \\brief Data Integrity Error Trap Register */
  834. typedef union
  835. {
  836. /** \brief Unsigned access */
  837. unsigned int U;
  838. /** \brief Signed access */
  839. signed int I;
  840. /** \brief Bitfield access */
  841. Ifx_CPU_DIETR_Bits B;
  842. } Ifx_CPU_DIETR;
  843. /** \\brief CPU Debug Monitor Start Address */
  844. typedef union
  845. {
  846. /** \brief Unsigned access */
  847. unsigned int U;
  848. /** \brief Signed access */
  849. signed int I;
  850. /** \brief Bitfield access */
  851. Ifx_CPU_DMS_Bits B;
  852. } Ifx_CPU_DMS;
  853. /** \\brief CPU Data Protection Range, Lower Bound Register */
  854. typedef union
  855. {
  856. /** \brief Unsigned access */
  857. unsigned int U;
  858. /** \brief Signed access */
  859. signed int I;
  860. /** \brief Bitfield access */
  861. Ifx_CPU_DPR_L_Bits B;
  862. } Ifx_CPU_DPR_L;
  863. /** \\brief CPU Data Protection Range, Upper Bound Register */
  864. typedef union
  865. {
  866. /** \brief Unsigned access */
  867. unsigned int U;
  868. /** \brief Signed access */
  869. signed int I;
  870. /** \brief Bitfield access */
  871. Ifx_CPU_DPR_U_Bits B;
  872. } Ifx_CPU_DPR_U;
  873. /** \\brief CPU Data Protection Read Enable Register Set */
  874. typedef union
  875. {
  876. /** \brief Unsigned access */
  877. unsigned int U;
  878. /** \brief Signed access */
  879. signed int I;
  880. /** \brief Bitfield access */
  881. Ifx_CPU_DPRE_Bits B;
  882. } Ifx_CPU_DPRE;
  883. /** \\brief CPU Data Protection Write Enable Register Set */
  884. typedef union
  885. {
  886. /** \brief Unsigned access */
  887. unsigned int U;
  888. /** \brief Signed access */
  889. signed int I;
  890. /** \brief Bitfield access */
  891. Ifx_CPU_DPWE_Bits B;
  892. } Ifx_CPU_DPWE;
  893. /** \\brief Data Synchronous Trap Register */
  894. typedef union
  895. {
  896. /** \brief Unsigned access */
  897. unsigned int U;
  898. /** \brief Signed access */
  899. signed int I;
  900. /** \brief Bitfield access */
  901. Ifx_CPU_DSTR_Bits B;
  902. } Ifx_CPU_DSTR;
  903. /** \\brief External Event Register */
  904. typedef union
  905. {
  906. /** \brief Unsigned access */
  907. unsigned int U;
  908. /** \brief Signed access */
  909. signed int I;
  910. /** \brief Bitfield access */
  911. Ifx_CPU_EXEVT_Bits B;
  912. } Ifx_CPU_EXEVT;
  913. /** \\brief Free CSA List Head Pointer */
  914. typedef union
  915. {
  916. /** \brief Unsigned access */
  917. unsigned int U;
  918. /** \brief Signed access */
  919. signed int I;
  920. /** \brief Bitfield access */
  921. Ifx_CPU_FCX_Bits B;
  922. } Ifx_CPU_FCX;
  923. /** \\brief CPU Trap Control Register */
  924. typedef union
  925. {
  926. /** \brief Unsigned access */
  927. unsigned int U;
  928. /** \brief Signed access */
  929. signed int I;
  930. /** \brief Bitfield access */
  931. Ifx_CPU_FPU_TRAP_CON_Bits B;
  932. } Ifx_CPU_FPU_TRAP_CON;
  933. /** \\brief CPU Trapping Instruction Opcode Register */
  934. typedef union
  935. {
  936. /** \brief Unsigned access */
  937. unsigned int U;
  938. /** \brief Signed access */
  939. signed int I;
  940. /** \brief Bitfield access */
  941. Ifx_CPU_FPU_TRAP_OPC_Bits B;
  942. } Ifx_CPU_FPU_TRAP_OPC;
  943. /** \\brief CPU Trapping Instruction Program Counter Register */
  944. typedef union
  945. {
  946. /** \brief Unsigned access */
  947. unsigned int U;
  948. /** \brief Signed access */
  949. signed int I;
  950. /** \brief Bitfield access */
  951. Ifx_CPU_FPU_TRAP_PC_Bits B;
  952. } Ifx_CPU_FPU_TRAP_PC;
  953. /** \\brief CPU Trapping Instruction Operand Register */
  954. typedef union
  955. {
  956. /** \brief Unsigned access */
  957. unsigned int U;
  958. /** \brief Signed access */
  959. signed int I;
  960. /** \brief Bitfield access */
  961. Ifx_CPU_FPU_TRAP_SRC1_Bits B;
  962. } Ifx_CPU_FPU_TRAP_SRC1;
  963. /** \\brief CPU Trapping Instruction Operand Register */
  964. typedef union
  965. {
  966. /** \brief Unsigned access */
  967. unsigned int U;
  968. /** \brief Signed access */
  969. signed int I;
  970. /** \brief Bitfield access */
  971. Ifx_CPU_FPU_TRAP_SRC2_Bits B;
  972. } Ifx_CPU_FPU_TRAP_SRC2;
  973. /** \\brief Trapping Instruction Operand Register */
  974. typedef union
  975. {
  976. /** \brief Unsigned access */
  977. unsigned int U;
  978. /** \brief Signed access */
  979. signed int I;
  980. /** \brief Bitfield access */
  981. Ifx_CPU_FPU_TRAP_SRC3_Bits B;
  982. } Ifx_CPU_FPU_TRAP_SRC3;
  983. /** \\brief Instruction Count */
  984. typedef union
  985. {
  986. /** \brief Unsigned access */
  987. unsigned int U;
  988. /** \brief Signed access */
  989. signed int I;
  990. /** \brief Bitfield access */
  991. Ifx_CPU_ICNT_Bits B;
  992. } Ifx_CPU_ICNT;
  993. /** \\brief Interrupt Control Register */
  994. typedef union
  995. {
  996. /** \brief Unsigned access */
  997. unsigned int U;
  998. /** \brief Signed access */
  999. signed int I;
  1000. /** \brief Bitfield access */
  1001. Ifx_CPU_ICR_Bits B;
  1002. } Ifx_CPU_ICR;
  1003. /** \\brief Interrupt Stack Pointer */
  1004. typedef union
  1005. {
  1006. /** \brief Unsigned access */
  1007. unsigned int U;
  1008. /** \brief Signed access */
  1009. signed int I;
  1010. /** \brief Bitfield access */
  1011. Ifx_CPU_ISP_Bits B;
  1012. } Ifx_CPU_ISP;
  1013. /** \\brief Free CSA List Limit Pointer */
  1014. typedef union
  1015. {
  1016. /** \brief Unsigned access */
  1017. unsigned int U;
  1018. /** \brief Signed access */
  1019. signed int I;
  1020. /** \brief Bitfield access */
  1021. Ifx_CPU_LCX_Bits B;
  1022. } Ifx_CPU_LCX;
  1023. /** \\brief Multi-Count Register 1 */
  1024. typedef union
  1025. {
  1026. /** \brief Unsigned access */
  1027. unsigned int U;
  1028. /** \brief Signed access */
  1029. signed int I;
  1030. /** \brief Bitfield access */
  1031. Ifx_CPU_M1CNT_Bits B;
  1032. } Ifx_CPU_M1CNT;
  1033. /** \\brief Multi-Count Register 2 */
  1034. typedef union
  1035. {
  1036. /** \brief Unsigned access */
  1037. unsigned int U;
  1038. /** \brief Signed access */
  1039. signed int I;
  1040. /** \brief Bitfield access */
  1041. Ifx_CPU_M2CNT_Bits B;
  1042. } Ifx_CPU_M2CNT;
  1043. /** \\brief Multi-Count Register 3 */
  1044. typedef union
  1045. {
  1046. /** \brief Unsigned access */
  1047. unsigned int U;
  1048. /** \brief Signed access */
  1049. signed int I;
  1050. /** \brief Bitfield access */
  1051. Ifx_CPU_M3CNT_Bits B;
  1052. } Ifx_CPU_M3CNT;
  1053. /** \\brief Program Counter */
  1054. typedef union
  1055. {
  1056. /** \brief Unsigned access */
  1057. unsigned int U;
  1058. /** \brief Signed access */
  1059. signed int I;
  1060. /** \brief Bitfield access */
  1061. Ifx_CPU_PC_Bits B;
  1062. } Ifx_CPU_PC;
  1063. /** \\brief Program Control 0 */
  1064. typedef union
  1065. {
  1066. /** \brief Unsigned access */
  1067. unsigned int U;
  1068. /** \brief Signed access */
  1069. signed int I;
  1070. /** \brief Bitfield access */
  1071. Ifx_CPU_PCON0_Bits B;
  1072. } Ifx_CPU_PCON0;
  1073. /** \\brief Program Control 1 */
  1074. typedef union
  1075. {
  1076. /** \brief Unsigned access */
  1077. unsigned int U;
  1078. /** \brief Signed access */
  1079. signed int I;
  1080. /** \brief Bitfield access */
  1081. Ifx_CPU_PCON1_Bits B;
  1082. } Ifx_CPU_PCON1;
  1083. /** \\brief Program Control 2 */
  1084. typedef union
  1085. {
  1086. /** \brief Unsigned access */
  1087. unsigned int U;
  1088. /** \brief Signed access */
  1089. signed int I;
  1090. /** \brief Bitfield access */
  1091. Ifx_CPU_PCON2_Bits B;
  1092. } Ifx_CPU_PCON2;
  1093. /** \\brief Previous Context Information Register */
  1094. typedef union
  1095. {
  1096. /** \brief Unsigned access */
  1097. unsigned int U;
  1098. /** \brief Signed access */
  1099. signed int I;
  1100. /** \brief Bitfield access */
  1101. Ifx_CPU_PCXI_Bits B;
  1102. } Ifx_CPU_PCXI;
  1103. /** \\brief Program Integrity Error Address Register */
  1104. typedef union
  1105. {
  1106. /** \brief Unsigned access */
  1107. unsigned int U;
  1108. /** \brief Signed access */
  1109. signed int I;
  1110. /** \brief Bitfield access */
  1111. Ifx_CPU_PIEAR_Bits B;
  1112. } Ifx_CPU_PIEAR;
  1113. /** \\brief Program Integrity Error Trap Register */
  1114. typedef union
  1115. {
  1116. /** \brief Unsigned access */
  1117. unsigned int U;
  1118. /** \brief Signed access */
  1119. signed int I;
  1120. /** \brief Bitfield access */
  1121. Ifx_CPU_PIETR_Bits B;
  1122. } Ifx_CPU_PIETR;
  1123. /** \\brief Data Access CacheabilityRegister */
  1124. typedef union
  1125. {
  1126. /** \brief Unsigned access */
  1127. unsigned int U;
  1128. /** \brief Signed access */
  1129. signed int I;
  1130. /** \brief Bitfield access */
  1131. Ifx_CPU_PMA0_Bits B;
  1132. } Ifx_CPU_PMA0;
  1133. /** \\brief Code Access CacheabilityRegister */
  1134. typedef union
  1135. {
  1136. /** \brief Unsigned access */
  1137. unsigned int U;
  1138. /** \brief Signed access */
  1139. signed int I;
  1140. /** \brief Bitfield access */
  1141. Ifx_CPU_PMA1_Bits B;
  1142. } Ifx_CPU_PMA1;
  1143. /** \\brief Peripheral Space Identifier register */
  1144. typedef union
  1145. {
  1146. /** \brief Unsigned access */
  1147. unsigned int U;
  1148. /** \brief Signed access */
  1149. signed int I;
  1150. /** \brief Bitfield access */
  1151. Ifx_CPU_PMA2_Bits B;
  1152. } Ifx_CPU_PMA2;
  1153. /** \\brief Program Synchronous Trap Register */
  1154. typedef union
  1155. {
  1156. /** \brief Unsigned access */
  1157. unsigned int U;
  1158. /** \brief Signed access */
  1159. signed int I;
  1160. /** \brief Bitfield access */
  1161. Ifx_CPU_PSTR_Bits B;
  1162. } Ifx_CPU_PSTR;
  1163. /** \\brief Program Status Word */
  1164. typedef union
  1165. {
  1166. /** \brief Unsigned access */
  1167. unsigned int U;
  1168. /** \brief Signed access */
  1169. signed int I;
  1170. /** \brief Bitfield access */
  1171. Ifx_CPU_PSW_Bits B;
  1172. } Ifx_CPU_PSW;
  1173. /** \\brief SRI Error Generation Register */
  1174. typedef union
  1175. {
  1176. /** \brief Unsigned access */
  1177. unsigned int U;
  1178. /** \brief Signed access */
  1179. signed int I;
  1180. /** \brief Bitfield access */
  1181. Ifx_CPU_SEGEN_Bits B;
  1182. } Ifx_CPU_SEGEN;
  1183. /** \\brief SIST Mode Access Control Register */
  1184. typedef union
  1185. {
  1186. /** \brief Unsigned access */
  1187. unsigned int U;
  1188. /** \brief Signed access */
  1189. signed int I;
  1190. /** \brief Bitfield access */
  1191. Ifx_CPU_SMACON_Bits B;
  1192. } Ifx_CPU_SMACON;
  1193. /** \\brief CPU Safety Protection Register Access Enable Register A */
  1194. typedef union
  1195. {
  1196. /** \brief Unsigned access */
  1197. unsigned int U;
  1198. /** \brief Signed access */
  1199. signed int I;
  1200. /** \brief Bitfield access */
  1201. Ifx_CPU_SPROT_ACCENA_Bits B;
  1202. } Ifx_CPU_SPROT_ACCENA;
  1203. /** \\brief CPU Safety Protection Region Access Enable Register B */
  1204. typedef union
  1205. {
  1206. /** \brief Unsigned access */
  1207. unsigned int U;
  1208. /** \brief Signed access */
  1209. signed int I;
  1210. /** \brief Bitfield access */
  1211. Ifx_CPU_SPROT_ACCENB_Bits B;
  1212. } Ifx_CPU_SPROT_ACCENB;
  1213. /** \\brief CPU Safety Protection Region Access Enable Register A */
  1214. typedef union
  1215. {
  1216. /** \brief Unsigned access */
  1217. unsigned int U;
  1218. /** \brief Signed access */
  1219. signed int I;
  1220. /** \brief Bitfield access */
  1221. Ifx_CPU_SPROT_RGN_ACCENA_Bits B;
  1222. } Ifx_CPU_SPROT_RGN_ACCENA;
  1223. /** \\brief CPU Safety Protection Region Access Enable Register B */
  1224. typedef union
  1225. {
  1226. /** \brief Unsigned access */
  1227. unsigned int U;
  1228. /** \brief Signed access */
  1229. signed int I;
  1230. /** \brief Bitfield access */
  1231. Ifx_CPU_SPROT_RGN_ACCENB_Bits B;
  1232. } Ifx_CPU_SPROT_RGN_ACCENB;
  1233. /** \\brief CPU Safety Protection Region Lower Address Register */
  1234. typedef union
  1235. {
  1236. /** \brief Unsigned access */
  1237. unsigned int U;
  1238. /** \brief Signed access */
  1239. signed int I;
  1240. /** \brief Bitfield access */
  1241. Ifx_CPU_SPROT_RGN_LA_Bits B;
  1242. } Ifx_CPU_SPROT_RGN_LA;
  1243. /** \\brief CPU Safety protection Region Upper Address Register */
  1244. typedef union
  1245. {
  1246. /** \brief Unsigned access */
  1247. unsigned int U;
  1248. /** \brief Signed access */
  1249. signed int I;
  1250. /** \brief Bitfield access */
  1251. Ifx_CPU_SPROT_RGN_UA_Bits B;
  1252. } Ifx_CPU_SPROT_RGN_UA;
  1253. /** \\brief Software Debug Event */
  1254. typedef union
  1255. {
  1256. /** \brief Unsigned access */
  1257. unsigned int U;
  1258. /** \brief Signed access */
  1259. signed int I;
  1260. /** \brief Bitfield access */
  1261. Ifx_CPU_SWEVT_Bits B;
  1262. } Ifx_CPU_SWEVT;
  1263. /** \\brief System Configuration Register */
  1264. typedef union
  1265. {
  1266. /** \brief Unsigned access */
  1267. unsigned int U;
  1268. /** \brief Signed access */
  1269. signed int I;
  1270. /** \brief Bitfield access */
  1271. Ifx_CPU_SYSCON_Bits B;
  1272. } Ifx_CPU_SYSCON;
  1273. /** \\brief CPU Task Address Space Identifier Register */
  1274. typedef union
  1275. {
  1276. /** \brief Unsigned access */
  1277. unsigned int U;
  1278. /** \brief Signed access */
  1279. signed int I;
  1280. /** \brief Bitfield access */
  1281. Ifx_CPU_TASK_ASI_Bits B;
  1282. } Ifx_CPU_TASK_ASI;
  1283. /** \\brief CPU Temporal Protection System Control Register */
  1284. typedef union
  1285. {
  1286. /** \brief Unsigned access */
  1287. unsigned int U;
  1288. /** \brief Signed access */
  1289. signed int I;
  1290. /** \brief Bitfield access */
  1291. Ifx_CPU_TPS_CON_Bits B;
  1292. } Ifx_CPU_TPS_CON;
  1293. /** \\brief CPU Temporal Protection System Timer Register */
  1294. typedef union
  1295. {
  1296. /** \brief Unsigned access */
  1297. unsigned int U;
  1298. /** \brief Signed access */
  1299. signed int I;
  1300. /** \brief Bitfield access */
  1301. Ifx_CPU_TPS_TIMER_Bits B;
  1302. } Ifx_CPU_TPS_TIMER;
  1303. /** \\brief Trigger Address */
  1304. typedef union
  1305. {
  1306. /** \brief Unsigned access */
  1307. unsigned int U;
  1308. /** \brief Signed access */
  1309. signed int I;
  1310. /** \brief Bitfield access */
  1311. Ifx_CPU_TR_ADR_Bits B;
  1312. } Ifx_CPU_TR_ADR;
  1313. /** \\brief Trigger Event */
  1314. typedef union
  1315. {
  1316. /** \brief Unsigned access */
  1317. unsigned int U;
  1318. /** \brief Signed access */
  1319. signed int I;
  1320. /** \brief Bitfield access */
  1321. Ifx_CPU_TR_EVT_Bits B;
  1322. } Ifx_CPU_TR_EVT;
  1323. /** \\brief CPU Trigger Address x */
  1324. typedef union
  1325. {
  1326. /** \brief Unsigned access */
  1327. unsigned int U;
  1328. /** \brief Signed access */
  1329. signed int I;
  1330. /** \brief Bitfield access */
  1331. Ifx_CPU_TRIG_ACC_Bits B;
  1332. } Ifx_CPU_TRIG_ACC;
  1333. /** \} */
  1334. /******************************************************************************/
  1335. /******************************************************************************/
  1336. /** \addtogroup IfxLld_Cpu_struct
  1337. * \{ */
  1338. /******************************************************************************/
  1339. /** \name Object L1
  1340. * \{ */
  1341. /** \\brief Protection range */
  1342. typedef volatile struct _Ifx_CPU_CPR
  1343. {
  1344. Ifx_CPU_CPR_L L; /**< \brief 0, CPU Code Protection Range Lower Bound Register */
  1345. Ifx_CPU_CPR_U U; /**< \brief 4, CPU Code Protection Range Upper Bound Register */
  1346. } Ifx_CPU_CPR;
  1347. /** \\brief Protection range */
  1348. typedef volatile struct _Ifx_CPU_DPR
  1349. {
  1350. Ifx_CPU_DPR_L L; /**< \brief 0, CPU Data Protection Range, Lower Bound Register */
  1351. Ifx_CPU_DPR_U U; /**< \brief 4, CPU Data Protection Range, Upper Bound Register */
  1352. } Ifx_CPU_DPR;
  1353. /** \\brief Safety protection region */
  1354. typedef volatile struct _Ifx_CPU_SPROT_RGN
  1355. {
  1356. Ifx_CPU_SPROT_RGN_LA LA; /**< \brief 0, CPU Safety Protection Region Lower Address Register */
  1357. Ifx_CPU_SPROT_RGN_UA UA; /**< \brief 4, CPU Safety protection Region Upper Address Register */
  1358. Ifx_CPU_SPROT_RGN_ACCENA ACCENA; /**< \brief 8, CPU Safety Protection Region Access Enable Register A */
  1359. Ifx_CPU_SPROT_RGN_ACCENB ACCENB; /**< \brief C, CPU Safety Protection Region Access Enable Register B */
  1360. } Ifx_CPU_SPROT_RGN;
  1361. /** \\brief Temporal Protection System */
  1362. typedef volatile struct _Ifx_CPU_TPS
  1363. {
  1364. Ifx_CPU_TPS_CON CON; /**< \brief 0, CPU Temporal Protection System Control Register */
  1365. Ifx_CPU_TPS_TIMER TIMER[3]; /**< \brief 4, CPU Temporal Protection System Timer Register */
  1366. } Ifx_CPU_TPS;
  1367. /** \\brief Trigger */
  1368. typedef volatile struct _Ifx_CPU_TR
  1369. {
  1370. Ifx_CPU_TR_EVT EVT; /**< \brief 0, Trigger Event */
  1371. Ifx_CPU_TR_ADR ADR; /**< \brief 4, Trigger Address */
  1372. } Ifx_CPU_TR;
  1373. /** \} */
  1374. /******************************************************************************/
  1375. /** \} */
  1376. /******************************************************************************/
  1377. /******************************************************************************/
  1378. /** \addtogroup IfxLld_Cpu_struct
  1379. * \{ */
  1380. /******************************************************************************/
  1381. /** \name Object L0
  1382. * \{ */
  1383. /** \\brief CPU object */
  1384. typedef volatile struct _Ifx_CPU
  1385. {
  1386. unsigned char reserved_0[4144]; /**< \brief 0, \internal Reserved */
  1387. Ifx_CPU_SEGEN SEGEN; /**< \brief 1030, SRI Error Generation Register */
  1388. unsigned char reserved_1034[28624]; /**< \brief 1034, \internal Reserved */
  1389. Ifx_CPU_TASK_ASI TASK_ASI; /**< \brief 8004, CPU Task Address Space Identifier Register */
  1390. unsigned char reserved_8008[248]; /**< \brief 8008, \internal Reserved */
  1391. Ifx_CPU_PMA0 PMA0; /**< \brief 8100, Data Access CacheabilityRegister */
  1392. Ifx_CPU_PMA1 PMA1; /**< \brief 8104, Code Access CacheabilityRegister */
  1393. Ifx_CPU_PMA2 PMA2; /**< \brief 8108, Peripheral Space Identifier register */
  1394. unsigned char reserved_810C[3828]; /**< \brief 810C, \internal Reserved */
  1395. Ifx_CPU_DCON2 DCON2; /**< \brief 9000, Data Control Register 2 */
  1396. unsigned char reserved_9004[8]; /**< \brief 9004, \internal Reserved */
  1397. Ifx_CPU_SMACON SMACON; /**< \brief 900C, SIST Mode Access Control Register */
  1398. Ifx_CPU_DSTR DSTR; /**< \brief 9010, Data Synchronous Trap Register */
  1399. unsigned char reserved_9014[4]; /**< \brief 9014, \internal Reserved */
  1400. Ifx_CPU_DATR DATR; /**< \brief 9018, Data Asynchronous Trap Register */
  1401. Ifx_CPU_DEADD DEADD; /**< \brief 901C, Data Error Address Register */
  1402. Ifx_CPU_DIEAR DIEAR; /**< \brief 9020, Data Integrity Error Address Register */
  1403. Ifx_CPU_DIETR DIETR; /**< \brief 9024, Data Integrity Error Trap Register */
  1404. unsigned char reserved_9028[24]; /**< \brief 9028, \internal Reserved */
  1405. Ifx_CPU_DCON0 DCON0; /**< \brief 9040, Data Memory Control Register */
  1406. unsigned char reserved_9044[444]; /**< \brief 9044, \internal Reserved */
  1407. Ifx_CPU_PSTR PSTR; /**< \brief 9200, Program Synchronous Trap Register */
  1408. Ifx_CPU_PCON1 PCON1; /**< \brief 9204, Program Control 1 */
  1409. Ifx_CPU_PCON2 PCON2; /**< \brief 9208, Program Control 2 */
  1410. Ifx_CPU_PCON0 PCON0; /**< \brief 920C, Program Control 0 */
  1411. Ifx_CPU_PIEAR PIEAR; /**< \brief 9210, Program Integrity Error Address Register */
  1412. Ifx_CPU_PIETR PIETR; /**< \brief 9214, Program Integrity Error Trap Register */
  1413. unsigned char reserved_9218[488]; /**< \brief 9218, \internal Reserved */
  1414. Ifx_CPU_COMPAT COMPAT; /**< \brief 9400, Compatibility Control Register */
  1415. unsigned char reserved_9404[3068]; /**< \brief 9404, \internal Reserved */
  1416. Ifx_CPU_FPU_TRAP_CON FPU_TRAP_CON; /**< \brief A000, CPU Trap Control Register */
  1417. Ifx_CPU_FPU_TRAP_PC FPU_TRAP_PC; /**< \brief A004, CPU Trapping Instruction Program Counter Register */
  1418. Ifx_CPU_FPU_TRAP_OPC FPU_TRAP_OPC; /**< \brief A008, CPU Trapping Instruction Opcode Register */
  1419. unsigned char reserved_A00C[4]; /**< \brief A00C, \internal Reserved */
  1420. Ifx_CPU_FPU_TRAP_SRC1 FPU_TRAP_SRC1; /**< \brief A010, CPU Trapping Instruction Operand Register */
  1421. Ifx_CPU_FPU_TRAP_SRC2 FPU_TRAP_SRC2; /**< \brief A014, CPU Trapping Instruction Operand Register */
  1422. Ifx_CPU_FPU_TRAP_SRC3 FPU_TRAP_SRC3; /**< \brief A018, Trapping Instruction Operand Register */
  1423. unsigned char reserved_A01C[8164]; /**< \brief A01C, \internal Reserved */
  1424. Ifx_CPU_DPR DPR[16]; /**< \brief C000, Protection range */
  1425. unsigned char reserved_C080[3968]; /**< \brief C080, \internal Reserved */
  1426. Ifx_CPU_CPR CPR[8]; /**< \brief D000, Protection range */
  1427. unsigned char reserved_D040[4032]; /**< \brief D040, \internal Reserved */
  1428. Ifx_CPU_CPXE CPXE[4]; /**< \brief E000, CPU Code Protection Execute Enable Register Set */
  1429. Ifx_CPU_DPRE DPRE[4]; /**< \brief E010, CPU Data Protection Read Enable Register Set */
  1430. Ifx_CPU_DPWE DPWE[4]; /**< \brief E020, CPU Data Protection Write Enable Register Set */
  1431. unsigned char reserved_E030[976]; /**< \brief E030, \internal Reserved */
  1432. Ifx_CPU_TPS TPS; /**< \brief E400, Temporal Protection System */
  1433. unsigned char reserved_E410[3056]; /**< \brief E410, \internal Reserved */
  1434. Ifx_CPU_TR TR[8]; /**< \brief F000, Trigger */
  1435. unsigned char reserved_F040[3008]; /**< \brief F040, \internal Reserved */
  1436. Ifx_CPU_CCTRL CCTRL; /**< \brief FC00, Counter Control */
  1437. Ifx_CPU_CCNT CCNT; /**< \brief FC04, CPU Clock Cycle Count */
  1438. Ifx_CPU_ICNT ICNT; /**< \brief FC08, Instruction Count */
  1439. Ifx_CPU_M1CNT M1CNT; /**< \brief FC0C, Multi-Count Register 1 */
  1440. Ifx_CPU_M2CNT M2CNT; /**< \brief FC10, Multi-Count Register 2 */
  1441. Ifx_CPU_M3CNT M3CNT; /**< \brief FC14, Multi-Count Register 3 */
  1442. unsigned char reserved_FC18[232]; /**< \brief FC18, \internal Reserved */
  1443. Ifx_CPU_DBGSR DBGSR; /**< \brief FD00, Debug Status Register */
  1444. unsigned char reserved_FD04[4]; /**< \brief FD04, \internal Reserved */
  1445. Ifx_CPU_EXEVT EXEVT; /**< \brief FD08, External Event Register */
  1446. Ifx_CPU_CREVT CREVT; /**< \brief FD0C, Core Register Access Event */
  1447. Ifx_CPU_SWEVT SWEVT; /**< \brief FD10, Software Debug Event */
  1448. unsigned char reserved_FD14[28]; /**< \brief FD14, \internal Reserved */
  1449. Ifx_CPU_TRIG_ACC TRIG_ACC; /**< \brief FD30, CPU Trigger Address x */
  1450. unsigned char reserved_FD34[12]; /**< \brief FD34, \internal Reserved */
  1451. Ifx_CPU_DMS DMS; /**< \brief FD40, CPU Debug Monitor Start Address */
  1452. Ifx_CPU_DCX DCX; /**< \brief FD44, CPU Debug Context Save Area Pointer */
  1453. Ifx_CPU_DBGTCR DBGTCR; /**< \brief FD48, Debug Trap Control Register */
  1454. unsigned char reserved_FD4C[180]; /**< \brief FD4C, \internal Reserved */
  1455. Ifx_CPU_PCXI PCXI; /**< \brief FE00, Previous Context Information Register */
  1456. Ifx_CPU_PSW PSW; /**< \brief FE04, Program Status Word */
  1457. Ifx_CPU_PC PC; /**< \brief FE08, Program Counter */
  1458. unsigned char reserved_FE0C[8]; /**< \brief FE0C, \internal Reserved */
  1459. Ifx_CPU_SYSCON SYSCON; /**< \brief FE14, System Configuration Register */
  1460. Ifx_CPU_CPU_ID CPU_ID; /**< \brief FE18, CPU Identification Register TC1.6P */
  1461. Ifx_CPU_CORE_ID CORE_ID; /**< \brief FE1C, CPU Core Identification Register */
  1462. Ifx_CPU_BIV BIV; /**< \brief FE20, Base Interrupt Vector Table Pointer */
  1463. Ifx_CPU_BTV BTV; /**< \brief FE24, Base Trap Vector Table Pointer */
  1464. Ifx_CPU_ISP ISP; /**< \brief FE28, Interrupt Stack Pointer */
  1465. Ifx_CPU_ICR ICR; /**< \brief FE2C, Interrupt Control Register */
  1466. unsigned char reserved_FE30[8]; /**< \brief FE30, \internal Reserved */
  1467. Ifx_CPU_FCX FCX; /**< \brief FE38, Free CSA List Head Pointer */
  1468. Ifx_CPU_LCX LCX; /**< \brief FE3C, Free CSA List Limit Pointer */
  1469. unsigned char reserved_FE40[16]; /**< \brief FE40, \internal Reserved */
  1470. Ifx_CPU_CUS_ID CUS_ID; /**< \brief FE50, CPU Customer ID register */
  1471. unsigned char reserved_FE54[172]; /**< \brief FE54, \internal Reserved */
  1472. Ifx_CPU_D D[16]; /**< \brief FF00, Data General Purpose Register */
  1473. unsigned char reserved_FF40[64]; /**< \brief FF40, \internal Reserved */
  1474. Ifx_CPU_A A[16]; /**< \brief FF80, Address General Purpose Register */
  1475. unsigned char reserved_FFC0[64]; /**< \brief FFC0, \internal Reserved */
  1476. } Ifx_CPU;
  1477. /** \\brief CPU SPROT object */
  1478. typedef volatile struct _Ifx_CPU_SPROT
  1479. {
  1480. unsigned char reserved_0[57344]; /**< \brief 0, \internal Reserved */
  1481. Ifx_CPU_SPROT_RGN RGN[8]; /**< \brief E000, Safety protection region */
  1482. unsigned char reserved_E080[128]; /**< \brief E080, \internal Reserved */
  1483. Ifx_CPU_SPROT_ACCENA ACCENA; /**< \brief E100, CPU Safety Protection Register Access Enable Register A */
  1484. Ifx_CPU_SPROT_ACCENB ACCENB; /**< \brief E104, CPU Safety Protection Region Access Enable Register B */
  1485. unsigned char reserved_E108[7928]; /**< \brief E108, \internal Reserved */
  1486. } Ifx_CPU_SPROT;
  1487. /** \} */
  1488. /******************************************************************************/
  1489. /** \} */
  1490. /******************************************************************************/
  1491. /******************************************************************************/
  1492. #endif /* IFXCPU_REGDEF_H */