cpu.h 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357
  1. /*
  2. * Copyright 2017 NXP
  3. * Copyright 2014-2015, Freescale Semiconductor
  4. *
  5. * SPDX-License-Identifier: GPL-2.0+
  6. */
  7. #ifndef _FSL_LAYERSCAPE_CPU_H
  8. #define _FSL_LAYERSCAPE_CPU_H
  9. static struct cpu_type cpu_type_list[] = {
  10. CPU_TYPE_ENTRY(LS2080A, LS2080A, 8),
  11. CPU_TYPE_ENTRY(LS2085A, LS2085A, 8),
  12. CPU_TYPE_ENTRY(LS2045A, LS2045A, 4),
  13. CPU_TYPE_ENTRY(LS2088A, LS2088A, 8),
  14. CPU_TYPE_ENTRY(LS2084A, LS2084A, 8),
  15. CPU_TYPE_ENTRY(LS2048A, LS2048A, 4),
  16. CPU_TYPE_ENTRY(LS2044A, LS2044A, 4),
  17. CPU_TYPE_ENTRY(LS2081A, LS2081A, 8),
  18. CPU_TYPE_ENTRY(LS2041A, LS2041A, 4),
  19. CPU_TYPE_ENTRY(LS1043A, LS1043A, 4),
  20. CPU_TYPE_ENTRY(LS1023A, LS1023A, 2),
  21. CPU_TYPE_ENTRY(LS1046A, LS1046A, 4),
  22. CPU_TYPE_ENTRY(LS1026A, LS1026A, 2),
  23. CPU_TYPE_ENTRY(LS2040A, LS2040A, 4),
  24. CPU_TYPE_ENTRY(LS1012A, LS1012A, 1),
  25. };
  26. #ifndef CONFIG_SYS_DCACHE_OFF
  27. #ifdef CONFIG_FSL_LSCH3
  28. #define CONFIG_SYS_FSL_CCSR_BASE 0x00000000
  29. #define CONFIG_SYS_FSL_CCSR_SIZE 0x10000000
  30. #define CONFIG_SYS_FSL_QSPI_BASE1 0x20000000
  31. #define CONFIG_SYS_FSL_QSPI_SIZE1 0x10000000
  32. #define CONFIG_SYS_FSL_IFC_BASE1 0x30000000
  33. #define CONFIG_SYS_FSL_IFC_SIZE1 0x10000000
  34. #define CONFIG_SYS_FSL_IFC_SIZE1_1 0x400000
  35. #define CONFIG_SYS_FSL_DRAM_BASE1 0x80000000
  36. #define CONFIG_SYS_FSL_DRAM_SIZE1 0x80000000
  37. #define CONFIG_SYS_FSL_QSPI_BASE2 0x400000000
  38. #define CONFIG_SYS_FSL_QSPI_SIZE2 0x100000000
  39. #define CONFIG_SYS_FSL_IFC_BASE2 0x500000000
  40. #define CONFIG_SYS_FSL_IFC_SIZE2 0x100000000
  41. #define CONFIG_SYS_FSL_DCSR_BASE 0x700000000
  42. #define CONFIG_SYS_FSL_DCSR_SIZE 0x40000000
  43. #define CONFIG_SYS_FSL_MC_BASE 0x80c000000
  44. #define CONFIG_SYS_FSL_MC_SIZE 0x4000000
  45. #define CONFIG_SYS_FSL_NI_BASE 0x810000000
  46. #define CONFIG_SYS_FSL_NI_SIZE 0x8000000
  47. #define CONFIG_SYS_FSL_QBMAN_BASE 0x818000000
  48. #define CONFIG_SYS_FSL_QBMAN_SIZE 0x8000000
  49. #define CONFIG_SYS_FSL_QBMAN_SIZE_1 0x4000000
  50. #define CONFIG_SYS_PCIE1_PHYS_SIZE 0x200000000
  51. #define CONFIG_SYS_PCIE2_PHYS_SIZE 0x200000000
  52. #define CONFIG_SYS_PCIE3_PHYS_SIZE 0x200000000
  53. #define CONFIG_SYS_PCIE4_PHYS_SIZE 0x200000000
  54. #define CONFIG_SYS_FSL_WRIOP1_BASE 0x4300000000
  55. #define CONFIG_SYS_FSL_WRIOP1_SIZE 0x100000000
  56. #define CONFIG_SYS_FSL_AIOP1_BASE 0x4b00000000
  57. #define CONFIG_SYS_FSL_AIOP1_SIZE 0x100000000
  58. #define CONFIG_SYS_FSL_PEBUF_BASE 0x4c00000000
  59. #define CONFIG_SYS_FSL_PEBUF_SIZE 0x400000000
  60. #define CONFIG_SYS_FSL_DRAM_BASE2 0x8080000000
  61. #define CONFIG_SYS_FSL_DRAM_SIZE2 0x7F80000000
  62. #elif defined(CONFIG_FSL_LSCH2)
  63. #define CONFIG_SYS_FSL_BOOTROM_BASE 0x0
  64. #define CONFIG_SYS_FSL_BOOTROM_SIZE 0x1000000
  65. #define CONFIG_SYS_FSL_CCSR_BASE 0x1000000
  66. #define CONFIG_SYS_FSL_CCSR_SIZE 0xf000000
  67. #define CONFIG_SYS_FSL_DCSR_BASE 0x20000000
  68. #define CONFIG_SYS_FSL_DCSR_SIZE 0x4000000
  69. #define CONFIG_SYS_FSL_QSPI_BASE 0x40000000
  70. #define CONFIG_SYS_FSL_QSPI_SIZE 0x20000000
  71. #define CONFIG_SYS_FSL_IFC_BASE 0x60000000
  72. #define CONFIG_SYS_FSL_IFC_SIZE 0x20000000
  73. #define CONFIG_SYS_FSL_DRAM_BASE1 0x80000000
  74. #define CONFIG_SYS_FSL_DRAM_SIZE1 0x80000000
  75. #define CONFIG_SYS_FSL_QBMAN_BASE 0x500000000
  76. #define CONFIG_SYS_FSL_QBMAN_SIZE 0x10000000
  77. #define CONFIG_SYS_FSL_DRAM_BASE2 0x880000000
  78. #define CONFIG_SYS_FSL_DRAM_SIZE2 0x780000000 /* 30GB */
  79. #define CONFIG_SYS_PCIE1_PHYS_SIZE 0x800000000
  80. #define CONFIG_SYS_PCIE2_PHYS_SIZE 0x800000000
  81. #define CONFIG_SYS_PCIE3_PHYS_SIZE 0x800000000
  82. #define CONFIG_SYS_FSL_DRAM_BASE3 0x8800000000
  83. #define CONFIG_SYS_FSL_DRAM_SIZE3 0x7800000000 /* 480GB */
  84. #endif
  85. #define EARLY_PGTABLE_SIZE 0x5000
  86. static struct mm_region early_map[] = {
  87. #ifdef CONFIG_FSL_LSCH3
  88. { CONFIG_SYS_FSL_CCSR_BASE, CONFIG_SYS_FSL_CCSR_BASE,
  89. CONFIG_SYS_FSL_CCSR_SIZE,
  90. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
  91. PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
  92. },
  93. { CONFIG_SYS_FSL_OCRAM_BASE, CONFIG_SYS_FSL_OCRAM_BASE,
  94. SYS_FSL_OCRAM_SPACE_SIZE,
  95. PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE
  96. },
  97. { CONFIG_SYS_FSL_QSPI_BASE1, CONFIG_SYS_FSL_QSPI_BASE1,
  98. CONFIG_SYS_FSL_QSPI_SIZE1,
  99. PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE},
  100. /* For IFC Region #1, only the first 4MB is cache-enabled */
  101. { CONFIG_SYS_FSL_IFC_BASE1, CONFIG_SYS_FSL_IFC_BASE1,
  102. CONFIG_SYS_FSL_IFC_SIZE1_1,
  103. PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE
  104. },
  105. { CONFIG_SYS_FSL_IFC_BASE1 + CONFIG_SYS_FSL_IFC_SIZE1_1,
  106. CONFIG_SYS_FSL_IFC_BASE1 + CONFIG_SYS_FSL_IFC_SIZE1_1,
  107. CONFIG_SYS_FSL_IFC_SIZE1 - CONFIG_SYS_FSL_IFC_SIZE1_1,
  108. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE
  109. },
  110. { CONFIG_SYS_FLASH_BASE, CONFIG_SYS_FSL_IFC_BASE1,
  111. CONFIG_SYS_FSL_IFC_SIZE1,
  112. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE
  113. },
  114. { CONFIG_SYS_FSL_DRAM_BASE1, CONFIG_SYS_FSL_DRAM_BASE1,
  115. CONFIG_SYS_FSL_DRAM_SIZE1,
  116. #if defined(CONFIG_SPL) && !defined(CONFIG_SPL_BUILD)
  117. PTE_BLOCK_MEMTYPE(MT_NORMAL) |
  118. #else /* Start with nGnRnE and PXN and UXN to prevent speculative access */
  119. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_PXN | PTE_BLOCK_UXN |
  120. #endif
  121. PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS
  122. },
  123. /* Map IFC region #2 up to CONFIG_SYS_FLASH_BASE for NAND boot */
  124. { CONFIG_SYS_FSL_IFC_BASE2, CONFIG_SYS_FSL_IFC_BASE2,
  125. CONFIG_SYS_FLASH_BASE - CONFIG_SYS_FSL_IFC_BASE2,
  126. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE
  127. },
  128. { CONFIG_SYS_FSL_DCSR_BASE, CONFIG_SYS_FSL_DCSR_BASE,
  129. CONFIG_SYS_FSL_DCSR_SIZE,
  130. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
  131. PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
  132. },
  133. { CONFIG_SYS_FSL_DRAM_BASE2, CONFIG_SYS_FSL_DRAM_BASE2,
  134. CONFIG_SYS_FSL_DRAM_SIZE2,
  135. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_PXN | PTE_BLOCK_UXN |
  136. PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS
  137. },
  138. #elif defined(CONFIG_FSL_LSCH2)
  139. { CONFIG_SYS_FSL_CCSR_BASE, CONFIG_SYS_FSL_CCSR_BASE,
  140. CONFIG_SYS_FSL_CCSR_SIZE,
  141. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
  142. PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
  143. },
  144. { CONFIG_SYS_FSL_OCRAM_BASE, CONFIG_SYS_FSL_OCRAM_BASE,
  145. SYS_FSL_OCRAM_SPACE_SIZE,
  146. PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE
  147. },
  148. { CONFIG_SYS_FSL_DCSR_BASE, CONFIG_SYS_FSL_DCSR_BASE,
  149. CONFIG_SYS_FSL_DCSR_SIZE,
  150. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
  151. PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
  152. },
  153. { CONFIG_SYS_FSL_QSPI_BASE, CONFIG_SYS_FSL_QSPI_BASE,
  154. CONFIG_SYS_FSL_QSPI_SIZE,
  155. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE
  156. },
  157. { CONFIG_SYS_FSL_IFC_BASE, CONFIG_SYS_FSL_IFC_BASE,
  158. CONFIG_SYS_FSL_IFC_SIZE,
  159. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE
  160. },
  161. { CONFIG_SYS_FSL_DRAM_BASE1, CONFIG_SYS_FSL_DRAM_BASE1,
  162. CONFIG_SYS_FSL_DRAM_SIZE1,
  163. #if defined(CONFIG_SPL) && !defined(CONFIG_SPL_BUILD)
  164. PTE_BLOCK_MEMTYPE(MT_NORMAL) |
  165. #else /* Start with nGnRnE and PXN and UXN to prevent speculative access */
  166. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_PXN | PTE_BLOCK_UXN |
  167. #endif
  168. PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS
  169. },
  170. { CONFIG_SYS_FSL_DRAM_BASE2, CONFIG_SYS_FSL_DRAM_BASE2,
  171. CONFIG_SYS_FSL_DRAM_SIZE2,
  172. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_PXN | PTE_BLOCK_UXN |
  173. PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS
  174. },
  175. #endif
  176. {}, /* list terminator */
  177. };
  178. static struct mm_region final_map[] = {
  179. #ifdef CONFIG_FSL_LSCH3
  180. { CONFIG_SYS_FSL_CCSR_BASE, CONFIG_SYS_FSL_CCSR_BASE,
  181. CONFIG_SYS_FSL_CCSR_SIZE,
  182. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
  183. PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
  184. },
  185. { CONFIG_SYS_FSL_OCRAM_BASE, CONFIG_SYS_FSL_OCRAM_BASE,
  186. SYS_FSL_OCRAM_SPACE_SIZE,
  187. PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE
  188. },
  189. { CONFIG_SYS_FSL_DRAM_BASE1, CONFIG_SYS_FSL_DRAM_BASE1,
  190. CONFIG_SYS_FSL_DRAM_SIZE1,
  191. PTE_BLOCK_MEMTYPE(MT_NORMAL) |
  192. PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS
  193. },
  194. { CONFIG_SYS_FSL_QSPI_BASE1, CONFIG_SYS_FSL_QSPI_BASE1,
  195. CONFIG_SYS_FSL_QSPI_SIZE1,
  196. PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE
  197. },
  198. { CONFIG_SYS_FSL_QSPI_BASE2, CONFIG_SYS_FSL_QSPI_BASE2,
  199. CONFIG_SYS_FSL_QSPI_SIZE2,
  200. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
  201. PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
  202. },
  203. { CONFIG_SYS_FSL_IFC_BASE2, CONFIG_SYS_FSL_IFC_BASE2,
  204. CONFIG_SYS_FSL_IFC_SIZE2,
  205. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE
  206. },
  207. { CONFIG_SYS_FSL_DCSR_BASE, CONFIG_SYS_FSL_DCSR_BASE,
  208. CONFIG_SYS_FSL_DCSR_SIZE,
  209. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
  210. PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
  211. },
  212. { CONFIG_SYS_FSL_MC_BASE, CONFIG_SYS_FSL_MC_BASE,
  213. CONFIG_SYS_FSL_MC_SIZE,
  214. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
  215. PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
  216. },
  217. { CONFIG_SYS_FSL_NI_BASE, CONFIG_SYS_FSL_NI_BASE,
  218. CONFIG_SYS_FSL_NI_SIZE,
  219. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
  220. PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
  221. },
  222. /* For QBMAN portal, only the first 64MB is cache-enabled */
  223. { CONFIG_SYS_FSL_QBMAN_BASE, CONFIG_SYS_FSL_QBMAN_BASE,
  224. CONFIG_SYS_FSL_QBMAN_SIZE_1,
  225. PTE_BLOCK_MEMTYPE(MT_NORMAL) |
  226. PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN | PTE_BLOCK_NS
  227. },
  228. { CONFIG_SYS_FSL_QBMAN_BASE + CONFIG_SYS_FSL_QBMAN_SIZE_1,
  229. CONFIG_SYS_FSL_QBMAN_BASE + CONFIG_SYS_FSL_QBMAN_SIZE_1,
  230. CONFIG_SYS_FSL_QBMAN_SIZE - CONFIG_SYS_FSL_QBMAN_SIZE_1,
  231. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
  232. PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
  233. },
  234. { CONFIG_SYS_PCIE1_PHYS_ADDR, CONFIG_SYS_PCIE1_PHYS_ADDR,
  235. CONFIG_SYS_PCIE1_PHYS_SIZE,
  236. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
  237. PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
  238. },
  239. { CONFIG_SYS_PCIE2_PHYS_ADDR, CONFIG_SYS_PCIE2_PHYS_ADDR,
  240. CONFIG_SYS_PCIE2_PHYS_SIZE,
  241. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
  242. PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
  243. },
  244. { CONFIG_SYS_PCIE3_PHYS_ADDR, CONFIG_SYS_PCIE3_PHYS_ADDR,
  245. CONFIG_SYS_PCIE3_PHYS_SIZE,
  246. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
  247. PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
  248. },
  249. #ifdef CONFIG_ARCH_LS2080A
  250. { CONFIG_SYS_PCIE4_PHYS_ADDR, CONFIG_SYS_PCIE4_PHYS_ADDR,
  251. CONFIG_SYS_PCIE4_PHYS_SIZE,
  252. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
  253. PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
  254. },
  255. #endif
  256. { CONFIG_SYS_FSL_WRIOP1_BASE, CONFIG_SYS_FSL_WRIOP1_BASE,
  257. CONFIG_SYS_FSL_WRIOP1_SIZE,
  258. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
  259. PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
  260. },
  261. { CONFIG_SYS_FSL_AIOP1_BASE, CONFIG_SYS_FSL_AIOP1_BASE,
  262. CONFIG_SYS_FSL_AIOP1_SIZE,
  263. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
  264. PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
  265. },
  266. { CONFIG_SYS_FSL_PEBUF_BASE, CONFIG_SYS_FSL_PEBUF_BASE,
  267. CONFIG_SYS_FSL_PEBUF_SIZE,
  268. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
  269. PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
  270. },
  271. { CONFIG_SYS_FSL_DRAM_BASE2, CONFIG_SYS_FSL_DRAM_BASE2,
  272. CONFIG_SYS_FSL_DRAM_SIZE2,
  273. PTE_BLOCK_MEMTYPE(MT_NORMAL) |
  274. PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS
  275. },
  276. #elif defined(CONFIG_FSL_LSCH2)
  277. { CONFIG_SYS_FSL_BOOTROM_BASE, CONFIG_SYS_FSL_BOOTROM_BASE,
  278. CONFIG_SYS_FSL_BOOTROM_SIZE,
  279. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
  280. PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
  281. },
  282. { CONFIG_SYS_FSL_CCSR_BASE, CONFIG_SYS_FSL_CCSR_BASE,
  283. CONFIG_SYS_FSL_CCSR_SIZE,
  284. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
  285. PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
  286. },
  287. { CONFIG_SYS_FSL_OCRAM_BASE, CONFIG_SYS_FSL_OCRAM_BASE,
  288. SYS_FSL_OCRAM_SPACE_SIZE,
  289. PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE
  290. },
  291. { CONFIG_SYS_FSL_DCSR_BASE, CONFIG_SYS_FSL_DCSR_BASE,
  292. CONFIG_SYS_FSL_DCSR_SIZE,
  293. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
  294. PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
  295. },
  296. { CONFIG_SYS_FSL_QSPI_BASE, CONFIG_SYS_FSL_QSPI_BASE,
  297. CONFIG_SYS_FSL_QSPI_SIZE,
  298. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
  299. PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
  300. },
  301. { CONFIG_SYS_FSL_IFC_BASE, CONFIG_SYS_FSL_IFC_BASE,
  302. CONFIG_SYS_FSL_IFC_SIZE,
  303. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE
  304. },
  305. { CONFIG_SYS_FSL_DRAM_BASE1, CONFIG_SYS_FSL_DRAM_BASE1,
  306. CONFIG_SYS_FSL_DRAM_SIZE1,
  307. PTE_BLOCK_MEMTYPE(MT_NORMAL) |
  308. PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS
  309. },
  310. { CONFIG_SYS_FSL_QBMAN_BASE, CONFIG_SYS_FSL_QBMAN_BASE,
  311. CONFIG_SYS_FSL_QBMAN_SIZE,
  312. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
  313. PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
  314. },
  315. { CONFIG_SYS_FSL_DRAM_BASE2, CONFIG_SYS_FSL_DRAM_BASE2,
  316. CONFIG_SYS_FSL_DRAM_SIZE2,
  317. PTE_BLOCK_MEMTYPE(MT_NORMAL) |
  318. PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS
  319. },
  320. { CONFIG_SYS_PCIE1_PHYS_ADDR, CONFIG_SYS_PCIE1_PHYS_ADDR,
  321. CONFIG_SYS_PCIE1_PHYS_SIZE,
  322. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
  323. PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
  324. },
  325. { CONFIG_SYS_PCIE2_PHYS_ADDR, CONFIG_SYS_PCIE2_PHYS_ADDR,
  326. CONFIG_SYS_PCIE2_PHYS_SIZE,
  327. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
  328. PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
  329. },
  330. { CONFIG_SYS_PCIE3_PHYS_ADDR, CONFIG_SYS_PCIE3_PHYS_ADDR,
  331. CONFIG_SYS_PCIE3_PHYS_SIZE,
  332. PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
  333. PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
  334. },
  335. { CONFIG_SYS_FSL_DRAM_BASE3, CONFIG_SYS_FSL_DRAM_BASE3,
  336. CONFIG_SYS_FSL_DRAM_SIZE3,
  337. PTE_BLOCK_MEMTYPE(MT_NORMAL) |
  338. PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS
  339. },
  340. #endif
  341. #ifdef CONFIG_SYS_MEM_RESERVE_SECURE
  342. {}, /* space holder for secure mem */
  343. #endif
  344. {},
  345. };
  346. #endif /* !CONFIG_SYS_DCACHE_OFF */
  347. int fsl_qoriq_core_to_cluster(unsigned int core);
  348. u32 cpu_mask(void);
  349. #endif /* _FSL_LAYERSCAPE_CPU_H */