hw_flash_ctrl.h 126 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862
  1. //*****************************************************************************
  2. //
  3. // Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/
  4. //
  5. //
  6. // Redistribution and use in source and binary forms, with or without
  7. // modification, are permitted provided that the following conditions
  8. // are met:
  9. //
  10. // Redistributions of source code must retain the above copyright
  11. // notice, this list of conditions and the following disclaimer.
  12. //
  13. // Redistributions in binary form must reproduce the above copyright
  14. // notice, this list of conditions and the following disclaimer in the
  15. // documentation and/or other materials provided with the
  16. // distribution.
  17. //
  18. // Neither the name of Texas Instruments Incorporated nor the names of
  19. // its contributors may be used to endorse or promote products derived
  20. // from this software without specific prior written permission.
  21. //
  22. // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  23. // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  24. // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  25. // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  26. // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  27. // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  28. // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  29. // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  30. // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  31. // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  32. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  33. //
  34. //*****************************************************************************
  35. #ifndef __HW_FLASH_CTRL_H__
  36. #define __HW_FLASH_CTRL_H__
  37. //*****************************************************************************
  38. //
  39. // The following are defines for the FLASH_CTRL register offsets.
  40. //
  41. //*****************************************************************************
  42. #define FLASH_CTRL_O_FMA 0x00000000 // Flash Memory Address (FMA)
  43. // offset 0x000 During a write
  44. // operation this register contains
  45. // a 4-byte-aligned address and
  46. // specifies where the data is
  47. // written. During erase operations
  48. // this register contains a 1
  49. // KB-aligned CPU byte address and
  50. // specifies which block is erased.
  51. // Note that the alignment
  52. // requirements must be met by
  53. // software or the results of the
  54. // operation are unpredictable.
  55. #define FLASH_CTRL_O_FMD 0x00000004 // Flash Memory Data (FMD) offset
  56. // 0x004 This register contains the
  57. // data to be written during the
  58. // programming cycle or read during
  59. // the read cycle. Note that the
  60. // contents of this register are
  61. // undefined for a read access of an
  62. // execute-only block. This register
  63. // is not used during erase cycles.
  64. #define FLASH_CTRL_O_FMC 0x00000008 // Flash Memory Control (FMC)
  65. // offset 0x008 When this register
  66. // is written the Flash memory
  67. // controller initiates the
  68. // appropriate access cycle for the
  69. // location specified by the Flash
  70. // Memory Address (FMA) register .
  71. // If the access is a write access
  72. // the data contained in the Flash
  73. // Memory Data (FMD) register is
  74. // written to the specified address.
  75. // This register must be the final
  76. // register written and initiates
  77. // the memory operation. The four
  78. // control bits in the lower byte of
  79. // this register are used to
  80. // initiate memory operations.
  81. #define FLASH_CTRL_O_FCRIS 0x0000000C // Flash Controller Raw Interrupt
  82. // Status (FCRIS) offset 0x00C This
  83. // register indicates that the Flash
  84. // memory controller has an
  85. // interrupt condition. An interrupt
  86. // is sent to the interrupt
  87. // controller only if the
  88. // corresponding FCIM register bit
  89. // is set.
  90. #define FLASH_CTRL_O_FCIM 0x00000010 // Flash Controller Interrupt Mask
  91. // (FCIM) offset 0x010 This register
  92. // controls whether the Flash memory
  93. // controller generates interrupts
  94. // to the controller.
  95. #define FLASH_CTRL_O_FCMISC 0x00000014 // Flash Controller Masked
  96. // Interrupt Status and Clear
  97. // (FCMISC) offset 0x014 This
  98. // register provides two functions.
  99. // First it reports the cause of an
  100. // interrupt by indicating which
  101. // interrupt source or sources are
  102. // signalling the interrupt. Second
  103. // it serves as the method to clear
  104. // the interrupt reporting.
  105. #define FLASH_CTRL_O_FMC2 0x00000020 // Flash Memory Control 2 (FMC2)
  106. // offset 0x020 When this register
  107. // is written the Flash memory
  108. // controller initiates the
  109. // appropriate access cycle for the
  110. // location specified by the Flash
  111. // Memory Address (FMA) register .
  112. // If the access is a write access
  113. // the data contained in the Flash
  114. // Write Buffer (FWB) registers is
  115. // written. This register must be
  116. // the final register written as it
  117. // initiates the memory operation.
  118. #define FLASH_CTRL_O_FWBVAL 0x00000030 // Flash Write Buffer Valid
  119. // (FWBVAL) offset 0x030 This
  120. // register provides a bitwise
  121. // status of which FWBn registers
  122. // have been written by the
  123. // processor since the last write of
  124. // the Flash memory write buffer.
  125. // The entries with a 1 are written
  126. // on the next write of the Flash
  127. // memory write buffer. This
  128. // register is cleared after the
  129. // write operation by hardware. A
  130. // protection violation on the write
  131. // operation also clears this
  132. // status. Software can program the
  133. // same 32 words to various Flash
  134. // memory locations by setting the
  135. // FWB[n] bits after they are
  136. // cleared by the write operation.
  137. // The next write operation then
  138. // uses the same data as the
  139. // previous one. In addition if a
  140. // FWBn register change should not
  141. // be written to Flash memory
  142. // software can clear the
  143. // corresponding FWB[n] bit to
  144. // preserve the existing data when
  145. // the next write operation occurs.
  146. #define FLASH_CTRL_O_FWB1 0x00000100 // Flash Write Buffer n (FWBn)
  147. // offset 0x100 - 0x17C These 32
  148. // registers hold the contents of
  149. // the data to be written into the
  150. // Flash memory on a buffered Flash
  151. // memory write operation. The
  152. // offset selects one of the 32-bit
  153. // registers. Only FWBn registers
  154. // that have been updated since the
  155. // preceding buffered Flash memory
  156. // write operation are written into
  157. // the Flash memory so it is not
  158. // necessary to write the entire
  159. // bank of registers in order to
  160. // write 1 or 2 words. The FWBn
  161. // registers are written into the
  162. // Flash memory with the FWB0
  163. // register corresponding to the
  164. // address contained in FMA. FWB1 is
  165. // written to the address FMA+0x4
  166. // etc. Note that only data bits
  167. // that are 0 result in the Flash
  168. // memory being modified. A data bit
  169. // that is 1 leaves the content of
  170. // the Flash memory bit at its
  171. // previous value.
  172. #define FLASH_CTRL_O_FWB2 0x00000104 // Flash Write Buffer n (FWBn)
  173. // offset 0x100 - 0x17C These 32
  174. // registers hold the contents of
  175. // the data to be written into the
  176. // Flash memory on a buffered Flash
  177. // memory write operation. The
  178. // offset selects one of the 32-bit
  179. // registers. Only FWBn registers
  180. // that have been updated since the
  181. // preceding buffered Flash memory
  182. // write operation are written into
  183. // the Flash memory so it is not
  184. // necessary to write the entire
  185. // bank of registers in order to
  186. // write 1 or 2 words. The FWBn
  187. // registers are written into the
  188. // Flash memory with the FWB0
  189. // register corresponding to the
  190. // address contained in FMA. FWB1 is
  191. // written to the address FMA+0x4
  192. // etc. Note that only data bits
  193. // that are 0 result in the Flash
  194. // memory being modified. A data bit
  195. // that is 1 leaves the content of
  196. // the Flash memory bit at its
  197. // previous value.
  198. #define FLASH_CTRL_O_FWB3 0x00000108 // Flash Write Buffer n (FWBn)
  199. // offset 0x100 - 0x17C These 32
  200. // registers hold the contents of
  201. // the data to be written into the
  202. // Flash memory on a buffered Flash
  203. // memory write operation. The
  204. // offset selects one of the 32-bit
  205. // registers. Only FWBn registers
  206. // that have been updated since the
  207. // preceding buffered Flash memory
  208. // write operation are written into
  209. // the Flash memory so it is not
  210. // necessary to write the entire
  211. // bank of registers in order to
  212. // write 1 or 2 words. The FWBn
  213. // registers are written into the
  214. // Flash memory with the FWB0
  215. // register corresponding to the
  216. // address contained in FMA. FWB1 is
  217. // written to the address FMA+0x4
  218. // etc. Note that only data bits
  219. // that are 0 result in the Flash
  220. // memory being modified. A data bit
  221. // that is 1 leaves the content of
  222. // the Flash memory bit at its
  223. // previous value.
  224. #define FLASH_CTRL_O_FWB4 0x0000010C // Flash Write Buffer n (FWBn)
  225. // offset 0x100 - 0x17C These 32
  226. // registers hold the contents of
  227. // the data to be written into the
  228. // Flash memory on a buffered Flash
  229. // memory write operation. The
  230. // offset selects one of the 32-bit
  231. // registers. Only FWBn registers
  232. // that have been updated since the
  233. // preceding buffered Flash memory
  234. // write operation are written into
  235. // the Flash memory so it is not
  236. // necessary to write the entire
  237. // bank of registers in order to
  238. // write 1 or 2 words. The FWBn
  239. // registers are written into the
  240. // Flash memory with the FWB0
  241. // register corresponding to the
  242. // address contained in FMA. FWB1 is
  243. // written to the address FMA+0x4
  244. // etc. Note that only data bits
  245. // that are 0 result in the Flash
  246. // memory being modified. A data bit
  247. // that is 1 leaves the content of
  248. // the Flash memory bit at its
  249. // previous value.
  250. #define FLASH_CTRL_O_FWB5 0x00000110 // Flash Write Buffer n (FWBn)
  251. // offset 0x100 - 0x17C These 32
  252. // registers hold the contents of
  253. // the data to be written into the
  254. // Flash memory on a buffered Flash
  255. // memory write operation. The
  256. // offset selects one of the 32-bit
  257. // registers. Only FWBn registers
  258. // that have been updated since the
  259. // preceding buffered Flash memory
  260. // write operation are written into
  261. // the Flash memory so it is not
  262. // necessary to write the entire
  263. // bank of registers in order to
  264. // write 1 or 2 words. The FWBn
  265. // registers are written into the
  266. // Flash memory with the FWB0
  267. // register corresponding to the
  268. // address contained in FMA. FWB1 is
  269. // written to the address FMA+0x4
  270. // etc. Note that only data bits
  271. // that are 0 result in the Flash
  272. // memory being modified. A data bit
  273. // that is 1 leaves the content of
  274. // the Flash memory bit at its
  275. // previous value.
  276. #define FLASH_CTRL_O_FWB6 0x00000114 // Flash Write Buffer n (FWBn)
  277. // offset 0x100 - 0x17C These 32
  278. // registers hold the contents of
  279. // the data to be written into the
  280. // Flash memory on a buffered Flash
  281. // memory write operation. The
  282. // offset selects one of the 32-bit
  283. // registers. Only FWBn registers
  284. // that have been updated since the
  285. // preceding buffered Flash memory
  286. // write operation are written into
  287. // the Flash memory so it is not
  288. // necessary to write the entire
  289. // bank of registers in order to
  290. // write 1 or 2 words. The FWBn
  291. // registers are written into the
  292. // Flash memory with the FWB0
  293. // register corresponding to the
  294. // address contained in FMA. FWB1 is
  295. // written to the address FMA+0x4
  296. // etc. Note that only data bits
  297. // that are 0 result in the Flash
  298. // memory being modified. A data bit
  299. // that is 1 leaves the content of
  300. // the Flash memory bit at its
  301. // previous value.
  302. #define FLASH_CTRL_O_FWB7 0x00000118 // Flash Write Buffer n (FWBn)
  303. // offset 0x100 - 0x17C These 32
  304. // registers hold the contents of
  305. // the data to be written into the
  306. // Flash memory on a buffered Flash
  307. // memory write operation. The
  308. // offset selects one of the 32-bit
  309. // registers. Only FWBn registers
  310. // that have been updated since the
  311. // preceding buffered Flash memory
  312. // write operation are written into
  313. // the Flash memory so it is not
  314. // necessary to write the entire
  315. // bank of registers in order to
  316. // write 1 or 2 words. The FWBn
  317. // registers are written into the
  318. // Flash memory with the FWB0
  319. // register corresponding to the
  320. // address contained in FMA. FWB1 is
  321. // written to the address FMA+0x4
  322. // etc. Note that only data bits
  323. // that are 0 result in the Flash
  324. // memory being modified. A data bit
  325. // that is 1 leaves the content of
  326. // the Flash memory bit at its
  327. // previous value.
  328. #define FLASH_CTRL_O_FWB8 0x0000011C // Flash Write Buffer n (FWBn)
  329. // offset 0x100 - 0x17C These 32
  330. // registers hold the contents of
  331. // the data to be written into the
  332. // Flash memory on a buffered Flash
  333. // memory write operation. The
  334. // offset selects one of the 32-bit
  335. // registers. Only FWBn registers
  336. // that have been updated since the
  337. // preceding buffered Flash memory
  338. // write operation are written into
  339. // the Flash memory so it is not
  340. // necessary to write the entire
  341. // bank of registers in order to
  342. // write 1 or 2 words. The FWBn
  343. // registers are written into the
  344. // Flash memory with the FWB0
  345. // register corresponding to the
  346. // address contained in FMA. FWB1 is
  347. // written to the address FMA+0x4
  348. // etc. Note that only data bits
  349. // that are 0 result in the Flash
  350. // memory being modified. A data bit
  351. // that is 1 leaves the content of
  352. // the Flash memory bit at its
  353. // previous value.
  354. #define FLASH_CTRL_O_FWB9 0x00000120 // Flash Write Buffer n (FWBn)
  355. // offset 0x100 - 0x17C These 32
  356. // registers hold the contents of
  357. // the data to be written into the
  358. // Flash memory on a buffered Flash
  359. // memory write operation. The
  360. // offset selects one of the 32-bit
  361. // registers. Only FWBn registers
  362. // that have been updated since the
  363. // preceding buffered Flash memory
  364. // write operation are written into
  365. // the Flash memory so it is not
  366. // necessary to write the entire
  367. // bank of registers in order to
  368. // write 1 or 2 words. The FWBn
  369. // registers are written into the
  370. // Flash memory with the FWB0
  371. // register corresponding to the
  372. // address contained in FMA. FWB1 is
  373. // written to the address FMA+0x4
  374. // etc. Note that only data bits
  375. // that are 0 result in the Flash
  376. // memory being modified. A data bit
  377. // that is 1 leaves the content of
  378. // the Flash memory bit at its
  379. // previous value.
  380. #define FLASH_CTRL_O_FWB10 0x00000124 // Flash Write Buffer n (FWBn)
  381. // offset 0x100 - 0x17C These 32
  382. // registers hold the contents of
  383. // the data to be written into the
  384. // Flash memory on a buffered Flash
  385. // memory write operation. The
  386. // offset selects one of the 32-bit
  387. // registers. Only FWBn registers
  388. // that have been updated since the
  389. // preceding buffered Flash memory
  390. // write operation are written into
  391. // the Flash memory so it is not
  392. // necessary to write the entire
  393. // bank of registers in order to
  394. // write 1 or 2 words. The FWBn
  395. // registers are written into the
  396. // Flash memory with the FWB0
  397. // register corresponding to the
  398. // address contained in FMA. FWB1 is
  399. // written to the address FMA+0x4
  400. // etc. Note that only data bits
  401. // that are 0 result in the Flash
  402. // memory being modified. A data bit
  403. // that is 1 leaves the content of
  404. // the Flash memory bit at its
  405. // previous value.
  406. #define FLASH_CTRL_O_FWB11 0x00000128 // Flash Write Buffer n (FWBn)
  407. // offset 0x100 - 0x17C These 32
  408. // registers hold the contents of
  409. // the data to be written into the
  410. // Flash memory on a buffered Flash
  411. // memory write operation. The
  412. // offset selects one of the 32-bit
  413. // registers. Only FWBn registers
  414. // that have been updated since the
  415. // preceding buffered Flash memory
  416. // write operation are written into
  417. // the Flash memory so it is not
  418. // necessary to write the entire
  419. // bank of registers in order to
  420. // write 1 or 2 words. The FWBn
  421. // registers are written into the
  422. // Flash memory with the FWB0
  423. // register corresponding to the
  424. // address contained in FMA. FWB1 is
  425. // written to the address FMA+0x4
  426. // etc. Note that only data bits
  427. // that are 0 result in the Flash
  428. // memory being modified. A data bit
  429. // that is 1 leaves the content of
  430. // the Flash memory bit at its
  431. // previous value.
  432. #define FLASH_CTRL_O_FWB12 0x0000012C // Flash Write Buffer n (FWBn)
  433. // offset 0x100 - 0x17C These 32
  434. // registers hold the contents of
  435. // the data to be written into the
  436. // Flash memory on a buffered Flash
  437. // memory write operation. The
  438. // offset selects one of the 32-bit
  439. // registers. Only FWBn registers
  440. // that have been updated since the
  441. // preceding buffered Flash memory
  442. // write operation are written into
  443. // the Flash memory so it is not
  444. // necessary to write the entire
  445. // bank of registers in order to
  446. // write 1 or 2 words. The FWBn
  447. // registers are written into the
  448. // Flash memory with the FWB0
  449. // register corresponding to the
  450. // address contained in FMA. FWB1 is
  451. // written to the address FMA+0x4
  452. // etc. Note that only data bits
  453. // that are 0 result in the Flash
  454. // memory being modified. A data bit
  455. // that is 1 leaves the content of
  456. // the Flash memory bit at its
  457. // previous value.
  458. #define FLASH_CTRL_O_FWB13 0x00000130 // Flash Write Buffer n (FWBn)
  459. // offset 0x100 - 0x17C These 32
  460. // registers hold the contents of
  461. // the data to be written into the
  462. // Flash memory on a buffered Flash
  463. // memory write operation. The
  464. // offset selects one of the 32-bit
  465. // registers. Only FWBn registers
  466. // that have been updated since the
  467. // preceding buffered Flash memory
  468. // write operation are written into
  469. // the Flash memory so it is not
  470. // necessary to write the entire
  471. // bank of registers in order to
  472. // write 1 or 2 words. The FWBn
  473. // registers are written into the
  474. // Flash memory with the FWB0
  475. // register corresponding to the
  476. // address contained in FMA. FWB1 is
  477. // written to the address FMA+0x4
  478. // etc. Note that only data bits
  479. // that are 0 result in the Flash
  480. // memory being modified. A data bit
  481. // that is 1 leaves the content of
  482. // the Flash memory bit at its
  483. // previous value.
  484. #define FLASH_CTRL_O_FWB14 0x00000134 // Flash Write Buffer n (FWBn)
  485. // offset 0x100 - 0x17C These 32
  486. // registers hold the contents of
  487. // the data to be written into the
  488. // Flash memory on a buffered Flash
  489. // memory write operation. The
  490. // offset selects one of the 32-bit
  491. // registers. Only FWBn registers
  492. // that have been updated since the
  493. // preceding buffered Flash memory
  494. // write operation are written into
  495. // the Flash memory so it is not
  496. // necessary to write the entire
  497. // bank of registers in order to
  498. // write 1 or 2 words. The FWBn
  499. // registers are written into the
  500. // Flash memory with the FWB0
  501. // register corresponding to the
  502. // address contained in FMA. FWB1 is
  503. // written to the address FMA+0x4
  504. // etc. Note that only data bits
  505. // that are 0 result in the Flash
  506. // memory being modified. A data bit
  507. // that is 1 leaves the content of
  508. // the Flash memory bit at its
  509. // previous value.
  510. #define FLASH_CTRL_O_FWB15 0x00000138 // Flash Write Buffer n (FWBn)
  511. // offset 0x100 - 0x17C These 32
  512. // registers hold the contents of
  513. // the data to be written into the
  514. // Flash memory on a buffered Flash
  515. // memory write operation. The
  516. // offset selects one of the 32-bit
  517. // registers. Only FWBn registers
  518. // that have been updated since the
  519. // preceding buffered Flash memory
  520. // write operation are written into
  521. // the Flash memory so it is not
  522. // necessary to write the entire
  523. // bank of registers in order to
  524. // write 1 or 2 words. The FWBn
  525. // registers are written into the
  526. // Flash memory with the FWB0
  527. // register corresponding to the
  528. // address contained in FMA. FWB1 is
  529. // written to the address FMA+0x4
  530. // etc. Note that only data bits
  531. // that are 0 result in the Flash
  532. // memory being modified. A data bit
  533. // that is 1 leaves the content of
  534. // the Flash memory bit at its
  535. // previous value.
  536. #define FLASH_CTRL_O_FWB16 0x0000013C // Flash Write Buffer n (FWBn)
  537. // offset 0x100 - 0x17C These 32
  538. // registers hold the contents of
  539. // the data to be written into the
  540. // Flash memory on a buffered Flash
  541. // memory write operation. The
  542. // offset selects one of the 32-bit
  543. // registers. Only FWBn registers
  544. // that have been updated since the
  545. // preceding buffered Flash memory
  546. // write operation are written into
  547. // the Flash memory so it is not
  548. // necessary to write the entire
  549. // bank of registers in order to
  550. // write 1 or 2 words. The FWBn
  551. // registers are written into the
  552. // Flash memory with the FWB0
  553. // register corresponding to the
  554. // address contained in FMA. FWB1 is
  555. // written to the address FMA+0x4
  556. // etc. Note that only data bits
  557. // that are 0 result in the Flash
  558. // memory being modified. A data bit
  559. // that is 1 leaves the content of
  560. // the Flash memory bit at its
  561. // previous value.
  562. #define FLASH_CTRL_O_FWB17 0x00000140 // Flash Write Buffer n (FWBn)
  563. // offset 0x100 - 0x17C These 32
  564. // registers hold the contents of
  565. // the data to be written into the
  566. // Flash memory on a buffered Flash
  567. // memory write operation. The
  568. // offset selects one of the 32-bit
  569. // registers. Only FWBn registers
  570. // that have been updated since the
  571. // preceding buffered Flash memory
  572. // write operation are written into
  573. // the Flash memory so it is not
  574. // necessary to write the entire
  575. // bank of registers in order to
  576. // write 1 or 2 words. The FWBn
  577. // registers are written into the
  578. // Flash memory with the FWB0
  579. // register corresponding to the
  580. // address contained in FMA. FWB1 is
  581. // written to the address FMA+0x4
  582. // etc. Note that only data bits
  583. // that are 0 result in the Flash
  584. // memory being modified. A data bit
  585. // that is 1 leaves the content of
  586. // the Flash memory bit at its
  587. // previous value.
  588. #define FLASH_CTRL_O_FWB18 0x00000144 // Flash Write Buffer n (FWBn)
  589. // offset 0x100 - 0x17C These 32
  590. // registers hold the contents of
  591. // the data to be written into the
  592. // Flash memory on a buffered Flash
  593. // memory write operation. The
  594. // offset selects one of the 32-bit
  595. // registers. Only FWBn registers
  596. // that have been updated since the
  597. // preceding buffered Flash memory
  598. // write operation are written into
  599. // the Flash memory so it is not
  600. // necessary to write the entire
  601. // bank of registers in order to
  602. // write 1 or 2 words. The FWBn
  603. // registers are written into the
  604. // Flash memory with the FWB0
  605. // register corresponding to the
  606. // address contained in FMA. FWB1 is
  607. // written to the address FMA+0x4
  608. // etc. Note that only data bits
  609. // that are 0 result in the Flash
  610. // memory being modified. A data bit
  611. // that is 1 leaves the content of
  612. // the Flash memory bit at its
  613. // previous value.
  614. #define FLASH_CTRL_O_FWB19 0x00000148 // Flash Write Buffer n (FWBn)
  615. // offset 0x100 - 0x17C These 32
  616. // registers hold the contents of
  617. // the data to be written into the
  618. // Flash memory on a buffered Flash
  619. // memory write operation. The
  620. // offset selects one of the 32-bit
  621. // registers. Only FWBn registers
  622. // that have been updated since the
  623. // preceding buffered Flash memory
  624. // write operation are written into
  625. // the Flash memory so it is not
  626. // necessary to write the entire
  627. // bank of registers in order to
  628. // write 1 or 2 words. The FWBn
  629. // registers are written into the
  630. // Flash memory with the FWB0
  631. // register corresponding to the
  632. // address contained in FMA. FWB1 is
  633. // written to the address FMA+0x4
  634. // etc. Note that only data bits
  635. // that are 0 result in the Flash
  636. // memory being modified. A data bit
  637. // that is 1 leaves the content of
  638. // the Flash memory bit at its
  639. // previous value.
  640. #define FLASH_CTRL_O_FWB20 0x0000014C // Flash Write Buffer n (FWBn)
  641. // offset 0x100 - 0x17C These 32
  642. // registers hold the contents of
  643. // the data to be written into the
  644. // Flash memory on a buffered Flash
  645. // memory write operation. The
  646. // offset selects one of the 32-bit
  647. // registers. Only FWBn registers
  648. // that have been updated since the
  649. // preceding buffered Flash memory
  650. // write operation are written into
  651. // the Flash memory so it is not
  652. // necessary to write the entire
  653. // bank of registers in order to
  654. // write 1 or 2 words. The FWBn
  655. // registers are written into the
  656. // Flash memory with the FWB0
  657. // register corresponding to the
  658. // address contained in FMA. FWB1 is
  659. // written to the address FMA+0x4
  660. // etc. Note that only data bits
  661. // that are 0 result in the Flash
  662. // memory being modified. A data bit
  663. // that is 1 leaves the content of
  664. // the Flash memory bit at its
  665. // previous value.
  666. #define FLASH_CTRL_O_FWB21 0x00000150 // Flash Write Buffer n (FWBn)
  667. // offset 0x100 - 0x17C These 32
  668. // registers hold the contents of
  669. // the data to be written into the
  670. // Flash memory on a buffered Flash
  671. // memory write operation. The
  672. // offset selects one of the 32-bit
  673. // registers. Only FWBn registers
  674. // that have been updated since the
  675. // preceding buffered Flash memory
  676. // write operation are written into
  677. // the Flash memory so it is not
  678. // necessary to write the entire
  679. // bank of registers in order to
  680. // write 1 or 2 words. The FWBn
  681. // registers are written into the
  682. // Flash memory with the FWB0
  683. // register corresponding to the
  684. // address contained in FMA. FWB1 is
  685. // written to the address FMA+0x4
  686. // etc. Note that only data bits
  687. // that are 0 result in the Flash
  688. // memory being modified. A data bit
  689. // that is 1 leaves the content of
  690. // the Flash memory bit at its
  691. // previous value.
  692. #define FLASH_CTRL_O_FWB22 0x00000154 // Flash Write Buffer n (FWBn)
  693. // offset 0x100 - 0x17C These 32
  694. // registers hold the contents of
  695. // the data to be written into the
  696. // Flash memory on a buffered Flash
  697. // memory write operation. The
  698. // offset selects one of the 32-bit
  699. // registers. Only FWBn registers
  700. // that have been updated since the
  701. // preceding buffered Flash memory
  702. // write operation are written into
  703. // the Flash memory so it is not
  704. // necessary to write the entire
  705. // bank of registers in order to
  706. // write 1 or 2 words. The FWBn
  707. // registers are written into the
  708. // Flash memory with the FWB0
  709. // register corresponding to the
  710. // address contained in FMA. FWB1 is
  711. // written to the address FMA+0x4
  712. // etc. Note that only data bits
  713. // that are 0 result in the Flash
  714. // memory being modified. A data bit
  715. // that is 1 leaves the content of
  716. // the Flash memory bit at its
  717. // previous value.
  718. #define FLASH_CTRL_O_FWB23 0x00000158 // Flash Write Buffer n (FWBn)
  719. // offset 0x100 - 0x17C These 32
  720. // registers hold the contents of
  721. // the data to be written into the
  722. // Flash memory on a buffered Flash
  723. // memory write operation. The
  724. // offset selects one of the 32-bit
  725. // registers. Only FWBn registers
  726. // that have been updated since the
  727. // preceding buffered Flash memory
  728. // write operation are written into
  729. // the Flash memory so it is not
  730. // necessary to write the entire
  731. // bank of registers in order to
  732. // write 1 or 2 words. The FWBn
  733. // registers are written into the
  734. // Flash memory with the FWB0
  735. // register corresponding to the
  736. // address contained in FMA. FWB1 is
  737. // written to the address FMA+0x4
  738. // etc. Note that only data bits
  739. // that are 0 result in the Flash
  740. // memory being modified. A data bit
  741. // that is 1 leaves the content of
  742. // the Flash memory bit at its
  743. // previous value.
  744. #define FLASH_CTRL_O_FWB24 0x0000015C // Flash Write Buffer n (FWBn)
  745. // offset 0x100 - 0x17C These 32
  746. // registers hold the contents of
  747. // the data to be written into the
  748. // Flash memory on a buffered Flash
  749. // memory write operation. The
  750. // offset selects one of the 32-bit
  751. // registers. Only FWBn registers
  752. // that have been updated since the
  753. // preceding buffered Flash memory
  754. // write operation are written into
  755. // the Flash memory so it is not
  756. // necessary to write the entire
  757. // bank of registers in order to
  758. // write 1 or 2 words. The FWBn
  759. // registers are written into the
  760. // Flash memory with the FWB0
  761. // register corresponding to the
  762. // address contained in FMA. FWB1 is
  763. // written to the address FMA+0x4
  764. // etc. Note that only data bits
  765. // that are 0 result in the Flash
  766. // memory being modified. A data bit
  767. // that is 1 leaves the content of
  768. // the Flash memory bit at its
  769. // previous value.
  770. #define FLASH_CTRL_O_FWB25 0x00000160 // Flash Write Buffer n (FWBn)
  771. // offset 0x100 - 0x17C These 32
  772. // registers hold the contents of
  773. // the data to be written into the
  774. // Flash memory on a buffered Flash
  775. // memory write operation. The
  776. // offset selects one of the 32-bit
  777. // registers. Only FWBn registers
  778. // that have been updated since the
  779. // preceding buffered Flash memory
  780. // write operation are written into
  781. // the Flash memory so it is not
  782. // necessary to write the entire
  783. // bank of registers in order to
  784. // write 1 or 2 words. The FWBn
  785. // registers are written into the
  786. // Flash memory with the FWB0
  787. // register corresponding to the
  788. // address contained in FMA. FWB1 is
  789. // written to the address FMA+0x4
  790. // etc. Note that only data bits
  791. // that are 0 result in the Flash
  792. // memory being modified. A data bit
  793. // that is 1 leaves the content of
  794. // the Flash memory bit at its
  795. // previous value.
  796. #define FLASH_CTRL_O_FWB26 0x00000164 // Flash Write Buffer n (FWBn)
  797. // offset 0x100 - 0x17C These 32
  798. // registers hold the contents of
  799. // the data to be written into the
  800. // Flash memory on a buffered Flash
  801. // memory write operation. The
  802. // offset selects one of the 32-bit
  803. // registers. Only FWBn registers
  804. // that have been updated since the
  805. // preceding buffered Flash memory
  806. // write operation are written into
  807. // the Flash memory so it is not
  808. // necessary to write the entire
  809. // bank of registers in order to
  810. // write 1 or 2 words. The FWBn
  811. // registers are written into the
  812. // Flash memory with the FWB0
  813. // register corresponding to the
  814. // address contained in FMA. FWB1 is
  815. // written to the address FMA+0x4
  816. // etc. Note that only data bits
  817. // that are 0 result in the Flash
  818. // memory being modified. A data bit
  819. // that is 1 leaves the content of
  820. // the Flash memory bit at its
  821. // previous value.
  822. #define FLASH_CTRL_O_FWB27 0x00000168 // Flash Write Buffer n (FWBn)
  823. // offset 0x100 - 0x17C These 32
  824. // registers hold the contents of
  825. // the data to be written into the
  826. // Flash memory on a buffered Flash
  827. // memory write operation. The
  828. // offset selects one of the 32-bit
  829. // registers. Only FWBn registers
  830. // that have been updated since the
  831. // preceding buffered Flash memory
  832. // write operation are written into
  833. // the Flash memory so it is not
  834. // necessary to write the entire
  835. // bank of registers in order to
  836. // write 1 or 2 words. The FWBn
  837. // registers are written into the
  838. // Flash memory with the FWB0
  839. // register corresponding to the
  840. // address contained in FMA. FWB1 is
  841. // written to the address FMA+0x4
  842. // etc. Note that only data bits
  843. // that are 0 result in the Flash
  844. // memory being modified. A data bit
  845. // that is 1 leaves the content of
  846. // the Flash memory bit at its
  847. // previous value.
  848. #define FLASH_CTRL_O_FWB28 0x0000016C // Flash Write Buffer n (FWBn)
  849. // offset 0x100 - 0x17C These 32
  850. // registers hold the contents of
  851. // the data to be written into the
  852. // Flash memory on a buffered Flash
  853. // memory write operation. The
  854. // offset selects one of the 32-bit
  855. // registers. Only FWBn registers
  856. // that have been updated since the
  857. // preceding buffered Flash memory
  858. // write operation are written into
  859. // the Flash memory so it is not
  860. // necessary to write the entire
  861. // bank of registers in order to
  862. // write 1 or 2 words. The FWBn
  863. // registers are written into the
  864. // Flash memory with the FWB0
  865. // register corresponding to the
  866. // address contained in FMA. FWB1 is
  867. // written to the address FMA+0x4
  868. // etc. Note that only data bits
  869. // that are 0 result in the Flash
  870. // memory being modified. A data bit
  871. // that is 1 leaves the content of
  872. // the Flash memory bit at its
  873. // previous value.
  874. #define FLASH_CTRL_O_FWB29 0x00000170 // Flash Write Buffer n (FWBn)
  875. // offset 0x100 - 0x17C These 32
  876. // registers hold the contents of
  877. // the data to be written into the
  878. // Flash memory on a buffered Flash
  879. // memory write operation. The
  880. // offset selects one of the 32-bit
  881. // registers. Only FWBn registers
  882. // that have been updated since the
  883. // preceding buffered Flash memory
  884. // write operation are written into
  885. // the Flash memory so it is not
  886. // necessary to write the entire
  887. // bank of registers in order to
  888. // write 1 or 2 words. The FWBn
  889. // registers are written into the
  890. // Flash memory with the FWB0
  891. // register corresponding to the
  892. // address contained in FMA. FWB1 is
  893. // written to the address FMA+0x4
  894. // etc. Note that only data bits
  895. // that are 0 result in the Flash
  896. // memory being modified. A data bit
  897. // that is 1 leaves the content of
  898. // the Flash memory bit at its
  899. // previous value.
  900. #define FLASH_CTRL_O_FWB30 0x00000174 // Flash Write Buffer n (FWBn)
  901. // offset 0x100 - 0x17C These 32
  902. // registers hold the contents of
  903. // the data to be written into the
  904. // Flash memory on a buffered Flash
  905. // memory write operation. The
  906. // offset selects one of the 32-bit
  907. // registers. Only FWBn registers
  908. // that have been updated since the
  909. // preceding buffered Flash memory
  910. // write operation are written into
  911. // the Flash memory so it is not
  912. // necessary to write the entire
  913. // bank of registers in order to
  914. // write 1 or 2 words. The FWBn
  915. // registers are written into the
  916. // Flash memory with the FWB0
  917. // register corresponding to the
  918. // address contained in FMA. FWB1 is
  919. // written to the address FMA+0x4
  920. // etc. Note that only data bits
  921. // that are 0 result in the Flash
  922. // memory being modified. A data bit
  923. // that is 1 leaves the content of
  924. // the Flash memory bit at its
  925. // previous value.
  926. #define FLASH_CTRL_O_FWB31 0x00000178 // Flash Write Buffer n (FWBn)
  927. // offset 0x100 - 0x17C These 32
  928. // registers hold the contents of
  929. // the data to be written into the
  930. // Flash memory on a buffered Flash
  931. // memory write operation. The
  932. // offset selects one of the 32-bit
  933. // registers. Only FWBn registers
  934. // that have been updated since the
  935. // preceding buffered Flash memory
  936. // write operation are written into
  937. // the Flash memory so it is not
  938. // necessary to write the entire
  939. // bank of registers in order to
  940. // write 1 or 2 words. The FWBn
  941. // registers are written into the
  942. // Flash memory with the FWB0
  943. // register corresponding to the
  944. // address contained in FMA. FWB1 is
  945. // written to the address FMA+0x4
  946. // etc. Note that only data bits
  947. // that are 0 result in the Flash
  948. // memory being modified. A data bit
  949. // that is 1 leaves the content of
  950. // the Flash memory bit at its
  951. // previous value.
  952. #define FLASH_CTRL_O_FWB32 0x0000017C // Flash Write Buffer n (FWBn)
  953. // offset 0x100 - 0x17C These 32
  954. // registers hold the contents of
  955. // the data to be written into the
  956. // Flash memory on a buffered Flash
  957. // memory write operation. The
  958. // offset selects one of the 32-bit
  959. // registers. Only FWBn registers
  960. // that have been updated since the
  961. // preceding buffered Flash memory
  962. // write operation are written into
  963. // the Flash memory so it is not
  964. // necessary to write the entire
  965. // bank of registers in order to
  966. // write 1 or 2 words. The FWBn
  967. // registers are written into the
  968. // Flash memory with the FWB0
  969. // register corresponding to the
  970. // address contained in FMA. FWB1 is
  971. // written to the address FMA+0x4
  972. // etc. Note that only data bits
  973. // that are 0 result in the Flash
  974. // memory being modified. A data bit
  975. // that is 1 leaves the content of
  976. // the Flash memory bit at its
  977. // previous value.
  978. #define FLASH_CTRL_O_FSIZE 0x00000FC0 // Flash Size (FSIZE) offset 0xFC0
  979. // This register indicates the size
  980. // of the on-chip Flash memory.
  981. // Important: This register should
  982. // be used to determine the size of
  983. // the Flash memory that is
  984. // implemented on this
  985. // microcontroller. However to
  986. // support legacy software the DC0
  987. // register is available. A read of
  988. // the DC0 register correctly
  989. // identifies legacy memory sizes.
  990. // Software must use the FSIZE
  991. // register for memory sizes that
  992. // are not listed in the DC0
  993. // register description.
  994. #define FLASH_CTRL_O_SSIZE 0x00000FC4 // SRAM Size (SSIZE) offset 0xFC4
  995. // This register indicates the size
  996. // of the on-chip SRAM. Important:
  997. // This register should be used to
  998. // determine the size of the SRAM
  999. // that is implemented on this
  1000. // microcontroller. However to
  1001. // support legacy software the DC0
  1002. // register is available. A read of
  1003. // the DC0 register correctly
  1004. // identifies legacy memory sizes.
  1005. // Software must use the SSIZE
  1006. // register for memory sizes that
  1007. // are not listed in the DC0
  1008. // register description.
  1009. //******************************************************************************
  1010. //
  1011. // The following are defines for the bit fields in the FLASH_CTRL_O_FMA register.
  1012. //
  1013. //******************************************************************************
  1014. #define FLASH_CTRL_FMA_OFFSET_M 0x0003FFFF // Address Offset Address offset in
  1015. // Flash memory where operation is
  1016. // performed except for nonvolatile
  1017. // registers
  1018. #define FLASH_CTRL_FMA_OFFSET_S 0
  1019. //******************************************************************************
  1020. //
  1021. // The following are defines for the bit fields in the FLASH_CTRL_O_FMD register.
  1022. //
  1023. //******************************************************************************
  1024. #define FLASH_CTRL_FMD_DATA_M 0xFFFFFFFF // Data Value Data value for write
  1025. // operation.
  1026. #define FLASH_CTRL_FMD_DATA_S 0
  1027. //******************************************************************************
  1028. //
  1029. // The following are defines for the bit fields in the FLASH_CTRL_O_FMC register.
  1030. //
  1031. //******************************************************************************
  1032. #define FLASH_CTRL_FMC_WRKEY_M 0xFFFF0000 // Flash Memory Write Key This
  1033. // field contains a write key which
  1034. // is used to minimize the incidence
  1035. // of accidental Flash memory
  1036. // writes. The value 0xA442 must be
  1037. // written into this field for a
  1038. // Flash memory write to occur.
  1039. // Writes to the FMC register
  1040. // without this WRKEY value are
  1041. // ignored. A read of this field
  1042. // returns the value 0.
  1043. #define FLASH_CTRL_FMC_WRKEY_S 16
  1044. #define FLASH_CTRL_FMC_COMT 0x00000008 // Commit Register Value This bit
  1045. // is used to commit writes to
  1046. // Flash-memory-resident registers
  1047. // and to monitor the progress of
  1048. // that process. Value Description 1
  1049. // Set this bit to commit (write)
  1050. // the register value to a
  1051. // Flash-memory-resident register.
  1052. // When read a 1 indicates that the
  1053. // previous commit access is not
  1054. // complete. 0 A write of 0 has no
  1055. // effect on the state of this bit.
  1056. // When read a 0 indicates that the
  1057. // previous commit access is
  1058. // complete.
  1059. #define FLASH_CTRL_FMC_MERASE1 0x00000004 // Mass Erase Flash Memory This bit
  1060. // is used to mass erase the Flash
  1061. // main memory and to monitor the
  1062. // progress of that process. Value
  1063. // Description 1 Set this bit to
  1064. // erase the Flash main memory. When
  1065. // read a 1 indicates that the
  1066. // previous mass erase access is not
  1067. // complete. 0 A write of 0 has no
  1068. // effect on the state of this bit.
  1069. // When read a 0 indicates that the
  1070. // previous mass erase access is
  1071. // complete.
  1072. #define FLASH_CTRL_FMC_ERASE 0x00000002 // Erase a Page of Flash Memory
  1073. // This bit is used to erase a page
  1074. // of Flash memory and to monitor
  1075. // the progress of that process.
  1076. // Value Description 1 Set this bit
  1077. // to erase the Flash memory page
  1078. // specified by the contents of the
  1079. // FMA register. When read a 1
  1080. // indicates that the previous page
  1081. // erase access is not complete. 0 A
  1082. // write of 0 has no effect on the
  1083. // state of this bit. When read a 0
  1084. // indicates that the previous page
  1085. // erase access is complete.
  1086. #define FLASH_CTRL_FMC_WRITE 0x00000001 // Write a Word into Flash Memory
  1087. // This bit is used to write a word
  1088. // into Flash memory and to monitor
  1089. // the progress of that process.
  1090. // Value Description 1 Set this bit
  1091. // to write the data stored in the
  1092. // FMD register into the Flash
  1093. // memory location specified by the
  1094. // contents of the FMA register.
  1095. // When read a 1 indicates that the
  1096. // write update access is not
  1097. // complete. 0 A write of 0 has no
  1098. // effect on the state of this bit.
  1099. // When read a 0 indicates that the
  1100. // previous write update access is
  1101. // complete.
  1102. //******************************************************************************
  1103. //
  1104. // The following are defines for the bit fields in the
  1105. // FLASH_CTRL_O_FCRIS register.
  1106. //
  1107. //******************************************************************************
  1108. #define FLASH_CTRL_FCRIS_PROGRIS \
  1109. 0x00002000 // Program Verify Error Raw
  1110. // Interrupt Status Value
  1111. // Description 1 An interrupt is
  1112. // pending because the verify of a
  1113. // PROGRAM operation failed. 0 An
  1114. // interrupt has not occurred. This
  1115. // bit is cleared by writing a 1 to
  1116. // the PROGMISC bit in the FCMISC
  1117. // register.
  1118. #define FLASH_CTRL_FCRIS_ERRIS 0x00000800 // Erase Verify Error Raw Interrupt
  1119. // Status Value Description 1 An
  1120. // interrupt is pending because the
  1121. // verify of an ERASE operation
  1122. // failed. 0 An interrupt has not
  1123. // occurred. This bit is cleared by
  1124. // writing a 1 to the ERMISC bit in
  1125. // the FCMISC register.
  1126. #define FLASH_CTRL_FCRIS_INVDRIS \
  1127. 0x00000400 // Invalid Data Raw Interrupt
  1128. // Status Value Description 1 An
  1129. // interrupt is pending because a
  1130. // bit that was previously
  1131. // programmed as a 0 is now being
  1132. // requested to be programmed as a
  1133. // 1. 0 An interrupt has not
  1134. // occurred. This bit is cleared by
  1135. // writing a 1 to the INVMISC bit in
  1136. // the FCMISC register.
  1137. #define FLASH_CTRL_FCRIS_VOLTRIS \
  1138. 0x00000200 // Pump Voltage Raw Interrupt
  1139. // Status Value Description 1 An
  1140. // interrupt is pending because the
  1141. // regulated voltage of the pump
  1142. // went out of spec during the Flash
  1143. // operation and the operation was
  1144. // terminated. 0 An interrupt has
  1145. // not occurred. This bit is cleared
  1146. // by writing a 1 to the VOLTMISC
  1147. // bit in the FCMISC register.
  1148. #define FLASH_CTRL_FCRIS_ERIS 0x00000004 // EEPROM Raw Interrupt Status This
  1149. // bit provides status EEPROM
  1150. // operation. Value Description 1 An
  1151. // EEPROM interrupt has occurred. 0
  1152. // An EEPROM interrupt has not
  1153. // occurred. This bit is cleared by
  1154. // writing a 1 to the EMISC bit in
  1155. // the FCMISC register.
  1156. #define FLASH_CTRL_FCRIS_PRIS 0x00000002 // Programming Raw Interrupt Status
  1157. // This bit provides status on
  1158. // programming cycles which are
  1159. // write or erase actions generated
  1160. // through the FMC or FMC2 register
  1161. // bits (see page 537 and page 549).
  1162. // Value Description 1 The
  1163. // programming or erase cycle has
  1164. // completed. 0 The programming or
  1165. // erase cycle has not completed.
  1166. // This status is sent to the
  1167. // interrupt controller when the
  1168. // PMASK bit in the FCIM register is
  1169. // set. This bit is cleared by
  1170. // writing a 1 to the PMISC bit in
  1171. // the FCMISC register.
  1172. #define FLASH_CTRL_FCRIS_ARIS 0x00000001 // Access Raw Interrupt Status
  1173. // Value Description 1 A program or
  1174. // erase action was attempted on a
  1175. // block of Flash memory that
  1176. // contradicts the protection policy
  1177. // for that block as set in the
  1178. // FMPPEn registers. 0 No access has
  1179. // tried to improperly program or
  1180. // erase the Flash memory. This
  1181. // status is sent to the interrupt
  1182. // controller when the AMASK bit in
  1183. // the FCIM register is set. This
  1184. // bit is cleared by writing a 1 to
  1185. // the AMISC bit in the FCMISC
  1186. // register.
  1187. //******************************************************************************
  1188. //
  1189. // The following are defines for the bit fields in the FLASH_CTRL_O_FCIM register.
  1190. //
  1191. //******************************************************************************
  1192. #define FLASH_CTRL_FCIM_ILLMASK 0x00004000 // Illegal Address Interrupt Mask
  1193. // Value Description 1 An interrupt
  1194. // is sent to the interrupt
  1195. // controller when the ILLARIS bit
  1196. // is set. 0 The ILLARIS interrupt
  1197. // is suppressed and not sent to the
  1198. // interrupt controller.
  1199. #define FLASH_CTRL_FCIM_PROGMASK \
  1200. 0x00002000 // PROGVER Interrupt Mask Value
  1201. // Description 1 An interrupt is
  1202. // sent to the interrupt controller
  1203. // when the PROGRIS bit is set. 0
  1204. // The PROGRIS interrupt is
  1205. // suppressed and not sent to the
  1206. // interrupt controller.
  1207. #define FLASH_CTRL_FCIM_PREMASK 0x00001000 // PREVER Interrupt Mask Value
  1208. // Description 1 An interrupt is
  1209. // sent to the interrupt controller
  1210. // when the PRERIS bit is set. 0 The
  1211. // PRERIS interrupt is suppressed
  1212. // and not sent to the interrupt
  1213. // controller.
  1214. #define FLASH_CTRL_FCIM_ERMASK 0x00000800 // ERVER Interrupt Mask Value
  1215. // Description 1 An interrupt is
  1216. // sent to the interrupt controller
  1217. // when the ERRIS bit is set. 0 The
  1218. // ERRIS interrupt is suppressed and
  1219. // not sent to the interrupt
  1220. // controller.
  1221. #define FLASH_CTRL_FCIM_INVDMASK \
  1222. 0x00000400 // Invalid Data Interrupt Mask
  1223. // Value Description 1 An interrupt
  1224. // is sent to the interrupt
  1225. // controller when the INVDRIS bit
  1226. // is set. 0 The INVDRIS interrupt
  1227. // is suppressed and not sent to the
  1228. // interrupt controller.
  1229. #define FLASH_CTRL_FCIM_VOLTMASK \
  1230. 0x00000200 // VOLT Interrupt Mask Value
  1231. // Description 1 An interrupt is
  1232. // sent to the interrupt controller
  1233. // when the VOLTRIS bit is set. 0
  1234. // The VOLTRIS interrupt is
  1235. // suppressed and not sent to the
  1236. // interrupt controller.
  1237. #define FLASH_CTRL_FCIM_LOCKMASK \
  1238. 0x00000100 // LOCK Interrupt Mask Value
  1239. // Description 1 An interrupt is
  1240. // sent to the interrupt controller
  1241. // when the LOCKRIS bit is set. 0
  1242. // The LOCKRIS interrupt is
  1243. // suppressed and not sent to the
  1244. // interrupt controller.
  1245. #define FLASH_CTRL_FCIM_EMASK 0x00000004 // EEPROM Interrupt Mask Value
  1246. // Description 1 An interrupt is
  1247. // sent to the interrupt controller
  1248. // when the ERIS bit is set. 0 The
  1249. // ERIS interrupt is suppressed and
  1250. // not sent to the interrupt
  1251. // controller.
  1252. #define FLASH_CTRL_FCIM_PMASK 0x00000002 // Programming Interrupt Mask This
  1253. // bit controls the reporting of the
  1254. // programming raw interrupt status
  1255. // to the interrupt controller.
  1256. // Value Description 1 An interrupt
  1257. // is sent to the interrupt
  1258. // controller when the PRIS bit is
  1259. // set. 0 The PRIS interrupt is
  1260. // suppressed and not sent to the
  1261. // interrupt controller.
  1262. #define FLASH_CTRL_FCIM_AMASK 0x00000001 // Access Interrupt Mask This bit
  1263. // controls the reporting of the
  1264. // access raw interrupt status to
  1265. // the interrupt controller. Value
  1266. // Description 1 An interrupt is
  1267. // sent to the interrupt controller
  1268. // when the ARIS bit is set. 0 The
  1269. // ARIS interrupt is suppressed and
  1270. // not sent to the interrupt
  1271. // controller.
  1272. //******************************************************************************
  1273. //
  1274. // The following are defines for the bit fields in the
  1275. // FLASH_CTRL_O_FCMISC register.
  1276. //
  1277. //******************************************************************************
  1278. #define FLASH_CTRL_FCMISC_ILLMISC \
  1279. 0x00004000 // Illegal Address Masked Interrupt
  1280. // Status and Clear Value
  1281. // Description 1 When read a 1
  1282. // indicates that an unmasked
  1283. // interrupt was signaled. Writing a
  1284. // 1 to this bit clears ILLAMISC and
  1285. // also the ILLARIS bit in the FCRIS
  1286. // register (see page 540). 0 When
  1287. // read a 0 indicates that an
  1288. // interrupt has not occurred. A
  1289. // write of 0 has no effect on the
  1290. // state of this bit.
  1291. #define FLASH_CTRL_FCMISC_PROGMISC \
  1292. 0x00002000 // PROGVER Masked Interrupt Status
  1293. // and Clear Value Description 1
  1294. // When read a 1 indicates that an
  1295. // unmasked interrupt was signaled.
  1296. // Writing a 1 to this bit clears
  1297. // PROGMISC and also the PROGRIS bit
  1298. // in the FCRIS register (see page
  1299. // 540). 0 When read a 0 indicates
  1300. // that an interrupt has not
  1301. // occurred. A write of 0 has no
  1302. // effect on the state of this bit.
  1303. #define FLASH_CTRL_FCMISC_PREMISC \
  1304. 0x00001000 // PREVER Masked Interrupt Status
  1305. // and Clear Value Description 1
  1306. // When read a 1 indicates that an
  1307. // unmasked interrupt was signaled.
  1308. // Writing a 1 to this bit clears
  1309. // PREMISC and also the PRERIS bit
  1310. // in the FCRIS register . 0 When
  1311. // read a 0 indicates that an
  1312. // interrupt has not occurred. A
  1313. // write of 0 has no effect on the
  1314. // state of this bit.
  1315. #define FLASH_CTRL_FCMISC_ERMISC \
  1316. 0x00000800 // ERVER Masked Interrupt Status
  1317. // and Clear Value Description 1
  1318. // When read a 1 indicates that an
  1319. // unmasked interrupt was signaled.
  1320. // Writing a 1 to this bit clears
  1321. // ERMISC and also the ERRIS bit in
  1322. // the FCRIS register 0 When read a
  1323. // 0 indicates that an interrupt has
  1324. // not occurred. A write of 0 has no
  1325. // effect on the state of this bit.
  1326. #define FLASH_CTRL_FCMISC_INVDMISC \
  1327. 0x00000400 // Invalid Data Masked Interrupt
  1328. // Status and Clear Value
  1329. // Description 1 When read a 1
  1330. // indicates that an unmasked
  1331. // interrupt was signaled. Writing a
  1332. // 1 to this bit clears INVDMISC and
  1333. // also the INVDRIS bit in the FCRIS
  1334. // register (see page 540). 0 When
  1335. // read a 0 indicates that an
  1336. // interrupt has not occurred. A
  1337. // write of 0 has no effect on the
  1338. // state of this bit.
  1339. #define FLASH_CTRL_FCMISC_VOLTMISC \
  1340. 0x00000200 // VOLT Masked Interrupt Status and
  1341. // Clear Value Description 1 When
  1342. // read a 1 indicates that an
  1343. // unmasked interrupt was signaled.
  1344. // Writing a 1 to this bit clears
  1345. // VOLTMISC and also the VOLTRIS bit
  1346. // in the FCRIS register (see page
  1347. // 540). 0 When read a 0 indicates
  1348. // that an interrupt has not
  1349. // occurred. A write of 0 has no
  1350. // effect on the state of this bit.
  1351. #define FLASH_CTRL_FCMISC_LOCKMISC \
  1352. 0x00000100 // LOCK Masked Interrupt Status and
  1353. // Clear Value Description 1 When
  1354. // read a 1 indicates that an
  1355. // unmasked interrupt was signaled.
  1356. // Writing a 1 to this bit clears
  1357. // LOCKMISC and also the LOCKRIS bit
  1358. // in the FCRIS register (see page
  1359. // 540). 0 When read a 0 indicates
  1360. // that an interrupt has not
  1361. // occurred. A write of 0 has no
  1362. // effect on the state of this bit.
  1363. #define FLASH_CTRL_FCMISC_EMISC 0x00000004 // EEPROM Masked Interrupt Status
  1364. // and Clear Value Description 1
  1365. // When read a 1 indicates that an
  1366. // unmasked interrupt was signaled.
  1367. // Writing a 1 to this bit clears
  1368. // EMISC and also the ERIS bit in
  1369. // the FCRIS register 0 When read a
  1370. // 0 indicates that an interrupt has
  1371. // not occurred. A write of 0 has no
  1372. // effect on the state of this bit.
  1373. #define FLASH_CTRL_FCMISC_PMISC 0x00000002 // Programming Masked Interrupt
  1374. // Status and Clear Value
  1375. // Description 1 When read a 1
  1376. // indicates that an unmasked
  1377. // interrupt was signaled because a
  1378. // programming cycle completed.
  1379. // Writing a 1 to this bit clears
  1380. // PMISC and also the PRIS bit in
  1381. // the FCRIS register 0 When read a
  1382. // 0 indicates that a programming
  1383. // cycle complete interrupt has not
  1384. // occurred. A write of 0 has no
  1385. // effect on the state of this bit.
  1386. #define FLASH_CTRL_FCMISC_AMISC 0x00000001 // Access Masked Interrupt Status
  1387. // and Clear Value Description 1
  1388. // When read a 1 indicates that an
  1389. // unmasked interrupt was signaled
  1390. // because a program or erase action
  1391. // was attempted on a block of Flash
  1392. // memory that contradicts the
  1393. // protection policy for that block
  1394. // as set in the FMPPEn registers.
  1395. // Writing a 1 to this bit clears
  1396. // AMISC and also the ARIS bit in
  1397. // the FCRIS register 0 When read a
  1398. // 0 indicates that no improper
  1399. // accesses have occurred. A write
  1400. // of 0 has no effect on the state
  1401. // of this bit.
  1402. //******************************************************************************
  1403. //
  1404. // The following are defines for the bit fields in the FLASH_CTRL_O_FMC2 register.
  1405. //
  1406. //******************************************************************************
  1407. #define FLASH_CTRL_FMC2_WRKEY_M 0xFFFF0000 // Flash Memory Write Key This
  1408. // field contains a write key which
  1409. // is used to minimize the incidence
  1410. // of accidental Flash memory
  1411. // writes. The value 0xA442 must be
  1412. // written into this field for a
  1413. // write to occur. Writes to the
  1414. // FMC2 register without this WRKEY
  1415. // value are ignored. A read of this
  1416. // field returns the value 0.
  1417. #define FLASH_CTRL_FMC2_WRKEY_S 16
  1418. #define FLASH_CTRL_FMC2_WRBUF 0x00000001 // Buffered Flash Memory Write This
  1419. // bit is used to start a buffered
  1420. // write to Flash memory. Value
  1421. // Description 1 Set this bit to
  1422. // write the data stored in the FWBn
  1423. // registers to the location
  1424. // specified by the contents of the
  1425. // FMA register. When read a 1
  1426. // indicates that the previous
  1427. // buffered Flash memory write
  1428. // access is not complete. 0 A write
  1429. // of 0 has no effect on the state
  1430. // of this bit. When read a 0
  1431. // indicates that the previous
  1432. // buffered Flash memory write
  1433. // access is complete.
  1434. //******************************************************************************
  1435. //
  1436. // The following are defines for the bit fields in the
  1437. // FLASH_CTRL_O_FWBVAL register.
  1438. //
  1439. //******************************************************************************
  1440. #define FLASH_CTRL_FWBVAL_FWBN_M \
  1441. 0xFFFFFFFF // Flash Memory Write Buffer Value
  1442. // Description 1 The corresponding
  1443. // FWBn register has been updated
  1444. // since the last buffer write
  1445. // operation and is ready to be
  1446. // written to Flash memory. 0 The
  1447. // corresponding FWBn register has
  1448. // no new data to be written. Bit 0
  1449. // corresponds to FWB0 offset 0x100
  1450. // and bit 31 corresponds to FWB31
  1451. // offset 0x13C.
  1452. #define FLASH_CTRL_FWBVAL_FWBN_S 0
  1453. //******************************************************************************
  1454. //
  1455. // The following are defines for the bit fields in the FLASH_CTRL_O_FWB1 register.
  1456. //
  1457. //******************************************************************************
  1458. #define FLASH_CTRL_FWB1_DATA_M 0xFFFFFFFF // Data Data to be written into the
  1459. // Flash memory.
  1460. #define FLASH_CTRL_FWB1_DATA_S 0
  1461. //******************************************************************************
  1462. //
  1463. // The following are defines for the bit fields in the FLASH_CTRL_O_FWB2 register.
  1464. //
  1465. //******************************************************************************
  1466. #define FLASH_CTRL_FWB2_DATA_M 0xFFFFFFFF // Data Data to be written into the
  1467. // Flash memory.
  1468. #define FLASH_CTRL_FWB2_DATA_S 0
  1469. //******************************************************************************
  1470. //
  1471. // The following are defines for the bit fields in the FLASH_CTRL_O_FWB3 register.
  1472. //
  1473. //******************************************************************************
  1474. #define FLASH_CTRL_FWB3_DATA_M 0xFFFFFFFF // Data Data to be written into the
  1475. // Flash memory.
  1476. #define FLASH_CTRL_FWB3_DATA_S 0
  1477. //******************************************************************************
  1478. //
  1479. // The following are defines for the bit fields in the FLASH_CTRL_O_FWB4 register.
  1480. //
  1481. //******************************************************************************
  1482. #define FLASH_CTRL_FWB4_DATA_M 0xFFFFFFFF // Data Data to be written into the
  1483. // Flash memory.
  1484. #define FLASH_CTRL_FWB4_DATA_S 0
  1485. //******************************************************************************
  1486. //
  1487. // The following are defines for the bit fields in the FLASH_CTRL_O_FWB5 register.
  1488. //
  1489. //******************************************************************************
  1490. #define FLASH_CTRL_FWB5_DATA_M 0xFFFFFFFF // Data Data to be written into the
  1491. // Flash memory.
  1492. #define FLASH_CTRL_FWB5_DATA_S 0
  1493. //******************************************************************************
  1494. //
  1495. // The following are defines for the bit fields in the FLASH_CTRL_O_FWB6 register.
  1496. //
  1497. //******************************************************************************
  1498. #define FLASH_CTRL_FWB6_DATA_M 0xFFFFFFFF // Data Data to be written into the
  1499. // Flash memory.
  1500. #define FLASH_CTRL_FWB6_DATA_S 0
  1501. //******************************************************************************
  1502. //
  1503. // The following are defines for the bit fields in the FLASH_CTRL_O_FWB7 register.
  1504. //
  1505. //******************************************************************************
  1506. #define FLASH_CTRL_FWB7_DATA_M 0xFFFFFFFF // Data Data to be written into the
  1507. // Flash memory.
  1508. #define FLASH_CTRL_FWB7_DATA_S 0
  1509. //******************************************************************************
  1510. //
  1511. // The following are defines for the bit fields in the FLASH_CTRL_O_FWB8 register.
  1512. //
  1513. //******************************************************************************
  1514. #define FLASH_CTRL_FWB8_DATA_M 0xFFFFFFFF // Data Data to be written into the
  1515. // Flash memory.
  1516. #define FLASH_CTRL_FWB8_DATA_S 0
  1517. //******************************************************************************
  1518. //
  1519. // The following are defines for the bit fields in the FLASH_CTRL_O_FWB9 register.
  1520. //
  1521. //******************************************************************************
  1522. #define FLASH_CTRL_FWB9_DATA_M 0xFFFFFFFF // Data Data to be written into the
  1523. // Flash memory.
  1524. #define FLASH_CTRL_FWB9_DATA_S 0
  1525. //******************************************************************************
  1526. //
  1527. // The following are defines for the bit fields in the
  1528. // FLASH_CTRL_O_FWB10 register.
  1529. //
  1530. //******************************************************************************
  1531. #define FLASH_CTRL_FWB10_DATA_M 0xFFFFFFFF // Data Data to be written into the
  1532. // Flash memory.
  1533. #define FLASH_CTRL_FWB10_DATA_S 0
  1534. //******************************************************************************
  1535. //
  1536. // The following are defines for the bit fields in the
  1537. // FLASH_CTRL_O_FWB11 register.
  1538. //
  1539. //******************************************************************************
  1540. #define FLASH_CTRL_FWB11_DATA_M 0xFFFFFFFF // Data Data to be written into the
  1541. // Flash memory.
  1542. #define FLASH_CTRL_FWB11_DATA_S 0
  1543. //******************************************************************************
  1544. //
  1545. // The following are defines for the bit fields in the
  1546. // FLASH_CTRL_O_FWB12 register.
  1547. //
  1548. //******************************************************************************
  1549. #define FLASH_CTRL_FWB12_DATA_M 0xFFFFFFFF // Data Data to be written into the
  1550. // Flash memory.
  1551. #define FLASH_CTRL_FWB12_DATA_S 0
  1552. //******************************************************************************
  1553. //
  1554. // The following are defines for the bit fields in the
  1555. // FLASH_CTRL_O_FWB13 register.
  1556. //
  1557. //******************************************************************************
  1558. #define FLASH_CTRL_FWB13_DATA_M 0xFFFFFFFF // Data Data to be written into the
  1559. // Flash memory.
  1560. #define FLASH_CTRL_FWB13_DATA_S 0
  1561. //******************************************************************************
  1562. //
  1563. // The following are defines for the bit fields in the
  1564. // FLASH_CTRL_O_FWB14 register.
  1565. //
  1566. //******************************************************************************
  1567. #define FLASH_CTRL_FWB14_DATA_M 0xFFFFFFFF // Data Data to be written into the
  1568. // Flash memory.
  1569. #define FLASH_CTRL_FWB14_DATA_S 0
  1570. //******************************************************************************
  1571. //
  1572. // The following are defines for the bit fields in the
  1573. // FLASH_CTRL_O_FWB15 register.
  1574. //
  1575. //******************************************************************************
  1576. #define FLASH_CTRL_FWB15_DATA_M 0xFFFFFFFF // Data Data to be written into the
  1577. // Flash memory.
  1578. #define FLASH_CTRL_FWB15_DATA_S 0
  1579. //******************************************************************************
  1580. //
  1581. // The following are defines for the bit fields in the
  1582. // FLASH_CTRL_O_FWB16 register.
  1583. //
  1584. //******************************************************************************
  1585. #define FLASH_CTRL_FWB16_DATA_M 0xFFFFFFFF // Data Data to be written into the
  1586. // Flash memory.
  1587. #define FLASH_CTRL_FWB16_DATA_S 0
  1588. //******************************************************************************
  1589. //
  1590. // The following are defines for the bit fields in the
  1591. // FLASH_CTRL_O_FWB17 register.
  1592. //
  1593. //******************************************************************************
  1594. #define FLASH_CTRL_FWB17_DATA_M 0xFFFFFFFF // Data Data to be written into the
  1595. // Flash memory.
  1596. #define FLASH_CTRL_FWB17_DATA_S 0
  1597. //******************************************************************************
  1598. //
  1599. // The following are defines for the bit fields in the
  1600. // FLASH_CTRL_O_FWB18 register.
  1601. //
  1602. //******************************************************************************
  1603. #define FLASH_CTRL_FWB18_DATA_M 0xFFFFFFFF // Data Data to be written into the
  1604. // Flash memory.
  1605. #define FLASH_CTRL_FWB18_DATA_S 0
  1606. //******************************************************************************
  1607. //
  1608. // The following are defines for the bit fields in the
  1609. // FLASH_CTRL_O_FWB19 register.
  1610. //
  1611. //******************************************************************************
  1612. #define FLASH_CTRL_FWB19_DATA_M 0xFFFFFFFF // Data Data to be written into the
  1613. // Flash memory.
  1614. #define FLASH_CTRL_FWB19_DATA_S 0
  1615. //******************************************************************************
  1616. //
  1617. // The following are defines for the bit fields in the
  1618. // FLASH_CTRL_O_FWB20 register.
  1619. //
  1620. //******************************************************************************
  1621. #define FLASH_CTRL_FWB20_DATA_M 0xFFFFFFFF // Data Data to be written into the
  1622. // Flash memory.
  1623. #define FLASH_CTRL_FWB20_DATA_S 0
  1624. //******************************************************************************
  1625. //
  1626. // The following are defines for the bit fields in the
  1627. // FLASH_CTRL_O_FWB21 register.
  1628. //
  1629. //******************************************************************************
  1630. #define FLASH_CTRL_FWB21_DATA_M 0xFFFFFFFF // Data Data to be written into the
  1631. // Flash memory.
  1632. #define FLASH_CTRL_FWB21_DATA_S 0
  1633. //******************************************************************************
  1634. //
  1635. // The following are defines for the bit fields in the
  1636. // FLASH_CTRL_O_FWB22 register.
  1637. //
  1638. //******************************************************************************
  1639. #define FLASH_CTRL_FWB22_DATA_M 0xFFFFFFFF // Data Data to be written into the
  1640. // Flash memory.
  1641. #define FLASH_CTRL_FWB22_DATA_S 0
  1642. //******************************************************************************
  1643. //
  1644. // The following are defines for the bit fields in the
  1645. // FLASH_CTRL_O_FWB23 register.
  1646. //
  1647. //******************************************************************************
  1648. #define FLASH_CTRL_FWB23_DATA_M 0xFFFFFFFF // Data Data to be written into the
  1649. // Flash memory.
  1650. #define FLASH_CTRL_FWB23_DATA_S 0
  1651. //******************************************************************************
  1652. //
  1653. // The following are defines for the bit fields in the
  1654. // FLASH_CTRL_O_FWB24 register.
  1655. //
  1656. //******************************************************************************
  1657. #define FLASH_CTRL_FWB24_DATA_M 0xFFFFFFFF // Data Data to be written into the
  1658. // Flash memory.
  1659. #define FLASH_CTRL_FWB24_DATA_S 0
  1660. //******************************************************************************
  1661. //
  1662. // The following are defines for the bit fields in the
  1663. // FLASH_CTRL_O_FWB25 register.
  1664. //
  1665. //******************************************************************************
  1666. #define FLASH_CTRL_FWB25_DATA_M 0xFFFFFFFF // Data Data to be written into the
  1667. // Flash memory.
  1668. #define FLASH_CTRL_FWB25_DATA_S 0
  1669. //******************************************************************************
  1670. //
  1671. // The following are defines for the bit fields in the
  1672. // FLASH_CTRL_O_FWB26 register.
  1673. //
  1674. //******************************************************************************
  1675. #define FLASH_CTRL_FWB26_DATA_M 0xFFFFFFFF // Data Data to be written into the
  1676. // Flash memory.
  1677. #define FLASH_CTRL_FWB26_DATA_S 0
  1678. //******************************************************************************
  1679. //
  1680. // The following are defines for the bit fields in the
  1681. // FLASH_CTRL_O_FWB27 register.
  1682. //
  1683. //******************************************************************************
  1684. #define FLASH_CTRL_FWB27_DATA_M 0xFFFFFFFF // Data Data to be written into the
  1685. // Flash memory.
  1686. #define FLASH_CTRL_FWB27_DATA_S 0
  1687. //******************************************************************************
  1688. //
  1689. // The following are defines for the bit fields in the
  1690. // FLASH_CTRL_O_FWB28 register.
  1691. //
  1692. //******************************************************************************
  1693. #define FLASH_CTRL_FWB28_DATA_M 0xFFFFFFFF // Data Data to be written into the
  1694. // Flash memory.
  1695. #define FLASH_CTRL_FWB28_DATA_S 0
  1696. //******************************************************************************
  1697. //
  1698. // The following are defines for the bit fields in the
  1699. // FLASH_CTRL_O_FWB29 register.
  1700. //
  1701. //******************************************************************************
  1702. #define FLASH_CTRL_FWB29_DATA_M 0xFFFFFFFF // Data Data to be written into the
  1703. // Flash memory.
  1704. #define FLASH_CTRL_FWB29_DATA_S 0
  1705. //******************************************************************************
  1706. //
  1707. // The following are defines for the bit fields in the
  1708. // FLASH_CTRL_O_FWB30 register.
  1709. //
  1710. //******************************************************************************
  1711. #define FLASH_CTRL_FWB30_DATA_M 0xFFFFFFFF // Data Data to be written into the
  1712. // Flash memory.
  1713. #define FLASH_CTRL_FWB30_DATA_S 0
  1714. //******************************************************************************
  1715. //
  1716. // The following are defines for the bit fields in the
  1717. // FLASH_CTRL_O_FWB31 register.
  1718. //
  1719. //******************************************************************************
  1720. #define FLASH_CTRL_FWB31_DATA_M 0xFFFFFFFF // Data Data to be written into the
  1721. // Flash memory.
  1722. #define FLASH_CTRL_FWB31_DATA_S 0
  1723. //******************************************************************************
  1724. //
  1725. // The following are defines for the bit fields in the
  1726. // FLASH_CTRL_O_FWB32 register.
  1727. //
  1728. //******************************************************************************
  1729. #define FLASH_CTRL_FWB32_DATA_M 0xFFFFFFFF // Data Data to be written into the
  1730. // Flash memory.
  1731. #define FLASH_CTRL_FWB32_DATA_S 0
  1732. //******************************************************************************
  1733. //
  1734. // The following are defines for the bit fields in the
  1735. // FLASH_CTRL_O_FSIZE register.
  1736. //
  1737. //******************************************************************************
  1738. #define FLASH_CTRL_FSIZE_SIZE_M 0x0000FFFF // Flash Size Indicates the size of
  1739. // the on-chip Flash memory. Value
  1740. // Description 0x0003 8 KB of Flash
  1741. // 0x0007 16 KB of Flash 0x000F 32
  1742. // KB of Flash 0x001F 64 KB of Flash
  1743. // 0x002F 96 KB of Flash 0x003F 128
  1744. // KB of Flash 0x005F 192 KB of
  1745. // Flash 0x007F 256 KB of Flash
  1746. #define FLASH_CTRL_FSIZE_SIZE_S 0
  1747. //******************************************************************************
  1748. //
  1749. // The following are defines for the bit fields in the
  1750. // FLASH_CTRL_O_SSIZE register.
  1751. //
  1752. //******************************************************************************
  1753. #define FLASH_CTRL_SSIZE_SRAM_SIZE_M \
  1754. 0x0000FFFF // SRAM Size Indicates the size of
  1755. // the on-chip SRAM. Value
  1756. // Description 0x0007 2 KB of SRAM
  1757. // 0x000F 4 KB of SRAM 0x0017 6 KB
  1758. // of SRAM 0x001F 8 KB of SRAM
  1759. // 0x002F 12 KB of SRAM 0x003F 16 KB
  1760. // of SRAM 0x004F 20 KB of SRAM
  1761. // 0x005F 24 KB of SRAM 0x007F 32 KB
  1762. // of SRAM
  1763. #define FLASH_CTRL_SSIZE_SRAM_SIZE_S 0
  1764. #define FLASH_CTRL_FMC_WRKEY 0xA4420000 // FLASH write key
  1765. #define FLASH_CTRL_FMC2_WRKEY 0xA4420000 // FLASH write key
  1766. #define FLASH_CTRL_O_FWBN FLASH_CTRL_O_FWB1
  1767. #define FLASH_ERASE_SIZE 0x00000400
  1768. #define FLASH_PROTECT_SIZE 0x00000800
  1769. #define FLASH_FMP_BLOCK_0 0x00000001 // Enable for block 0
  1770. #define FLASH_FMPRE0 0x400FE200 // Flash Memory Protection Read
  1771. // Enable 0
  1772. #define FLASH_FMPRE1 0x400FE204 // Flash Memory Protection Read
  1773. // Enable 1
  1774. #define FLASH_FMPRE2 0x400FE208 // Flash Memory Protection Read
  1775. // Enable 2
  1776. #define FLASH_FMPRE3 0x400FE20C // Flash Memory Protection Read
  1777. // Enable 3
  1778. #define FLASH_FMPRE4 0x400FE210 // Flash Memory Protection Read
  1779. // Enable 4
  1780. #define FLASH_FMPRE5 0x400FE214 // Flash Memory Protection Read
  1781. // Enable 5
  1782. #define FLASH_FMPRE6 0x400FE218 // Flash Memory Protection Read
  1783. // Enable 6
  1784. #define FLASH_FMPRE7 0x400FE21C // Flash Memory Protection Read
  1785. // Enable 7
  1786. #define FLASH_FMPRE8 0x400FE220 // Flash Memory Protection Read
  1787. // Enable 8
  1788. #define FLASH_FMPRE9 0x400FE224 // Flash Memory Protection Read
  1789. // Enable 9
  1790. #define FLASH_FMPRE10 0x400FE228 // Flash Memory Protection Read
  1791. // Enable 10
  1792. #define FLASH_FMPRE11 0x400FE22C // Flash Memory Protection Read
  1793. // Enable 11
  1794. #define FLASH_FMPRE12 0x400FE230 // Flash Memory Protection Read
  1795. // Enable 12
  1796. #define FLASH_FMPRE13 0x400FE234 // Flash Memory Protection Read
  1797. // Enable 13
  1798. #define FLASH_FMPRE14 0x400FE238 // Flash Memory Protection Read
  1799. // Enable 14
  1800. #define FLASH_FMPRE15 0x400FE23C // Flash Memory Protection Read
  1801. // Enable 15
  1802. #define FLASH_FMPPE0 0x400FE400 // Flash Memory Protection Program
  1803. // Enable 0
  1804. #define FLASH_FMPPE1 0x400FE404 // Flash Memory Protection Program
  1805. // Enable 1
  1806. #define FLASH_FMPPE2 0x400FE408 // Flash Memory Protection Program
  1807. // Enable 2
  1808. #define FLASH_FMPPE3 0x400FE40C // Flash Memory Protection Program
  1809. // Enable 3
  1810. #define FLASH_FMPPE4 0x400FE410 // Flash Memory Protection Program
  1811. // Enable 4
  1812. #define FLASH_FMPPE5 0x400FE414 // Flash Memory Protection Program
  1813. // Enable 5
  1814. #define FLASH_FMPPE6 0x400FE418 // Flash Memory Protection Program
  1815. // Enable 6
  1816. #define FLASH_FMPPE7 0x400FE41C // Flash Memory Protection Program
  1817. // Enable 7
  1818. #define FLASH_FMPPE8 0x400FE420 // Flash Memory Protection Program
  1819. // Enable 8
  1820. #define FLASH_FMPPE9 0x400FE424 // Flash Memory Protection Program
  1821. // Enable 9
  1822. #define FLASH_FMPPE10 0x400FE428 // Flash Memory Protection Program
  1823. // Enable 10
  1824. #define FLASH_FMPPE11 0x400FE42C // Flash Memory Protection Program
  1825. // Enable 11
  1826. #define FLASH_FMPPE12 0x400FE430 // Flash Memory Protection Program
  1827. // Enable 12
  1828. #define FLASH_FMPPE13 0x400FE434 // Flash Memory Protection Program
  1829. // Enable 13
  1830. #define FLASH_FMPPE14 0x400FE438 // Flash Memory Protection Program
  1831. // Enable 14
  1832. #define FLASH_FMPPE15 0x400FE43C // Flash Memory Protection Program
  1833. // Enable 15
  1834. #define FLASH_USECRL 0x400FE140 // USec Reload
  1835. #define FLASH_CTRL_ERASE_SIZE 0x00000400
  1836. #endif // __HW_FLASH_CTRL_H__