F2837xD_memconfig.h 54 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071
  1. //###########################################################################
  2. //
  3. // FILE: F2837xD_memconfig.h
  4. //
  5. // TITLE: MEMCONFIG Register Definitions.
  6. //
  7. //###########################################################################
  8. // $TI Release: F2837xD Support Library v3.05.00.00 $
  9. // $Release Date: Tue Jun 26 03:15:23 CDT 2018 $
  10. // $Copyright:
  11. // Copyright (C) 2013-2018 Texas Instruments Incorporated - http://www.ti.com/
  12. //
  13. // Redistribution and use in source and binary forms, with or without
  14. // modification, are permitted provided that the following conditions
  15. // are met:
  16. //
  17. // Redistributions of source code must retain the above copyright
  18. // notice, this list of conditions and the following disclaimer.
  19. //
  20. // Redistributions in binary form must reproduce the above copyright
  21. // notice, this list of conditions and the following disclaimer in the
  22. // documentation and/or other materials provided with the
  23. // distribution.
  24. //
  25. // Neither the name of Texas Instruments Incorporated nor the names of
  26. // its contributors may be used to endorse or promote products derived
  27. // from this software without specific prior written permission.
  28. //
  29. // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  30. // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  31. // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  32. // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  33. // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  34. // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  35. // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  36. // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  37. // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  38. // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  39. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  40. // $
  41. //###########################################################################
  42. #ifndef __F2837xD_MEMCONFIG_H__
  43. #define __F2837xD_MEMCONFIG_H__
  44. #ifdef __cplusplus
  45. extern "C" {
  46. #endif
  47. //---------------------------------------------------------------------------
  48. // MEMCONFIG Individual Register Bit Definitions:
  49. struct DxLOCK_BITS { // bits description
  50. Uint16 rsvd1:2; // 1:0 Reserved
  51. Uint16 LOCK_D0:1; // 2 D0 RAM access protection and master select fields lock bit
  52. Uint16 LOCK_D1:1; // 3 D1 RAM access protection and master select fields lock bit
  53. Uint16 rsvd2:12; // 15:4 Reserved
  54. Uint16 rsvd3:16; // 31:16 Reserved
  55. };
  56. union DxLOCK_REG {
  57. Uint32 all;
  58. struct DxLOCK_BITS bit;
  59. };
  60. struct DxCOMMIT_BITS { // bits description
  61. Uint16 rsvd1:2; // 1:0 Reserved
  62. Uint16 COMMIT_D0:1; // 2 D0 RAM access protection and master select permanent lock
  63. Uint16 COMMIT_D1:1; // 3 D1 RAM access protection and master select permanent lock
  64. Uint16 rsvd2:12; // 15:4 Reserved
  65. Uint16 rsvd3:16; // 31:16 Reserved
  66. };
  67. union DxCOMMIT_REG {
  68. Uint32 all;
  69. struct DxCOMMIT_BITS bit;
  70. };
  71. struct DxACCPROT0_BITS { // bits description
  72. Uint16 rsvd1:16; // 15:0 Reserved
  73. Uint16 FETCHPROT_D0:1; // 16 Fetch Protection For D0 RAM
  74. Uint16 CPUWRPROT_D0:1; // 17 CPU WR Protection For D0 RAM
  75. Uint16 rsvd2:6; // 23:18 Reserved
  76. Uint16 FETCHPROT_D1:1; // 24 Fetch Protection For D1 RAM
  77. Uint16 CPUWRPROT_D1:1; // 25 CPU WR Protection For D1 RAM
  78. Uint16 rsvd3:6; // 31:26 Reserved
  79. };
  80. union DxACCPROT0_REG {
  81. Uint32 all;
  82. struct DxACCPROT0_BITS bit;
  83. };
  84. struct DxTEST_BITS { // bits description
  85. Uint16 TEST_M0:2; // 1:0 Selects the different modes for M0 RAM
  86. Uint16 TEST_M1:2; // 3:2 Selects the different modes for M1 RAM
  87. Uint16 TEST_D0:2; // 5:4 Selects the different modes for D0 RAM
  88. Uint16 TEST_D1:2; // 7:6 Selects the different modes for D1 RAM
  89. Uint16 rsvd1:8; // 15:8 Reserved
  90. Uint16 rsvd2:16; // 31:16 Reserved
  91. };
  92. union DxTEST_REG {
  93. Uint32 all;
  94. struct DxTEST_BITS bit;
  95. };
  96. struct DxINIT_BITS { // bits description
  97. Uint16 INIT_M0:1; // 0 RAM Initialization control for M0 RAM.
  98. Uint16 INIT_M1:1; // 1 RAM Initialization control for M1 RAM.
  99. Uint16 INIT_D0:1; // 2 RAM Initialization control for D0 RAM.
  100. Uint16 INIT_D1:1; // 3 RAM Initialization control for D1 RAM.
  101. Uint16 rsvd1:12; // 15:4 Reserved
  102. Uint16 rsvd2:16; // 31:16 Reserved
  103. };
  104. union DxINIT_REG {
  105. Uint32 all;
  106. struct DxINIT_BITS bit;
  107. };
  108. struct DxINITDONE_BITS { // bits description
  109. Uint16 INITDONE_M0:1; // 0 RAM Initialization status for M0 RAM.
  110. Uint16 INITDONE_M1:1; // 1 RAM Initialization status for M1 RAM.
  111. Uint16 INITDONE_D0:1; // 2 RAM Initialization status for D0 RAM.
  112. Uint16 INITDONE_D1:1; // 3 RAM Initialization status for D1 RAM.
  113. Uint16 rsvd1:12; // 15:4 Reserved
  114. Uint16 rsvd2:16; // 31:16 Reserved
  115. };
  116. union DxINITDONE_REG {
  117. Uint32 all;
  118. struct DxINITDONE_BITS bit;
  119. };
  120. struct LSxLOCK_BITS { // bits description
  121. Uint16 LOCK_LS0:1; // 0 LS0 RAM access protection and master select fields lock bit
  122. Uint16 LOCK_LS1:1; // 1 LS1 RAM access protection and master select fields lock bit
  123. Uint16 LOCK_LS2:1; // 2 LS2 RAM access protection and master select fields lock bit
  124. Uint16 LOCK_LS3:1; // 3 LS3 RAM access protection and master select fields lock bit
  125. Uint16 LOCK_LS4:1; // 4 LS4 RAM access protection and master select fields lock bit
  126. Uint16 LOCK_LS5:1; // 5 LS5 RAM access protection and master select fields lock bit
  127. Uint16 rsvd1:10; // 15:6 Reserved
  128. Uint16 rsvd2:16; // 31:16 Reserved
  129. };
  130. union LSxLOCK_REG {
  131. Uint32 all;
  132. struct LSxLOCK_BITS bit;
  133. };
  134. struct LSxCOMMIT_BITS { // bits description
  135. Uint16 COMMIT_LS0:1; // 0 LS0 RAM access protection and master select permanent lock
  136. Uint16 COMMIT_LS1:1; // 1 LS1 RAM access protection and master select permanent lock
  137. Uint16 COMMIT_LS2:1; // 2 LS2 RAM access protection and master select permanent lock
  138. Uint16 COMMIT_LS3:1; // 3 LS3 RAM access protection and master select permanent lock
  139. Uint16 COMMIT_LS4:1; // 4 LS4 RAM access protection and master select permanent lock
  140. Uint16 COMMIT_LS5:1; // 5 LS5 RAM access protection and master select permanent lock
  141. Uint16 rsvd1:10; // 15:6 Reserved
  142. Uint16 rsvd2:16; // 31:16 Reserved
  143. };
  144. union LSxCOMMIT_REG {
  145. Uint32 all;
  146. struct LSxCOMMIT_BITS bit;
  147. };
  148. struct LSxMSEL_BITS { // bits description
  149. Uint16 MSEL_LS0:2; // 1:0 Master Select for LS0 RAM
  150. Uint16 MSEL_LS1:2; // 3:2 Master Select for LS1 RAM
  151. Uint16 MSEL_LS2:2; // 5:4 Master Select for LS2 RAM
  152. Uint16 MSEL_LS3:2; // 7:6 Master Select for LS3 RAM
  153. Uint16 MSEL_LS4:2; // 9:8 Master Select for LS4 RAM
  154. Uint16 MSEL_LS5:2; // 11:10 Master Select for LS5 RAM
  155. Uint16 rsvd1:4; // 15:12 Reserved
  156. Uint16 rsvd2:16; // 31:16 Reserved
  157. };
  158. union LSxMSEL_REG {
  159. Uint32 all;
  160. struct LSxMSEL_BITS bit;
  161. };
  162. struct LSxCLAPGM_BITS { // bits description
  163. Uint16 CLAPGM_LS0:1; // 0 Selects LS0 RAM as program vs data memory for CLA
  164. Uint16 CLAPGM_LS1:1; // 1 Selects LS1 RAM as program vs data memory for CLA
  165. Uint16 CLAPGM_LS2:1; // 2 Selects LS2 RAM as program vs data memory for CLA
  166. Uint16 CLAPGM_LS3:1; // 3 Selects LS3 RAM as program vs data memory for CLA
  167. Uint16 CLAPGM_LS4:1; // 4 Selects LS4 RAM as program vs data memory for CLA
  168. Uint16 CLAPGM_LS5:1; // 5 Selects LS5 RAM as program vs data memory for CLA
  169. Uint16 rsvd1:10; // 15:6 Reserved
  170. Uint16 rsvd2:16; // 31:16 Reserved
  171. };
  172. union LSxCLAPGM_REG {
  173. Uint32 all;
  174. struct LSxCLAPGM_BITS bit;
  175. };
  176. struct LSxACCPROT0_BITS { // bits description
  177. Uint16 FETCHPROT_LS0:1; // 0 Fetch Protection For LS0 RAM
  178. Uint16 CPUWRPROT_LS0:1; // 1 CPU WR Protection For LS0 RAM
  179. Uint16 rsvd1:6; // 7:2 Reserved
  180. Uint16 FETCHPROT_LS1:1; // 8 Fetch Protection For LS1 RAM
  181. Uint16 CPUWRPROT_LS1:1; // 9 CPU WR Protection For LS1 RAM
  182. Uint16 rsvd2:6; // 15:10 Reserved
  183. Uint16 FETCHPROT_LS2:1; // 16 Fetch Protection For LS2 RAM
  184. Uint16 CPUWRPROT_LS2:1; // 17 CPU WR Protection For LS2 RAM
  185. Uint16 rsvd3:6; // 23:18 Reserved
  186. Uint16 FETCHPROT_LS3:1; // 24 Fetch Protection For LS3 RAM
  187. Uint16 CPUWRPROT_LS3:1; // 25 CPU WR Protection For LS3 RAM
  188. Uint16 rsvd4:6; // 31:26 Reserved
  189. };
  190. union LSxACCPROT0_REG {
  191. Uint32 all;
  192. struct LSxACCPROT0_BITS bit;
  193. };
  194. struct LSxACCPROT1_BITS { // bits description
  195. Uint16 FETCHPROT_LS4:1; // 0 Fetch Protection For LS4 RAM
  196. Uint16 CPUWRPROT_LS4:1; // 1 CPU WR Protection For LS4 RAM
  197. Uint16 rsvd1:6; // 7:2 Reserved
  198. Uint16 FETCHPROT_LS5:1; // 8 Fetch Protection For LS5 RAM
  199. Uint16 CPUWRPROT_LS5:1; // 9 CPU WR Protection For LS5 RAM
  200. Uint16 rsvd2:6; // 15:10 Reserved
  201. Uint16 rsvd3:16; // 31:16 Reserved
  202. };
  203. union LSxACCPROT1_REG {
  204. Uint32 all;
  205. struct LSxACCPROT1_BITS bit;
  206. };
  207. struct LSxTEST_BITS { // bits description
  208. Uint16 TEST_LS0:2; // 1:0 Selects the different modes for LS0 RAM
  209. Uint16 TEST_LS1:2; // 3:2 Selects the different modes for LS1 RAM
  210. Uint16 TEST_LS2:2; // 5:4 Selects the different modes for LS2 RAM
  211. Uint16 TEST_LS3:2; // 7:6 Selects the different modes for LS3 RAM
  212. Uint16 TEST_LS4:2; // 9:8 Selects the different modes for LS4 RAM
  213. Uint16 TEST_LS5:2; // 11:10 Selects the different modes for LS5 RAM
  214. Uint16 rsvd1:4; // 15:12 Reserved
  215. Uint16 rsvd2:16; // 31:16 Reserved
  216. };
  217. union LSxTEST_REG {
  218. Uint32 all;
  219. struct LSxTEST_BITS bit;
  220. };
  221. struct LSxINIT_BITS { // bits description
  222. Uint16 INIT_LS0:1; // 0 RAM Initialization control for LS0 RAM.
  223. Uint16 INIT_LS1:1; // 1 RAM Initialization control for LS1 RAM.
  224. Uint16 INIT_LS2:1; // 2 RAM Initialization control for LS2 RAM.
  225. Uint16 INIT_LS3:1; // 3 RAM Initialization control for LS3 RAM.
  226. Uint16 INIT_LS4:1; // 4 RAM Initialization control for LS4 RAM.
  227. Uint16 INIT_LS5:1; // 5 RAM Initialization control for LS5 RAM.
  228. Uint16 rsvd1:10; // 15:6 Reserved
  229. Uint16 rsvd2:16; // 31:16 Reserved
  230. };
  231. union LSxINIT_REG {
  232. Uint32 all;
  233. struct LSxINIT_BITS bit;
  234. };
  235. struct LSxINITDONE_BITS { // bits description
  236. Uint16 INITDONE_LS0:1; // 0 RAM Initialization status for LS0 RAM.
  237. Uint16 INITDONE_LS1:1; // 1 RAM Initialization status for LS1 RAM.
  238. Uint16 INITDONE_LS2:1; // 2 RAM Initialization status for LS2 RAM.
  239. Uint16 INITDONE_LS3:1; // 3 RAM Initialization status for LS3 RAM.
  240. Uint16 INITDONE_LS4:1; // 4 RAM Initialization status for LS4 RAM.
  241. Uint16 INITDONE_LS5:1; // 5 RAM Initialization status for LS5 RAM.
  242. Uint16 rsvd1:10; // 15:6 Reserved
  243. Uint16 rsvd2:16; // 31:16 Reserved
  244. };
  245. union LSxINITDONE_REG {
  246. Uint32 all;
  247. struct LSxINITDONE_BITS bit;
  248. };
  249. struct GSxLOCK_BITS { // bits description
  250. Uint16 LOCK_GS0:1; // 0 GS0 RAM access protection and master select fields lock bit
  251. Uint16 LOCK_GS1:1; // 1 GS1 RAM access protection and master select fields lock bit
  252. Uint16 LOCK_GS2:1; // 2 GS2 RAM access protection and master select fields lock bit
  253. Uint16 LOCK_GS3:1; // 3 GS3 RAM access protection and master select fields lock bit
  254. Uint16 LOCK_GS4:1; // 4 GS4 RAM access protection and master select fields lock bit
  255. Uint16 LOCK_GS5:1; // 5 GS5 RAM access protection and master select fields lock bit
  256. Uint16 LOCK_GS6:1; // 6 GS6 RAM access protection and master select fields lock bit
  257. Uint16 LOCK_GS7:1; // 7 GS7 RAM access protection and master select fields lock bit
  258. Uint16 LOCK_GS8:1; // 8 GS8 RAM access protection and master select fields lock bit
  259. Uint16 LOCK_GS9:1; // 9 GS9 RAM access protection and master select fields lock bit
  260. Uint16 LOCK_GS10:1; // 10 GS10 RAM access protection and master select fields lock bit
  261. Uint16 LOCK_GS11:1; // 11 GS11 RAM access protection and master select fields lock bit
  262. Uint16 LOCK_GS12:1; // 12 GS12 RAM access protection and master select fields lock bit
  263. Uint16 LOCK_GS13:1; // 13 GS13 RAM access protection and master select fields lock bit
  264. Uint16 LOCK_GS14:1; // 14 GS14 RAM access protection and master select fields lock bit
  265. Uint16 LOCK_GS15:1; // 15 GS15 RAM access protection and master select fields lock bit
  266. Uint16 rsvd1:16; // 31:16 Reserved
  267. };
  268. union GSxLOCK_REG {
  269. Uint32 all;
  270. struct GSxLOCK_BITS bit;
  271. };
  272. struct GSxCOMMIT_BITS { // bits description
  273. Uint16 COMMIT_GS0:1; // 0 GS0 RAM access protection and master select permanent lock
  274. Uint16 COMMIT_GS1:1; // 1 GS1 RAM access protection and master select permanent lock
  275. Uint16 COMMIT_GS2:1; // 2 GS2 RAM access protection and master select permanent lock
  276. Uint16 COMMIT_GS3:1; // 3 GS3 RAM access protection and master select permanent lock
  277. Uint16 COMMIT_GS4:1; // 4 GS4 RAM access protection and master select permanent lock
  278. Uint16 COMMIT_GS5:1; // 5 GS5 RAM access protection and master select permanent lock
  279. Uint16 COMMIT_GS6:1; // 6 GS6 RAM access protection and master select permanent lock
  280. Uint16 COMMIT_GS7:1; // 7 GS7 RAM access protection and master select permanent lock
  281. Uint16 COMMIT_GS8:1; // 8 GS8 RAM access protection and master select permanent lock
  282. Uint16 COMMIT_GS9:1; // 9 GS9 RAM access protection and master select permanent lock
  283. Uint16 COMMIT_GS10:1; // 10 GS10 RAM access protection and master select permanent lock
  284. Uint16 COMMIT_GS11:1; // 11 GS11 RAM access protection and master select permanent lock
  285. Uint16 COMMIT_GS12:1; // 12 GS12 RAM access protection and master select permanent lock
  286. Uint16 COMMIT_GS13:1; // 13 GS13 RAM access protection and master select permanent lock
  287. Uint16 COMMIT_GS14:1; // 14 GS14 RAM access protection and master select permanent lock
  288. Uint16 COMMIT_GS15:1; // 15 GS15 RAM access protection and master select permanent lock
  289. Uint16 rsvd1:16; // 31:16 Reserved
  290. };
  291. union GSxCOMMIT_REG {
  292. Uint32 all;
  293. struct GSxCOMMIT_BITS bit;
  294. };
  295. struct GSxMSEL_BITS { // bits description
  296. Uint16 MSEL_GS0:1; // 0 Master Select for GS0 RAM
  297. Uint16 MSEL_GS1:1; // 1 Master Select for GS1 RAM
  298. Uint16 MSEL_GS2:1; // 2 Master Select for GS2 RAM
  299. Uint16 MSEL_GS3:1; // 3 Master Select for GS3 RAM
  300. Uint16 MSEL_GS4:1; // 4 Master Select for GS4 RAM
  301. Uint16 MSEL_GS5:1; // 5 Master Select for GS5 RAM
  302. Uint16 MSEL_GS6:1; // 6 Master Select for GS6 RAM
  303. Uint16 MSEL_GS7:1; // 7 Master Select for GS7 RAM
  304. Uint16 MSEL_GS8:1; // 8 Master Select for GS8 RAM
  305. Uint16 MSEL_GS9:1; // 9 Master Select for GS9 RAM
  306. Uint16 MSEL_GS10:1; // 10 Master Select for GS10 RAM
  307. Uint16 MSEL_GS11:1; // 11 Master Select for GS11 RAM
  308. Uint16 MSEL_GS12:1; // 12 Master Select for GS12 RAM
  309. Uint16 MSEL_GS13:1; // 13 Master Select for GS13 RAM
  310. Uint16 MSEL_GS14:1; // 14 Master Select for GS14 RAM
  311. Uint16 MSEL_GS15:1; // 15 Master Select for GS15 RAM
  312. Uint16 rsvd1:16; // 31:16 Reserved
  313. };
  314. union GSxMSEL_REG {
  315. Uint32 all;
  316. struct GSxMSEL_BITS bit;
  317. };
  318. struct GSxACCPROT0_BITS { // bits description
  319. Uint16 FETCHPROT_GS0:1; // 0 Fetch Protection For GS0 RAM
  320. Uint16 CPUWRPROT_GS0:1; // 1 CPU WR Protection For GS0 RAM
  321. Uint16 DMAWRPROT_GS0:1; // 2 DMA WR Protection For GS0 RAM
  322. Uint16 rsvd1:5; // 7:3 Reserved
  323. Uint16 FETCHPROT_GS1:1; // 8 Fetch Protection For GS1 RAM
  324. Uint16 CPUWRPROT_GS1:1; // 9 CPU WR Protection For GS1 RAM
  325. Uint16 DMAWRPROT_GS1:1; // 10 DMA WR Protection For GS1 RAM
  326. Uint16 rsvd2:5; // 15:11 Reserved
  327. Uint16 FETCHPROT_GS2:1; // 16 Fetch Protection For GS2 RAM
  328. Uint16 CPUWRPROT_GS2:1; // 17 CPU WR Protection For GS2 RAM
  329. Uint16 DMAWRPROT_GS2:1; // 18 DMA WR Protection For GS2 RAM
  330. Uint16 rsvd3:5; // 23:19 Reserved
  331. Uint16 FETCHPROT_GS3:1; // 24 Fetch Protection For GS3 RAM
  332. Uint16 CPUWRPROT_GS3:1; // 25 CPU WR Protection For GS3 RAM
  333. Uint16 DMAWRPROT_GS3:1; // 26 DMA WR Protection For GS3 RAM
  334. Uint16 rsvd4:5; // 31:27 Reserved
  335. };
  336. union GSxACCPROT0_REG {
  337. Uint32 all;
  338. struct GSxACCPROT0_BITS bit;
  339. };
  340. struct GSxACCPROT1_BITS { // bits description
  341. Uint16 FETCHPROT_GS4:1; // 0 Fetch Protection For GS4 RAM
  342. Uint16 CPUWRPROT_GS4:1; // 1 CPU WR Protection For GS4 RAM
  343. Uint16 DMAWRPROT_GS4:1; // 2 DMA WR Protection For GS4 RAM
  344. Uint16 rsvd1:5; // 7:3 Reserved
  345. Uint16 FETCHPROT_GS5:1; // 8 Fetch Protection For GS5 RAM
  346. Uint16 CPUWRPROT_GS5:1; // 9 CPU WR Protection For GS5 RAM
  347. Uint16 DMAWRPROT_GS5:1; // 10 DMA WR Protection For GS5RAM
  348. Uint16 rsvd2:5; // 15:11 Reserved
  349. Uint16 FETCHPROT_GS6:1; // 16 Fetch Protection For GS6 RAM
  350. Uint16 CPUWRPROT_GS6:1; // 17 CPU WR Protection For GS6 RAM
  351. Uint16 DMAWRPROT_GS6:1; // 18 DMA WR Protection For GS6RAM
  352. Uint16 rsvd3:5; // 23:19 Reserved
  353. Uint16 FETCHPROT_GS7:1; // 24 Fetch Protection For GS7 RAM
  354. Uint16 CPUWRPROT_GS7:1; // 25 CPU WR Protection For GS7 RAM
  355. Uint16 DMAWRPROT_GS7:1; // 26 DMA WR Protection For GS7RAM
  356. Uint16 rsvd4:5; // 31:27 Reserved
  357. };
  358. union GSxACCPROT1_REG {
  359. Uint32 all;
  360. struct GSxACCPROT1_BITS bit;
  361. };
  362. struct GSxACCPROT2_BITS { // bits description
  363. Uint16 FETCHPROT_GS8:1; // 0 Fetch Protection For GS8 RAM
  364. Uint16 CPUWRPROT_GS8:1; // 1 CPU WR Protection For GS8 RAM
  365. Uint16 DMAWRPROT_GS8:1; // 2 DMA WR Protection For GS8 RAM
  366. Uint16 rsvd1:5; // 7:3 Reserved
  367. Uint16 FETCHPROT_GS9:1; // 8 Fetch Protection For GS9 RAM
  368. Uint16 CPUWRPROT_GS9:1; // 9 CPU WR Protection For GS9 RAM
  369. Uint16 DMAWRPROT_GS9:1; // 10 DMA WR Protection For GS9RAM
  370. Uint16 rsvd2:5; // 15:11 Reserved
  371. Uint16 FETCHPROT_GS10:1; // 16 Fetch Protection For GS10 RAM
  372. Uint16 CPUWRPROT_GS10:1; // 17 CPU WR Protection For GS10 RAM
  373. Uint16 DMAWRPROT_GS10:1; // 18 DMA WR Protection For GS10RAM
  374. Uint16 rsvd3:5; // 23:19 Reserved
  375. Uint16 FETCHPROT_GS11:1; // 24 Fetch Protection For GS11 RAM
  376. Uint16 CPUWRPROT_GS11:1; // 25 CPU WR Protection For GS11 RAM
  377. Uint16 DMAWRPROT_GS11:1; // 26 DMA WR Protection For GS11RAM
  378. Uint16 rsvd4:5; // 31:27 Reserved
  379. };
  380. union GSxACCPROT2_REG {
  381. Uint32 all;
  382. struct GSxACCPROT2_BITS bit;
  383. };
  384. struct GSxACCPROT3_BITS { // bits description
  385. Uint16 FETCHPROT_GS12:1; // 0 Fetch Protection For GS12 RAM
  386. Uint16 CPUWRPROT_GS12:1; // 1 CPU WR Protection For GS12 RAM
  387. Uint16 DMAWRPROT_GS12:1; // 2 DMA WR Protection For GS12 RAM
  388. Uint16 rsvd1:5; // 7:3 Reserved
  389. Uint16 FETCHPROT_GS13:1; // 8 Fetch Protection For GS13 RAM
  390. Uint16 CPUWRPROT_GS13:1; // 9 CPU WR Protection For GS13 RAM
  391. Uint16 DMAWRPROT_GS13:1; // 10 DMA WR Protection For GS13RAM
  392. Uint16 rsvd2:5; // 15:11 Reserved
  393. Uint16 FETCHPROT_GS14:1; // 16 Fetch Protection For GS14 RAM
  394. Uint16 CPUWRPROT_GS14:1; // 17 CPU WR Protection For GS14 RAM
  395. Uint16 DMAWRPROT_GS14:1; // 18 DMA WR Protection For GS14RAM
  396. Uint16 rsvd3:5; // 23:19 Reserved
  397. Uint16 FETCHPROT_GS15:1; // 24 Fetch Protection For GS15 RAM
  398. Uint16 CPUWRPROT_GS15:1; // 25 CPU WR Protection For GS15 RAM
  399. Uint16 DMAWRPROT_GS15:1; // 26 DMA WR Protection For GS15RAM
  400. Uint16 rsvd4:5; // 31:27 Reserved
  401. };
  402. union GSxACCPROT3_REG {
  403. Uint32 all;
  404. struct GSxACCPROT3_BITS bit;
  405. };
  406. struct GSxTEST_BITS { // bits description
  407. Uint16 TEST_GS0:2; // 1:0 Selects the different modes for GS0 RAM
  408. Uint16 TEST_GS1:2; // 3:2 Selects the different modes for GS1 RAM
  409. Uint16 TEST_GS2:2; // 5:4 Selects the different modes for GS2 RAM
  410. Uint16 TEST_GS3:2; // 7:6 Selects the different modes for GS3 RAM
  411. Uint16 TEST_GS4:2; // 9:8 Selects the different modes for GS4 RAM
  412. Uint16 TEST_GS5:2; // 11:10 Selects the different modes for GS5 RAM
  413. Uint16 TEST_GS6:2; // 13:12 Selects the different modes for GS6 RAM
  414. Uint16 TEST_GS7:2; // 15:14 Selects the different modes for GS7 RAM
  415. Uint16 TEST_GS8:2; // 17:16 Selects the different modes for GS8 RAM
  416. Uint16 TEST_GS9:2; // 19:18 Selects the different modes for GS9 RAM
  417. Uint16 TEST_GS10:2; // 21:20 Selects the different modes for GS10 RAM
  418. Uint16 TEST_GS11:2; // 23:22 Selects the different modes for GS11 RAM
  419. Uint16 TEST_GS12:2; // 25:24 Selects the different modes for GS12 RAM
  420. Uint16 TEST_GS13:2; // 27:26 Selects the different modes for GS13 RAM
  421. Uint16 TEST_GS14:2; // 29:28 Selects the different modes for GS14 RAM
  422. Uint16 TEST_GS15:2; // 31:30 Selects the different modes for GS15 RAM
  423. };
  424. union GSxTEST_REG {
  425. Uint32 all;
  426. struct GSxTEST_BITS bit;
  427. };
  428. struct GSxINIT_BITS { // bits description
  429. Uint16 INIT_GS0:1; // 0 RAM Initialization control for GS0 RAM.
  430. Uint16 INIT_GS1:1; // 1 RAM Initialization control for GS1 RAM.
  431. Uint16 INIT_GS2:1; // 2 RAM Initialization control for GS2 RAM.
  432. Uint16 INIT_GS3:1; // 3 RAM Initialization control for GS3 RAM.
  433. Uint16 INIT_GS4:1; // 4 RAM Initialization control for GS4 RAM.
  434. Uint16 INIT_GS5:1; // 5 RAM Initialization control for GS5 RAM.
  435. Uint16 INIT_GS6:1; // 6 RAM Initialization control for GS6 RAM.
  436. Uint16 INIT_GS7:1; // 7 RAM Initialization control for GS7 RAM.
  437. Uint16 INIT_GS8:1; // 8 RAM Initialization control for GS8 RAM.
  438. Uint16 INIT_GS9:1; // 9 RAM Initialization control for GS9 RAM.
  439. Uint16 INIT_GS10:1; // 10 RAM Initialization control for GS10 RAM.
  440. Uint16 INIT_GS11:1; // 11 RAM Initialization control for GS11 RAM.
  441. Uint16 INIT_GS12:1; // 12 RAM Initialization control for GS12 RAM.
  442. Uint16 INIT_GS13:1; // 13 RAM Initialization control for GS13 RAM.
  443. Uint16 INIT_GS14:1; // 14 RAM Initialization control for GS14 RAM.
  444. Uint16 INIT_GS15:1; // 15 RAM Initialization control for GS15 RAM.
  445. Uint16 rsvd1:16; // 31:16 Reserved
  446. };
  447. union GSxINIT_REG {
  448. Uint32 all;
  449. struct GSxINIT_BITS bit;
  450. };
  451. struct GSxINITDONE_BITS { // bits description
  452. Uint16 INITDONE_GS0:1; // 0 RAM Initialization status for GS0 RAM.
  453. Uint16 INITDONE_GS1:1; // 1 RAM Initialization status for GS1 RAM.
  454. Uint16 INITDONE_GS2:1; // 2 RAM Initialization status for GS2 RAM.
  455. Uint16 INITDONE_GS3:1; // 3 RAM Initialization status for GS3 RAM.
  456. Uint16 INITDONE_GS4:1; // 4 RAM Initialization status for GS4 RAM.
  457. Uint16 INITDONE_GS5:1; // 5 RAM Initialization status for GS5 RAM.
  458. Uint16 INITDONE_GS6:1; // 6 RAM Initialization status for GS6 RAM.
  459. Uint16 INITDONE_GS7:1; // 7 RAM Initialization status for GS7 RAM.
  460. Uint16 INITDONE_GS8:1; // 8 RAM Initialization status for GS8 RAM.
  461. Uint16 INITDONE_GS9:1; // 9 RAM Initialization status for GS9 RAM.
  462. Uint16 INITDONE_GS10:1; // 10 RAM Initialization status for GS10 RAM.
  463. Uint16 INITDONE_GS11:1; // 11 RAM Initialization status for GS11 RAM.
  464. Uint16 INITDONE_GS12:1; // 12 RAM Initialization status for GS12 RAM.
  465. Uint16 INITDONE_GS13:1; // 13 RAM Initialization status for GS13 RAM.
  466. Uint16 INITDONE_GS14:1; // 14 RAM Initialization status for GS14 RAM.
  467. Uint16 INITDONE_GS15:1; // 15 RAM Initialization status for GS15 RAM.
  468. Uint16 rsvd1:16; // 31:16 Reserved
  469. };
  470. union GSxINITDONE_REG {
  471. Uint32 all;
  472. struct GSxINITDONE_BITS bit;
  473. };
  474. struct MSGxTEST_BITS { // bits description
  475. Uint16 TEST_CPUTOCPU:2; // 1:0 CPU to CPU Mode Select
  476. Uint16 TEST_CPUTOCLA1:2; // 3:2 CPU to CLA1 MSG RAM Mode Select
  477. Uint16 TEST_CLA1TOCPU:2; // 5:4 CLA1 to CPU MSG RAM Mode Select
  478. Uint16 rsvd1:2; // 7:6 Reserved
  479. Uint16 rsvd2:2; // 9:8 Reserved
  480. Uint16 rsvd3:6; // 15:10 Reserved
  481. Uint16 rsvd4:16; // 31:16 Reserved
  482. };
  483. union MSGxTEST_REG {
  484. Uint32 all;
  485. struct MSGxTEST_BITS bit;
  486. };
  487. struct MSGxINIT_BITS { // bits description
  488. Uint16 INIT_CPUTOCPU:1; // 0 Initialization control for CPU to CPU MSG RAM
  489. Uint16 INIT_CPUTOCLA1:1; // 1 Initialization control for CPUTOCLA1 MSG RAM
  490. Uint16 INIT_CLA1TOCPU:1; // 2 Initialization control for CLA1TOCPU MSG RAM
  491. Uint16 rsvd1:1; // 3 Reserved
  492. Uint16 rsvd2:1; // 4 Reserved
  493. Uint16 rsvd3:11; // 15:5 Reserved
  494. Uint16 rsvd4:16; // 31:16 Reserved
  495. };
  496. union MSGxINIT_REG {
  497. Uint32 all;
  498. struct MSGxINIT_BITS bit;
  499. };
  500. struct MSGxINITDONE_BITS { // bits description
  501. Uint16 INITDONE_CPUTOCPU:1; // 0 Initialization status for CPU to CPU MSG RAM
  502. Uint16 INITDONE_CPUTOCLA1:1; // 1 Initialization status for CPU to CLA1 MSG RAM
  503. Uint16 INITDONE_CLA1TOCPU:1; // 2 Initialization status for CLA1 to CPU MSG RAM
  504. Uint16 rsvd1:1; // 3 Reserved
  505. Uint16 rsvd2:1; // 4 Reserved
  506. Uint16 rsvd3:11; // 15:5 Reserved
  507. Uint16 rsvd4:16; // 31:16 Reserved
  508. };
  509. union MSGxINITDONE_REG {
  510. Uint32 all;
  511. struct MSGxINITDONE_BITS bit;
  512. };
  513. struct MEM_CFG_REGS {
  514. union DxLOCK_REG DxLOCK; // Dedicated RAM Config Lock Register
  515. union DxCOMMIT_REG DxCOMMIT; // Dedicated RAM Config Lock Commit Register
  516. Uint16 rsvd1[4]; // Reserved
  517. union DxACCPROT0_REG DxACCPROT0; // Dedicated RAM Config Register
  518. Uint16 rsvd2[6]; // Reserved
  519. union DxTEST_REG DxTEST; // Dedicated RAM TEST Register
  520. union DxINIT_REG DxINIT; // Dedicated RAM Init Register
  521. union DxINITDONE_REG DxINITDONE; // Dedicated RAM InitDone Status Register
  522. Uint16 rsvd3[10]; // Reserved
  523. union LSxLOCK_REG LSxLOCK; // Local Shared RAM Config Lock Register
  524. union LSxCOMMIT_REG LSxCOMMIT; // Local Shared RAM Config Lock Commit Register
  525. union LSxMSEL_REG LSxMSEL; // Local Shared RAM Master Sel Register
  526. union LSxCLAPGM_REG LSxCLAPGM; // Local Shared RAM Prog/Exe control Register
  527. union LSxACCPROT0_REG LSxACCPROT0; // Local Shared RAM Config Register 0
  528. union LSxACCPROT1_REG LSxACCPROT1; // Local Shared RAM Config Register 1
  529. Uint16 rsvd4[4]; // Reserved
  530. union LSxTEST_REG LSxTEST; // Local Shared RAM TEST Register
  531. union LSxINIT_REG LSxINIT; // Local Shared RAM Init Register
  532. union LSxINITDONE_REG LSxINITDONE; // Local Shared RAM InitDone Status Register
  533. Uint16 rsvd5[10]; // Reserved
  534. union GSxLOCK_REG GSxLOCK; // Global Shared RAM Config Lock Register
  535. union GSxCOMMIT_REG GSxCOMMIT; // Global Shared RAM Config Lock Commit Register
  536. union GSxMSEL_REG GSxMSEL; // Global Shared RAM Master Sel Register
  537. Uint16 rsvd6[2]; // Reserved
  538. union GSxACCPROT0_REG GSxACCPROT0; // Global Shared RAM Config Register 0
  539. union GSxACCPROT1_REG GSxACCPROT1; // Global Shared RAM Config Register 1
  540. union GSxACCPROT2_REG GSxACCPROT2; // Global Shared RAM Config Register 2
  541. union GSxACCPROT3_REG GSxACCPROT3; // Global Shared RAM Config Register 3
  542. union GSxTEST_REG GSxTEST; // Global Shared RAM TEST Register
  543. union GSxINIT_REG GSxINIT; // Global Shared RAM Init Register
  544. union GSxINITDONE_REG GSxINITDONE; // Global Shared RAM InitDone Status Register
  545. Uint16 rsvd7[26]; // Reserved
  546. union MSGxTEST_REG MSGxTEST; // Message RAM TEST Register
  547. union MSGxINIT_REG MSGxINIT; // Message RAM Init Register
  548. union MSGxINITDONE_REG MSGxINITDONE; // Message RAM InitDone Status Register
  549. Uint16 rsvd8[10]; // Reserved
  550. };
  551. struct EMIF1LOCK_BITS { // bits description
  552. Uint16 LOCK_EMIF1:1; // 0 EMIF1 access protection and master select fields lock bit
  553. Uint16 rsvd1:15; // 15:1 Reserved
  554. Uint16 rsvd2:16; // 31:16 Reserved
  555. };
  556. union EMIF1LOCK_REG {
  557. Uint32 all;
  558. struct EMIF1LOCK_BITS bit;
  559. };
  560. struct EMIF1COMMIT_BITS { // bits description
  561. Uint16 COMMIT_EMIF1:1; // 0 EMIF1 access protection and master select permanent lock
  562. Uint16 rsvd1:15; // 15:1 Reserved
  563. Uint16 rsvd2:16; // 31:16 Reserved
  564. };
  565. union EMIF1COMMIT_REG {
  566. Uint32 all;
  567. struct EMIF1COMMIT_BITS bit;
  568. };
  569. struct EMIF1MSEL_BITS { // bits description
  570. Uint16 MSEL_EMIF1:2; // 1:0 Master Select for EMIF1.
  571. Uint16 rsvd1:2; // 3:2 Reserved
  572. Uint32 KEY:28; // 31:4 KEY to enable the write into MSEL_EMIF1 bits
  573. };
  574. union EMIF1MSEL_REG {
  575. Uint32 all;
  576. struct EMIF1MSEL_BITS bit;
  577. };
  578. struct EMIF1ACCPROT0_BITS { // bits description
  579. Uint16 FETCHPROT_EMIF1:1; // 0 Fetch Protection For EMIF1
  580. Uint16 CPUWRPROT_EMIF1:1; // 1 CPU WR Protection For EMIF1
  581. Uint16 DMAWRPROT_EMIF1:1; // 2 DMA WR Protection For EMIF1
  582. Uint16 rsvd1:13; // 15:3 Reserved
  583. Uint16 rsvd2:16; // 31:16 Reserved
  584. };
  585. union EMIF1ACCPROT0_REG {
  586. Uint32 all;
  587. struct EMIF1ACCPROT0_BITS bit;
  588. };
  589. struct EMIF1_CONFIG_REGS {
  590. union EMIF1LOCK_REG EMIF1LOCK; // EMIF1 Config Lock Register
  591. union EMIF1COMMIT_REG EMIF1COMMIT; // EMIF1 Config Lock Commit Register
  592. union EMIF1MSEL_REG EMIF1MSEL; // EMIF1 Master Sel Register
  593. Uint16 rsvd1[2]; // Reserved
  594. union EMIF1ACCPROT0_REG EMIF1ACCPROT0; // EMIF1 Config Register 0
  595. Uint16 rsvd2[22]; // Reserved
  596. };
  597. struct EMIF2LOCK_BITS { // bits description
  598. Uint16 LOCK_EMIF2:1; // 0 EMIF2 access protection and master select permanent lock
  599. Uint16 rsvd1:15; // 15:1 Reserved
  600. Uint16 rsvd2:16; // 31:16 Reserved
  601. };
  602. union EMIF2LOCK_REG {
  603. Uint32 all;
  604. struct EMIF2LOCK_BITS bit;
  605. };
  606. struct EMIF2COMMIT_BITS { // bits description
  607. Uint16 COMMIT_EMIF2:1; // 0 EMIF2 access protection and master select permanent lock
  608. Uint16 rsvd1:15; // 15:1 Reserved
  609. Uint16 rsvd2:16; // 31:16 Reserved
  610. };
  611. union EMIF2COMMIT_REG {
  612. Uint32 all;
  613. struct EMIF2COMMIT_BITS bit;
  614. };
  615. struct EMIF2ACCPROT0_BITS { // bits description
  616. Uint16 FETCHPROT_EMIF2:1; // 0 Fetch Protection For EMIF2
  617. Uint16 CPUWRPROT_EMIF2:1; // 1 CPU WR Protection For EMIF2
  618. Uint16 rsvd1:14; // 15:2 Reserved
  619. Uint16 rsvd2:16; // 31:16 Reserved
  620. };
  621. union EMIF2ACCPROT0_REG {
  622. Uint32 all;
  623. struct EMIF2ACCPROT0_BITS bit;
  624. };
  625. struct EMIF2_CONFIG_REGS {
  626. union EMIF2LOCK_REG EMIF2LOCK; // EMIF2 Config Lock Register
  627. union EMIF2COMMIT_REG EMIF2COMMIT; // EMIF2 Config Lock Commit Register
  628. Uint16 rsvd1[4]; // Reserved
  629. union EMIF2ACCPROT0_REG EMIF2ACCPROT0; // EMIF2 Config Register 0
  630. Uint16 rsvd2[22]; // Reserved
  631. };
  632. struct NMAVFLG_BITS { // bits description
  633. Uint16 CPUREAD:1; // 0 Non Master CPU Read Access Violation Flag
  634. Uint16 CPUWRITE:1; // 1 Non Master CPU Write Access Violation Flag
  635. Uint16 CPUFETCH:1; // 2 Non Master CPU Fetch Access Violation Flag
  636. Uint16 DMAWRITE:1; // 3 Non Master DMA Write Access Violation Flag
  637. Uint16 CLA1READ:1; // 4 Non Master CLA1 Read Access Violation Flag
  638. Uint16 CLA1WRITE:1; // 5 Non Master CLA1 Write Access Violation Flag
  639. Uint16 CLA1FETCH:1; // 6 Non Master CLA1 Fetch Access Violation Flag
  640. Uint16 rsvd1:1; // 7 Reserved
  641. Uint16 rsvd2:1; // 8 Reserved
  642. Uint16 rsvd3:1; // 9 Reserved
  643. Uint16 rsvd4:6; // 15:10 Reserved
  644. Uint16 rsvd5:16; // 31:16 Reserved
  645. };
  646. union NMAVFLG_REG {
  647. Uint32 all;
  648. struct NMAVFLG_BITS bit;
  649. };
  650. struct NMAVSET_BITS { // bits description
  651. Uint16 CPUREAD:1; // 0 Non Master CPU Read Access Violation Flag Set
  652. Uint16 CPUWRITE:1; // 1 Non Master CPU Write Access Violation Flag Set
  653. Uint16 CPUFETCH:1; // 2 Non Master CPU Fetch Access Violation Flag Set
  654. Uint16 DMAWRITE:1; // 3 Non Master DMA Write Access Violation Flag Set
  655. Uint16 CLA1READ:1; // 4 Non Master CLA1 Read Access Violation Flag Set
  656. Uint16 CLA1WRITE:1; // 5 Non Master CLA1 Write Access Violation Flag Set
  657. Uint16 CLA1FETCH:1; // 6 Non Master CLA1 Fetch Access Violation Flag Set
  658. Uint16 rsvd1:1; // 7 Reserved
  659. Uint16 rsvd2:1; // 8 Reserved
  660. Uint16 rsvd3:1; // 9 Reserved
  661. Uint16 rsvd4:6; // 15:10 Reserved
  662. Uint16 rsvd5:16; // 31:16 Reserved
  663. };
  664. union NMAVSET_REG {
  665. Uint32 all;
  666. struct NMAVSET_BITS bit;
  667. };
  668. struct NMAVCLR_BITS { // bits description
  669. Uint16 CPUREAD:1; // 0 Non Master CPU Read Access Violation Flag Clear
  670. Uint16 CPUWRITE:1; // 1 Non Master CPU Write Access Violation Flag Clear
  671. Uint16 CPUFETCH:1; // 2 Non Master CPU Fetch Access Violation Flag Clear
  672. Uint16 DMAWRITE:1; // 3 Non Master DMA Write Access Violation Flag Clear
  673. Uint16 CLA1READ:1; // 4 Non Master CLA1 Read Access Violation Flag Clear
  674. Uint16 CLA1WRITE:1; // 5 Non Master CLA1 Write Access Violation Flag Clear
  675. Uint16 CLA1FETCH:1; // 6 Non Master CLA1 Fetch Access Violation Flag Clear
  676. Uint16 rsvd1:1; // 7 Reserved
  677. Uint16 rsvd2:1; // 8 Reserved
  678. Uint16 rsvd3:1; // 9 Reserved
  679. Uint16 rsvd4:6; // 15:10 Reserved
  680. Uint16 rsvd5:16; // 31:16 Reserved
  681. };
  682. union NMAVCLR_REG {
  683. Uint32 all;
  684. struct NMAVCLR_BITS bit;
  685. };
  686. struct NMAVINTEN_BITS { // bits description
  687. Uint16 CPUREAD:1; // 0 Non Master CPU Read Access Violation Interrupt Enable
  688. Uint16 CPUWRITE:1; // 1 Non Master CPU Write Access Violation Interrupt Enable
  689. Uint16 CPUFETCH:1; // 2 Non Master CPU Fetch Access Violation Interrupt Enable
  690. Uint16 DMAWRITE:1; // 3 Non Master DMA Write Access Violation Interrupt Enable
  691. Uint16 CLA1READ:1; // 4 Non Master CLA1 Read Access Violation Interrupt Enable
  692. Uint16 CLA1WRITE:1; // 5 Non Master CLA1 Write Access Violation Interrupt Enable
  693. Uint16 CLA1FETCH:1; // 6 Non Master CLA1 Fetch Access Violation Interrupt Enable
  694. Uint16 rsvd1:1; // 7 Reserved
  695. Uint16 rsvd2:1; // 8 Reserved
  696. Uint16 rsvd3:1; // 9 Reserved
  697. Uint16 rsvd4:6; // 15:10 Reserved
  698. Uint16 rsvd5:16; // 31:16 Reserved
  699. };
  700. union NMAVINTEN_REG {
  701. Uint32 all;
  702. struct NMAVINTEN_BITS bit;
  703. };
  704. struct MAVFLG_BITS { // bits description
  705. Uint16 CPUFETCH:1; // 0 Master CPU Fetch Access Violation Flag
  706. Uint16 CPUWRITE:1; // 1 Master CPU Write Access Violation Flag
  707. Uint16 DMAWRITE:1; // 2 Master DMA Write Access Violation Flag
  708. Uint16 rsvd1:13; // 15:3 Reserved
  709. Uint16 rsvd2:16; // 31:16 Reserved
  710. };
  711. union MAVFLG_REG {
  712. Uint32 all;
  713. struct MAVFLG_BITS bit;
  714. };
  715. struct MAVSET_BITS { // bits description
  716. Uint16 CPUFETCH:1; // 0 Master CPU Fetch Access Violation Flag Set
  717. Uint16 CPUWRITE:1; // 1 Master CPU Write Access Violation Flag Set
  718. Uint16 DMAWRITE:1; // 2 Master DMA Write Access Violation Flag Set
  719. Uint16 rsvd1:13; // 15:3 Reserved
  720. Uint16 rsvd2:16; // 31:16 Reserved
  721. };
  722. union MAVSET_REG {
  723. Uint32 all;
  724. struct MAVSET_BITS bit;
  725. };
  726. struct MAVCLR_BITS { // bits description
  727. Uint16 CPUFETCH:1; // 0 Master CPU Fetch Access Violation Flag Clear
  728. Uint16 CPUWRITE:1; // 1 Master CPU Write Access Violation Flag Clear
  729. Uint16 DMAWRITE:1; // 2 Master DMA Write Access Violation Flag Clear
  730. Uint16 rsvd1:13; // 15:3 Reserved
  731. Uint16 rsvd2:16; // 31:16 Reserved
  732. };
  733. union MAVCLR_REG {
  734. Uint32 all;
  735. struct MAVCLR_BITS bit;
  736. };
  737. struct MAVINTEN_BITS { // bits description
  738. Uint16 CPUFETCH:1; // 0 Master CPU Fetch Access Violation Interrupt Enable
  739. Uint16 CPUWRITE:1; // 1 Master CPU Write Access Violation Interrupt Enable
  740. Uint16 DMAWRITE:1; // 2 Master DMA Write Access Violation Interrupt Enable
  741. Uint16 rsvd1:13; // 15:3 Reserved
  742. Uint16 rsvd2:16; // 31:16 Reserved
  743. };
  744. union MAVINTEN_REG {
  745. Uint32 all;
  746. struct MAVINTEN_BITS bit;
  747. };
  748. struct ACCESS_PROTECTION_REGS {
  749. union NMAVFLG_REG NMAVFLG; // Non-Master Access Violation Flag Register
  750. union NMAVSET_REG NMAVSET; // Non-Master Access Violation Flag Set Register
  751. union NMAVCLR_REG NMAVCLR; // Non-Master Access Violation Flag Clear Register
  752. union NMAVINTEN_REG NMAVINTEN; // Non-Master Access Violation Interrupt Enable Register
  753. Uint32 NMCPURDAVADDR; // Non-Master CPU Read Access Violation Address
  754. Uint32 NMCPUWRAVADDR; // Non-Master CPU Write Access Violation Address
  755. Uint32 NMCPUFAVADDR; // Non-Master CPU Fetch Access Violation Address
  756. Uint32 NMDMAWRAVADDR; // Non-Master DMA Write Access Violation Address
  757. Uint32 NMCLA1RDAVADDR; // Non-Master CLA1 Read Access Violation Address
  758. Uint32 NMCLA1WRAVADDR; // Non-Master CLA1 Write Access Violation Address
  759. Uint32 NMCLA1FAVADDR; // Non-Master CLA1 Fetch Access Violation Address
  760. Uint16 rsvd1[10]; // Reserved
  761. union MAVFLG_REG MAVFLG; // Master Access Violation Flag Register
  762. union MAVSET_REG MAVSET; // Master Access Violation Flag Set Register
  763. union MAVCLR_REG MAVCLR; // Master Access Violation Flag Clear Register
  764. union MAVINTEN_REG MAVINTEN; // Master Access Violation Interrupt Enable Register
  765. Uint32 MCPUFAVADDR; // Master CPU Fetch Access Violation Address
  766. Uint32 MCPUWRAVADDR; // Master CPU Write Access Violation Address
  767. Uint32 MDMAWRAVADDR; // Master DMA Write Access Violation Address
  768. Uint16 rsvd2[18]; // Reserved
  769. };
  770. struct UCERRFLG_BITS { // bits description
  771. Uint16 CPURDERR:1; // 0 CPU Uncorrectable Read Error Flag
  772. Uint16 DMARDERR:1; // 1 DMA Uncorrectable Read Error Flag
  773. Uint16 CLA1RDERR:1; // 2 CLA1 Uncorrectable Read Error Flag
  774. Uint16 rsvd1:1; // 3 Reserved
  775. Uint16 rsvd2:12; // 15:4 Reserved
  776. Uint16 rsvd3:16; // 31:16 Reserved
  777. };
  778. union UCERRFLG_REG {
  779. Uint32 all;
  780. struct UCERRFLG_BITS bit;
  781. };
  782. struct UCERRSET_BITS { // bits description
  783. Uint16 CPURDERR:1; // 0 CPU Uncorrectable Read Error Flag Set
  784. Uint16 DMARDERR:1; // 1 DMA Uncorrectable Read Error Flag Set
  785. Uint16 CLA1RDERR:1; // 2 CLA1 Uncorrectable Read Error Flag Set
  786. Uint16 rsvd1:1; // 3 Reserved
  787. Uint16 rsvd2:12; // 15:4 Reserved
  788. Uint16 rsvd3:16; // 31:16 Reserved
  789. };
  790. union UCERRSET_REG {
  791. Uint32 all;
  792. struct UCERRSET_BITS bit;
  793. };
  794. struct UCERRCLR_BITS { // bits description
  795. Uint16 CPURDERR:1; // 0 CPU Uncorrectable Read Error Flag Clear
  796. Uint16 DMARDERR:1; // 1 DMA Uncorrectable Read Error Flag Clear
  797. Uint16 CLA1RDERR:1; // 2 CLA1 Uncorrectable Read Error Flag Clear
  798. Uint16 rsvd1:1; // 3 Reserved
  799. Uint16 rsvd2:12; // 15:4 Reserved
  800. Uint16 rsvd3:16; // 31:16 Reserved
  801. };
  802. union UCERRCLR_REG {
  803. Uint32 all;
  804. struct UCERRCLR_BITS bit;
  805. };
  806. struct CERRFLG_BITS { // bits description
  807. Uint16 CPURDERR:1; // 0 CPU Correctable Read Error Flag
  808. Uint16 DMARDERR:1; // 1 DMA Correctable Read Error Flag
  809. Uint16 CLA1RDERR:1; // 2 CLA1 Correctable Read Error Flag
  810. Uint16 rsvd1:1; // 3 Reserved
  811. Uint16 rsvd2:12; // 15:4 Reserved
  812. Uint16 rsvd3:16; // 31:16 Reserved
  813. };
  814. union CERRFLG_REG {
  815. Uint32 all;
  816. struct CERRFLG_BITS bit;
  817. };
  818. struct CERRSET_BITS { // bits description
  819. Uint16 CPURDERR:1; // 0 CPU Correctable Read Error Flag Set
  820. Uint16 DMARDERR:1; // 1 DMA Correctable Read Error Flag Set
  821. Uint16 CLA1RDERR:1; // 2 CLA1 Correctable Read Error Flag Set
  822. Uint16 rsvd1:1; // 3 Reserved
  823. Uint16 rsvd2:12; // 15:4 Reserved
  824. Uint16 rsvd3:16; // 31:16 Reserved
  825. };
  826. union CERRSET_REG {
  827. Uint32 all;
  828. struct CERRSET_BITS bit;
  829. };
  830. struct CERRCLR_BITS { // bits description
  831. Uint16 CPURDERR:1; // 0 CPU Correctable Read Error Flag Clear
  832. Uint16 DMARDERR:1; // 1 DMA Correctable Read Error Flag Clear
  833. Uint16 CLA1RDERR:1; // 2 CLA1 Correctable Read Error Flag Clear
  834. Uint16 rsvd1:1; // 3 Reserved
  835. Uint16 rsvd2:12; // 15:4 Reserved
  836. Uint16 rsvd3:16; // 31:16 Reserved
  837. };
  838. union CERRCLR_REG {
  839. Uint32 all;
  840. struct CERRCLR_BITS bit;
  841. };
  842. struct CEINTFLG_BITS { // bits description
  843. Uint16 CEINTFLAG:1; // 0 Total corrected error count exceeded threshold flag.
  844. Uint16 rsvd1:15; // 15:1 Reserved
  845. Uint16 rsvd2:16; // 31:16 Reserved
  846. };
  847. union CEINTFLG_REG {
  848. Uint32 all;
  849. struct CEINTFLG_BITS bit;
  850. };
  851. struct CEINTCLR_BITS { // bits description
  852. Uint16 CEINTCLR:1; // 0 CPU Corrected Error Threshold Exceeded Error Clear.
  853. Uint16 rsvd1:15; // 15:1 Reserved
  854. Uint16 rsvd2:16; // 31:16 Reserved
  855. };
  856. union CEINTCLR_REG {
  857. Uint32 all;
  858. struct CEINTCLR_BITS bit;
  859. };
  860. struct CEINTSET_BITS { // bits description
  861. Uint16 CEINTSET:1; // 0 Total corrected error count exceeded flag set.
  862. Uint16 rsvd1:15; // 15:1 Reserved
  863. Uint16 rsvd2:16; // 31:16 Reserved
  864. };
  865. union CEINTSET_REG {
  866. Uint32 all;
  867. struct CEINTSET_BITS bit;
  868. };
  869. struct CEINTEN_BITS { // bits description
  870. Uint16 CEINTEN:1; // 0 CPU/DMA Correctable Error Interrupt Enable.
  871. Uint16 rsvd1:15; // 15:1 Reserved
  872. Uint16 rsvd2:16; // 31:16 Reserved
  873. };
  874. union CEINTEN_REG {
  875. Uint32 all;
  876. struct CEINTEN_BITS bit;
  877. };
  878. struct MEMORY_ERROR_REGS {
  879. union UCERRFLG_REG UCERRFLG; // Uncorrectable Error Flag Register
  880. union UCERRSET_REG UCERRSET; // Uncorrectable Error Flag Set Register
  881. union UCERRCLR_REG UCERRCLR; // Uncorrectable Error Flag Clear Register
  882. Uint32 UCCPUREADDR; // Uncorrectable CPU Read Error Address
  883. Uint32 UCDMAREADDR; // Uncorrectable DMA Read Error Address
  884. Uint32 UCCLA1READDR; // Uncorrectable CLA1 Read Error Address
  885. Uint16 rsvd1[20]; // Reserved
  886. union CERRFLG_REG CERRFLG; // Correctable Error Flag Register
  887. union CERRSET_REG CERRSET; // Correctable Error Flag Set Register
  888. union CERRCLR_REG CERRCLR; // Correctable Error Flag Clear Register
  889. Uint32 CCPUREADDR; // Correctable CPU Read Error Address
  890. Uint16 rsvd2[6]; // Reserved
  891. Uint32 CERRCNT; // Correctable Error Count Register
  892. Uint32 CERRTHRES; // Correctable Error Threshold Value Register
  893. union CEINTFLG_REG CEINTFLG; // Correctable Error Interrupt Flag Status Register
  894. union CEINTCLR_REG CEINTCLR; // Correctable Error Interrupt Flag Clear Register
  895. union CEINTSET_REG CEINTSET; // Correctable Error Interrupt Flag Set Register
  896. union CEINTEN_REG CEINTEN; // Correctable Error Interrupt Enable Register
  897. Uint16 rsvd3[6]; // Reserved
  898. };
  899. struct ROMWAITSTATE_BITS { // bits description
  900. Uint16 WSDISABLE:1; // 0 ROM Wait State Enable/Disable Control
  901. Uint16 rsvd1:15; // 15:1 Reserved
  902. Uint16 rsvd2:16; // 31:16 Reserved
  903. };
  904. union ROMWAITSTATE_REG {
  905. Uint32 all;
  906. struct ROMWAITSTATE_BITS bit;
  907. };
  908. struct ROM_WAIT_STATE_REGS {
  909. union ROMWAITSTATE_REG ROMWAITSTATE; // ROM Wait State Configuration Register
  910. };
  911. struct ROMPREFETCH_BITS { // bits description
  912. Uint16 PFENABLE:1; // 0 ROM Prefetch Enable/Disable Control
  913. Uint16 rsvd1:15; // 15:1 Reserved
  914. Uint16 rsvd2:16; // 31:16 Reserved
  915. };
  916. union ROMPREFETCH_REG {
  917. Uint32 all;
  918. struct ROMPREFETCH_BITS bit;
  919. };
  920. struct ROM_PREFETCH_REGS {
  921. union ROMPREFETCH_REG ROMPREFETCH; // ROM Prefetch Configuration Register
  922. };
  923. //---------------------------------------------------------------------------
  924. // MEMCONFIG External References & Function Declarations:
  925. //
  926. #ifdef CPU1
  927. extern volatile struct ROM_PREFETCH_REGS RomPrefetchRegs;
  928. extern volatile struct MEM_CFG_REGS MemCfgRegs;
  929. extern volatile struct EMIF1_CONFIG_REGS Emif1ConfigRegs;
  930. extern volatile struct EMIF2_CONFIG_REGS Emif2ConfigRegs;
  931. extern volatile struct ACCESS_PROTECTION_REGS AccessProtectionRegs;
  932. extern volatile struct MEMORY_ERROR_REGS MemoryErrorRegs;
  933. extern volatile struct ROM_WAIT_STATE_REGS RomWaitStateRegs;
  934. #endif
  935. #ifdef CPU2
  936. extern volatile struct MEM_CFG_REGS MemCfgRegs;
  937. extern volatile struct EMIF1_CONFIG_REGS Emif1ConfigRegs;
  938. extern volatile struct ACCESS_PROTECTION_REGS AccessProtectionRegs;
  939. extern volatile struct MEMORY_ERROR_REGS MemoryErrorRegs;
  940. #endif
  941. #ifdef __cplusplus
  942. }
  943. #endif /* extern "C" */
  944. #endif
  945. //===========================================================================
  946. // End of file.
  947. //===========================================================================