cslr_elm.h 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656
  1. /********************************************************************
  2. * Copyright (C) 2013-2014 Texas Instruments Incorporated.
  3. *
  4. * Redistribution and use in source and binary forms, with or without
  5. * modification, are permitted provided that the following conditions
  6. * are met:
  7. *
  8. * Redistributions of source code must retain the above copyright
  9. * notice, this list of conditions and the following disclaimer.
  10. *
  11. * Redistributions in binary form must reproduce the above copyright
  12. * notice, this list of conditions and the following disclaimer in the
  13. * documentation and/or other materials provided with the
  14. * distribution.
  15. *
  16. * Neither the name of Texas Instruments Incorporated nor the names of
  17. * its contributors may be used to endorse or promote products derived
  18. * from this software without specific prior written permission.
  19. *
  20. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  21. * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  22. * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  23. * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  24. * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  25. * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  26. * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  27. * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  28. * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  29. * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  30. * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  31. *
  32. */
  33. #ifndef CSLR_ELM_H
  34. #define CSLR_ELM_H
  35. #ifdef __cplusplus
  36. extern "C"
  37. {
  38. #endif
  39. #include <ti/csl/cslr.h>
  40. #include <ti/csl/tistdtypes.h>
  41. /**************************************************************************
  42. * Register Overlay Structure for Header
  43. **************************************************************************/
  44. typedef struct {
  45. volatile Uint32 REVISION;
  46. volatile Uint8 RSVD0[12];
  47. volatile Uint32 SYSCONFIG;
  48. volatile Uint32 SYSSTS;
  49. volatile Uint32 IRQSTS;
  50. volatile Uint32 IRQEN;
  51. volatile Uint32 LOCATION_CONFIG;
  52. volatile Uint8 RSVD1[92];
  53. volatile Uint32 PAGE_CTRL;
  54. } CSL_ElmHeaderRegs;
  55. /**************************************************************************
  56. * Register Overlay Structure for ELM_SYNDROMES
  57. **************************************************************************/
  58. typedef struct {
  59. volatile Uint32 SYNDROME_FRAGMENT_0;
  60. volatile Uint32 SYNDROME_FRAGMENT_1;
  61. volatile Uint32 SYNDROME_FRAGMENT_2;
  62. volatile Uint32 SYNDROME_FRAGMENT_3;
  63. volatile Uint32 SYNDROME_FRAGMENT_4;
  64. volatile Uint32 SYNDROME_FRAGMENT_5;
  65. volatile Uint32 SYNDROME_FRAGMENT_6;
  66. volatile Uint8 RSVD0[36];
  67. } CSL_ElmSyndromesRegs;
  68. /**************************************************************************
  69. * Register Overlay Structure for ELM_ERROR_LOCATIONS
  70. **************************************************************************/
  71. typedef struct {
  72. volatile Uint32 LOCATION_STS;
  73. volatile Uint8 RSVD0[124];
  74. volatile Uint32 ERROR_LOCATION_0;
  75. volatile Uint32 ERROR_LOCATION_1;
  76. volatile Uint32 ERROR_LOCATION_2;
  77. volatile Uint32 ERROR_LOCATION_3;
  78. volatile Uint32 ERROR_LOCATION_4;
  79. volatile Uint32 ERROR_LOCATION_5;
  80. volatile Uint32 ERROR_LOCATION_6;
  81. volatile Uint32 ERROR_LOCATION_7;
  82. volatile Uint32 ERROR_LOCATION_8;
  83. volatile Uint32 ERROR_LOCATION_9;
  84. volatile Uint32 ERROR_LOCATION_10;
  85. volatile Uint32 ERROR_LOCATION_11;
  86. volatile Uint32 ERROR_LOCATION_12;
  87. volatile Uint32 ERROR_LOCATION_13;
  88. volatile Uint32 ERROR_LOCATION_14;
  89. volatile Uint32 ERROR_LOCATION_15;
  90. volatile Uint8 RSVD1[64];
  91. } CSL_ElmError_locationsRegs;
  92. /**************************************************************************
  93. * Register Overlay Structure
  94. **************************************************************************/
  95. typedef struct {
  96. CSL_ElmHeaderRegs HEADER;
  97. volatile Uint8 RSVD2[892];
  98. CSL_ElmSyndromesRegs SYNDROMES[8];
  99. volatile Uint8 RSVD3[512];
  100. CSL_ElmError_locationsRegs ERROR_LOCATIONS[8];
  101. } CSL_elmRegs;
  102. /**************************************************************************
  103. * Register Macros
  104. **************************************************************************/
  105. /* Register Macros for OCP_target */
  106. /* This register contains the IP revision code. (A write to this register has
  107. * no effect, the same as the reset) */
  108. #define CSL_ELM_REVISION (0x0U)
  109. /* This register allows controlling various parameters of the OCP interface */
  110. #define CSL_ELM_SYSCONFIG (0x10U)
  111. /* Internal Reset monitoring (OCP domain) Undefined since: on HW perspective
  112. * reset state is 0 on SW user perspective when module is accessible is 1 */
  113. #define CSL_ELM_SYSSTS (0x14U)
  114. /* Interrupt status. This register doubles as a status register for the error
  115. * location processes. */
  116. #define CSL_ELM_IRQSTS (0x18U)
  117. /* Interrupt enable */
  118. #define CSL_ELM_IRQEN (0x1CU)
  119. /* ECC algorithm parameters */
  120. #define CSL_ELM_LOCATION_CONFIG (0x20U)
  121. /* Page definition */
  122. #define CSL_ELM_PAGE_CTRL (0x80U)
  123. /* Input syndrome polynomial bits 32 to 63. */
  124. #define CSL_ELM_SYNDROME_FRAGMENT_1(n) (0x404U + ((n) * (0x40U)))
  125. /* Input syndrome polynomial bits 64 to 95. */
  126. #define CSL_ELM_SYNDROME_FRAGMENT_2(n) (0x408U + ((n) * (0x40U)))
  127. /* Input syndrome polynomial bits 192 to 207. */
  128. #define CSL_ELM_SYNDROME_FRAGMENT_6(n) (0x418U + ((n) * (0x40U)))
  129. /* Input syndrome polynomial bits 0 to 31. */
  130. #define CSL_ELM_SYNDROME_FRAGMENT_0(n) (0x400U + ((n) * (0x40U)))
  131. /* Input syndrome polynomial bits 96 to 127 */
  132. #define CSL_ELM_SYNDROME_FRAGMENT_3(n) (0x40CU + ((n) * (0x40U)))
  133. /* Input syndrome polynomial bits 128 to 159. */
  134. #define CSL_ELM_SYNDROME_FRAGMENT_4(n) (0x410U + ((n) * (0x40U)))
  135. /* Input syndrome polynomial bits 160 to 191. */
  136. #define CSL_ELM_SYNDROME_FRAGMENT_5(n) (0x414U + ((n) * (0x40U)))
  137. /* Error location register */
  138. #define CSL_ELM_ERROR_LOCATION_7(n) (0x89CU + ((n) * (0x100U)))
  139. /* Error location register */
  140. #define CSL_ELM_ERROR_LOCATION_6(n) (0x898U + ((n) * (0x100U)))
  141. /* Error location register */
  142. #define CSL_ELM_ERROR_LOCATION_5(n) (0x894U + ((n) * (0x100U)))
  143. /* Error location register */
  144. #define CSL_ELM_ERROR_LOCATION_4(n) (0x890U + ((n) * (0x100U)))
  145. /* Error location register */
  146. #define CSL_ELM_ERROR_LOCATION_3(n) (0x88CU + ((n) * (0x100U)))
  147. /* Error location register */
  148. #define CSL_ELM_ERROR_LOCATION_2(n) (0x888U + ((n) * (0x100U)))
  149. /* Error location register */
  150. #define CSL_ELM_ERROR_LOCATION_1(n) (0x884U + ((n) * (0x100U)))
  151. /* Error location register */
  152. #define CSL_ELM_ERROR_LOCATION_0(n) (0x880U + ((n) * (0x100U)))
  153. /* Exit status for the syndrome polynomial processing */
  154. #define CSL_ELM_LOCATION_STS(n) (0x800U + ((n) * (0x100U)))
  155. /* Error location register */
  156. #define CSL_ELM_ERROR_LOCATION_11(n) (0x8ACU + ((n) * (0x100U)))
  157. /* Error location register */
  158. #define CSL_ELM_ERROR_LOCATION_13(n) (0x8B4U + ((n) * (0x100U)))
  159. /* Error location register */
  160. #define CSL_ELM_ERROR_LOCATION_15(n) (0x8BCU + ((n) * (0x100U)))
  161. /* Error location register */
  162. #define CSL_ELM_ERROR_LOCATION_10(n) (0x8A8U + ((n) * (0x100U)))
  163. /* Error location register */
  164. #define CSL_ELM_ERROR_LOCATION_8(n) (0x8A0U + ((n) * (0x100U)))
  165. /* Error location register */
  166. #define CSL_ELM_ERROR_LOCATION_9(n) (0x8A4U + ((n) * (0x100U)))
  167. /* Error location register */
  168. #define CSL_ELM_ERROR_LOCATION_14(n) (0x8B8U + ((n) * (0x100U)))
  169. /* Error location register */
  170. #define CSL_ELM_ERROR_LOCATION_12(n) (0x8B0U + ((n) * (0x100U)))
  171. /**************************************************************************
  172. * Field Definition Macros
  173. **************************************************************************/
  174. /* REVISION */
  175. #define CSL_ELM_REVISION_REV_NUMBER_SHIFT (0U)
  176. #define CSL_ELM_REVISION_REV_NUMBER_MASK (0x000000FFU)
  177. #define CSL_ELM_REVISION_REV_NUMBER_RESETVAL (0x00000020U)
  178. #define CSL_ELM_REVISION_REV_NUMBER_MAX (0x000000ffU)
  179. #define CSL_ELM_REVISION_RESETVAL (0x00000020U)
  180. /* SYSCONFIG */
  181. #define CSL_ELM_SYSCONFIG_AUTOGATING_SHIFT (0U)
  182. #define CSL_ELM_SYSCONFIG_AUTOGATING_MASK (0x00000001U)
  183. #define CSL_ELM_SYSCONFIG_AUTOGATING_RESETVAL (0x00000001U)
  184. #define CSL_ELM_SYSCONFIG_AUTOGATING_OCP_FREE (0x00000000U)
  185. #define CSL_ELM_SYSCONFIG_AUTOGATING_OCP_GATING (0x00000001U)
  186. #define CSL_ELM_SYSCONFIG_SOFTRESET_SHIFT (1U)
  187. #define CSL_ELM_SYSCONFIG_SOFTRESET_MASK (0x00000002U)
  188. #define CSL_ELM_SYSCONFIG_SOFTRESET_RESETVAL (0x00000000U)
  189. #define CSL_ELM_SYSCONFIG_SOFTRESET_RESET (0x00000002U)
  190. #define CSL_ELM_SYSCONFIG_SOFTRESET_NORMAL (0x00000000U)
  191. #define CSL_ELM_SYSCONFIG_CLOCKACTIVITYOCP_SHIFT (8U)
  192. #define CSL_ELM_SYSCONFIG_CLOCKACTIVITYOCP_MASK (0x00000100U)
  193. #define CSL_ELM_SYSCONFIG_CLOCKACTIVITYOCP_RESETVAL (0x00000000U)
  194. #define CSL_ELM_SYSCONFIG_CLOCKACTIVITYOCP_OCP_OFF (0x00000000U)
  195. #define CSL_ELM_SYSCONFIG_CLOCKACTIVITYOCP_OCP_ON (0x00000100U)
  196. #define CSL_ELM_SYSCONFIG_SIDLEMODE_SHIFT (3U)
  197. #define CSL_ELM_SYSCONFIG_SIDLEMODE_MASK (0x00000018U)
  198. #define CSL_ELM_SYSCONFIG_SIDLEMODE_RESETVAL (0x00000002U)
  199. #define CSL_ELM_SYSCONFIG_SIDLEMODE_NO_IDLE (0x00000008U)
  200. #define CSL_ELM_SYSCONFIG_SIDLEMODE_RESERVED (0x00000018U)
  201. #define CSL_ELM_SYSCONFIG_SIDLEMODE_FORCE_IDLE (0x00000000U)
  202. #define CSL_ELM_SYSCONFIG_SIDLEMODE_SMART_IDLE (0x00000010U)
  203. #define CSL_ELM_SYSCONFIG_RESETVAL (0x00000011U)
  204. /* SYSSTS */
  205. #define CSL_ELM_SYSSTS_RESETDONE_SHIFT (0U)
  206. #define CSL_ELM_SYSSTS_RESETDONE_MASK (0x00000001U)
  207. #define CSL_ELM_SYSSTS_RESETDONE_RESETVAL (0x00000001U)
  208. #define CSL_ELM_SYSSTS_RESETDONE_RST_DONE (0x00000001U)
  209. #define CSL_ELM_SYSSTS_RESETDONE_RST_ONGOING (0x00000000U)
  210. #define CSL_ELM_SYSSTS_RESETVAL (0x00000001U)
  211. /* IRQSTS */
  212. #define CSL_ELM_IRQSTS_LOC_VALID_0_SHIFT (0U)
  213. #define CSL_ELM_IRQSTS_LOC_VALID_0_MASK (0x00000001U)
  214. #define CSL_ELM_IRQSTS_LOC_VALID_0_RESETVAL (0x00000000U)
  215. #define CSL_ELM_IRQSTS_LOC_VALID_0_MAX (0x00000001U)
  216. #define CSL_ELM_IRQSTS_LOC_VALID_1_SHIFT (1U)
  217. #define CSL_ELM_IRQSTS_LOC_VALID_1_MASK (0x00000002U)
  218. #define CSL_ELM_IRQSTS_LOC_VALID_1_RESETVAL (0x00000000U)
  219. #define CSL_ELM_IRQSTS_LOC_VALID_1_MAX (0x00000001U)
  220. #define CSL_ELM_IRQSTS_LOC_VALID_2_SHIFT (2U)
  221. #define CSL_ELM_IRQSTS_LOC_VALID_2_MASK (0x00000004U)
  222. #define CSL_ELM_IRQSTS_LOC_VALID_2_RESETVAL (0x00000000U)
  223. #define CSL_ELM_IRQSTS_LOC_VALID_2_MAX (0x00000001U)
  224. #define CSL_ELM_IRQSTS_LOC_VALID_3_SHIFT (3U)
  225. #define CSL_ELM_IRQSTS_LOC_VALID_3_MASK (0x00000008U)
  226. #define CSL_ELM_IRQSTS_LOC_VALID_3_RESETVAL (0x00000000U)
  227. #define CSL_ELM_IRQSTS_LOC_VALID_3_MAX (0x00000001U)
  228. #define CSL_ELM_IRQSTS_LOC_VALID_4_SHIFT (4U)
  229. #define CSL_ELM_IRQSTS_LOC_VALID_4_MASK (0x00000010U)
  230. #define CSL_ELM_IRQSTS_LOC_VALID_4_RESETVAL (0x00000000U)
  231. #define CSL_ELM_IRQSTS_LOC_VALID_4_MAX (0x00000001U)
  232. #define CSL_ELM_IRQSTS_LOC_VALID_5_SHIFT (5U)
  233. #define CSL_ELM_IRQSTS_LOC_VALID_5_MASK (0x00000020U)
  234. #define CSL_ELM_IRQSTS_LOC_VALID_5_RESETVAL (0x00000000U)
  235. #define CSL_ELM_IRQSTS_LOC_VALID_5_MAX (0x00000001U)
  236. #define CSL_ELM_IRQSTS_LOC_VALID_6_SHIFT (6U)
  237. #define CSL_ELM_IRQSTS_LOC_VALID_6_MASK (0x00000040U)
  238. #define CSL_ELM_IRQSTS_LOC_VALID_6_RESETVAL (0x00000000U)
  239. #define CSL_ELM_IRQSTS_LOC_VALID_6_MAX (0x00000001U)
  240. #define CSL_ELM_IRQSTS_LOC_VALID_7_SHIFT (7U)
  241. #define CSL_ELM_IRQSTS_LOC_VALID_7_MASK (0x00000080U)
  242. #define CSL_ELM_IRQSTS_LOC_VALID_7_RESETVAL (0x00000000U)
  243. #define CSL_ELM_IRQSTS_LOC_VALID_7_MAX (0x00000001U)
  244. #define CSL_ELM_IRQSTS_PAGE_VALID_SHIFT (8U)
  245. #define CSL_ELM_IRQSTS_PAGE_VALID_MASK (0x00000100U)
  246. #define CSL_ELM_IRQSTS_PAGE_VALID_RESETVAL (0x00000000U)
  247. #define CSL_ELM_IRQSTS_PAGE_VALID_MAX (0x00000001U)
  248. #define CSL_ELM_IRQSTS_RESETVAL (0x00000000U)
  249. /* IRQEN */
  250. #define CSL_ELM_IRQEN_LOCATION_MASK_0_SHIFT (0U)
  251. #define CSL_ELM_IRQEN_LOCATION_MASK_0_MASK (0x00000001U)
  252. #define CSL_ELM_IRQEN_LOCATION_MASK_0_RESETVAL (0x00000000U)
  253. #define CSL_ELM_IRQEN_LOCATION_MASK_0_MAX (0x00000001U)
  254. #define CSL_ELM_IRQEN_LOCATION_MASK_1_SHIFT (1U)
  255. #define CSL_ELM_IRQEN_LOCATION_MASK_1_MASK (0x00000002U)
  256. #define CSL_ELM_IRQEN_LOCATION_MASK_1_RESETVAL (0x00000000U)
  257. #define CSL_ELM_IRQEN_LOCATION_MASK_1_MAX (0x00000001U)
  258. #define CSL_ELM_IRQEN_LOCATION_MASK_2_SHIFT (2U)
  259. #define CSL_ELM_IRQEN_LOCATION_MASK_2_MASK (0x00000004U)
  260. #define CSL_ELM_IRQEN_LOCATION_MASK_2_RESETVAL (0x00000000U)
  261. #define CSL_ELM_IRQEN_LOCATION_MASK_2_MAX (0x00000001U)
  262. #define CSL_ELM_IRQEN_LOCATION_MASK_3_SHIFT (3U)
  263. #define CSL_ELM_IRQEN_LOCATION_MASK_3_MASK (0x00000008U)
  264. #define CSL_ELM_IRQEN_LOCATION_MASK_3_RESETVAL (0x00000000U)
  265. #define CSL_ELM_IRQEN_LOCATION_MASK_3_MAX (0x00000001U)
  266. #define CSL_ELM_IRQEN_LOCATION_MASK_4_SHIFT (4U)
  267. #define CSL_ELM_IRQEN_LOCATION_MASK_4_MASK (0x00000010U)
  268. #define CSL_ELM_IRQEN_LOCATION_MASK_4_RESETVAL (0x00000000U)
  269. #define CSL_ELM_IRQEN_LOCATION_MASK_4_MAX (0x00000001U)
  270. #define CSL_ELM_IRQEN_LOCATION_MASK_5_SHIFT (5U)
  271. #define CSL_ELM_IRQEN_LOCATION_MASK_5_MASK (0x00000020U)
  272. #define CSL_ELM_IRQEN_LOCATION_MASK_5_RESETVAL (0x00000000U)
  273. #define CSL_ELM_IRQEN_LOCATION_MASK_5_MAX (0x00000001U)
  274. #define CSL_ELM_IRQEN_LOCATION_MASK_6_SHIFT (6U)
  275. #define CSL_ELM_IRQEN_LOCATION_MASK_6_MASK (0x00000040U)
  276. #define CSL_ELM_IRQEN_LOCATION_MASK_6_RESETVAL (0x00000000U)
  277. #define CSL_ELM_IRQEN_LOCATION_MASK_6_MAX (0x00000001U)
  278. #define CSL_ELM_IRQEN_LOCATION_MASK_7_SHIFT (7U)
  279. #define CSL_ELM_IRQEN_LOCATION_MASK_7_MASK (0x00000080U)
  280. #define CSL_ELM_IRQEN_LOCATION_MASK_7_RESETVAL (0x00000000U)
  281. #define CSL_ELM_IRQEN_LOCATION_MASK_7_MAX (0x00000001U)
  282. #define CSL_ELM_IRQEN_PAGE_MASK_SHIFT (8U)
  283. #define CSL_ELM_IRQEN_PAGE_MASK_MASK (0x00000100U)
  284. #define CSL_ELM_IRQEN_PAGE_MASK_RESETVAL (0x00000000U)
  285. #define CSL_ELM_IRQEN_PAGE_MASK_MAX (0x00000001U)
  286. #define CSL_ELM_IRQEN_RESETVAL (0x00000000U)
  287. /* LOCATION_CONFIG */
  288. #define CSL_ELM_LOCATION_CONFIG_ECC_BCH_LEVEL_SHIFT (0U)
  289. #define CSL_ELM_LOCATION_CONFIG_ECC_BCH_LEVEL_MASK (0x00000003U)
  290. #define CSL_ELM_LOCATION_CONFIG_ECC_BCH_LEVEL_RESETVAL (0x00000000U)
  291. #define CSL_ELM_LOCATION_CONFIG_ECC_BCH_LEVEL_MAX (0x00000003U)
  292. #define CSL_ELM_LOCATION_CONFIG_ECC_SIZE_SHIFT (16U)
  293. #define CSL_ELM_LOCATION_CONFIG_ECC_SIZE_MASK (0x07FF0000U)
  294. #define CSL_ELM_LOCATION_CONFIG_ECC_SIZE_RESETVAL (0x00000000U)
  295. #define CSL_ELM_LOCATION_CONFIG_ECC_SIZE_MAX (0x000007ffU)
  296. #define CSL_ELM_LOCATION_CONFIG_RESETVAL (0x00000000U)
  297. /* PAGE_CTRL */
  298. #define CSL_ELM_PAGE_CTRL_SECTOR_0_SHIFT (0U)
  299. #define CSL_ELM_PAGE_CTRL_SECTOR_0_MASK (0x00000001U)
  300. #define CSL_ELM_PAGE_CTRL_SECTOR_0_RESETVAL (0x00000000U)
  301. #define CSL_ELM_PAGE_CTRL_SECTOR_0_MAX (0x00000001U)
  302. #define CSL_ELM_PAGE_CTRL_SECTOR_1_SHIFT (1U)
  303. #define CSL_ELM_PAGE_CTRL_SECTOR_1_MASK (0x00000002U)
  304. #define CSL_ELM_PAGE_CTRL_SECTOR_1_RESETVAL (0x00000000U)
  305. #define CSL_ELM_PAGE_CTRL_SECTOR_1_MAX (0x00000001U)
  306. #define CSL_ELM_PAGE_CTRL_SECTOR_2_SHIFT (2U)
  307. #define CSL_ELM_PAGE_CTRL_SECTOR_2_MASK (0x00000004U)
  308. #define CSL_ELM_PAGE_CTRL_SECTOR_2_RESETVAL (0x00000000U)
  309. #define CSL_ELM_PAGE_CTRL_SECTOR_2_MAX (0x00000001U)
  310. #define CSL_ELM_PAGE_CTRL_SECTOR_3_SHIFT (3U)
  311. #define CSL_ELM_PAGE_CTRL_SECTOR_3_MASK (0x00000008U)
  312. #define CSL_ELM_PAGE_CTRL_SECTOR_3_RESETVAL (0x00000000U)
  313. #define CSL_ELM_PAGE_CTRL_SECTOR_3_MAX (0x00000001U)
  314. #define CSL_ELM_PAGE_CTRL_SECTOR_4_SHIFT (4U)
  315. #define CSL_ELM_PAGE_CTRL_SECTOR_4_MASK (0x00000010U)
  316. #define CSL_ELM_PAGE_CTRL_SECTOR_4_RESETVAL (0x00000000U)
  317. #define CSL_ELM_PAGE_CTRL_SECTOR_4_MAX (0x00000001U)
  318. #define CSL_ELM_PAGE_CTRL_SECTOR_5_SHIFT (5U)
  319. #define CSL_ELM_PAGE_CTRL_SECTOR_5_MASK (0x00000020U)
  320. #define CSL_ELM_PAGE_CTRL_SECTOR_5_RESETVAL (0x00000000U)
  321. #define CSL_ELM_PAGE_CTRL_SECTOR_5_MAX (0x00000001U)
  322. #define CSL_ELM_PAGE_CTRL_SECTOR_6_SHIFT (6U)
  323. #define CSL_ELM_PAGE_CTRL_SECTOR_6_MASK (0x00000040U)
  324. #define CSL_ELM_PAGE_CTRL_SECTOR_6_RESETVAL (0x00000000U)
  325. #define CSL_ELM_PAGE_CTRL_SECTOR_6_MAX (0x00000001U)
  326. #define CSL_ELM_PAGE_CTRL_SECTOR_7_SHIFT (7U)
  327. #define CSL_ELM_PAGE_CTRL_SECTOR_7_MASK (0x00000080U)
  328. #define CSL_ELM_PAGE_CTRL_SECTOR_7_RESETVAL (0x00000000U)
  329. #define CSL_ELM_PAGE_CTRL_SECTOR_7_MAX (0x00000001U)
  330. #define CSL_ELM_PAGE_CTRL_RESETVAL (0x00000000U)
  331. /* SYNDROME_FRAGMENT_1 */
  332. #define CSL_ELM_SYNDROME_FRAGMENT_1_SYNDROME_1_SHIFT (0U)
  333. #define CSL_ELM_SYNDROME_FRAGMENT_1_SYNDROME_1_MASK (0xFFFFFFFFU)
  334. #define CSL_ELM_SYNDROME_FRAGMENT_1_SYNDROME_1_RESETVAL (0x00000000U)
  335. #define CSL_ELM_SYNDROME_FRAGMENT_1_SYNDROME_1_MAX (0xffffffffU)
  336. #define CSL_ELM_SYNDROME_FRAGMENT_1_RESETVAL (0x00000000U)
  337. /* SYNDROME_FRAGMENT_2 */
  338. #define CSL_ELM_SYNDROME_FRAGMENT_2_SYNDROME_2_SHIFT (0U)
  339. #define CSL_ELM_SYNDROME_FRAGMENT_2_SYNDROME_2_MASK (0xFFFFFFFFU)
  340. #define CSL_ELM_SYNDROME_FRAGMENT_2_SYNDROME_2_RESETVAL (0x00000000U)
  341. #define CSL_ELM_SYNDROME_FRAGMENT_2_SYNDROME_2_MAX (0xffffffffU)
  342. #define CSL_ELM_SYNDROME_FRAGMENT_2_RESETVAL (0x00000000U)
  343. /* SYNDROME_FRAGMENT_6 */
  344. #define CSL_ELM_SYNDROME_FRAGMENT_6_SYNDROME_6_SHIFT (0U)
  345. #define CSL_ELM_SYNDROME_FRAGMENT_6_SYNDROME_6_MASK (0x0000FFFFU)
  346. #define CSL_ELM_SYNDROME_FRAGMENT_6_SYNDROME_6_RESETVAL (0x00000000U)
  347. #define CSL_ELM_SYNDROME_FRAGMENT_6_SYNDROME_6_MAX (0x0000ffffU)
  348. #define CSL_ELM_SYNDROME_FRAGMENT_6_SYNDROME_VALID_SHIFT (16U)
  349. #define CSL_ELM_SYNDROME_FRAGMENT_6_SYNDROME_VALID_MASK (0x00010000U)
  350. #define CSL_ELM_SYNDROME_FRAGMENT_6_SYNDROME_VALID_RESETVAL (0x00000000U)
  351. #define CSL_ELM_SYNDROME_FRAGMENT_6_SYNDROME_VALID_MAX (0x00000001U)
  352. #define CSL_ELM_SYNDROME_FRAGMENT_6_RESETVAL (0x00000000U)
  353. /* SYNDROME_FRAGMENT_0 */
  354. #define CSL_ELM_SYNDROME_FRAGMENT_0_SYNDROME_0_SHIFT (0U)
  355. #define CSL_ELM_SYNDROME_FRAGMENT_0_SYNDROME_0_MASK (0xFFFFFFFFU)
  356. #define CSL_ELM_SYNDROME_FRAGMENT_0_SYNDROME_0_RESETVAL (0x00000000U)
  357. #define CSL_ELM_SYNDROME_FRAGMENT_0_SYNDROME_0_MAX (0xffffffffU)
  358. #define CSL_ELM_SYNDROME_FRAGMENT_0_RESETVAL (0x00000000U)
  359. /* SYNDROME_FRAGMENT_3 */
  360. #define CSL_ELM_SYNDROME_FRAGMENT_3_SYNDROME_3_SHIFT (0U)
  361. #define CSL_ELM_SYNDROME_FRAGMENT_3_SYNDROME_3_MASK (0xFFFFFFFFU)
  362. #define CSL_ELM_SYNDROME_FRAGMENT_3_SYNDROME_3_RESETVAL (0x00000000U)
  363. #define CSL_ELM_SYNDROME_FRAGMENT_3_SYNDROME_3_MAX (0xffffffffU)
  364. #define CSL_ELM_SYNDROME_FRAGMENT_3_RESETVAL (0x00000000U)
  365. /* SYNDROME_FRAGMENT_4 */
  366. #define CSL_ELM_SYNDROME_FRAGMENT_4_SYNDROME_4_SHIFT (0U)
  367. #define CSL_ELM_SYNDROME_FRAGMENT_4_SYNDROME_4_MASK (0xFFFFFFFFU)
  368. #define CSL_ELM_SYNDROME_FRAGMENT_4_SYNDROME_4_RESETVAL (0x00000000U)
  369. #define CSL_ELM_SYNDROME_FRAGMENT_4_SYNDROME_4_MAX (0xffffffffU)
  370. #define CSL_ELM_SYNDROME_FRAGMENT_4_RESETVAL (0x00000000U)
  371. /* SYNDROME_FRAGMENT_5 */
  372. #define CSL_ELM_SYNDROME_FRAGMENT_5_SYNDROME_5_SHIFT (0U)
  373. #define CSL_ELM_SYNDROME_FRAGMENT_5_SYNDROME_5_MASK (0xFFFFFFFFU)
  374. #define CSL_ELM_SYNDROME_FRAGMENT_5_SYNDROME_5_RESETVAL (0x00000000U)
  375. #define CSL_ELM_SYNDROME_FRAGMENT_5_SYNDROME_5_MAX (0xffffffffU)
  376. #define CSL_ELM_SYNDROME_FRAGMENT_5_RESETVAL (0x00000000U)
  377. /* ERROR_LOCATION_7 */
  378. #define CSL_ELM_ERROR_LOCATION_7_ECC_ERROR_LOCATION_SHIFT (0U)
  379. #define CSL_ELM_ERROR_LOCATION_7_ECC_ERROR_LOCATION_MASK (0x00001FFFU)
  380. #define CSL_ELM_ERROR_LOCATION_7_ECC_ERROR_LOCATION_RESETVAL (0x00000000U)
  381. #define CSL_ELM_ERROR_LOCATION_7_ECC_ERROR_LOCATION_MAX (0x00001fffU)
  382. #define CSL_ELM_ERROR_LOCATION_7_RESETVAL (0x00000000U)
  383. /* ERROR_LOCATION_6 */
  384. #define CSL_ELM_ERROR_LOCATION_6_ECC_ERROR_LOCATION_SHIFT (0U)
  385. #define CSL_ELM_ERROR_LOCATION_6_ECC_ERROR_LOCATION_MASK (0x00001FFFU)
  386. #define CSL_ELM_ERROR_LOCATION_6_ECC_ERROR_LOCATION_RESETVAL (0x00000000U)
  387. #define CSL_ELM_ERROR_LOCATION_6_ECC_ERROR_LOCATION_MAX (0x00001fffU)
  388. #define CSL_ELM_ERROR_LOCATION_6_RESETVAL (0x00000000U)
  389. /* ERROR_LOCATION_5 */
  390. #define CSL_ELM_ERROR_LOCATION_5_ECC_ERROR_LOCATION_SHIFT (0U)
  391. #define CSL_ELM_ERROR_LOCATION_5_ECC_ERROR_LOCATION_MASK (0x00001FFFU)
  392. #define CSL_ELM_ERROR_LOCATION_5_ECC_ERROR_LOCATION_RESETVAL (0x00000000U)
  393. #define CSL_ELM_ERROR_LOCATION_5_ECC_ERROR_LOCATION_MAX (0x00001fffU)
  394. #define CSL_ELM_ERROR_LOCATION_5_RESETVAL (0x00000000U)
  395. /* ERROR_LOCATION_4 */
  396. #define CSL_ELM_ERROR_LOCATION_4_ECC_ERROR_LOCATION_SHIFT (0U)
  397. #define CSL_ELM_ERROR_LOCATION_4_ECC_ERROR_LOCATION_MASK (0x00001FFFU)
  398. #define CSL_ELM_ERROR_LOCATION_4_ECC_ERROR_LOCATION_RESETVAL (0x00000000U)
  399. #define CSL_ELM_ERROR_LOCATION_4_ECC_ERROR_LOCATION_MAX (0x00001fffU)
  400. #define CSL_ELM_ERROR_LOCATION_4_RESETVAL (0x00000000U)
  401. /* ERROR_LOCATION_3 */
  402. #define CSL_ELM_ERROR_LOCATION_3_ECC_ERROR_LOCATION_SHIFT (0U)
  403. #define CSL_ELM_ERROR_LOCATION_3_ECC_ERROR_LOCATION_MASK (0x00001FFFU)
  404. #define CSL_ELM_ERROR_LOCATION_3_ECC_ERROR_LOCATION_RESETVAL (0x00000000U)
  405. #define CSL_ELM_ERROR_LOCATION_3_ECC_ERROR_LOCATION_MAX (0x00001fffU)
  406. #define CSL_ELM_ERROR_LOCATION_3_RESETVAL (0x00000000U)
  407. /* ERROR_LOCATION_2 */
  408. #define CSL_ELM_ERROR_LOCATION_2_ECC_ERROR_LOCATION_SHIFT (0U)
  409. #define CSL_ELM_ERROR_LOCATION_2_ECC_ERROR_LOCATION_MASK (0x00001FFFU)
  410. #define CSL_ELM_ERROR_LOCATION_2_ECC_ERROR_LOCATION_RESETVAL (0x00000000U)
  411. #define CSL_ELM_ERROR_LOCATION_2_ECC_ERROR_LOCATION_MAX (0x00001fffU)
  412. #define CSL_ELM_ERROR_LOCATION_2_RESETVAL (0x00000000U)
  413. /* ERROR_LOCATION_1 */
  414. #define CSL_ELM_ERROR_LOCATION_1_ECC_ERROR_LOCATION_SHIFT (0U)
  415. #define CSL_ELM_ERROR_LOCATION_1_ECC_ERROR_LOCATION_MASK (0x00001FFFU)
  416. #define CSL_ELM_ERROR_LOCATION_1_ECC_ERROR_LOCATION_RESETVAL (0x00000000U)
  417. #define CSL_ELM_ERROR_LOCATION_1_ECC_ERROR_LOCATION_MAX (0x00001fffU)
  418. #define CSL_ELM_ERROR_LOCATION_1_RESETVAL (0x00000000U)
  419. /* ERROR_LOCATION_0 */
  420. #define CSL_ELM_ERROR_LOCATION_0_ECC_ERROR_LOCATION_SHIFT (0U)
  421. #define CSL_ELM_ERROR_LOCATION_0_ECC_ERROR_LOCATION_MASK (0x00001FFFU)
  422. #define CSL_ELM_ERROR_LOCATION_0_ECC_ERROR_LOCATION_RESETVAL (0x00000000U)
  423. #define CSL_ELM_ERROR_LOCATION_0_ECC_ERROR_LOCATION_MAX (0x00001fffU)
  424. #define CSL_ELM_ERROR_LOCATION_0_RESETVAL (0x00000000U)
  425. /* LOCATION_STS */
  426. #define CSL_ELM_LOCATION_STS_ECC_NB_ERRORS_SHIFT (0U)
  427. #define CSL_ELM_LOCATION_STS_ECC_NB_ERRORS_MASK (0x0000001FU)
  428. #define CSL_ELM_LOCATION_STS_ECC_NB_ERRORS_RESETVAL (0x00000000U)
  429. #define CSL_ELM_LOCATION_STS_ECC_NB_ERRORS_MAX (0x0000001fU)
  430. #define CSL_ELM_LOCATION_STS_ECC_CORRECTBL_SHIFT (8U)
  431. #define CSL_ELM_LOCATION_STS_ECC_CORRECTBL_MASK (0x00000100U)
  432. #define CSL_ELM_LOCATION_STS_ECC_CORRECTBL_RESETVAL (0x00000000U)
  433. #define CSL_ELM_LOCATION_STS_ECC_CORRECTBL_MAX (0x00000001U)
  434. #define CSL_ELM_LOCATION_STS_RESETVAL (0x00000000U)
  435. /* ERROR_LOCATION_11 */
  436. #define CSL_ELM_ERROR_LOCATION_11_ECC_ERROR_LOCATION_SHIFT (0U)
  437. #define CSL_ELM_ERROR_LOCATION_11_ECC_ERROR_LOCATION_MASK (0x00001FFFU)
  438. #define CSL_ELM_ERROR_LOCATION_11_ECC_ERROR_LOCATION_RESETVAL (0x00000000U)
  439. #define CSL_ELM_ERROR_LOCATION_11_ECC_ERROR_LOCATION_MAX (0x00001fffU)
  440. #define CSL_ELM_ERROR_LOCATION_11_RESETVAL (0x00000000U)
  441. /* ERROR_LOCATION_13 */
  442. #define CSL_ELM_ERROR_LOCATION_13_ECC_ERROR_LOCATION_SHIFT (0U)
  443. #define CSL_ELM_ERROR_LOCATION_13_ECC_ERROR_LOCATION_MASK (0x00001FFFU)
  444. #define CSL_ELM_ERROR_LOCATION_13_ECC_ERROR_LOCATION_RESETVAL (0x00000000U)
  445. #define CSL_ELM_ERROR_LOCATION_13_ECC_ERROR_LOCATION_MAX (0x00001fffU)
  446. #define CSL_ELM_ERROR_LOCATION_13_RESETVAL (0x00000000U)
  447. /* ERROR_LOCATION_15 */
  448. #define CSL_ELM_ERROR_LOCATION_15_ECC_ERROR_LOCATION_SHIFT (0U)
  449. #define CSL_ELM_ERROR_LOCATION_15_ECC_ERROR_LOCATION_MASK (0x00001FFFU)
  450. #define CSL_ELM_ERROR_LOCATION_15_ECC_ERROR_LOCATION_RESETVAL (0x00000000U)
  451. #define CSL_ELM_ERROR_LOCATION_15_ECC_ERROR_LOCATION_MAX (0x00001fffU)
  452. #define CSL_ELM_ERROR_LOCATION_15_RESETVAL (0x00000000U)
  453. /* ERROR_LOCATION_10 */
  454. #define CSL_ELM_ERROR_LOCATION_10_ECC_ERROR_LOCATION_SHIFT (0U)
  455. #define CSL_ELM_ERROR_LOCATION_10_ECC_ERROR_LOCATION_MASK (0x00001FFFU)
  456. #define CSL_ELM_ERROR_LOCATION_10_ECC_ERROR_LOCATION_RESETVAL (0x00000000U)
  457. #define CSL_ELM_ERROR_LOCATION_10_ECC_ERROR_LOCATION_MAX (0x00001fffU)
  458. #define CSL_ELM_ERROR_LOCATION_10_RESETVAL (0x00000000U)
  459. /* ERROR_LOCATION_8 */
  460. #define CSL_ELM_ERROR_LOCATION_8_ECC_ERROR_LOCATION_SHIFT (0U)
  461. #define CSL_ELM_ERROR_LOCATION_8_ECC_ERROR_LOCATION_MASK (0x00001FFFU)
  462. #define CSL_ELM_ERROR_LOCATION_8_ECC_ERROR_LOCATION_RESETVAL (0x00000000U)
  463. #define CSL_ELM_ERROR_LOCATION_8_ECC_ERROR_LOCATION_MAX (0x00001fffU)
  464. #define CSL_ELM_ERROR_LOCATION_8_RESETVAL (0x00000000U)
  465. /* ERROR_LOCATION_9 */
  466. #define CSL_ELM_ERROR_LOCATION_9_ECC_ERROR_LOCATION_SHIFT (0U)
  467. #define CSL_ELM_ERROR_LOCATION_9_ECC_ERROR_LOCATION_MASK (0x00001FFFU)
  468. #define CSL_ELM_ERROR_LOCATION_9_ECC_ERROR_LOCATION_RESETVAL (0x00000000U)
  469. #define CSL_ELM_ERROR_LOCATION_9_ECC_ERROR_LOCATION_MAX (0x00001fffU)
  470. #define CSL_ELM_ERROR_LOCATION_9_RESETVAL (0x00000000U)
  471. /* ERROR_LOCATION_14 */
  472. #define CSL_ELM_ERROR_LOCATION_14_ECC_ERROR_LOCATION_SHIFT (0U)
  473. #define CSL_ELM_ERROR_LOCATION_14_ECC_ERROR_LOCATION_MASK (0x00001FFFU)
  474. #define CSL_ELM_ERROR_LOCATION_14_ECC_ERROR_LOCATION_RESETVAL (0x00000000U)
  475. #define CSL_ELM_ERROR_LOCATION_14_ECC_ERROR_LOCATION_MAX (0x00001fffU)
  476. #define CSL_ELM_ERROR_LOCATION_14_RESETVAL (0x00000000U)
  477. /* ERROR_LOCATION_12 */
  478. #define CSL_ELM_ERROR_LOCATION_12_ECC_ERROR_LOCATION_SHIFT (0U)
  479. #define CSL_ELM_ERROR_LOCATION_12_ECC_ERROR_LOCATION_MASK (0x00001FFFU)
  480. #define CSL_ELM_ERROR_LOCATION_12_ECC_ERROR_LOCATION_RESETVAL (0x00000000U)
  481. #define CSL_ELM_ERROR_LOCATION_12_ECC_ERROR_LOCATION_MAX (0x00001fffU)
  482. #define CSL_ELM_ERROR_LOCATION_12_RESETVAL (0x00000000U)
  483. #ifdef __cplusplus
  484. }
  485. #endif
  486. #endif