blob: 48d0ab163a8325921ddfe2fb5b2cbb21adf5ae38 [file] [log] [blame]
Tom Rini83d290c2018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
Mingkai Hu9f3183d2015-10-26 19:47:50 +08002/*
Priyanka Jaine809e742017-04-27 15:08:06 +05303 * Copyright 2017 NXP
Mingkai Hu9f3183d2015-10-26 19:47:50 +08004 * Copyright 2014-2015, Freescale Semiconductor
Mingkai Hu9f3183d2015-10-26 19:47:50 +08005 */
6
7#ifndef _FSL_LAYERSCAPE_CPU_H
8#define _FSL_LAYERSCAPE_CPU_H
9
10static struct cpu_type cpu_type_list[] = {
Prabhakar Kushwaha49cdce12016-06-24 13:48:13 +053011 CPU_TYPE_ENTRY(LS2080A, LS2080A, 8),
12 CPU_TYPE_ENTRY(LS2085A, LS2085A, 8),
13 CPU_TYPE_ENTRY(LS2045A, LS2045A, 4),
Priyanka Jain9ae836c2016-11-17 12:29:55 +053014 CPU_TYPE_ENTRY(LS2088A, LS2088A, 8),
15 CPU_TYPE_ENTRY(LS2084A, LS2084A, 8),
16 CPU_TYPE_ENTRY(LS2048A, LS2048A, 4),
17 CPU_TYPE_ENTRY(LS2044A, LS2044A, 4),
Priyanka Jaine809e742017-04-27 15:08:06 +053018 CPU_TYPE_ENTRY(LS2081A, LS2081A, 8),
19 CPU_TYPE_ENTRY(LS2041A, LS2041A, 4),
Prabhakar Kushwaha49cdce12016-06-24 13:48:13 +053020 CPU_TYPE_ENTRY(LS1043A, LS1043A, 4),
21 CPU_TYPE_ENTRY(LS1023A, LS1023A, 2),
Mingkai Hub528b932016-07-05 16:01:55 +080022 CPU_TYPE_ENTRY(LS1046A, LS1046A, 4),
23 CPU_TYPE_ENTRY(LS1026A, LS1026A, 2),
Prabhakar Kushwaha49cdce12016-06-24 13:48:13 +053024 CPU_TYPE_ENTRY(LS2040A, LS2040A, 4),
25 CPU_TYPE_ENTRY(LS1012A, LS1012A, 1),
Ashish Kumar6d9b82d2017-08-31 16:12:53 +053026 CPU_TYPE_ENTRY(LS1088A, LS1088A, 8),
27 CPU_TYPE_ENTRY(LS1084A, LS1084A, 8),
28 CPU_TYPE_ENTRY(LS1048A, LS1048A, 4),
29 CPU_TYPE_ENTRY(LS1044A, LS1044A, 4),
Mingkai Hu9f3183d2015-10-26 19:47:50 +080030};
31
32#ifndef CONFIG_SYS_DCACHE_OFF
33
Mingkai Hu9f3183d2015-10-26 19:47:50 +080034#ifdef CONFIG_FSL_LSCH3
35#define CONFIG_SYS_FSL_CCSR_BASE 0x00000000
36#define CONFIG_SYS_FSL_CCSR_SIZE 0x10000000
37#define CONFIG_SYS_FSL_QSPI_BASE1 0x20000000
38#define CONFIG_SYS_FSL_QSPI_SIZE1 0x10000000
39#define CONFIG_SYS_FSL_IFC_BASE1 0x30000000
40#define CONFIG_SYS_FSL_IFC_SIZE1 0x10000000
41#define CONFIG_SYS_FSL_IFC_SIZE1_1 0x400000
42#define CONFIG_SYS_FSL_DRAM_BASE1 0x80000000
43#define CONFIG_SYS_FSL_DRAM_SIZE1 0x80000000
44#define CONFIG_SYS_FSL_QSPI_BASE2 0x400000000
45#define CONFIG_SYS_FSL_QSPI_SIZE2 0x100000000
46#define CONFIG_SYS_FSL_IFC_BASE2 0x500000000
47#define CONFIG_SYS_FSL_IFC_SIZE2 0x100000000
48#define CONFIG_SYS_FSL_DCSR_BASE 0x700000000
49#define CONFIG_SYS_FSL_DCSR_SIZE 0x40000000
50#define CONFIG_SYS_FSL_MC_BASE 0x80c000000
51#define CONFIG_SYS_FSL_MC_SIZE 0x4000000
52#define CONFIG_SYS_FSL_NI_BASE 0x810000000
53#define CONFIG_SYS_FSL_NI_SIZE 0x8000000
54#define CONFIG_SYS_FSL_QBMAN_BASE 0x818000000
55#define CONFIG_SYS_FSL_QBMAN_SIZE 0x8000000
56#define CONFIG_SYS_FSL_QBMAN_SIZE_1 0x4000000
57#define CONFIG_SYS_PCIE1_PHYS_SIZE 0x200000000
58#define CONFIG_SYS_PCIE2_PHYS_SIZE 0x200000000
59#define CONFIG_SYS_PCIE3_PHYS_SIZE 0x200000000
60#define CONFIG_SYS_PCIE4_PHYS_SIZE 0x200000000
61#define CONFIG_SYS_FSL_WRIOP1_BASE 0x4300000000
62#define CONFIG_SYS_FSL_WRIOP1_SIZE 0x100000000
63#define CONFIG_SYS_FSL_AIOP1_BASE 0x4b00000000
64#define CONFIG_SYS_FSL_AIOP1_SIZE 0x100000000
65#define CONFIG_SYS_FSL_PEBUF_BASE 0x4c00000000
66#define CONFIG_SYS_FSL_PEBUF_SIZE 0x400000000
67#define CONFIG_SYS_FSL_DRAM_BASE2 0x8080000000
68#define CONFIG_SYS_FSL_DRAM_SIZE2 0x7F80000000
Mingkai Hu8281c582015-10-26 19:47:51 +080069#elif defined(CONFIG_FSL_LSCH2)
70#define CONFIG_SYS_FSL_BOOTROM_BASE 0x0
71#define CONFIG_SYS_FSL_BOOTROM_SIZE 0x1000000
72#define CONFIG_SYS_FSL_CCSR_BASE 0x1000000
73#define CONFIG_SYS_FSL_CCSR_SIZE 0xf000000
74#define CONFIG_SYS_FSL_DCSR_BASE 0x20000000
75#define CONFIG_SYS_FSL_DCSR_SIZE 0x4000000
76#define CONFIG_SYS_FSL_QSPI_BASE 0x40000000
77#define CONFIG_SYS_FSL_QSPI_SIZE 0x20000000
78#define CONFIG_SYS_FSL_IFC_BASE 0x60000000
79#define CONFIG_SYS_FSL_IFC_SIZE 0x20000000
80#define CONFIG_SYS_FSL_DRAM_BASE1 0x80000000
81#define CONFIG_SYS_FSL_DRAM_SIZE1 0x80000000
82#define CONFIG_SYS_FSL_QBMAN_BASE 0x500000000
83#define CONFIG_SYS_FSL_QBMAN_SIZE 0x10000000
84#define CONFIG_SYS_FSL_DRAM_BASE2 0x880000000
85#define CONFIG_SYS_FSL_DRAM_SIZE2 0x780000000 /* 30GB */
86#define CONFIG_SYS_PCIE1_PHYS_SIZE 0x800000000
87#define CONFIG_SYS_PCIE2_PHYS_SIZE 0x800000000
88#define CONFIG_SYS_PCIE3_PHYS_SIZE 0x800000000
89#define CONFIG_SYS_FSL_DRAM_BASE3 0x8800000000
90#define CONFIG_SYS_FSL_DRAM_SIZE3 0x7800000000 /* 480GB */
Mingkai Hu9f3183d2015-10-26 19:47:50 +080091#endif
92
York Sun5ad58232016-06-24 16:46:23 -070093#define EARLY_PGTABLE_SIZE 0x5000
94static struct mm_region early_map[] = {
Mingkai Hu9f3183d2015-10-26 19:47:50 +080095#ifdef CONFIG_FSL_LSCH3
96 { CONFIG_SYS_FSL_CCSR_BASE, CONFIG_SYS_FSL_CCSR_BASE,
York Sun5ad58232016-06-24 16:46:23 -070097 CONFIG_SYS_FSL_CCSR_SIZE,
98 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
99 PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
100 },
Mingkai Hu9f3183d2015-10-26 19:47:50 +0800101 { CONFIG_SYS_FSL_OCRAM_BASE, CONFIG_SYS_FSL_OCRAM_BASE,
Hou Zhiqiang6930be32016-12-16 17:15:45 +0800102 SYS_FSL_OCRAM_SPACE_SIZE,
York Sun5ad58232016-06-24 16:46:23 -0700103 PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE
104 },
Yuan Yaoa646f662016-06-08 18:25:00 +0800105 { CONFIG_SYS_FSL_QSPI_BASE1, CONFIG_SYS_FSL_QSPI_BASE1,
York Sun5ad58232016-06-24 16:46:23 -0700106 CONFIG_SYS_FSL_QSPI_SIZE1,
107 PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE},
Sriram Dashe45ff0c2017-09-04 15:44:05 +0530108#ifdef CONFIG_FSL_IFC
Mingkai Hu9f3183d2015-10-26 19:47:50 +0800109 /* For IFC Region #1, only the first 4MB is cache-enabled */
110 { CONFIG_SYS_FSL_IFC_BASE1, CONFIG_SYS_FSL_IFC_BASE1,
York Sun5ad58232016-06-24 16:46:23 -0700111 CONFIG_SYS_FSL_IFC_SIZE1_1,
112 PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE
113 },
Mingkai Hu9f3183d2015-10-26 19:47:50 +0800114 { CONFIG_SYS_FSL_IFC_BASE1 + CONFIG_SYS_FSL_IFC_SIZE1_1,
115 CONFIG_SYS_FSL_IFC_BASE1 + CONFIG_SYS_FSL_IFC_SIZE1_1,
116 CONFIG_SYS_FSL_IFC_SIZE1 - CONFIG_SYS_FSL_IFC_SIZE1_1,
York Sun5ad58232016-06-24 16:46:23 -0700117 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE
118 },
Mingkai Hu9f3183d2015-10-26 19:47:50 +0800119 { CONFIG_SYS_FLASH_BASE, CONFIG_SYS_FSL_IFC_BASE1,
York Sun5ad58232016-06-24 16:46:23 -0700120 CONFIG_SYS_FSL_IFC_SIZE1,
121 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE
122 },
Sriram Dashe45ff0c2017-09-04 15:44:05 +0530123#endif
Mingkai Hu9f3183d2015-10-26 19:47:50 +0800124 { CONFIG_SYS_FSL_DRAM_BASE1, CONFIG_SYS_FSL_DRAM_BASE1,
York Sun5ad58232016-06-24 16:46:23 -0700125 CONFIG_SYS_FSL_DRAM_SIZE1,
York Sun4961eaf2017-03-06 09:02:34 -0800126#if defined(CONFIG_SPL) && !defined(CONFIG_SPL_BUILD)
York Sun5ad58232016-06-24 16:46:23 -0700127 PTE_BLOCK_MEMTYPE(MT_NORMAL) |
York Sun4961eaf2017-03-06 09:02:34 -0800128#else /* Start with nGnRnE and PXN and UXN to prevent speculative access */
129 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_PXN | PTE_BLOCK_UXN |
130#endif
York Sun5ad58232016-06-24 16:46:23 -0700131 PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS
132 },
Sriram Dashe45ff0c2017-09-04 15:44:05 +0530133#ifdef CONFIG_FSL_IFC
York Sun3785f572015-11-25 14:56:40 -0800134 /* Map IFC region #2 up to CONFIG_SYS_FLASH_BASE for NAND boot */
135 { CONFIG_SYS_FSL_IFC_BASE2, CONFIG_SYS_FSL_IFC_BASE2,
136 CONFIG_SYS_FLASH_BASE - CONFIG_SYS_FSL_IFC_BASE2,
York Sun5ad58232016-06-24 16:46:23 -0700137 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE
138 },
Sriram Dashe45ff0c2017-09-04 15:44:05 +0530139#endif
Mingkai Hu9f3183d2015-10-26 19:47:50 +0800140 { CONFIG_SYS_FSL_DCSR_BASE, CONFIG_SYS_FSL_DCSR_BASE,
York Sun5ad58232016-06-24 16:46:23 -0700141 CONFIG_SYS_FSL_DCSR_SIZE,
142 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
143 PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
144 },
Mingkai Hu9f3183d2015-10-26 19:47:50 +0800145 { CONFIG_SYS_FSL_DRAM_BASE2, CONFIG_SYS_FSL_DRAM_BASE2,
York Sun5ad58232016-06-24 16:46:23 -0700146 CONFIG_SYS_FSL_DRAM_SIZE2,
York Sun4961eaf2017-03-06 09:02:34 -0800147 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_PXN | PTE_BLOCK_UXN |
York Sun5ad58232016-06-24 16:46:23 -0700148 PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS
149 },
Mingkai Hu8281c582015-10-26 19:47:51 +0800150#elif defined(CONFIG_FSL_LSCH2)
151 { CONFIG_SYS_FSL_CCSR_BASE, CONFIG_SYS_FSL_CCSR_BASE,
York Sun5ad58232016-06-24 16:46:23 -0700152 CONFIG_SYS_FSL_CCSR_SIZE,
153 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
154 PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
155 },
Mingkai Hu8281c582015-10-26 19:47:51 +0800156 { CONFIG_SYS_FSL_OCRAM_BASE, CONFIG_SYS_FSL_OCRAM_BASE,
Hou Zhiqiang6930be32016-12-16 17:15:45 +0800157 SYS_FSL_OCRAM_SPACE_SIZE,
York Sun5ad58232016-06-24 16:46:23 -0700158 PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE
159 },
Mingkai Hu8281c582015-10-26 19:47:51 +0800160 { CONFIG_SYS_FSL_DCSR_BASE, CONFIG_SYS_FSL_DCSR_BASE,
York Sun5ad58232016-06-24 16:46:23 -0700161 CONFIG_SYS_FSL_DCSR_SIZE,
162 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
163 PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
164 },
Qianyu Gongb0f20ca2016-01-25 15:16:07 +0800165 { CONFIG_SYS_FSL_QSPI_BASE, CONFIG_SYS_FSL_QSPI_BASE,
York Sun5ad58232016-06-24 16:46:23 -0700166 CONFIG_SYS_FSL_QSPI_SIZE,
167 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE
168 },
Sriram Dashe45ff0c2017-09-04 15:44:05 +0530169#ifdef CONFIG_FSL_IFC
Mingkai Hu8281c582015-10-26 19:47:51 +0800170 { CONFIG_SYS_FSL_IFC_BASE, CONFIG_SYS_FSL_IFC_BASE,
York Sun5ad58232016-06-24 16:46:23 -0700171 CONFIG_SYS_FSL_IFC_SIZE,
172 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE
173 },
Sriram Dashe45ff0c2017-09-04 15:44:05 +0530174#endif
Mingkai Hu8281c582015-10-26 19:47:51 +0800175 { CONFIG_SYS_FSL_DRAM_BASE1, CONFIG_SYS_FSL_DRAM_BASE1,
York Sun5ad58232016-06-24 16:46:23 -0700176 CONFIG_SYS_FSL_DRAM_SIZE1,
York Sun4961eaf2017-03-06 09:02:34 -0800177#if defined(CONFIG_SPL) && !defined(CONFIG_SPL_BUILD)
York Sun5ad58232016-06-24 16:46:23 -0700178 PTE_BLOCK_MEMTYPE(MT_NORMAL) |
York Sun4961eaf2017-03-06 09:02:34 -0800179#else /* Start with nGnRnE and PXN and UXN to prevent speculative access */
180 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_PXN | PTE_BLOCK_UXN |
181#endif
York Sun5ad58232016-06-24 16:46:23 -0700182 PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS
183 },
Mingkai Hu8281c582015-10-26 19:47:51 +0800184 { CONFIG_SYS_FSL_DRAM_BASE2, CONFIG_SYS_FSL_DRAM_BASE2,
York Sun5ad58232016-06-24 16:46:23 -0700185 CONFIG_SYS_FSL_DRAM_SIZE2,
York Sun4961eaf2017-03-06 09:02:34 -0800186 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_PXN | PTE_BLOCK_UXN |
York Sun5ad58232016-06-24 16:46:23 -0700187 PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS
188 },
Mingkai Hu9f3183d2015-10-26 19:47:50 +0800189#endif
York Sun5ad58232016-06-24 16:46:23 -0700190 {}, /* list terminator */
Mingkai Hu9f3183d2015-10-26 19:47:50 +0800191};
192
York Sun5ad58232016-06-24 16:46:23 -0700193static struct mm_region final_map[] = {
Mingkai Hu9f3183d2015-10-26 19:47:50 +0800194#ifdef CONFIG_FSL_LSCH3
195 { CONFIG_SYS_FSL_CCSR_BASE, CONFIG_SYS_FSL_CCSR_BASE,
York Sun5ad58232016-06-24 16:46:23 -0700196 CONFIG_SYS_FSL_CCSR_SIZE,
197 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
198 PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
199 },
Mingkai Hu9f3183d2015-10-26 19:47:50 +0800200 { CONFIG_SYS_FSL_OCRAM_BASE, CONFIG_SYS_FSL_OCRAM_BASE,
Hou Zhiqiang6930be32016-12-16 17:15:45 +0800201 SYS_FSL_OCRAM_SPACE_SIZE,
York Sun5ad58232016-06-24 16:46:23 -0700202 PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE
203 },
Mingkai Hu9f3183d2015-10-26 19:47:50 +0800204 { CONFIG_SYS_FSL_DRAM_BASE1, CONFIG_SYS_FSL_DRAM_BASE1,
York Sun5ad58232016-06-24 16:46:23 -0700205 CONFIG_SYS_FSL_DRAM_SIZE1,
206 PTE_BLOCK_MEMTYPE(MT_NORMAL) |
207 PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS
208 },
Yuan Yaoa646f662016-06-08 18:25:00 +0800209 { CONFIG_SYS_FSL_QSPI_BASE1, CONFIG_SYS_FSL_QSPI_BASE1,
York Sun5ad58232016-06-24 16:46:23 -0700210 CONFIG_SYS_FSL_QSPI_SIZE1,
Suresh Gupta22c51852017-08-29 19:12:43 +0530211 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
212 PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
York Sun5ad58232016-06-24 16:46:23 -0700213 },
Mingkai Hu9f3183d2015-10-26 19:47:50 +0800214 { CONFIG_SYS_FSL_QSPI_BASE2, CONFIG_SYS_FSL_QSPI_BASE2,
York Sun5ad58232016-06-24 16:46:23 -0700215 CONFIG_SYS_FSL_QSPI_SIZE2,
216 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
217 PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
218 },
Sriram Dashe45ff0c2017-09-04 15:44:05 +0530219#ifdef CONFIG_FSL_IFC
Mingkai Hu9f3183d2015-10-26 19:47:50 +0800220 { CONFIG_SYS_FSL_IFC_BASE2, CONFIG_SYS_FSL_IFC_BASE2,
York Sun5ad58232016-06-24 16:46:23 -0700221 CONFIG_SYS_FSL_IFC_SIZE2,
Suresh Gupta22c51852017-08-29 19:12:43 +0530222 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
223 PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
York Sun5ad58232016-06-24 16:46:23 -0700224 },
Sriram Dashe45ff0c2017-09-04 15:44:05 +0530225#endif
Mingkai Hu9f3183d2015-10-26 19:47:50 +0800226 { CONFIG_SYS_FSL_DCSR_BASE, CONFIG_SYS_FSL_DCSR_BASE,
York Sun5ad58232016-06-24 16:46:23 -0700227 CONFIG_SYS_FSL_DCSR_SIZE,
228 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
229 PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
230 },
Mingkai Hu9f3183d2015-10-26 19:47:50 +0800231 { CONFIG_SYS_FSL_MC_BASE, CONFIG_SYS_FSL_MC_BASE,
York Sun5ad58232016-06-24 16:46:23 -0700232 CONFIG_SYS_FSL_MC_SIZE,
233 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
234 PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
235 },
Mingkai Hu9f3183d2015-10-26 19:47:50 +0800236 { CONFIG_SYS_FSL_NI_BASE, CONFIG_SYS_FSL_NI_BASE,
York Sun5ad58232016-06-24 16:46:23 -0700237 CONFIG_SYS_FSL_NI_SIZE,
238 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
239 PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
240 },
Mingkai Hu9f3183d2015-10-26 19:47:50 +0800241 /* For QBMAN portal, only the first 64MB is cache-enabled */
242 { CONFIG_SYS_FSL_QBMAN_BASE, CONFIG_SYS_FSL_QBMAN_BASE,
York Sun5ad58232016-06-24 16:46:23 -0700243 CONFIG_SYS_FSL_QBMAN_SIZE_1,
244 PTE_BLOCK_MEMTYPE(MT_NORMAL) |
245 PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN | PTE_BLOCK_NS
246 },
Mingkai Hu9f3183d2015-10-26 19:47:50 +0800247 { CONFIG_SYS_FSL_QBMAN_BASE + CONFIG_SYS_FSL_QBMAN_SIZE_1,
248 CONFIG_SYS_FSL_QBMAN_BASE + CONFIG_SYS_FSL_QBMAN_SIZE_1,
249 CONFIG_SYS_FSL_QBMAN_SIZE - CONFIG_SYS_FSL_QBMAN_SIZE_1,
York Sun5ad58232016-06-24 16:46:23 -0700250 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
251 PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
252 },
Mingkai Hu9f3183d2015-10-26 19:47:50 +0800253 { CONFIG_SYS_PCIE1_PHYS_ADDR, CONFIG_SYS_PCIE1_PHYS_ADDR,
York Sun5ad58232016-06-24 16:46:23 -0700254 CONFIG_SYS_PCIE1_PHYS_SIZE,
255 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
256 PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
257 },
Mingkai Hu9f3183d2015-10-26 19:47:50 +0800258 { CONFIG_SYS_PCIE2_PHYS_ADDR, CONFIG_SYS_PCIE2_PHYS_ADDR,
York Sun5ad58232016-06-24 16:46:23 -0700259 CONFIG_SYS_PCIE2_PHYS_SIZE,
260 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
261 PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
262 },
Mingkai Hu9f3183d2015-10-26 19:47:50 +0800263 { CONFIG_SYS_PCIE3_PHYS_ADDR, CONFIG_SYS_PCIE3_PHYS_ADDR,
York Sun5ad58232016-06-24 16:46:23 -0700264 CONFIG_SYS_PCIE3_PHYS_SIZE,
265 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
266 PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
267 },
York Sun4a3ab192017-03-27 11:41:01 -0700268#ifdef CONFIG_ARCH_LS2080A
Mingkai Hu9f3183d2015-10-26 19:47:50 +0800269 { CONFIG_SYS_PCIE4_PHYS_ADDR, CONFIG_SYS_PCIE4_PHYS_ADDR,
York Sun5ad58232016-06-24 16:46:23 -0700270 CONFIG_SYS_PCIE4_PHYS_SIZE,
271 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
272 PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
273 },
Mingkai Hu9f3183d2015-10-26 19:47:50 +0800274#endif
275 { CONFIG_SYS_FSL_WRIOP1_BASE, CONFIG_SYS_FSL_WRIOP1_BASE,
York Sun5ad58232016-06-24 16:46:23 -0700276 CONFIG_SYS_FSL_WRIOP1_SIZE,
277 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
278 PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
279 },
Mingkai Hu9f3183d2015-10-26 19:47:50 +0800280 { CONFIG_SYS_FSL_AIOP1_BASE, CONFIG_SYS_FSL_AIOP1_BASE,
York Sun5ad58232016-06-24 16:46:23 -0700281 CONFIG_SYS_FSL_AIOP1_SIZE,
282 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
283 PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
284 },
Mingkai Hu9f3183d2015-10-26 19:47:50 +0800285 { CONFIG_SYS_FSL_PEBUF_BASE, CONFIG_SYS_FSL_PEBUF_BASE,
York Sun5ad58232016-06-24 16:46:23 -0700286 CONFIG_SYS_FSL_PEBUF_SIZE,
287 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
288 PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
289 },
Mingkai Hu9f3183d2015-10-26 19:47:50 +0800290 { CONFIG_SYS_FSL_DRAM_BASE2, CONFIG_SYS_FSL_DRAM_BASE2,
York Sun5ad58232016-06-24 16:46:23 -0700291 CONFIG_SYS_FSL_DRAM_SIZE2,
292 PTE_BLOCK_MEMTYPE(MT_NORMAL) |
293 PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS
294 },
Mingkai Hu8281c582015-10-26 19:47:51 +0800295#elif defined(CONFIG_FSL_LSCH2)
296 { CONFIG_SYS_FSL_BOOTROM_BASE, CONFIG_SYS_FSL_BOOTROM_BASE,
York Sun5ad58232016-06-24 16:46:23 -0700297 CONFIG_SYS_FSL_BOOTROM_SIZE,
298 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
299 PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
300 },
Mingkai Hu8281c582015-10-26 19:47:51 +0800301 { CONFIG_SYS_FSL_CCSR_BASE, CONFIG_SYS_FSL_CCSR_BASE,
York Sun5ad58232016-06-24 16:46:23 -0700302 CONFIG_SYS_FSL_CCSR_SIZE,
303 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
304 PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
305 },
Mingkai Hu8281c582015-10-26 19:47:51 +0800306 { CONFIG_SYS_FSL_OCRAM_BASE, CONFIG_SYS_FSL_OCRAM_BASE,
Hou Zhiqiang6930be32016-12-16 17:15:45 +0800307 SYS_FSL_OCRAM_SPACE_SIZE,
York Sun5ad58232016-06-24 16:46:23 -0700308 PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE
309 },
Mingkai Hu8281c582015-10-26 19:47:51 +0800310 { CONFIG_SYS_FSL_DCSR_BASE, CONFIG_SYS_FSL_DCSR_BASE,
York Sun5ad58232016-06-24 16:46:23 -0700311 CONFIG_SYS_FSL_DCSR_SIZE,
312 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
313 PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
314 },
Mingkai Hu8281c582015-10-26 19:47:51 +0800315 { CONFIG_SYS_FSL_QSPI_BASE, CONFIG_SYS_FSL_QSPI_BASE,
York Sun5ad58232016-06-24 16:46:23 -0700316 CONFIG_SYS_FSL_QSPI_SIZE,
317 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
318 PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
319 },
Sriram Dashe45ff0c2017-09-04 15:44:05 +0530320#ifdef CONFIG_FSL_IFC
Mingkai Hu8281c582015-10-26 19:47:51 +0800321 { CONFIG_SYS_FSL_IFC_BASE, CONFIG_SYS_FSL_IFC_BASE,
York Sun5ad58232016-06-24 16:46:23 -0700322 CONFIG_SYS_FSL_IFC_SIZE,
323 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE
324 },
Sriram Dashe45ff0c2017-09-04 15:44:05 +0530325#endif
Mingkai Hu8281c582015-10-26 19:47:51 +0800326 { CONFIG_SYS_FSL_DRAM_BASE1, CONFIG_SYS_FSL_DRAM_BASE1,
York Sun5ad58232016-06-24 16:46:23 -0700327 CONFIG_SYS_FSL_DRAM_SIZE1,
328 PTE_BLOCK_MEMTYPE(MT_NORMAL) |
329 PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS
330 },
Mingkai Hu8281c582015-10-26 19:47:51 +0800331 { CONFIG_SYS_FSL_QBMAN_BASE, CONFIG_SYS_FSL_QBMAN_BASE,
York Sun5ad58232016-06-24 16:46:23 -0700332 CONFIG_SYS_FSL_QBMAN_SIZE,
333 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
334 PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
335 },
Mingkai Hu8281c582015-10-26 19:47:51 +0800336 { CONFIG_SYS_FSL_DRAM_BASE2, CONFIG_SYS_FSL_DRAM_BASE2,
York Sun5ad58232016-06-24 16:46:23 -0700337 CONFIG_SYS_FSL_DRAM_SIZE2,
338 PTE_BLOCK_MEMTYPE(MT_NORMAL) |
339 PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS
340 },
Mingkai Hu8281c582015-10-26 19:47:51 +0800341 { CONFIG_SYS_PCIE1_PHYS_ADDR, CONFIG_SYS_PCIE1_PHYS_ADDR,
York Sun5ad58232016-06-24 16:46:23 -0700342 CONFIG_SYS_PCIE1_PHYS_SIZE,
343 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
344 PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
345 },
Mingkai Hu8281c582015-10-26 19:47:51 +0800346 { CONFIG_SYS_PCIE2_PHYS_ADDR, CONFIG_SYS_PCIE2_PHYS_ADDR,
York Sun5ad58232016-06-24 16:46:23 -0700347 CONFIG_SYS_PCIE2_PHYS_SIZE,
348 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
349 PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
350 },
Mingkai Hu8281c582015-10-26 19:47:51 +0800351 { CONFIG_SYS_PCIE3_PHYS_ADDR, CONFIG_SYS_PCIE3_PHYS_ADDR,
York Sun5ad58232016-06-24 16:46:23 -0700352 CONFIG_SYS_PCIE3_PHYS_SIZE,
353 PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) |
354 PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
355 },
Mingkai Hu8281c582015-10-26 19:47:51 +0800356 { CONFIG_SYS_FSL_DRAM_BASE3, CONFIG_SYS_FSL_DRAM_BASE3,
York Sun5ad58232016-06-24 16:46:23 -0700357 CONFIG_SYS_FSL_DRAM_SIZE3,
358 PTE_BLOCK_MEMTYPE(MT_NORMAL) |
359 PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS
360 },
Mingkai Hu9f3183d2015-10-26 19:47:50 +0800361#endif
York Sun5ad58232016-06-24 16:46:23 -0700362#ifdef CONFIG_SYS_MEM_RESERVE_SECURE
363 {}, /* space holder for secure mem */
364#endif
365 {},
Mingkai Hu9f3183d2015-10-26 19:47:50 +0800366};
York Sun5ad58232016-06-24 16:46:23 -0700367#endif /* !CONFIG_SYS_DCACHE_OFF */
Mingkai Hu9f3183d2015-10-26 19:47:50 +0800368
369int fsl_qoriq_core_to_cluster(unsigned int core);
370u32 cpu_mask(void);
Simon Glass6e2941d2017-05-17 08:23:06 -0600371
Mingkai Hu9f3183d2015-10-26 19:47:50 +0800372#endif /* _FSL_LAYERSCAPE_CPU_H */