cpu.h 12 KB

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