IfxFlash_regdef.h 56 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163
  1. /**
  2. * \file IfxFlash_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_Flash Flash
  24. * \ingroup IfxLld
  25. *
  26. * \defgroup IfxLld_Flash_Bitfields Bitfields
  27. * \ingroup IfxLld_Flash
  28. *
  29. * \defgroup IfxLld_Flash_union Union
  30. * \ingroup IfxLld_Flash
  31. *
  32. * \defgroup IfxLld_Flash_struct Struct
  33. * \ingroup IfxLld_Flash
  34. *
  35. */
  36. #ifndef IFXFLASH_REGDEF_H
  37. #define IFXFLASH_REGDEF_H 1
  38. /******************************************************************************/
  39. #include "Ifx_TypesReg.h"
  40. /******************************************************************************/
  41. /** \addtogroup IfxLld_Flash_Bitfields
  42. * \{ */
  43. /** \\brief Access Enable Register 0 */
  44. typedef struct _Ifx_FLASH_ACCEN0_Bits
  45. {
  46. unsigned int EN0:1; /**< \brief [0:0] Access Enable for Master TAG ID 0 (rw) */
  47. unsigned int EN1:1; /**< \brief [1:1] Access Enable for Master TAG ID 1 (rw) */
  48. unsigned int EN2:1; /**< \brief [2:2] Access Enable for Master TAG ID 2 (rw) */
  49. unsigned int EN3:1; /**< \brief [3:3] Access Enable for Master TAG ID 3 (rw) */
  50. unsigned int EN4:1; /**< \brief [4:4] Access Enable for Master TAG ID 4 (rw) */
  51. unsigned int EN5:1; /**< \brief [5:5] Access Enable for Master TAG ID 5 (rw) */
  52. unsigned int EN6:1; /**< \brief [6:6] Access Enable for Master TAG ID 6 (rw) */
  53. unsigned int EN7:1; /**< \brief [7:7] Access Enable for Master TAG ID 7 (rw) */
  54. unsigned int EN8:1; /**< \brief [8:8] Access Enable for Master TAG ID 8 (rw) */
  55. unsigned int EN9:1; /**< \brief [9:9] Access Enable for Master TAG ID 9 (rw) */
  56. unsigned int EN10:1; /**< \brief [10:10] Access Enable for Master TAG ID 10 (rw) */
  57. unsigned int EN11:1; /**< \brief [11:11] Access Enable for Master TAG ID 11 (rw) */
  58. unsigned int EN12:1; /**< \brief [12:12] Access Enable for Master TAG ID 12 (rw) */
  59. unsigned int EN13:1; /**< \brief [13:13] Access Enable for Master TAG ID 13 (rw) */
  60. unsigned int EN14:1; /**< \brief [14:14] Access Enable for Master TAG ID 14 (rw) */
  61. unsigned int EN15:1; /**< \brief [15:15] Access Enable for Master TAG ID 15 (rw) */
  62. unsigned int EN16:1; /**< \brief [16:16] Access Enable for Master TAG ID 16 (rw) */
  63. unsigned int EN17:1; /**< \brief [17:17] Access Enable for Master TAG ID 17 (rw) */
  64. unsigned int EN18:1; /**< \brief [18:18] Access Enable for Master TAG ID 18 (rw) */
  65. unsigned int EN19:1; /**< \brief [19:19] Access Enable for Master TAG ID 19 (rw) */
  66. unsigned int EN20:1; /**< \brief [20:20] Access Enable for Master TAG ID 20 (rw) */
  67. unsigned int EN21:1; /**< \brief [21:21] Access Enable for Master TAG ID 21 (rw) */
  68. unsigned int EN22:1; /**< \brief [22:22] Access Enable for Master TAG ID 22 (rw) */
  69. unsigned int EN23:1; /**< \brief [23:23] Access Enable for Master TAG ID 23 (rw) */
  70. unsigned int EN24:1; /**< \brief [24:24] Access Enable for Master TAG ID 24 (rw) */
  71. unsigned int EN25:1; /**< \brief [25:25] Access Enable for Master TAG ID 25 (rw) */
  72. unsigned int EN26:1; /**< \brief [26:26] Access Enable for Master TAG ID 26 (rw) */
  73. unsigned int EN27:1; /**< \brief [27:27] Access Enable for Master TAG ID 27 (rw) */
  74. unsigned int EN28:1; /**< \brief [28:28] Access Enable for Master TAG ID 28 (rw) */
  75. unsigned int EN29:1; /**< \brief [29:29] Access Enable for Master TAG ID 29 (rw) */
  76. unsigned int EN30:1; /**< \brief [30:30] Access Enable for Master TAG ID 30 (rw) */
  77. unsigned int EN31:1; /**< \brief [31:31] Access Enable for Master TAG ID 31 (rw) */
  78. } Ifx_FLASH_ACCEN0_Bits;
  79. /** \\brief Access Enable Register 1 */
  80. typedef struct _Ifx_FLASH_ACCEN1_Bits
  81. {
  82. unsigned int reserved_0:32; /**< \brief \internal Reserved */
  83. } Ifx_FLASH_ACCEN1_Bits;
  84. /** \\brief CBAB Configuration */
  85. typedef struct _Ifx_FLASH_CBAB_CFG_Bits
  86. {
  87. unsigned int SEL:6; /**< \brief [5:0] Select Bit-Errors (rw) */
  88. unsigned int reserved_6:2; /**< \brief \internal Reserved */
  89. unsigned int CLR:1; /**< \brief [8:8] Clear (w) */
  90. unsigned int DIS:1; /**< \brief [9:9] Disable (rw) */
  91. unsigned int reserved_10:22; /**< \brief \internal Reserved */
  92. } Ifx_FLASH_CBAB_CFG_Bits;
  93. /** \\brief CBAB Status */
  94. typedef struct _Ifx_FLASH_CBAB_STAT_Bits
  95. {
  96. unsigned int VLD0:1; /**< \brief [0:0] Filling Level (rh) */
  97. unsigned int VLD1:1; /**< \brief [1:1] Filling Level (rh) */
  98. unsigned int VLD2:1; /**< \brief [2:2] Filling Level (rh) */
  99. unsigned int VLD3:1; /**< \brief [3:3] Filling Level (rh) */
  100. unsigned int VLD4:1; /**< \brief [4:4] Filling Level (rh) */
  101. unsigned int VLD5:1; /**< \brief [5:5] Filling Level (rh) */
  102. unsigned int VLD6:1; /**< \brief [6:6] Filling Level (rh) */
  103. unsigned int VLD7:1; /**< \brief [7:7] Filling Level (rh) */
  104. unsigned int VLD8:1; /**< \brief [8:8] Filling Level (rh) */
  105. unsigned int VLD9:1; /**< \brief [9:9] Filling Level (rh) */
  106. unsigned int reserved_10:22; /**< \brief \internal Reserved */
  107. } Ifx_FLASH_CBAB_STAT_Bits;
  108. /** \\brief CBAB FIFO TOP Entry */
  109. typedef struct _Ifx_FLASH_CBAB_TOP_Bits
  110. {
  111. unsigned int reserved_0:5; /**< \brief \internal Reserved */
  112. unsigned int ADDR:19; /**< \brief [23:5] Address (rh) */
  113. unsigned int ERR:6; /**< \brief [29:24] Error Type (rh) */
  114. unsigned int VLD:1; /**< \brief [30:30] Valid (rh) */
  115. unsigned int CLR:1; /**< \brief [31:31] Clear (w) */
  116. } Ifx_FLASH_CBAB_TOP_Bits;
  117. /** \\brief FSI Communication Register 0 */
  118. typedef struct _Ifx_FLASH_COMM0_Bits
  119. {
  120. unsigned int STATUS:8; /**< \brief [7:0] Status (rh) */
  121. unsigned int reserved_8:24; /**< \brief \internal Reserved */
  122. } Ifx_FLASH_COMM0_Bits;
  123. /** \\brief FSI Communication Register 1 */
  124. typedef struct _Ifx_FLASH_COMM1_Bits
  125. {
  126. unsigned int STATUS:8; /**< \brief [7:0] Status (rh) */
  127. unsigned int DATA:8; /**< \brief [15:8] Data (rwh) */
  128. unsigned int reserved_16:16; /**< \brief \internal Reserved */
  129. } Ifx_FLASH_COMM1_Bits;
  130. /** \\brief FSI Communication Register 2 */
  131. typedef struct _Ifx_FLASH_COMM2_Bits
  132. {
  133. unsigned int STATUS:8; /**< \brief [7:0] Status (rh) */
  134. unsigned int DATA:8; /**< \brief [15:8] Data (rwh) */
  135. unsigned int reserved_16:16; /**< \brief \internal Reserved */
  136. } Ifx_FLASH_COMM2_Bits;
  137. /** \\brief ECC Read Register DF */
  138. typedef struct _Ifx_FLASH_ECCRD_Bits
  139. {
  140. unsigned int RCODE:22; /**< \brief [21:0] Error Correction Read Code (rh) */
  141. unsigned int reserved_22:8; /**< \brief \internal Reserved */
  142. unsigned int EDCERRINJ:1; /**< \brief [30:30] EDC Error Injection (rw) */
  143. unsigned int ECCORDIS:1; /**< \brief [31:31] ECC Correction Disable (rw) */
  144. } Ifx_FLASH_ECCRD_Bits;
  145. /** \\brief ECC Read Register */
  146. typedef struct _Ifx_FLASH_ECCRP_Bits
  147. {
  148. unsigned int RCODE:22; /**< \brief [21:0] Error Correction Read Code (rh) */
  149. unsigned int reserved_22:8; /**< \brief \internal Reserved */
  150. unsigned int EDCERRINJ:1; /**< \brief [30:30] EDC Error Injection (rw) */
  151. unsigned int ECCORDIS:1; /**< \brief [31:31] ECC Correction Disable (rw) */
  152. } Ifx_FLASH_ECCRP_Bits;
  153. /** \\brief ECC Write Register */
  154. typedef struct _Ifx_FLASH_ECCW_Bits
  155. {
  156. unsigned int WCODE:22; /**< \brief [21:0] Error Correction Write Code (rw) */
  157. unsigned int reserved_22:8; /**< \brief \internal Reserved */
  158. unsigned int DECENCDIS:1; /**< \brief [30:30] DF_EEPROM ECC Encoding Disable (rw) */
  159. unsigned int PECENCDIS:1; /**< \brief [31:31] PFlash ECC Encoding Disable (rw) */
  160. } Ifx_FLASH_ECCW_Bits;
  161. /** \\brief Flash Configuration Register */
  162. typedef struct _Ifx_FLASH_FCON_Bits
  163. {
  164. unsigned int WSPFLASH:4; /**< \brief [3:0] Wait States for read access to PFlash (rw) */
  165. unsigned int WSECPF:2; /**< \brief [5:4] Wait States for Error Correction of PFlash (rw) */
  166. unsigned int WSDFLASH:6; /**< \brief [11:6] Wait States for read access to DFlash (rw) */
  167. unsigned int WSECDF:3; /**< \brief [14:12] Wait State for Error Correction of DFlash (rw) */
  168. unsigned int IDLE:1; /**< \brief [15:15] Dynamic Flash Idle (rw) */
  169. unsigned int ESLDIS:1; /**< \brief [16:16] External Sleep Request Disable (rw) */
  170. unsigned int SLEEP:1; /**< \brief [17:17] Flash SLEEP (rw) */
  171. unsigned int NSAFECC:1; /**< \brief [18:18] Non-Safety PFlash ECC (rw) */
  172. unsigned int STALL:1; /**< \brief [19:19] Stall SRI (rw) */
  173. unsigned int RES21:2; /**< \brief [21:20] Reserved (rh) */
  174. unsigned int RES23:2; /**< \brief [23:22] Reserved (rh) */
  175. unsigned int VOPERM:1; /**< \brief [24:24] Verify and Operation Error Interrupt Mask (rw) */
  176. unsigned int SQERM:1; /**< \brief [25:25] Command Sequence Error Interrupt Mask (rw) */
  177. unsigned int PROERM:1; /**< \brief [26:26] Protection Error Interrupt Mask (rw) */
  178. unsigned int reserved_27:3; /**< \brief \internal Reserved */
  179. unsigned int PR5V:1; /**< \brief [30:30] Programming Supply 5V (rw) */
  180. unsigned int EOBM:1; /**< \brief [31:31] End of Busy Interrupt Mask (rw) */
  181. } Ifx_FLASH_FCON_Bits;
  182. /** \\brief Flash Protection Control and Status Register */
  183. typedef struct _Ifx_FLASH_FPRO_Bits
  184. {
  185. unsigned int PROINP:1; /**< \brief [0:0] PFlash Protection (rh) */
  186. unsigned int PRODISP:1; /**< \brief [1:1] PFlash Protection Disabled (rh) */
  187. unsigned int PROIND:1; /**< \brief [2:2] DFlash Protection (rh) */
  188. unsigned int PRODISD:1; /**< \brief [3:3] DFlash Protection Disabled (rh) */
  189. unsigned int PROINHSMCOTP:1; /**< \brief [4:4] HSM OTP Protection (rh) */
  190. unsigned int RES5:1; /**< \brief [5:5] Reserved (rh) */
  191. unsigned int PROINOTP:1; /**< \brief [6:6] OTP and Write-Once Protection (rh) */
  192. unsigned int RES7:1; /**< \brief [7:7] Reserved (rh) */
  193. unsigned int PROINDBG:1; /**< \brief [8:8] Debug Interface Password Protection (rh) */
  194. unsigned int PRODISDBG:1; /**< \brief [9:9] Debug Interface Password Protection Disabled (rh) */
  195. unsigned int PROINHSM:1; /**< \brief [10:10] HSM Configuration (rh) */
  196. unsigned int reserved_11:5; /**< \brief \internal Reserved */
  197. unsigned int DCFP:1; /**< \brief [16:16] Disable Code Fetch from PFlash Memory for CPU0 PMI (rwh) */
  198. unsigned int DDFP:1; /**< \brief [17:17] Disable Read from PFlash for CPU0 DMI (rwh) */
  199. unsigned int DDFPX:1; /**< \brief [18:18] Disable Read from PFlash for Other Masters (rwh) */
  200. unsigned int reserved_19:1; /**< \brief \internal Reserved */
  201. unsigned int DDFD:1; /**< \brief [20:20] Disable Data Fetch from DFlash Memory (rwh) */
  202. unsigned int reserved_21:1; /**< \brief \internal Reserved */
  203. unsigned int ENPE:2; /**< \brief [23:22] Enable Program/Erase (rw) */
  204. unsigned int reserved_24:8; /**< \brief \internal Reserved */
  205. } Ifx_FLASH_FPRO_Bits;
  206. /** \\brief Flash Status Register */
  207. typedef struct _Ifx_FLASH_FSR_Bits
  208. {
  209. unsigned int FABUSY:1; /**< \brief [0:0] Flash Array Busy (rh) */
  210. unsigned int D0BUSY:1; /**< \brief [1:1] Data Flash Bank 0 Busy (rh) */
  211. unsigned int RES1:1; /**< \brief [2:2] Reserved for Data Flash Bank 1 Busy (rh) */
  212. unsigned int P0BUSY:1; /**< \brief [3:3] Program Flash PF0 Busy (rh) */
  213. unsigned int RES4:1; /**< \brief [4:4] Reserved for Program Flash PF1 Busy (rh) */
  214. unsigned int RES5:1; /**< \brief [5:5] Reserved for Program Flash PF2 Busy (rh) */
  215. unsigned int RES6:1; /**< \brief [6:6] Reserved for Program Flash PF3 Busy (rh) */
  216. unsigned int PROG:1; /**< \brief [7:7] Programming State (rwh) */
  217. unsigned int ERASE:1; /**< \brief [8:8] Erase State (rwh) */
  218. unsigned int PFPAGE:1; /**< \brief [9:9] Program Flash in Page Mode (rh) */
  219. unsigned int DFPAGE:1; /**< \brief [10:10] Data Flash in Page Mode (rh) */
  220. unsigned int OPER:1; /**< \brief [11:11] Flash Operation Error (rwh) */
  221. unsigned int SQER:1; /**< \brief [12:12] Command Sequence Error (rwh) */
  222. unsigned int PROER:1; /**< \brief [13:13] Protection Error (rwh) */
  223. unsigned int PFSBER:1; /**< \brief [14:14] PFlash Single-Bit Error and Correction (rwh) */
  224. unsigned int PFDBER:1; /**< \brief [15:15] PFlash Double-Bit Error (rwh) */
  225. unsigned int PFMBER:1; /**< \brief [16:16] PFlash Uncorrectable Error (rwh) */
  226. unsigned int RES17:1; /**< \brief [17:17] Reserved (rwh) */
  227. unsigned int DFSBER:1; /**< \brief [18:18] DFlash Single-Bit Error (rwh) */
  228. unsigned int DFDBER:1; /**< \brief [19:19] DFlash Double-Bit Error (rwh) */
  229. unsigned int DFTBER:1; /**< \brief [20:20] DFlash Triple-Bit Error (rwh) */
  230. unsigned int DFMBER:1; /**< \brief [21:21] DFlash Uncorrectable Error (rwh) */
  231. unsigned int SRIADDERR:1; /**< \brief [22:22] SRI Bus Address ECC Error (rwh) */
  232. unsigned int reserved_23:2; /**< \brief \internal Reserved */
  233. unsigned int PVER:1; /**< \brief [25:25] Program Verify Error (rwh) */
  234. unsigned int EVER:1; /**< \brief [26:26] Erase Verify Error (rwh) */
  235. unsigned int SPND:1; /**< \brief [27:27] Operation Suspended (rwh) */
  236. unsigned int SLM:1; /**< \brief [28:28] Flash Sleep Mode (rh) */
  237. unsigned int reserved_29:1; /**< \brief \internal Reserved */
  238. unsigned int ORIER:1; /**< \brief [30:30] Original Error (rh) */
  239. unsigned int reserved_31:1; /**< \brief \internal Reserved */
  240. } Ifx_FLASH_FSR_Bits;
  241. /** \\brief HSM Flash Configuration Register */
  242. typedef struct _Ifx_FLASH_HSMFCON_Bits
  243. {
  244. unsigned int LCKHSMUCB:2; /**< \brief [1:0] Lock Access to UCB_HSMCFG (rwh) */
  245. unsigned int reserved_2:22; /**< \brief \internal Reserved */
  246. unsigned int VOPERM:1; /**< \brief [24:24] Verify and Operation Error Interrupt Mask (rw) */
  247. unsigned int SQERM:1; /**< \brief [25:25] Command Sequence Error Interrupt Mask (rw) */
  248. unsigned int reserved_26:5; /**< \brief \internal Reserved */
  249. unsigned int EOBM:1; /**< \brief [31:31] End of Busy Interrupt Mask (rw) */
  250. } Ifx_FLASH_HSMFCON_Bits;
  251. /** \\brief Flash Status Register */
  252. typedef struct _Ifx_FLASH_HSMFSR_Bits
  253. {
  254. unsigned int reserved_0:2; /**< \brief \internal Reserved */
  255. unsigned int D1BUSY:1; /**< \brief [2:2] Data Flash Bank 1 Busy (rh) */
  256. unsigned int reserved_3:4; /**< \brief \internal Reserved */
  257. unsigned int PROG:1; /**< \brief [7:7] Programming State (rwh) */
  258. unsigned int ERASE:1; /**< \brief [8:8] Erase State (rwh) */
  259. unsigned int reserved_9:1; /**< \brief \internal Reserved */
  260. unsigned int DFPAGE:1; /**< \brief [10:10] Data Flash in Page Mode (rh) */
  261. unsigned int OPER:1; /**< \brief [11:11] Flash Operation Error (rwh) */
  262. unsigned int SQER:1; /**< \brief [12:12] Command Sequence Error (rwh) */
  263. unsigned int reserved_13:12; /**< \brief \internal Reserved */
  264. unsigned int PVER:1; /**< \brief [25:25] Program Verify Error (rwh) */
  265. unsigned int EVER:1; /**< \brief [26:26] Erase Verify Error (rwh) */
  266. unsigned int SPND:1; /**< \brief [27:27] Operation Suspended (rwh) */
  267. unsigned int reserved_28:4; /**< \brief \internal Reserved */
  268. } Ifx_FLASH_HSMFSR_Bits;
  269. /** \\brief Margin Control Register HSM DFlash */
  270. typedef struct _Ifx_FLASH_HSMMARD_Bits
  271. {
  272. unsigned int reserved_0:1; /**< \brief \internal Reserved */
  273. unsigned int SELD1:1; /**< \brief [1:1] HSM DFLASH Bank Selection (rw) */
  274. unsigned int reserved_2:1; /**< \brief \internal Reserved */
  275. unsigned int SPND:1; /**< \brief [3:3] Suspend (rwh) */
  276. unsigned int SPNDERR:1; /**< \brief [4:4] Suspend Error (rwh) */
  277. unsigned int reserved_5:27; /**< \brief \internal Reserved */
  278. } Ifx_FLASH_HSMMARD_Bits;
  279. /** \\brief HSM Requested Read Address Register */
  280. typedef struct _Ifx_FLASH_HSMRRAD_Bits
  281. {
  282. unsigned int reserved_0:3; /**< \brief \internal Reserved */
  283. unsigned int ADD:29; /**< \brief [31:3] Address (rwh) */
  284. } Ifx_FLASH_HSMRRAD_Bits;
  285. /** \\brief Requested Read Control Register HSM */
  286. typedef struct _Ifx_FLASH_HSMRRCT_Bits
  287. {
  288. unsigned int STRT:1; /**< \brief [0:0] Start Request (rwh) */
  289. unsigned int STP:1; /**< \brief [1:1] Stop (w) */
  290. unsigned int BUSY:1; /**< \brief [2:2] Flash Read Busy (rh) */
  291. unsigned int DONE:1; /**< \brief [3:3] Flash Read Done (rh) */
  292. unsigned int ERR:1; /**< \brief [4:4] Error (rh) */
  293. unsigned int reserved_5:3; /**< \brief \internal Reserved */
  294. unsigned int EOBM:1; /**< \brief [8:8] End of Busy Interrupt Mask (rw) */
  295. unsigned int reserved_9:7; /**< \brief \internal Reserved */
  296. unsigned int CNT:16; /**< \brief [31:16] Count (rwh) */
  297. } Ifx_FLASH_HSMRRCT_Bits;
  298. /** \\brief HSM Requested Read Data Register 0 */
  299. typedef struct _Ifx_FLASH_HSMRRD0_Bits
  300. {
  301. unsigned int DATA:32; /**< \brief [31:0] Read Data (rh) */
  302. } Ifx_FLASH_HSMRRD0_Bits;
  303. /** \\brief HSM Requested Read Data Register 1 */
  304. typedef struct _Ifx_FLASH_HSMRRD1_Bits
  305. {
  306. unsigned int DATA:32; /**< \brief [31:0] Read Data (rh) */
  307. } Ifx_FLASH_HSMRRD1_Bits;
  308. /** \\brief Flash Module Identification Register */
  309. typedef struct _Ifx_FLASH_ID_Bits
  310. {
  311. unsigned int MODREV:8; /**< \brief [7:0] Module Revision Number (r) */
  312. unsigned int MODTYPE:8; /**< \brief [15:8] Module Type (r) */
  313. unsigned int MODNUMBER:16; /**< \brief [31:16] Module Number Value (r) */
  314. } Ifx_FLASH_ID_Bits;
  315. /** \\brief Margin Control Register DFlash */
  316. typedef struct _Ifx_FLASH_MARD_Bits
  317. {
  318. unsigned int HMARGIN:1; /**< \brief [0:0] Hard Margin Selection (rw) */
  319. unsigned int SELD0:1; /**< \brief [1:1] DFLASH Bank Selection (rw) */
  320. unsigned int reserved_2:1; /**< \brief \internal Reserved */
  321. unsigned int SPND:1; /**< \brief [3:3] Suspend (rwh) */
  322. unsigned int SPNDERR:1; /**< \brief [4:4] Suspend Error (rwh) */
  323. unsigned int reserved_5:10; /**< \brief \internal Reserved */
  324. unsigned int TRAPDIS:1; /**< \brief [15:15] DFLASH Uncorrectable Bit Error Trap Disable (rw) */
  325. unsigned int reserved_16:16; /**< \brief \internal Reserved */
  326. } Ifx_FLASH_MARD_Bits;
  327. /** \\brief Margin Control Register PFlash */
  328. typedef struct _Ifx_FLASH_MARP_Bits
  329. {
  330. unsigned int SELP0:1; /**< \brief [0:0] PFLASH Bank PF0 Selection (rw) */
  331. unsigned int RES1:1; /**< \brief [1:1] Reserved (rw) */
  332. unsigned int RES2:1; /**< \brief [2:2] Reserved (rw) */
  333. unsigned int RES3:1; /**< \brief [3:3] Reserved (rw) */
  334. unsigned int reserved_4:11; /**< \brief \internal Reserved */
  335. unsigned int TRAPDIS:1; /**< \brief [15:15] PFLASH Uncorrectable Bit Error Trap Disable (rw) */
  336. unsigned int reserved_16:16; /**< \brief \internal Reserved */
  337. } Ifx_FLASH_MARP_Bits;
  338. /** \\brief DFlash Protection Configuration */
  339. typedef struct _Ifx_FLASH_PROCOND_Bits
  340. {
  341. unsigned int L:1; /**< \brief [0:0] DF_EEPROM Locked for Write Protection (rh) */
  342. unsigned int NSAFECC:1; /**< \brief [1:1] Non-Safety PFlash ECC (rh) */
  343. unsigned int RAMIN:2; /**< \brief [3:2] RAM Initialization by SSW Control (rh) */
  344. unsigned int RAMINSEL:4; /**< \brief [7:4] RAM Initialization Selection (rh) */
  345. unsigned int RES8:1; /**< \brief [8:8] Reserved (rh) */
  346. unsigned int RES9:1; /**< \brief [9:9] Reserved (rh) */
  347. unsigned int RES10:1; /**< \brief [10:10] Reserved (rh) */
  348. unsigned int RES11:1; /**< \brief [11:11] Reserved (rh) */
  349. unsigned int RES12:1; /**< \brief [12:12] Reserved (rh) */
  350. unsigned int RES13:1; /**< \brief [13:13] Reserved (rh) */
  351. unsigned int RES14:1; /**< \brief [14:14] Reserved (rh) */
  352. unsigned int RES15:1; /**< \brief [15:15] Reserved (rh) */
  353. unsigned int ESR0CNT:12; /**< \brief [27:16] ESR0 Prolongation Counter (rh) */
  354. unsigned int RES29:2; /**< \brief [29:28] Reserved (rh) */
  355. unsigned int RES30:1; /**< \brief [30:30] Reserved (rh) */
  356. unsigned int RPRO:1; /**< \brief [31:31] Read Protection Configuration (rh) */
  357. } Ifx_FLASH_PROCOND_Bits;
  358. /** \\brief Debug Interface Protection Configuration */
  359. typedef struct _Ifx_FLASH_PROCONDBG_Bits
  360. {
  361. unsigned int OCDSDIS:1; /**< \brief [0:0] OCDS Disabled (rh) */
  362. unsigned int DBGIFLCK:1; /**< \brief [1:1] Debug Interface Locked (rh) */
  363. unsigned int EDM:2; /**< \brief [3:2] Entered Debug Mode (rh) */
  364. unsigned int reserved_4:28; /**< \brief \internal Reserved */
  365. } Ifx_FLASH_PROCONDBG_Bits;
  366. /** \\brief HSM Interface Configuration */
  367. typedef struct _Ifx_FLASH_PROCONHSM_Bits
  368. {
  369. unsigned int HSMDBGDIS:1; /**< \brief [0:0] HSM Debug Disable (rh) */
  370. unsigned int DBGIFLCK:1; /**< \brief [1:1] Debug Interface Locked (rh) */
  371. unsigned int TSTIFLCK:1; /**< \brief [2:2] Test Interface Locked (rh) */
  372. unsigned int HSMTSTDIS:1; /**< \brief [3:3] HSM Test Disable (rh) */
  373. unsigned int RES15:12; /**< \brief [15:4] Reserved (rh) */
  374. unsigned int reserved_16:16; /**< \brief \internal Reserved */
  375. } Ifx_FLASH_PROCONHSM_Bits;
  376. /** \\brief HSM Code Flash OTP Protection Configuration */
  377. typedef struct _Ifx_FLASH_PROCONHSMCOTP_Bits
  378. {
  379. unsigned int HSMBOOTEN:1; /**< \brief [0:0] HSM Boot Enable (rh) */
  380. unsigned int SSWWAIT:1; /**< \brief [1:1] SSW Wait (rh) */
  381. unsigned int HSMDX:1; /**< \brief [2:2] HSM Data Sectors Exclusive (rh) */
  382. unsigned int HSM6X:1; /**< \brief [3:3] HSM Code Sector 6 Exclusive (rh) */
  383. unsigned int HSM16X:1; /**< \brief [4:4] HSM Code Sector 16 Exclusive (rh) */
  384. unsigned int HSM17X:1; /**< \brief [5:5] HSM Code Sector 17 Exclusive (rh) */
  385. unsigned int S6ROM:1; /**< \brief [6:6] HSM Code Sector 6 Locked Forever (rh) */
  386. unsigned int HSMENPINS:2; /**< \brief [8:7] Enable HSM Forcing of Pins HSM1/2 (rh) */
  387. unsigned int HSMENRES:2; /**< \brief [10:9] Enable HSM Triggering Resets (rh) */
  388. unsigned int DESTDBG:2; /**< \brief [12:11] Destructive Debug Entry (rh) */
  389. unsigned int BLKFLAN:1; /**< \brief [13:13] Block Flash Analysis (rh) */
  390. unsigned int BOOTSEL:2; /**< \brief [15:14] Boot Sector Selection (rh) */
  391. unsigned int S16ROM:1; /**< \brief [16:16] HSM Code Sector 16 Locked Forever (rh) */
  392. unsigned int S17ROM:1; /**< \brief [17:17] HSM Code Sector 17 Locked Forever (rh) */
  393. unsigned int reserved_18:14; /**< \brief \internal Reserved */
  394. } Ifx_FLASH_PROCONHSMCOTP_Bits;
  395. /** \\brief OTP Protection Configuration */
  396. typedef struct _Ifx_FLASH_PROCONOTP_Bits
  397. {
  398. unsigned int S0ROM:1; /**< \brief [0:0] PFlash p Sector 0 Locked Forever (rh) */
  399. unsigned int S1ROM:1; /**< \brief [1:1] PFlash p Sector 1 Locked Forever (rh) */
  400. unsigned int S2ROM:1; /**< \brief [2:2] PFlash p Sector 2 Locked Forever (rh) */
  401. unsigned int S3ROM:1; /**< \brief [3:3] PFlash p Sector 3 Locked Forever (rh) */
  402. unsigned int S4ROM:1; /**< \brief [4:4] PFlash p Sector 4 Locked Forever (rh) */
  403. unsigned int S5ROM:1; /**< \brief [5:5] PFlash p Sector 5 Locked Forever (rh) */
  404. unsigned int S6ROM:1; /**< \brief [6:6] PFlash p Sector 6 Locked Forever (rh) */
  405. unsigned int S7ROM:1; /**< \brief [7:7] PFlash p Sector 7 Locked Forever (rh) */
  406. unsigned int S8ROM:1; /**< \brief [8:8] PFlash p Sector 8 Locked Forever (rh) */
  407. unsigned int S9ROM:1; /**< \brief [9:9] PFlash p Sector 9 Locked Forever (rh) */
  408. unsigned int S10ROM:1; /**< \brief [10:10] PFlash p Sector 10 Locked Forever (rh) */
  409. unsigned int S11ROM:1; /**< \brief [11:11] PFlash p Sector 11 Locked Forever (rh) */
  410. unsigned int S12ROM:1; /**< \brief [12:12] PFlash p Sector 12 Locked Forever (rh) */
  411. unsigned int S13ROM:1; /**< \brief [13:13] PFlash p Sector 13 Locked Forever (rh) */
  412. unsigned int S14ROM:1; /**< \brief [14:14] PFlash p Sector 14 Locked Forever (rh) */
  413. unsigned int S15ROM:1; /**< \brief [15:15] PFlash p Sector 15 Locked Forever (rh) */
  414. unsigned int S16ROM:1; /**< \brief [16:16] PFlash p Sector 16 Locked Forever (rh) */
  415. unsigned int S17ROM:1; /**< \brief [17:17] PFlash p Sector 17 Locked Forever (rh) */
  416. unsigned int S18ROM:1; /**< \brief [18:18] PFlash p Sector 18 Locked Forever (rh) */
  417. unsigned int S19ROM:1; /**< \brief [19:19] PFlash p Sector 19 Locked Forever (rh) */
  418. unsigned int S20ROM:1; /**< \brief [20:20] PFlash p Sector 20 Locked Forever (rh) */
  419. unsigned int S21ROM:1; /**< \brief [21:21] PFlash p Sector 21 Locked Forever (rh) */
  420. unsigned int S22ROM:1; /**< \brief [22:22] PFlash p Sector 22 Locked Forever (rh) */
  421. unsigned int S23ROM:1; /**< \brief [23:23] PFlash p Sector 23 Locked Forever (rh) */
  422. unsigned int S24ROM:1; /**< \brief [24:24] PFlash p Sector 24 Locked Forever (rh) */
  423. unsigned int S25ROM:1; /**< \brief [25:25] PFlash p Sector 25 Locked Forever (rh) */
  424. unsigned int S26ROM:1; /**< \brief [26:26] PFlash p Sector 26 Locked Forever (rh) */
  425. unsigned int reserved_27:2; /**< \brief \internal Reserved */
  426. unsigned int BML:2; /**< \brief [30:29] Boot Mode Lock (rh) */
  427. unsigned int TP:1; /**< \brief [31:31] Tuning Protection (rh) */
  428. } Ifx_FLASH_PROCONOTP_Bits;
  429. /** \\brief PFlash Protection Configuration */
  430. typedef struct _Ifx_FLASH_PROCONP_Bits
  431. {
  432. unsigned int S0L:1; /**< \brief [0:0] PFlash p Sector 0 Locked for Write Protection (rh) */
  433. unsigned int S1L:1; /**< \brief [1:1] PFlash p Sector 1 Locked for Write Protection (rh) */
  434. unsigned int S2L:1; /**< \brief [2:2] PFlash p Sector 2 Locked for Write Protection (rh) */
  435. unsigned int S3L:1; /**< \brief [3:3] PFlash p Sector 3 Locked for Write Protection (rh) */
  436. unsigned int S4L:1; /**< \brief [4:4] PFlash p Sector 4 Locked for Write Protection (rh) */
  437. unsigned int S5L:1; /**< \brief [5:5] PFlash p Sector 5 Locked for Write Protection (rh) */
  438. unsigned int S6L:1; /**< \brief [6:6] PFlash p Sector 6 Locked for Write Protection (rh) */
  439. unsigned int S7L:1; /**< \brief [7:7] PFlash p Sector 7 Locked for Write Protection (rh) */
  440. unsigned int S8L:1; /**< \brief [8:8] PFlash p Sector 8 Locked for Write Protection (rh) */
  441. unsigned int S9L:1; /**< \brief [9:9] PFlash p Sector 9 Locked for Write Protection (rh) */
  442. unsigned int S10L:1; /**< \brief [10:10] PFlash p Sector 10 Locked for Write Protection (rh) */
  443. unsigned int S11L:1; /**< \brief [11:11] PFlash p Sector 11 Locked for Write Protection (rh) */
  444. unsigned int S12L:1; /**< \brief [12:12] PFlash p Sector 12 Locked for Write Protection (rh) */
  445. unsigned int S13L:1; /**< \brief [13:13] PFlash p Sector 13 Locked for Write Protection (rh) */
  446. unsigned int S14L:1; /**< \brief [14:14] PFlash p Sector 14 Locked for Write Protection (rh) */
  447. unsigned int S15L:1; /**< \brief [15:15] PFlash p Sector 15 Locked for Write Protection (rh) */
  448. unsigned int S16L:1; /**< \brief [16:16] PFlash p Sector 16 Locked for Write Protection (rh) */
  449. unsigned int S17L:1; /**< \brief [17:17] PFlash p Sector 17 Locked for Write Protection (rh) */
  450. unsigned int S18L:1; /**< \brief [18:18] PFlash p Sector 18 Locked for Write Protection (rh) */
  451. unsigned int S19L:1; /**< \brief [19:19] PFlash p Sector 19 Locked for Write Protection (rh) */
  452. unsigned int S20L:1; /**< \brief [20:20] PFlash p Sector 20 Locked for Write Protection (rh) */
  453. unsigned int S21L:1; /**< \brief [21:21] PFlash p Sector 21 Locked for Write Protection (rh) */
  454. unsigned int S22L:1; /**< \brief [22:22] PFlash p Sector 22 Locked for Write Protection (rh) */
  455. unsigned int S23L:1; /**< \brief [23:23] PFlash p Sector 23 Locked for Write Protection (rh) */
  456. unsigned int S24L:1; /**< \brief [24:24] PFlash p Sector 24 Locked for Write Protection (rh) */
  457. unsigned int S25L:1; /**< \brief [25:25] PFlash p Sector 25 Locked for Write Protection (rh) */
  458. unsigned int S26L:1; /**< \brief [26:26] PFlash p Sector 26 Locked for Write Protection (rh) */
  459. unsigned int reserved_27:4; /**< \brief \internal Reserved */
  460. unsigned int RPRO:1; /**< \brief [31:31] Read Protection Configuration (rh) */
  461. } Ifx_FLASH_PROCONP_Bits;
  462. /** \\brief Write-Once Protection Configuration */
  463. typedef struct _Ifx_FLASH_PROCONWOP_Bits
  464. {
  465. unsigned int S0WOP:1; /**< \brief [0:0] PFlash p Sector 0 Configured for Write-Once Protection (rh) */
  466. unsigned int S1WOP:1; /**< \brief [1:1] PFlash p Sector 1 Configured for Write-Once Protection (rh) */
  467. unsigned int S2WOP:1; /**< \brief [2:2] PFlash p Sector 2 Configured for Write-Once Protection (rh) */
  468. unsigned int S3WOP:1; /**< \brief [3:3] PFlash p Sector 3 Configured for Write-Once Protection (rh) */
  469. unsigned int S4WOP:1; /**< \brief [4:4] PFlash p Sector 4 Configured for Write-Once Protection (rh) */
  470. unsigned int S5WOP:1; /**< \brief [5:5] PFlash p Sector 5 Configured for Write-Once Protection (rh) */
  471. unsigned int S6WOP:1; /**< \brief [6:6] PFlash p Sector 6 Configured for Write-Once Protection (rh) */
  472. unsigned int S7WOP:1; /**< \brief [7:7] PFlash p Sector 7 Configured for Write-Once Protection (rh) */
  473. unsigned int S8WOP:1; /**< \brief [8:8] PFlash p Sector 8 Configured for Write-Once Protection (rh) */
  474. unsigned int S9WOP:1; /**< \brief [9:9] PFlash p Sector 9 Configured for Write-Once Protection (rh) */
  475. unsigned int S10WOP:1; /**< \brief [10:10] PFlash p Sector 10 Configured for Write-Once Protection (rh) */
  476. unsigned int S11WOP:1; /**< \brief [11:11] PFlash p Sector 11 Configured for Write-Once Protection (rh) */
  477. unsigned int S12WOP:1; /**< \brief [12:12] PFlash p Sector 12 Configured for Write-Once Protection (rh) */
  478. unsigned int S13WOP:1; /**< \brief [13:13] PFlash p Sector 13 Configured for Write-Once Protection (rh) */
  479. unsigned int S14WOP:1; /**< \brief [14:14] PFlash p Sector 14 Configured for Write-Once Protection (rh) */
  480. unsigned int S15WOP:1; /**< \brief [15:15] PFlash p Sector 15 Configured for Write-Once Protection (rh) */
  481. unsigned int S16WOP:1; /**< \brief [16:16] PFlash p Sector 16 Configured for Write-Once Protection (rh) */
  482. unsigned int S17WOP:1; /**< \brief [17:17] PFlash p Sector 17 Configured for Write-Once Protection (rh) */
  483. unsigned int S18WOP:1; /**< \brief [18:18] PFlash p Sector 18 Configured for Write-Once Protection (rh) */
  484. unsigned int S19WOP:1; /**< \brief [19:19] PFlash p Sector 19 Configured for Write-Once Protection (rh) */
  485. unsigned int S20WOP:1; /**< \brief [20:20] PFlash p Sector 20 Configured for Write-Once Protection (rh) */
  486. unsigned int S21WOP:1; /**< \brief [21:21] PFlash p Sector 21 Configured for Write-Once Protection (rh) */
  487. unsigned int S22WOP:1; /**< \brief [22:22] PFlash p Sector 22 Configured for Write-Once Protection (rh) */
  488. unsigned int S23WOP:1; /**< \brief [23:23] PFlash p Sector 23 Configured for Write-Once Protection (rh) */
  489. unsigned int S24WOP:1; /**< \brief [24:24] PFlash p Sector 24 Configured for Write-Once Protection (rh) */
  490. unsigned int S25WOP:1; /**< \brief [25:25] PFlash p Sector 25 Configured for Write-Once Protection (rh) */
  491. unsigned int S26WOP:1; /**< \brief [26:26] PFlash p Sector 26 Configured for Write-Once Protection (rh) */
  492. unsigned int reserved_27:4; /**< \brief \internal Reserved */
  493. unsigned int DATM:1; /**< \brief [31:31] Disable ATM (rh) */
  494. } Ifx_FLASH_PROCONWOP_Bits;
  495. /** \\brief Read Buffer Cfg 0 */
  496. typedef struct _Ifx_FLASH_RDB_CFG0_Bits
  497. {
  498. unsigned int TAG:6; /**< \brief [5:0] Master Tag (rw) */
  499. unsigned int reserved_6:26; /**< \brief \internal Reserved */
  500. } Ifx_FLASH_RDB_CFG0_Bits;
  501. /** \\brief Read Buffer Cfg 1 */
  502. typedef struct _Ifx_FLASH_RDB_CFG1_Bits
  503. {
  504. unsigned int TAG:6; /**< \brief [5:0] Master Tag (rw) */
  505. unsigned int reserved_6:26; /**< \brief \internal Reserved */
  506. } Ifx_FLASH_RDB_CFG1_Bits;
  507. /** \\brief Read Buffer Cfg 2 */
  508. typedef struct _Ifx_FLASH_RDB_CFG2_Bits
  509. {
  510. unsigned int TAG:6; /**< \brief [5:0] Master Tag (rw) */
  511. unsigned int reserved_6:26; /**< \brief \internal Reserved */
  512. } Ifx_FLASH_RDB_CFG2_Bits;
  513. /** \\brief Requested Read Address Register */
  514. typedef struct _Ifx_FLASH_RRAD_Bits
  515. {
  516. unsigned int reserved_0:3; /**< \brief \internal Reserved */
  517. unsigned int ADD:29; /**< \brief [31:3] Address (rwh) */
  518. } Ifx_FLASH_RRAD_Bits;
  519. /** \\brief Requested Read Control Register */
  520. typedef struct _Ifx_FLASH_RRCT_Bits
  521. {
  522. unsigned int STRT:1; /**< \brief [0:0] Start Request (rwh) */
  523. unsigned int STP:1; /**< \brief [1:1] Stop (w) */
  524. unsigned int BUSY:1; /**< \brief [2:2] Flash Read Busy (rh) */
  525. unsigned int DONE:1; /**< \brief [3:3] Flash Read Done (rh) */
  526. unsigned int ERR:1; /**< \brief [4:4] Error (rh) */
  527. unsigned int reserved_5:3; /**< \brief \internal Reserved */
  528. unsigned int EOBM:1; /**< \brief [8:8] End of Busy Interrupt Mask (rw) */
  529. unsigned int reserved_9:7; /**< \brief \internal Reserved */
  530. unsigned int CNT:16; /**< \brief [31:16] Count (rwh) */
  531. } Ifx_FLASH_RRCT_Bits;
  532. /** \\brief Requested Read Data Register 0 */
  533. typedef struct _Ifx_FLASH_RRD0_Bits
  534. {
  535. unsigned int DATA:32; /**< \brief [31:0] Read Data (rh) */
  536. } Ifx_FLASH_RRD0_Bits;
  537. /** \\brief Requested Read Data Register 1 */
  538. typedef struct _Ifx_FLASH_RRD1_Bits
  539. {
  540. unsigned int DATA:32; /**< \brief [31:0] Read Data (rh) */
  541. } Ifx_FLASH_RRD1_Bits;
  542. /** \\brief UBAB Configuration */
  543. typedef struct _Ifx_FLASH_UBAB_CFG_Bits
  544. {
  545. unsigned int SEL:6; /**< \brief [5:0] Select Bit-Errors (rw) */
  546. unsigned int reserved_6:2; /**< \brief \internal Reserved */
  547. unsigned int CLR:1; /**< \brief [8:8] Clear (w) */
  548. unsigned int DIS:1; /**< \brief [9:9] Disable (rw) */
  549. unsigned int reserved_10:22; /**< \brief \internal Reserved */
  550. } Ifx_FLASH_UBAB_CFG_Bits;
  551. /** \\brief UBAB Status */
  552. typedef struct _Ifx_FLASH_UBAB_STAT_Bits
  553. {
  554. unsigned int VLD0:1; /**< \brief [0:0] Filling Level (rh) */
  555. unsigned int reserved_1:31; /**< \brief \internal Reserved */
  556. } Ifx_FLASH_UBAB_STAT_Bits;
  557. /** \\brief UBAB FIFO TOP Entry */
  558. typedef struct _Ifx_FLASH_UBAB_TOP_Bits
  559. {
  560. unsigned int reserved_0:5; /**< \brief \internal Reserved */
  561. unsigned int ADDR:19; /**< \brief [23:5] Address (rh) */
  562. unsigned int ERR:6; /**< \brief [29:24] Error Type (rh) */
  563. unsigned int VLD:1; /**< \brief [30:30] Valid (rh) */
  564. unsigned int CLR:1; /**< \brief [31:31] Clear (w) */
  565. } Ifx_FLASH_UBAB_TOP_Bits;
  566. /** \} */
  567. /******************************************************************************/
  568. /******************************************************************************/
  569. /** \addtogroup IfxLld_Flash_union
  570. * \{ */
  571. /** \\brief Access Enable Register 0 */
  572. typedef union
  573. {
  574. /** \brief Unsigned access */
  575. unsigned int U;
  576. /** \brief Signed access */
  577. signed int I;
  578. /** \brief Bitfield access */
  579. Ifx_FLASH_ACCEN0_Bits B;
  580. } Ifx_FLASH_ACCEN0;
  581. /** \\brief Access Enable Register 1 */
  582. typedef union
  583. {
  584. /** \brief Unsigned access */
  585. unsigned int U;
  586. /** \brief Signed access */
  587. signed int I;
  588. /** \brief Bitfield access */
  589. Ifx_FLASH_ACCEN1_Bits B;
  590. } Ifx_FLASH_ACCEN1;
  591. /** \\brief CBAB Configuration */
  592. typedef union
  593. {
  594. /** \brief Unsigned access */
  595. unsigned int U;
  596. /** \brief Signed access */
  597. signed int I;
  598. /** \brief Bitfield access */
  599. Ifx_FLASH_CBAB_CFG_Bits B;
  600. } Ifx_FLASH_CBAB_CFG;
  601. /** \\brief CBAB Status */
  602. typedef union
  603. {
  604. /** \brief Unsigned access */
  605. unsigned int U;
  606. /** \brief Signed access */
  607. signed int I;
  608. /** \brief Bitfield access */
  609. Ifx_FLASH_CBAB_STAT_Bits B;
  610. } Ifx_FLASH_CBAB_STAT;
  611. /** \\brief CBAB FIFO TOP Entry */
  612. typedef union
  613. {
  614. /** \brief Unsigned access */
  615. unsigned int U;
  616. /** \brief Signed access */
  617. signed int I;
  618. /** \brief Bitfield access */
  619. Ifx_FLASH_CBAB_TOP_Bits B;
  620. } Ifx_FLASH_CBAB_TOP;
  621. /** \\brief FSI Communication Register 0 */
  622. typedef union
  623. {
  624. /** \brief Unsigned access */
  625. unsigned int U;
  626. /** \brief Signed access */
  627. signed int I;
  628. /** \brief Bitfield access */
  629. Ifx_FLASH_COMM0_Bits B;
  630. } Ifx_FLASH_COMM0;
  631. /** \\brief FSI Communication Register 1 */
  632. typedef union
  633. {
  634. /** \brief Unsigned access */
  635. unsigned int U;
  636. /** \brief Signed access */
  637. signed int I;
  638. /** \brief Bitfield access */
  639. Ifx_FLASH_COMM1_Bits B;
  640. } Ifx_FLASH_COMM1;
  641. /** \\brief FSI Communication Register 2 */
  642. typedef union
  643. {
  644. /** \brief Unsigned access */
  645. unsigned int U;
  646. /** \brief Signed access */
  647. signed int I;
  648. /** \brief Bitfield access */
  649. Ifx_FLASH_COMM2_Bits B;
  650. } Ifx_FLASH_COMM2;
  651. /** \\brief ECC Read Register DF */
  652. typedef union
  653. {
  654. /** \brief Unsigned access */
  655. unsigned int U;
  656. /** \brief Signed access */
  657. signed int I;
  658. /** \brief Bitfield access */
  659. Ifx_FLASH_ECCRD_Bits B;
  660. } Ifx_FLASH_ECCRD;
  661. /** \\brief ECC Read Register */
  662. typedef union
  663. {
  664. /** \brief Unsigned access */
  665. unsigned int U;
  666. /** \brief Signed access */
  667. signed int I;
  668. /** \brief Bitfield access */
  669. Ifx_FLASH_ECCRP_Bits B;
  670. } Ifx_FLASH_ECCRP;
  671. /** \\brief ECC Write Register */
  672. typedef union
  673. {
  674. /** \brief Unsigned access */
  675. unsigned int U;
  676. /** \brief Signed access */
  677. signed int I;
  678. /** \brief Bitfield access */
  679. Ifx_FLASH_ECCW_Bits B;
  680. } Ifx_FLASH_ECCW;
  681. /** \\brief Flash Configuration Register */
  682. typedef union
  683. {
  684. /** \brief Unsigned access */
  685. unsigned int U;
  686. /** \brief Signed access */
  687. signed int I;
  688. /** \brief Bitfield access */
  689. Ifx_FLASH_FCON_Bits B;
  690. } Ifx_FLASH_FCON;
  691. /** \\brief Flash Protection Control and Status Register */
  692. typedef union
  693. {
  694. /** \brief Unsigned access */
  695. unsigned int U;
  696. /** \brief Signed access */
  697. signed int I;
  698. /** \brief Bitfield access */
  699. Ifx_FLASH_FPRO_Bits B;
  700. } Ifx_FLASH_FPRO;
  701. /** \\brief Flash Status Register */
  702. typedef union
  703. {
  704. /** \brief Unsigned access */
  705. unsigned int U;
  706. /** \brief Signed access */
  707. signed int I;
  708. /** \brief Bitfield access */
  709. Ifx_FLASH_FSR_Bits B;
  710. } Ifx_FLASH_FSR;
  711. /** \\brief HSM Flash Configuration Register */
  712. typedef union
  713. {
  714. /** \brief Unsigned access */
  715. unsigned int U;
  716. /** \brief Signed access */
  717. signed int I;
  718. /** \brief Bitfield access */
  719. Ifx_FLASH_HSMFCON_Bits B;
  720. } Ifx_FLASH_HSMFCON;
  721. /** \\brief Flash Status Register */
  722. typedef union
  723. {
  724. /** \brief Unsigned access */
  725. unsigned int U;
  726. /** \brief Signed access */
  727. signed int I;
  728. /** \brief Bitfield access */
  729. Ifx_FLASH_HSMFSR_Bits B;
  730. } Ifx_FLASH_HSMFSR;
  731. /** \\brief Margin Control Register HSM DFlash */
  732. typedef union
  733. {
  734. /** \brief Unsigned access */
  735. unsigned int U;
  736. /** \brief Signed access */
  737. signed int I;
  738. /** \brief Bitfield access */
  739. Ifx_FLASH_HSMMARD_Bits B;
  740. } Ifx_FLASH_HSMMARD;
  741. /** \\brief HSM Requested Read Address Register */
  742. typedef union
  743. {
  744. /** \brief Unsigned access */
  745. unsigned int U;
  746. /** \brief Signed access */
  747. signed int I;
  748. /** \brief Bitfield access */
  749. Ifx_FLASH_HSMRRAD_Bits B;
  750. } Ifx_FLASH_HSMRRAD;
  751. /** \\brief Requested Read Control Register HSM */
  752. typedef union
  753. {
  754. /** \brief Unsigned access */
  755. unsigned int U;
  756. /** \brief Signed access */
  757. signed int I;
  758. /** \brief Bitfield access */
  759. Ifx_FLASH_HSMRRCT_Bits B;
  760. } Ifx_FLASH_HSMRRCT;
  761. /** \\brief HSM Requested Read Data Register 0 */
  762. typedef union
  763. {
  764. /** \brief Unsigned access */
  765. unsigned int U;
  766. /** \brief Signed access */
  767. signed int I;
  768. /** \brief Bitfield access */
  769. Ifx_FLASH_HSMRRD0_Bits B;
  770. } Ifx_FLASH_HSMRRD0;
  771. /** \\brief HSM Requested Read Data Register 1 */
  772. typedef union
  773. {
  774. /** \brief Unsigned access */
  775. unsigned int U;
  776. /** \brief Signed access */
  777. signed int I;
  778. /** \brief Bitfield access */
  779. Ifx_FLASH_HSMRRD1_Bits B;
  780. } Ifx_FLASH_HSMRRD1;
  781. /** \\brief Flash Module Identification Register */
  782. typedef union
  783. {
  784. /** \brief Unsigned access */
  785. unsigned int U;
  786. /** \brief Signed access */
  787. signed int I;
  788. /** \brief Bitfield access */
  789. Ifx_FLASH_ID_Bits B;
  790. } Ifx_FLASH_ID;
  791. /** \\brief Margin Control Register DFlash */
  792. typedef union
  793. {
  794. /** \brief Unsigned access */
  795. unsigned int U;
  796. /** \brief Signed access */
  797. signed int I;
  798. /** \brief Bitfield access */
  799. Ifx_FLASH_MARD_Bits B;
  800. } Ifx_FLASH_MARD;
  801. /** \\brief Margin Control Register PFlash */
  802. typedef union
  803. {
  804. /** \brief Unsigned access */
  805. unsigned int U;
  806. /** \brief Signed access */
  807. signed int I;
  808. /** \brief Bitfield access */
  809. Ifx_FLASH_MARP_Bits B;
  810. } Ifx_FLASH_MARP;
  811. /** \\brief DFlash Protection Configuration */
  812. typedef union
  813. {
  814. /** \brief Unsigned access */
  815. unsigned int U;
  816. /** \brief Signed access */
  817. signed int I;
  818. /** \brief Bitfield access */
  819. Ifx_FLASH_PROCOND_Bits B;
  820. } Ifx_FLASH_PROCOND;
  821. /** \\brief Debug Interface Protection Configuration */
  822. typedef union
  823. {
  824. /** \brief Unsigned access */
  825. unsigned int U;
  826. /** \brief Signed access */
  827. signed int I;
  828. /** \brief Bitfield access */
  829. Ifx_FLASH_PROCONDBG_Bits B;
  830. } Ifx_FLASH_PROCONDBG;
  831. /** \\brief HSM Interface Configuration */
  832. typedef union
  833. {
  834. /** \brief Unsigned access */
  835. unsigned int U;
  836. /** \brief Signed access */
  837. signed int I;
  838. /** \brief Bitfield access */
  839. Ifx_FLASH_PROCONHSM_Bits B;
  840. } Ifx_FLASH_PROCONHSM;
  841. /** \\brief HSM Code Flash OTP Protection Configuration */
  842. typedef union
  843. {
  844. /** \brief Unsigned access */
  845. unsigned int U;
  846. /** \brief Signed access */
  847. signed int I;
  848. /** \brief Bitfield access */
  849. Ifx_FLASH_PROCONHSMCOTP_Bits B;
  850. } Ifx_FLASH_PROCONHSMCOTP;
  851. /** \\brief OTP Protection Configuration */
  852. typedef union
  853. {
  854. /** \brief Unsigned access */
  855. unsigned int U;
  856. /** \brief Signed access */
  857. signed int I;
  858. /** \brief Bitfield access */
  859. Ifx_FLASH_PROCONOTP_Bits B;
  860. } Ifx_FLASH_PROCONOTP;
  861. /** \\brief PFlash Protection Configuration */
  862. typedef union
  863. {
  864. /** \brief Unsigned access */
  865. unsigned int U;
  866. /** \brief Signed access */
  867. signed int I;
  868. /** \brief Bitfield access */
  869. Ifx_FLASH_PROCONP_Bits B;
  870. } Ifx_FLASH_PROCONP;
  871. /** \\brief Write-Once Protection Configuration */
  872. typedef union
  873. {
  874. /** \brief Unsigned access */
  875. unsigned int U;
  876. /** \brief Signed access */
  877. signed int I;
  878. /** \brief Bitfield access */
  879. Ifx_FLASH_PROCONWOP_Bits B;
  880. } Ifx_FLASH_PROCONWOP;
  881. /** \\brief Read Buffer Cfg 0 */
  882. typedef union
  883. {
  884. /** \brief Unsigned access */
  885. unsigned int U;
  886. /** \brief Signed access */
  887. signed int I;
  888. /** \brief Bitfield access */
  889. Ifx_FLASH_RDB_CFG0_Bits B;
  890. } Ifx_FLASH_RDB_CFG0;
  891. /** \\brief Read Buffer Cfg 1 */
  892. typedef union
  893. {
  894. /** \brief Unsigned access */
  895. unsigned int U;
  896. /** \brief Signed access */
  897. signed int I;
  898. /** \brief Bitfield access */
  899. Ifx_FLASH_RDB_CFG1_Bits B;
  900. } Ifx_FLASH_RDB_CFG1;
  901. /** \\brief Read Buffer Cfg 2 */
  902. typedef union
  903. {
  904. /** \brief Unsigned access */
  905. unsigned int U;
  906. /** \brief Signed access */
  907. signed int I;
  908. /** \brief Bitfield access */
  909. Ifx_FLASH_RDB_CFG2_Bits B;
  910. } Ifx_FLASH_RDB_CFG2;
  911. /** \\brief Requested Read Address Register */
  912. typedef union
  913. {
  914. /** \brief Unsigned access */
  915. unsigned int U;
  916. /** \brief Signed access */
  917. signed int I;
  918. /** \brief Bitfield access */
  919. Ifx_FLASH_RRAD_Bits B;
  920. } Ifx_FLASH_RRAD;
  921. /** \\brief Requested Read Control Register */
  922. typedef union
  923. {
  924. /** \brief Unsigned access */
  925. unsigned int U;
  926. /** \brief Signed access */
  927. signed int I;
  928. /** \brief Bitfield access */
  929. Ifx_FLASH_RRCT_Bits B;
  930. } Ifx_FLASH_RRCT;
  931. /** \\brief Requested Read Data Register 0 */
  932. typedef union
  933. {
  934. /** \brief Unsigned access */
  935. unsigned int U;
  936. /** \brief Signed access */
  937. signed int I;
  938. /** \brief Bitfield access */
  939. Ifx_FLASH_RRD0_Bits B;
  940. } Ifx_FLASH_RRD0;
  941. /** \\brief Requested Read Data Register 1 */
  942. typedef union
  943. {
  944. /** \brief Unsigned access */
  945. unsigned int U;
  946. /** \brief Signed access */
  947. signed int I;
  948. /** \brief Bitfield access */
  949. Ifx_FLASH_RRD1_Bits B;
  950. } Ifx_FLASH_RRD1;
  951. /** \\brief UBAB Configuration */
  952. typedef union
  953. {
  954. /** \brief Unsigned access */
  955. unsigned int U;
  956. /** \brief Signed access */
  957. signed int I;
  958. /** \brief Bitfield access */
  959. Ifx_FLASH_UBAB_CFG_Bits B;
  960. } Ifx_FLASH_UBAB_CFG;
  961. /** \\brief UBAB Status */
  962. typedef union
  963. {
  964. /** \brief Unsigned access */
  965. unsigned int U;
  966. /** \brief Signed access */
  967. signed int I;
  968. /** \brief Bitfield access */
  969. Ifx_FLASH_UBAB_STAT_Bits B;
  970. } Ifx_FLASH_UBAB_STAT;
  971. /** \\brief UBAB FIFO TOP Entry */
  972. typedef union
  973. {
  974. /** \brief Unsigned access */
  975. unsigned int U;
  976. /** \brief Signed access */
  977. signed int I;
  978. /** \brief Bitfield access */
  979. Ifx_FLASH_UBAB_TOP_Bits B;
  980. } Ifx_FLASH_UBAB_TOP;
  981. /** \} */
  982. /******************************************************************************/
  983. /******************************************************************************/
  984. /** \addtogroup IfxLld_Flash_struct
  985. * \{ */
  986. /******************************************************************************/
  987. /** \name Object L1
  988. * \{ */
  989. /** \\brief Corrected Bits Address Buffer (CBAB) object */
  990. typedef volatile struct _Ifx_FLASH_CBAB
  991. {
  992. Ifx_FLASH_CBAB_CFG CFG; /**< \brief 0, CBAB Configuration */
  993. Ifx_FLASH_CBAB_STAT STAT; /**< \brief 4, CBAB Status */
  994. Ifx_FLASH_CBAB_TOP TOP; /**< \brief 8, CBAB FIFO TOP Entry */
  995. unsigned char reserved_C[36]; /**< \brief C, \internal Reserved */
  996. } Ifx_FLASH_CBAB;
  997. /** \\brief Read Buffer Configuration object */
  998. typedef volatile struct _Ifx_FLASH_RDB
  999. {
  1000. Ifx_FLASH_RDB_CFG0 CFG0; /**< \brief 0, Read Buffer Cfg 0 */
  1001. Ifx_FLASH_RDB_CFG1 CFG1; /**< \brief 4, Read Buffer Cfg 1 */
  1002. Ifx_FLASH_RDB_CFG2 CFG2; /**< \brief 8, Read Buffer Cfg 2 */
  1003. unsigned char reserved_C[36]; /**< \brief C, \internal Reserved */
  1004. } Ifx_FLASH_RDB;
  1005. /** \\brief Uncorrectable Bits Address Buffer (UBAB) object */
  1006. typedef volatile struct _Ifx_FLASH_UBAB
  1007. {
  1008. Ifx_FLASH_UBAB_CFG CFG; /**< \brief 0, UBAB Configuration */
  1009. Ifx_FLASH_UBAB_STAT STAT; /**< \brief 4, UBAB Status */
  1010. Ifx_FLASH_UBAB_TOP TOP; /**< \brief 8, UBAB FIFO TOP Entry */
  1011. unsigned char reserved_C[80]; /**< \brief C, \internal Reserved */
  1012. } Ifx_FLASH_UBAB;
  1013. /** \} */
  1014. /******************************************************************************/
  1015. /** \} */
  1016. /******************************************************************************/
  1017. /******************************************************************************/
  1018. /** \addtogroup IfxLld_Flash_struct
  1019. * \{ */
  1020. /******************************************************************************/
  1021. /** \name Object L0
  1022. * \{ */
  1023. /** \\brief FLASH object. */
  1024. typedef volatile struct _Ifx_FLASH
  1025. {
  1026. Ifx_FLASH_COMM0 COMM0; /**< \brief 0, FSI Communication Register 0 */
  1027. Ifx_FLASH_COMM1 COMM1; /**< \brief 4, FSI Communication Register 1 */
  1028. Ifx_FLASH_COMM2 COMM2; /**< \brief 8, FSI Communication Register 2 */
  1029. unsigned char reserved_C[4092]; /**< \brief C, \internal Reserved */
  1030. Ifx_FLASH_ID ID; /**< \brief 1008, Flash Module Identification Register */
  1031. unsigned char reserved_100C[4]; /**< \brief 100C, \internal Reserved */
  1032. Ifx_FLASH_FSR FSR; /**< \brief 1010, Flash Status Register */
  1033. Ifx_FLASH_FCON FCON; /**< \brief 1014, Flash Configuration Register */
  1034. unsigned char reserved_1018[4]; /**< \brief 1018, \internal Reserved */
  1035. Ifx_FLASH_FPRO FPRO; /**< \brief 101C, Flash Protection Control and Status Register */
  1036. Ifx_FLASH_PROCONP PROCONP[1]; /**< \brief 1020, PFlash Protection Configuration for ports */
  1037. unsigned char reserved_1024[12]; /**< \brief 1024, \internal Reserved */
  1038. Ifx_FLASH_PROCOND PROCOND; /**< \brief 1030, DFlash Protection Configuration */
  1039. Ifx_FLASH_PROCONHSMCOTP PROCONHSMCOTP; /**< \brief 1034, HSM Code Flash OTP Protection Configuration */
  1040. Ifx_FLASH_PROCONOTP PROCONOTP[1]; /**< \brief 1038, OTP Protection Configuration for ports */
  1041. unsigned char reserved_103C[12]; /**< \brief 103C, \internal Reserved */
  1042. Ifx_FLASH_PROCONWOP PROCONWOP[1]; /**< \brief 1048, Write-Once Protection Configuration for ports */
  1043. unsigned char reserved_104C[12]; /**< \brief 104C, \internal Reserved */
  1044. Ifx_FLASH_PROCONDBG PROCONDBG; /**< \brief 1058, Debug Interface Protection Configuration */
  1045. Ifx_FLASH_PROCONHSM PROCONHSM; /**< \brief 105C, HSM Interface Configuration */
  1046. Ifx_FLASH_RDB RDBCFG[1]; /**< \brief 1060, Read Buffer Configuration for ports */
  1047. Ifx_FLASH_ECCW ECCW; /**< \brief 1090, ECC Write Register */
  1048. Ifx_FLASH_ECCRP ECCRP[1]; /**< \brief 1094, ECC Read Register for ports */
  1049. unsigned char reserved_1098[12]; /**< \brief 1098, \internal Reserved */
  1050. Ifx_FLASH_ECCRD ECCRD; /**< \brief 10A4, ECC Read Register DF */
  1051. Ifx_FLASH_MARP MARP; /**< \brief 10A8, Margin Control Register PFlash */
  1052. Ifx_FLASH_MARD MARD; /**< \brief 10AC, Margin Control Register DFlash */
  1053. unsigned char reserved_10B0[4]; /**< \brief 10B0, \internal Reserved */
  1054. Ifx_FLASH_CBAB CBAB[1]; /**< \brief 10B4, Corrected Bits Address Buffer for ports */
  1055. Ifx_FLASH_UBAB UBAB[1]; /**< \brief 10E4, Uncorrectable Bits Address Buffer for ports */
  1056. Ifx_FLASH_RRCT RRCT; /**< \brief 1140, Requested Read Control Register */
  1057. Ifx_FLASH_RRD0 RRD0; /**< \brief 1144, Requested Read Data Register 0 */
  1058. Ifx_FLASH_RRD1 RRD1; /**< \brief 1148, Requested Read Data Register 1 */
  1059. Ifx_FLASH_RRAD RRAD; /**< \brief 114C, Requested Read Address Register */
  1060. unsigned char reserved_1150[176]; /**< \brief 1150, \internal Reserved */
  1061. Ifx_FLASH_HSMFSR HSMFSR; /**< \brief 1200, Flash Status Register */
  1062. Ifx_FLASH_HSMFCON HSMFCON; /**< \brief 1204, HSM Flash Configuration Register */
  1063. Ifx_FLASH_HSMMARD HSMMARD; /**< \brief 1208, Margin Control Register HSM DFlash */
  1064. Ifx_FLASH_HSMRRCT HSMRRCT; /**< \brief 120C, Requested Read Control Register HSM */
  1065. Ifx_FLASH_HSMRRD0 HSMRRD0; /**< \brief 1210, HSM Requested Read Data Register 0 */
  1066. Ifx_FLASH_HSMRRD1 HSMRRD1; /**< \brief 1214, HSM Requested Read Data Register 1 */
  1067. Ifx_FLASH_HSMRRAD HSMRRAD; /**< \brief 1218, HSM Requested Read Address Register */
  1068. unsigned char reserved_121C[476]; /**< \brief 121C, \internal Reserved */
  1069. Ifx_FLASH_ACCEN1 ACCEN1; /**< \brief 13F8, Access Enable Register 1 */
  1070. Ifx_FLASH_ACCEN0 ACCEN0; /**< \brief 13FC, Access Enable Register 0 */
  1071. } Ifx_FLASH;
  1072. /** \} */
  1073. /******************************************************************************/
  1074. /** \} */
  1075. /******************************************************************************/
  1076. /******************************************************************************/
  1077. #endif /* IFXFLASH_REGDEF_H */