cslr_eve_mmu.h 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670
  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_EVEMMU_H_
  34. #define CSLR_EVEMMU_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 __ALL__
  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 Uint8 RSVD1[32];
  52. volatile Uint32 WALKING_ST;
  53. volatile Uint32 CNTL;
  54. volatile Uint32 FAULT_AD;
  55. volatile Uint32 TTB;
  56. volatile Uint32 LOCK;
  57. volatile Uint32 LD_TLB;
  58. volatile Uint32 CAM;
  59. volatile Uint32 RAM;
  60. volatile Uint32 GFLUSH;
  61. volatile Uint32 FLUSH_ENTRY;
  62. volatile Uint32 READ_CAM;
  63. volatile Uint32 READ_RAM;
  64. volatile Uint32 EMU_FAULT_AD;
  65. volatile Uint32 TTB_MSB;
  66. volatile Uint32 RAM_MSB;
  67. volatile Uint32 READ_RAM_MSB;
  68. volatile Uint32 FAULT_PC;
  69. volatile Uint32 FAULT_STS;
  70. volatile Uint32 GPR;
  71. volatile Uint8 RSVD2[4];
  72. volatile Uint32 BYPASS_REGION1_ADDR;
  73. volatile Uint32 BYPASS_REGION1_SIZE;
  74. volatile Uint32 BYPASS_REGION2_ADDR;
  75. volatile Uint32 BYPASS_REGION2_SIZE;
  76. volatile Uint32 BYPASS_REGION3_ADDR;
  77. volatile Uint32 BYPASS_REGION3_SIZE;
  78. volatile Uint32 BYPASS_REGION4_ADDR;
  79. volatile Uint32 BYPASS_REGION4_SIZE;
  80. } CSL_EveMmuRegs;
  81. /**************************************************************************
  82. * Register Macros
  83. **************************************************************************/
  84. /* This register contains the IP revision code */
  85. #define CSL_EVEMMU_REVISION (0x0U)
  86. /* This register controls the various parameters of the OCP interface */
  87. #define CSL_EVEMMU_SYSCONFIG (0x10U)
  88. /* This register provides status information about the module, excluding the
  89. * interrupt status information */
  90. #define CSL_EVEMMU_SYSSTS (0x14U)
  91. /* This interrupt status register regroups all the status of the module
  92. * internal events that can generate an interrupt. */
  93. #define CSL_EVEMMU_IRQSTS (0x18U)
  94. /* The interrupt enable register allows to mask/unmask the module internal
  95. * sources of interrupt, on a event-by-event basis. */
  96. #define CSL_EVEMMU_IRQEN (0x1CU)
  97. /* This register provides status information about the table walking logic */
  98. #define CSL_EVEMMU_WALKING_ST (0x40U)
  99. /* This register programs the MMU features */
  100. #define CSL_EVEMMU_CNTL (0x44U)
  101. /* This register contains the virtual address that generated the interrupt */
  102. #define CSL_EVEMMU_FAULT_AD (0x48U)
  103. /* This register contains the Translation Table Base address */
  104. #define CSL_EVEMMU_TTB (0x4CU)
  105. /* This register locks some of the TLB entries */
  106. #define CSL_EVEMMU_LOCK (0x50U)
  107. /* This register loads a TLB entry (CAM+RAM) */
  108. #define CSL_EVEMMU_LD_TLB (0x54U)
  109. /* This register holds a CAM entry */
  110. #define CSL_EVEMMU_CAM (0x58U)
  111. /* This register contains bits 31:12 of the physical address to be written to
  112. * a TLB entry pointed to y CurretnVictim field of MMU_LOCK register. */
  113. #define CSL_EVEMMU_RAM (0x5CU)
  114. /* This register flushes all the non-protected TLB entries */
  115. #define CSL_EVEMMU_GFLUSH (0x60U)
  116. /* This register flushes the entry pointed to by the CAM virtual address */
  117. #define CSL_EVEMMU_FLUSH_ENTRY (0x64U)
  118. /* This register reads CAM data from a CAM entry */
  119. #define CSL_EVEMMU_READ_CAM (0x68U)
  120. /* This register reads bits 31:12 of the physical address from the TLB entry
  121. * pointed to by CurrentVictim field of the MMU_LOCK register. */
  122. #define CSL_EVEMMU_READ_RAM (0x6CU)
  123. /* This register contains the last virtual address of a fault caused by the
  124. * debugger */
  125. #define CSL_EVEMMU_EMU_FAULT_AD (0x70U)
  126. /* This register contains bits [35:32] of the TTB. */
  127. #define CSL_EVEMMU_TTB_MSB (0x74U)
  128. /* This register contains bits 35:32 of the physical address to be written to
  129. * a TLB entry pointed to by CurrentVictim field of MMU_LOCK register. */
  130. #define CSL_EVEMMU_RAM_MSB (0x78U)
  131. /* This register reads bits 35:32 of the physical address from the TLB entry
  132. * pointed to by CurrentVictim field of the MMU_LOCK register. */
  133. #define CSL_EVEMMU_READ_RAM_MSB (0x7CU)
  134. /* FAULT_PC */
  135. #define CSL_EVEMMU_FAULT_PC (0x80U)
  136. /* FAULT_STS */
  137. #define CSL_EVEMMU_FAULT_STS (0x84U)
  138. /* controls hwdebug output mux. Force idle req generation */
  139. #define CSL_EVEMMU_GPR (0x88U)
  140. /* This register contains the start address of the 1st NO TRANSLATION REGION
  141. * for 2D bursts */
  142. #define CSL_EVEMMU_BYPASS_REGION1_ADDR (0x90U)
  143. /* This register contains the size of 1st NO TRANSLATION REGION for 2D bursts. */
  144. #define CSL_EVEMMU_BYPASS_REGION1_SIZE (0x94U)
  145. /* This register contains the start address of the 2nd NO TRANSLATION REGION
  146. * for 2D bursts */
  147. #define CSL_EVEMMU_BYPASS_REGION2_ADDR (0x98U)
  148. /* This register contains the size of 2nd NO TRANSLATION REGION for 2D bursts. */
  149. #define CSL_EVEMMU_BYPASS_REGION2_SIZE (0x9CU)
  150. /* This register contains the start address of the 3rd NO TRANSLATION REGION
  151. * for 2D bursts */
  152. #define CSL_EVEMMU_BYPASS_REGION3_ADDR (0xA0U)
  153. /* This register contains the size of 3rd NO TRANSLATION REGION for 2D bursts. */
  154. #define CSL_EVEMMU_BYPASS_REGION3_SIZE (0xA4U)
  155. /* This register contains the start address of the 4th NO TRANSLATION REGION
  156. * for 2D bursts */
  157. #define CSL_EVEMMU_BYPASS_REGION4_ADDR (0xA8U)
  158. /* This register contains the size of 4th NO TRANSLATION REGION for 2D bursts. */
  159. #define CSL_EVEMMU_BYPASS_REGION4_SIZE (0xACU)
  160. /**************************************************************************
  161. * Field Definition Macros
  162. **************************************************************************/
  163. /* REVISION */
  164. #define CSL_EVEMMU_REVISION_REV_MAJ_MASK (0x000000F0U)
  165. #define CSL_EVEMMU_REVISION_REV_MAJ_SHIFT (4U)
  166. #define CSL_EVEMMU_REVISION_REV_MAJ_RESETVAL (0x00000002U)
  167. #define CSL_EVEMMU_REVISION_REV_MAJ_MAX (0x0000000fU)
  168. #define CSL_EVEMMU_REVISION_REV_MIN_MASK (0x0000000FU)
  169. #define CSL_EVEMMU_REVISION_REV_MIN_SHIFT (0U)
  170. #define CSL_EVEMMU_REVISION_REV_MIN_RESETVAL (0x00000000U)
  171. #define CSL_EVEMMU_REVISION_REV_MIN_MAX (0x0000000fU)
  172. #define CSL_EVEMMU_REVISION_RESETVAL (0x00000020U)
  173. /* SYSCONFIG */
  174. #define CSL_EVEMMU_SYSCONFIG_AUTOIDLE_MASK (0x00000001U)
  175. #define CSL_EVEMMU_SYSCONFIG_AUTOIDLE_SHIFT (0U)
  176. #define CSL_EVEMMU_SYSCONFIG_AUTOIDLE_RESETVAL (0x00000000U)
  177. #define CSL_EVEMMU_SYSCONFIG_AUTOIDLE_CLKFREE (0x00000000U)
  178. #define CSL_EVEMMU_SYSCONFIG_AUTOIDLE_AUTOCLKGATE (0x00000001U)
  179. #define CSL_EVEMMU_SYSCONFIG_CLOCKACTIVITY_MASK (0x00000300U)
  180. #define CSL_EVEMMU_SYSCONFIG_CLOCKACTIVITY_SHIFT (8U)
  181. #define CSL_EVEMMU_SYSCONFIG_CLOCKACTIVITY_RESETVAL (0x00000000U)
  182. #define CSL_EVEMMU_SYSCONFIG_CLOCKACTIVITY_MAX (0x00000003U)
  183. #define CSL_EVEMMU_SYSCONFIG_SOFTRESET_MASK (0x00000002U)
  184. #define CSL_EVEMMU_SYSCONFIG_SOFTRESET_SHIFT (1U)
  185. #define CSL_EVEMMU_SYSCONFIG_SOFTRESET_RESETVAL (0x00000000U)
  186. #define CSL_EVEMMU_SYSCONFIG_SOFTRESET_ALWAYS_R (0x00000000U)
  187. #define CSL_EVEMMU_SYSCONFIG_SOFTRESET_NEVER_R (0x00000001U)
  188. #define CSL_EVEMMU_SYSCONFIG_SOFTRESET_NOFUN_W (0x00000000U)
  189. #define CSL_EVEMMU_SYSCONFIG_SOFTRESET_RSTMODE_W (0x00000001U)
  190. #define CSL_EVEMMU_SYSCONFIG_IDLEMODE_MASK (0x00000018U)
  191. #define CSL_EVEMMU_SYSCONFIG_IDLEMODE_SHIFT (3U)
  192. #define CSL_EVEMMU_SYSCONFIG_IDLEMODE_RESETVAL (0x00000000U)
  193. #define CSL_EVEMMU_SYSCONFIG_IDLEMODE_SFIDLE (0x00000000U)
  194. #define CSL_EVEMMU_SYSCONFIG_IDLEMODE_SNIDLE (0x00000001U)
  195. #define CSL_EVEMMU_SYSCONFIG_IDLEMODE_SSIDLE (0x00000002U)
  196. #define CSL_EVEMMU_SYSCONFIG_IDLEMODE_RES (0x00000003U)
  197. #define CSL_EVEMMU_SYSCONFIG_RESETVAL (0x00000000U)
  198. /* SYSSTS */
  199. #define CSL_EVEMMU_SYSSTS_RESETDONE_MASK (0x00000001U)
  200. #define CSL_EVEMMU_SYSSTS_RESETDONE_SHIFT (0U)
  201. #define CSL_EVEMMU_SYSSTS_RESETDONE_RESETVAL (0x00000000U)
  202. #define CSL_EVEMMU_SYSSTS_RESETDONE_RSTONGOING (0x00000000U)
  203. #define CSL_EVEMMU_SYSSTS_RESETDONE_RSTCOMP (0x00000001U)
  204. #define CSL_EVEMMU_SYSSTS_RESETVAL (0x00000000U)
  205. /* IRQSTS */
  206. #define CSL_EVEMMU_IRQSTS_TBLWALKFAULT_MASK (0x00000008U)
  207. #define CSL_EVEMMU_IRQSTS_TBLWALKFAULT_SHIFT (3U)
  208. #define CSL_EVEMMU_IRQSTS_TBLWALKFAULT_RESETVAL (0x00000000U)
  209. #define CSL_EVEMMU_IRQSTS_TBLWALKFAULT_NTWF_R (0x00000000U)
  210. #define CSL_EVEMMU_IRQSTS_TBLWALKFAULT_TWF_R (0x00000001U)
  211. #define CSL_EVEMMU_IRQSTS_TBLWALKFAULT_TWFSTAT_W (0x00000000U)
  212. #define CSL_EVEMMU_IRQSTS_TBLWALKFAULT_RTWFSTAT_W (0x00000001U)
  213. #define CSL_EVEMMU_IRQSTS_TLBMISS_MASK (0x00000001U)
  214. #define CSL_EVEMMU_IRQSTS_TLBMISS_SHIFT (0U)
  215. #define CSL_EVEMMU_IRQSTS_TLBMISS_RESETVAL (0x00000000U)
  216. #define CSL_EVEMMU_IRQSTS_TLBMISS_NTLBM_R (0x00000000U)
  217. #define CSL_EVEMMU_IRQSTS_TLBMISS_TLBM_R (0x00000001U)
  218. #define CSL_EVEMMU_IRQSTS_TLBMISS_MSTAT_W (0x00000000U)
  219. #define CSL_EVEMMU_IRQSTS_TLBMISS_RMSTAT_W (0x00000001U)
  220. #define CSL_EVEMMU_IRQSTS_MULTIHITFAULT_MASK (0x00000010U)
  221. #define CSL_EVEMMU_IRQSTS_MULTIHITFAULT_SHIFT (4U)
  222. #define CSL_EVEMMU_IRQSTS_MULTIHITFAULT_RESETVAL (0x00000000U)
  223. #define CSL_EVEMMU_IRQSTS_MULTIHITFAULT_NMHF_R (0x00000000U)
  224. #define CSL_EVEMMU_IRQSTS_MULTIHITFAULT_MHF_R (0x00000001U)
  225. #define CSL_EVEMMU_IRQSTS_MULTIHITFAULT_MHFSTAT_W (0x00000000U)
  226. #define CSL_EVEMMU_IRQSTS_MULTIHITFAULT_RMHFSTAT_W (0x00000001U)
  227. #define CSL_EVEMMU_IRQSTS_TRANSLATIONFAULT_MASK (0x00000002U)
  228. #define CSL_EVEMMU_IRQSTS_TRANSLATIONFAULT_SHIFT (1U)
  229. #define CSL_EVEMMU_IRQSTS_TRANSLATIONFAULT_RESETVAL (0x00000000U)
  230. #define CSL_EVEMMU_IRQSTS_TRANSLATIONFAULT_NFAULT_R (0x00000000U)
  231. #define CSL_EVEMMU_IRQSTS_TRANSLATIONFAULT_FAULT_R (0x00000001U)
  232. #define CSL_EVEMMU_IRQSTS_TRANSLATIONFAULT_FSTAT_W (0x00000000U)
  233. #define CSL_EVEMMU_IRQSTS_TRANSLATIONFAULT_RFSTAT_W (0x00000001U)
  234. #define CSL_EVEMMU_IRQSTS_EMUMISS_MASK (0x00000004U)
  235. #define CSL_EVEMMU_IRQSTS_EMUMISS_SHIFT (2U)
  236. #define CSL_EVEMMU_IRQSTS_EMUMISS_RESETVAL (0x00000000U)
  237. #define CSL_EVEMMU_IRQSTS_EMUMISS_NEMUM_R (0x00000000U)
  238. #define CSL_EVEMMU_IRQSTS_EMUMISS_EMUM_R (0x00000001U)
  239. #define CSL_EVEMMU_IRQSTS_EMUMISS_ESTAT_W (0x00000000U)
  240. #define CSL_EVEMMU_IRQSTS_EMUMISS_RESTAT_W (0x00000001U)
  241. #define CSL_EVEMMU_IRQSTS_RESETVAL (0x00000000U)
  242. /* IRQEN */
  243. #define CSL_EVEMMU_IRQEN_TRANSLATIONFAULT_MASK (0x00000002U)
  244. #define CSL_EVEMMU_IRQEN_TRANSLATIONFAULT_SHIFT (1U)
  245. #define CSL_EVEMMU_IRQEN_TRANSLATIONFAULT_RESETVAL (0x00000000U)
  246. #define CSL_EVEMMU_IRQEN_TRANSLATIONFAULT_TRANFLTMASK (0x00000000U)
  247. #define CSL_EVEMMU_IRQEN_TRANSLATIONFAULT_TRANFLTGINT (0x00000001U)
  248. #define CSL_EVEMMU_IRQEN_TBLWALKFAULT_MASK (0x00000008U)
  249. #define CSL_EVEMMU_IRQEN_TBLWALKFAULT_SHIFT (3U)
  250. #define CSL_EVEMMU_IRQEN_TBLWALKFAULT_RESETVAL (0x00000000U)
  251. #define CSL_EVEMMU_IRQEN_TBLWALKFAULT_TWLFLTMASK (0x00000000U)
  252. #define CSL_EVEMMU_IRQEN_TBLWALKFAULT_TWLFLTGINT (0x00000001U)
  253. #define CSL_EVEMMU_IRQEN_TLBMISS_MASK (0x00000001U)
  254. #define CSL_EVEMMU_IRQEN_TLBMISS_SHIFT (0U)
  255. #define CSL_EVEMMU_IRQEN_TLBMISS_RESETVAL (0x00000000U)
  256. #define CSL_EVEMMU_IRQEN_TLBMISS_TRMISSINTM (0x00000000U)
  257. #define CSL_EVEMMU_IRQEN_TLBMISS_TRMISSGINT (0x00000001U)
  258. #define CSL_EVEMMU_IRQEN_EMUMISS_MASK (0x00000004U)
  259. #define CSL_EVEMMU_IRQEN_EMUMISS_SHIFT (2U)
  260. #define CSL_EVEMMU_IRQEN_EMUMISS_RESETVAL (0x00000000U)
  261. #define CSL_EVEMMU_IRQEN_EMUMISS_EMUMFLTMASK (0x00000000U)
  262. #define CSL_EVEMMU_IRQEN_EMUMISS_EMUMFLTGINT (0x00000001U)
  263. #define CSL_EVEMMU_IRQEN_MULTIHITFAULT_MASK (0x00000010U)
  264. #define CSL_EVEMMU_IRQEN_MULTIHITFAULT_SHIFT (4U)
  265. #define CSL_EVEMMU_IRQEN_MULTIHITFAULT_RESETVAL (0x00000000U)
  266. #define CSL_EVEMMU_IRQEN_MULTIHITFAULT_MHFLTMASK (0x00000000U)
  267. #define CSL_EVEMMU_IRQEN_MULTIHITFAULT_MHFLTGINT (0x00000001U)
  268. #define CSL_EVEMMU_IRQEN_RESETVAL (0x00000000U)
  269. /* WALKING_ST */
  270. #define CSL_EVEMMU_WALKING_ST_TWLRUNNING_MASK (0x00000001U)
  271. #define CSL_EVEMMU_WALKING_ST_TWLRUNNING_SHIFT (0U)
  272. #define CSL_EVEMMU_WALKING_ST_TWLRUNNING_RESETVAL (0x00000000U)
  273. #define CSL_EVEMMU_WALKING_ST_TWLRUNNING_TWLCOMP (0x00000000U)
  274. #define CSL_EVEMMU_WALKING_ST_TWLRUNNING_TWLRUN (0x00000001U)
  275. #define CSL_EVEMMU_WALKING_ST_RESETVAL (0x00000000U)
  276. /* CNTL */
  277. #define CSL_EVEMMU_CNTL_MMUEN_MASK (0x00000002U)
  278. #define CSL_EVEMMU_CNTL_MMUEN_SHIFT (1U)
  279. #define CSL_EVEMMU_CNTL_MMUEN_RESETVAL (0x00000000U)
  280. #define CSL_EVEMMU_CNTL_MMUEN_MMUDIS (0x00000000U)
  281. #define CSL_EVEMMU_CNTL_MMUEN_MMUEN (0x00000001U)
  282. #define CSL_EVEMMU_CNTL_EMUTLBUPDATE_MASK (0x00000008U)
  283. #define CSL_EVEMMU_CNTL_EMUTLBUPDATE_SHIFT (3U)
  284. #define CSL_EVEMMU_CNTL_EMUTLBUPDATE_RESETVAL (0x00000000U)
  285. #define CSL_EVEMMU_CNTL_EMUTLBUPDATE_EMUDIS (0x00000000U)
  286. #define CSL_EVEMMU_CNTL_EMUTLBUPDATE_EMUEN (0x00000001U)
  287. #define CSL_EVEMMU_CNTL_TWLEN_MASK (0x00000004U)
  288. #define CSL_EVEMMU_CNTL_TWLEN_SHIFT (2U)
  289. #define CSL_EVEMMU_CNTL_TWLEN_RESETVAL (0x00000000U)
  290. #define CSL_EVEMMU_CNTL_TWLEN_TWLDIS (0x00000000U)
  291. #define CSL_EVEMMU_CNTL_TWLEN_TWLEN (0x00000001U)
  292. #define CSL_EVEMMU_CNTL_RESETVAL (0x00000000U)
  293. /* FAULT_AD */
  294. #define CSL_EVEMMU_FAULT_AD_FAULTADDR_MASK (0xFFFFFFFFU)
  295. #define CSL_EVEMMU_FAULT_AD_FAULTADDR_SHIFT (0U)
  296. #define CSL_EVEMMU_FAULT_AD_FAULTADDR_RESETVAL (0x00000000U)
  297. #define CSL_EVEMMU_FAULT_AD_FAULTADDR_MAX (0xffffffffU)
  298. #define CSL_EVEMMU_FAULT_AD_RESETVAL (0x00000000U)
  299. /* TTB */
  300. #define CSL_EVEMMU_TTB_TTBADDR_MASK (0xFFFFFF80U)
  301. #define CSL_EVEMMU_TTB_TTBADDR_SHIFT (7U)
  302. #define CSL_EVEMMU_TTB_TTBADDR_RESETVAL (0x00000000U)
  303. #define CSL_EVEMMU_TTB_TTBADDR_MAX (0x01ffffffU)
  304. #define CSL_EVEMMU_TTB_RESETVAL (0x00000000U)
  305. /* LOCK */
  306. #define CSL_EVEMMU_LOCK_BASEVALUE_MASK (0x00007C00U)
  307. #define CSL_EVEMMU_LOCK_BASEVALUE_SHIFT (10U)
  308. #define CSL_EVEMMU_LOCK_BASEVALUE_RESETVAL (0x00000000U)
  309. #define CSL_EVEMMU_LOCK_BASEVALUE_MAX (0x0000001fU)
  310. #define CSL_EVEMMU_LOCK_CURRENTVICTIM_MASK (0x000001F0U)
  311. #define CSL_EVEMMU_LOCK_CURRENTVICTIM_SHIFT (4U)
  312. #define CSL_EVEMMU_LOCK_CURRENTVICTIM_RESETVAL (0x00000000U)
  313. #define CSL_EVEMMU_LOCK_CURRENTVICTIM_MAX (0x0000001fU)
  314. #define CSL_EVEMMU_LOCK_RESETVAL (0x00000000U)
  315. /* LD_TLB */
  316. #define CSL_EVEMMU_LD_TLB_LDTLBITEM_MASK (0x00000001U)
  317. #define CSL_EVEMMU_LD_TLB_LDTLBITEM_SHIFT (0U)
  318. #define CSL_EVEMMU_LD_TLB_LDTLBITEM_RESETVAL (0x00000000U)
  319. #define CSL_EVEMMU_LD_TLB_LDTLBITEM_ALWAYS_R (0x00000000U)
  320. #define CSL_EVEMMU_LD_TLB_LDTLBITEM_NEVER_R (0x00000001U)
  321. #define CSL_EVEMMU_LD_TLB_LDTLBITEM_NOEFFECT_W (0x00000000U)
  322. #define CSL_EVEMMU_LD_TLB_LDTLBITEM_LDTLB_W (0x00000001U)
  323. #define CSL_EVEMMU_LD_TLB_RESETVAL (0x00000000U)
  324. /* CAM */
  325. #define CSL_EVEMMU_CAM_V_MASK (0x00000004U)
  326. #define CSL_EVEMMU_CAM_V_SHIFT (2U)
  327. #define CSL_EVEMMU_CAM_V_RESETVAL (0x00000000U)
  328. #define CSL_EVEMMU_CAM_V_INVALID (0x00000000U)
  329. #define CSL_EVEMMU_CAM_V_VALID (0x00000001U)
  330. #define CSL_EVEMMU_CAM_VATAG_MASK (0xFFFFF000U)
  331. #define CSL_EVEMMU_CAM_VATAG_SHIFT (12U)
  332. #define CSL_EVEMMU_CAM_VATAG_RESETVAL (0x00000000U)
  333. #define CSL_EVEMMU_CAM_VATAG_MAX (0x000fffffU)
  334. #define CSL_EVEMMU_CAM_PAGESIZE_MASK (0x00000003U)
  335. #define CSL_EVEMMU_CAM_PAGESIZE_SHIFT (0U)
  336. #define CSL_EVEMMU_CAM_PAGESIZE_RESETVAL (0x00000000U)
  337. #define CSL_EVEMMU_CAM_PAGESIZE_SECTION (0x00000000U)
  338. #define CSL_EVEMMU_CAM_PAGESIZE_LARGE (0x00000001U)
  339. #define CSL_EVEMMU_CAM_PAGESIZE_SMALL (0x00000002U)
  340. #define CSL_EVEMMU_CAM_PAGESIZE_SUPER (0x00000003U)
  341. #define CSL_EVEMMU_CAM_P_MASK (0x00000008U)
  342. #define CSL_EVEMMU_CAM_P_SHIFT (3U)
  343. #define CSL_EVEMMU_CAM_P_RESETVAL (0x00000000U)
  344. #define CSL_EVEMMU_CAM_P_CANFLUSH (0x00000000U)
  345. #define CSL_EVEMMU_CAM_P_NOFLUSH (0x00000001U)
  346. #define CSL_EVEMMU_CAM_RESETVAL (0x00000000U)
  347. /* RAM */
  348. #define CSL_EVEMMU_RAM_PHYSICALADDR_MASK (0xFFFFF000U)
  349. #define CSL_EVEMMU_RAM_PHYSICALADDR_SHIFT (12U)
  350. #define CSL_EVEMMU_RAM_PHYSICALADDR_RESETVAL (0x00000000U)
  351. #define CSL_EVEMMU_RAM_PHYSICALADDR_MAX (0x000fffffU)
  352. #define CSL_EVEMMU_RAM_RESETVAL (0x00000000U)
  353. /* GFLUSH */
  354. #define CSL_EVEMMU_GFLUSH_GLOBALFLUSH_MASK (0x00000001U)
  355. #define CSL_EVEMMU_GFLUSH_GLOBALFLUSH_SHIFT (0U)
  356. #define CSL_EVEMMU_GFLUSH_GLOBALFLUSH_RESETVAL (0x00000000U)
  357. #define CSL_EVEMMU_GFLUSH_GLOBALFLUSH_RTN0_R (0x00000000U)
  358. #define CSL_EVEMMU_GFLUSH_GLOBALFLUSH_NEVER_R (0x00000001U)
  359. #define CSL_EVEMMU_GFLUSH_GLOBALFLUSH_NFT_W (0x00000000U)
  360. #define CSL_EVEMMU_GFLUSH_GLOBALFLUSH_FLUSH_W (0x00000001U)
  361. #define CSL_EVEMMU_GFLUSH_RESETVAL (0x00000000U)
  362. /* FLUSH_ENTRY */
  363. #define CSL_EVEMMU_FLUSH_ENTRY_FLUSHENTRY_MASK (0x00000001U)
  364. #define CSL_EVEMMU_FLUSH_ENTRY_FLUSHENTRY_SHIFT (0U)
  365. #define CSL_EVEMMU_FLUSH_ENTRY_FLUSHENTRY_RESETVAL (0x00000000U)
  366. #define CSL_EVEMMU_FLUSH_ENTRY_FLUSHENTRY_ALWAYS_R (0x00000000U)
  367. #define CSL_EVEMMU_FLUSH_ENTRY_FLUSHENTRY_NEVER_R (0x00000001U)
  368. #define CSL_EVEMMU_FLUSH_ENTRY_FLUSHENTRY_NOFUN_W (0x00000000U)
  369. #define CSL_EVEMMU_FLUSH_ENTRY_FLUSHENTRY_FLUSHTLB_W (0x00000001U)
  370. #define CSL_EVEMMU_FLUSH_ENTRY_RESETVAL (0x00000000U)
  371. /* READ_CAM */
  372. #define CSL_EVEMMU_READ_CAM_PAGESIZE_MASK (0x00000003U)
  373. #define CSL_EVEMMU_READ_CAM_PAGESIZE_SHIFT (0U)
  374. #define CSL_EVEMMU_READ_CAM_PAGESIZE_RESETVAL (0x00000000U)
  375. #define CSL_EVEMMU_READ_CAM_PAGESIZE_SECTION (0x00000000U)
  376. #define CSL_EVEMMU_READ_CAM_PAGESIZE_LARGE (0x00000001U)
  377. #define CSL_EVEMMU_READ_CAM_PAGESIZE_SMALL (0x00000002U)
  378. #define CSL_EVEMMU_READ_CAM_PAGESIZE_SUPER (0x00000003U)
  379. #define CSL_EVEMMU_READ_CAM_P_MASK (0x00000008U)
  380. #define CSL_EVEMMU_READ_CAM_P_SHIFT (3U)
  381. #define CSL_EVEMMU_READ_CAM_P_RESETVAL (0x00000000U)
  382. #define CSL_EVEMMU_READ_CAM_P_CANFLUSH (0x00000000U)
  383. #define CSL_EVEMMU_READ_CAM_P_NOFLUSH (0x00000001U)
  384. #define CSL_EVEMMU_READ_CAM_V_MASK (0x00000004U)
  385. #define CSL_EVEMMU_READ_CAM_V_SHIFT (2U)
  386. #define CSL_EVEMMU_READ_CAM_V_RESETVAL (0x00000000U)
  387. #define CSL_EVEMMU_READ_CAM_V_INVALID (0x00000000U)
  388. #define CSL_EVEMMU_READ_CAM_V_VALID (0x00000001U)
  389. #define CSL_EVEMMU_READ_CAM_VATAG_MASK (0xFFFFF000U)
  390. #define CSL_EVEMMU_READ_CAM_VATAG_SHIFT (12U)
  391. #define CSL_EVEMMU_READ_CAM_VATAG_RESETVAL (0x00000000U)
  392. #define CSL_EVEMMU_READ_CAM_VATAG_MAX (0x000fffffU)
  393. #define CSL_EVEMMU_READ_CAM_RESETVAL (0x00000000U)
  394. /* READ_RAM */
  395. #define CSL_EVEMMU_READ_RAM_PHYSICALADDR_MASK (0xFFFFF000U)
  396. #define CSL_EVEMMU_READ_RAM_PHYSICALADDR_SHIFT (12U)
  397. #define CSL_EVEMMU_READ_RAM_PHYSICALADDR_RESETVAL (0x00000000U)
  398. #define CSL_EVEMMU_READ_RAM_PHYSICALADDR_MAX (0x000fffffU)
  399. #define CSL_EVEMMU_READ_RAM_RESETVAL (0x00000000U)
  400. /* EMU_FAULT_AD */
  401. #define CSL_EVEMMU_EMU_FAULT_AD_EMUFAULTADDR_MASK (0xFFFFFFFFU)
  402. #define CSL_EVEMMU_EMU_FAULT_AD_EMUFAULTADDR_SHIFT (0U)
  403. #define CSL_EVEMMU_EMU_FAULT_AD_EMUFAULTADDR_RESETVAL (0x00000000U)
  404. #define CSL_EVEMMU_EMU_FAULT_AD_EMUFAULTADDR_MAX (0xffffffffU)
  405. #define CSL_EVEMMU_EMU_FAULT_AD_RESETVAL (0x00000000U)
  406. /* TTB_MSB */
  407. #define CSL_EVEMMU_TTB_MSB_TTB_MSB_MASK (0x0000000FU)
  408. #define CSL_EVEMMU_TTB_MSB_TTB_MSB_SHIFT (0U)
  409. #define CSL_EVEMMU_TTB_MSB_TTB_MSB_RESETVAL (0x00000000U)
  410. #define CSL_EVEMMU_TTB_MSB_TTB_MSB_MAX (0x0000000fU)
  411. #define CSL_EVEMMU_TTB_MSB_RESETVAL (0x00000000U)
  412. /* RAM_MSB */
  413. #define CSL_EVEMMU_RAM_MSB_PA_MSB_MASK (0x0000000FU)
  414. #define CSL_EVEMMU_RAM_MSB_PA_MSB_SHIFT (0U)
  415. #define CSL_EVEMMU_RAM_MSB_PA_MSB_RESETVAL (0x00000000U)
  416. #define CSL_EVEMMU_RAM_MSB_PA_MSB_MAX (0x0000000fU)
  417. #define CSL_EVEMMU_RAM_MSB_RESETVAL (0x00000000U)
  418. /* READ_RAM_MSB */
  419. #define CSL_EVEMMU_READ_RAM_MSB_PA_MSB_MASK (0x0000000FU)
  420. #define CSL_EVEMMU_READ_RAM_MSB_PA_MSB_SHIFT (0U)
  421. #define CSL_EVEMMU_READ_RAM_MSB_PA_MSB_RESETVAL (0x00000000U)
  422. #define CSL_EVEMMU_READ_RAM_MSB_PA_MSB_MAX (0x0000000fU)
  423. #define CSL_EVEMMU_READ_RAM_MSB_RESETVAL (0x00000000U)
  424. /* FAULT_PC */
  425. #define CSL_EVEMMU_FAULT_PC_PC_MASK (0xFFFFFFFFU)
  426. #define CSL_EVEMMU_FAULT_PC_PC_SHIFT (0U)
  427. #define CSL_EVEMMU_FAULT_PC_PC_RESETVAL (0x00000000U)
  428. #define CSL_EVEMMU_FAULT_PC_PC_MAX (0xffffffffU)
  429. #define CSL_EVEMMU_FAULT_PC_RESETVAL (0x00000000U)
  430. /* FAULT_STS */
  431. #define CSL_EVEMMU_FAULT_STS_FAULTINDICATION_MASK (0x00000001U)
  432. #define CSL_EVEMMU_FAULT_STS_FAULTINDICATION_SHIFT (0U)
  433. #define CSL_EVEMMU_FAULT_STS_FAULTINDICATION_RESETVAL (0x00000000U)
  434. #define CSL_EVEMMU_FAULT_STS_FAULTINDICATION_MAX (0x00000001U)
  435. #define CSL_EVEMMU_FAULT_STS_MMU_FAULT_TYPE_MASK (0x00000006U)
  436. #define CSL_EVEMMU_FAULT_STS_MMU_FAULT_TYPE_SHIFT (1U)
  437. #define CSL_EVEMMU_FAULT_STS_MMU_FAULT_TYPE_RESETVAL (0x00000000U)
  438. #define CSL_EVEMMU_FAULT_STS_MMU_FAULT_TYPE_MAX (0x00000003U)
  439. #define CSL_EVEMMU_FAULT_STS_RD_WR_MASK (0x00000008U)
  440. #define CSL_EVEMMU_FAULT_STS_RD_WR_SHIFT (3U)
  441. #define CSL_EVEMMU_FAULT_STS_RD_WR_RESETVAL (0x00000000U)
  442. #define CSL_EVEMMU_FAULT_STS_RD_WR_MAX (0x00000001U)
  443. #define CSL_EVEMMU_FAULT_STS_MMU_FAULT_TRANS_ID_MASK (0x000001F0U)
  444. #define CSL_EVEMMU_FAULT_STS_MMU_FAULT_TRANS_ID_SHIFT (4U)
  445. #define CSL_EVEMMU_FAULT_STS_MMU_FAULT_TRANS_ID_RESETVAL (0x00000000U)
  446. #define CSL_EVEMMU_FAULT_STS_MMU_FAULT_TRANS_ID_MAX (0x0000001fU)
  447. #define CSL_EVEMMU_FAULT_STS_RESETVAL (0x00000000U)
  448. /* GPR */
  449. #define CSL_EVEMMU_GPR_FAULT_INTR_DIS_MASK (0x00000001U)
  450. #define CSL_EVEMMU_GPR_FAULT_INTR_DIS_SHIFT (0U)
  451. #define CSL_EVEMMU_GPR_FAULT_INTR_DIS_RESETVAL (0x00000000U)
  452. #define CSL_EVEMMU_GPR_FAULT_INTR_DIS_MAX (0x00000001U)
  453. #define CSL_EVEMMU_GPR_GPO_MASK (0xFFFF0000U)
  454. #define CSL_EVEMMU_GPR_GPO_SHIFT (16U)
  455. #define CSL_EVEMMU_GPR_GPO_RESETVAL (0x00000000U)
  456. #define CSL_EVEMMU_GPR_GPO_MAX (0x0000ffffU)
  457. #define CSL_EVEMMU_GPR_RESETVAL (0x00000000U)
  458. /* BYPASS_REGION1_ADDR */
  459. #define CSL_EVEMMU_BYPASS_REGION1_ADDR_START_ADDR_MASK (0xFFFF0000U)
  460. #define CSL_EVEMMU_BYPASS_REGION1_ADDR_START_ADDR_SHIFT (16U)
  461. #define CSL_EVEMMU_BYPASS_REGION1_ADDR_START_ADDR_RESETVAL (0x00000000U)
  462. #define CSL_EVEMMU_BYPASS_REGION1_ADDR_START_ADDR_MAX (0x0000ffffU)
  463. #define CSL_EVEMMU_BYPASS_REGION1_ADDR_RESETVAL (0x00000000U)
  464. /* BYPASS_REGION1_SIZE */
  465. #define CSL_EVEMMU_BYPASS_REGION1_SIZE_SIZE_MASK (0x0000000FU)
  466. #define CSL_EVEMMU_BYPASS_REGION1_SIZE_SIZE_SHIFT (0U)
  467. #define CSL_EVEMMU_BYPASS_REGION1_SIZE_SIZE_RESETVAL (0x00000000U)
  468. #define CSL_EVEMMU_BYPASS_REGION1_SIZE_SIZE_MAX (0x0000000fU)
  469. #define CSL_EVEMMU_BYPASS_REGION1_SIZE_RESETVAL (0x00000000U)
  470. /* BYPASS_REGION2_ADDR */
  471. #define CSL_EVEMMU_BYPASS_REGION2_ADDR_START_ADDR_MASK (0xFFFF0000U)
  472. #define CSL_EVEMMU_BYPASS_REGION2_ADDR_START_ADDR_SHIFT (16U)
  473. #define CSL_EVEMMU_BYPASS_REGION2_ADDR_START_ADDR_RESETVAL (0x00000000U)
  474. #define CSL_EVEMMU_BYPASS_REGION2_ADDR_START_ADDR_MAX (0x0000ffffU)
  475. #define CSL_EVEMMU_BYPASS_REGION2_ADDR_RESETVAL (0x00000000U)
  476. /* BYPASS_REGION2_SIZE */
  477. #define CSL_EVEMMU_BYPASS_REGION2_SIZE_SIZE_MASK (0x0000000FU)
  478. #define CSL_EVEMMU_BYPASS_REGION2_SIZE_SIZE_SHIFT (0U)
  479. #define CSL_EVEMMU_BYPASS_REGION2_SIZE_SIZE_RESETVAL (0x00000000U)
  480. #define CSL_EVEMMU_BYPASS_REGION2_SIZE_SIZE_MAX (0x0000000fU)
  481. #define CSL_EVEMMU_BYPASS_REGION2_SIZE_RESETVAL (0x00000000U)
  482. /* BYPASS_REGION3_ADDR */
  483. #define CSL_EVEMMU_BYPASS_REGION3_ADDR_START_ADDR_MASK (0xFFFF0000U)
  484. #define CSL_EVEMMU_BYPASS_REGION3_ADDR_START_ADDR_SHIFT (16U)
  485. #define CSL_EVEMMU_BYPASS_REGION3_ADDR_START_ADDR_RESETVAL (0x00000000U)
  486. #define CSL_EVEMMU_BYPASS_REGION3_ADDR_START_ADDR_MAX (0x0000ffffU)
  487. #define CSL_EVEMMU_BYPASS_REGION3_ADDR_RESETVAL (0x00000000U)
  488. /* BYPASS_REGION3_SIZE */
  489. #define CSL_EVEMMU_BYPASS_REGION3_SIZE_SIZE_MASK (0x0000000FU)
  490. #define CSL_EVEMMU_BYPASS_REGION3_SIZE_SIZE_SHIFT (0U)
  491. #define CSL_EVEMMU_BYPASS_REGION3_SIZE_SIZE_RESETVAL (0x00000000U)
  492. #define CSL_EVEMMU_BYPASS_REGION3_SIZE_SIZE_MAX (0x0000000fU)
  493. #define CSL_EVEMMU_BYPASS_REGION3_SIZE_RESETVAL (0x00000000U)
  494. /* BYPASS_REGION4_ADDR */
  495. #define CSL_EVEMMU_BYPASS_REGION4_ADDR_START_ADDR_MASK (0xFFFF0000U)
  496. #define CSL_EVEMMU_BYPASS_REGION4_ADDR_START_ADDR_SHIFT (16U)
  497. #define CSL_EVEMMU_BYPASS_REGION4_ADDR_START_ADDR_RESETVAL (0x00000000U)
  498. #define CSL_EVEMMU_BYPASS_REGION4_ADDR_START_ADDR_MAX (0x0000ffffU)
  499. #define CSL_EVEMMU_BYPASS_REGION4_ADDR_RESETVAL (0x00000000U)
  500. /* BYPASS_REGION4_SIZE */
  501. #define CSL_EVEMMU_BYPASS_REGION4_SIZE_SIZE_MASK (0x0000000FU)
  502. #define CSL_EVEMMU_BYPASS_REGION4_SIZE_SIZE_SHIFT (0U)
  503. #define CSL_EVEMMU_BYPASS_REGION4_SIZE_SIZE_RESETVAL (0x00000000U)
  504. #define CSL_EVEMMU_BYPASS_REGION4_SIZE_SIZE_MAX (0x0000000fU)
  505. #define CSL_EVEMMU_BYPASS_REGION4_SIZE_RESETVAL (0x00000000U)
  506. #ifdef __cplusplus
  507. }
  508. #endif
  509. #endif