blob: 2562f4a365188d5eab115902d1ac31605b680674 [file] [log] [blame]
York Sunb3d71642016-09-26 08:09:26 -07001config ARCH_LS1012A
York Sunfcd0e742016-10-04 14:31:47 -07002 bool
Hou Zhiqiang4d1525a2017-01-06 17:41:11 +08003 select ARMV8_SET_SMPEN
York Sun4dd8c612016-10-04 14:31:48 -07004 select FSL_LSCH2
York Sunb6fffd82016-10-04 18:03:08 -07005 select SYS_FSL_DDR_BE
York Sunb3d71642016-09-26 08:09:26 -07006 select SYS_FSL_MMDC
York Sun149eb332016-09-26 08:09:27 -07007 select SYS_FSL_ERRATUM_A010315
Simon Glass62adede2017-01-23 13:31:19 -07008 select ARCH_EARLY_INIT_R
Simon Glass7a99a872017-01-23 13:31:20 -07009 select BOARD_EARLY_INIT_F
York Sun149eb332016-09-26 08:09:27 -070010
11config ARCH_LS1043A
York Sunfcd0e742016-10-04 14:31:47 -070012 bool
Hou Zhiqiang4d1525a2017-01-06 17:41:11 +080013 select ARMV8_SET_SMPEN
York Sun4dd8c612016-10-04 14:31:48 -070014 select FSL_LSCH2
York Sund297d392016-12-28 08:43:40 -080015 select SYS_FSL_DDR
York Sunb6fffd82016-10-04 18:03:08 -070016 select SYS_FSL_DDR_BE
17 select SYS_FSL_DDR_VER_50
York Sun1dc61ca2016-12-28 08:43:41 -080018 select SYS_FSL_ERRATUM_A008850
19 select SYS_FSL_ERRATUM_A009660
20 select SYS_FSL_ERRATUM_A009663
21 select SYS_FSL_ERRATUM_A009929
22 select SYS_FSL_ERRATUM_A009942
York Sun149eb332016-09-26 08:09:27 -070023 select SYS_FSL_ERRATUM_A010315
Hou Zhiqiangc06b30a2016-09-29 12:42:44 +080024 select SYS_FSL_ERRATUM_A010539
York Sund297d392016-12-28 08:43:40 -080025 select SYS_FSL_HAS_DDR3
26 select SYS_FSL_HAS_DDR4
Simon Glass62adede2017-01-23 13:31:19 -070027 select ARCH_EARLY_INIT_R
Simon Glass7a99a872017-01-23 13:31:20 -070028 select BOARD_EARLY_INIT_F
York Sunb3d71642016-09-26 08:09:26 -070029
York Sunbad49842016-09-26 08:09:24 -070030config ARCH_LS1046A
York Sunfcd0e742016-10-04 14:31:47 -070031 bool
Hou Zhiqiang4d1525a2017-01-06 17:41:11 +080032 select ARMV8_SET_SMPEN
York Sun4dd8c612016-10-04 14:31:48 -070033 select FSL_LSCH2
York Sund297d392016-12-28 08:43:40 -080034 select SYS_FSL_DDR
York Sunb6fffd82016-10-04 18:03:08 -070035 select SYS_FSL_DDR_BE
York Sunb6fffd82016-10-04 18:03:08 -070036 select SYS_FSL_DDR_VER_50
York Sunf195cf72017-01-27 09:57:31 -080037 select SYS_FSL_ERRATUM_A008336
York Sun1dc61ca2016-12-28 08:43:41 -080038 select SYS_FSL_ERRATUM_A008511
Shengzhou Liua7c37c62017-03-23 18:14:40 +080039 select SYS_FSL_ERRATUM_A008850
York Sun1dc61ca2016-12-28 08:43:41 -080040 select SYS_FSL_ERRATUM_A009801
41 select SYS_FSL_ERRATUM_A009803
42 select SYS_FSL_ERRATUM_A009942
43 select SYS_FSL_ERRATUM_A010165
Hou Zhiqiangc06b30a2016-09-29 12:42:44 +080044 select SYS_FSL_ERRATUM_A010539
York Sund297d392016-12-28 08:43:40 -080045 select SYS_FSL_HAS_DDR4
York Sun6b62ef02016-10-04 18:01:34 -070046 select SYS_FSL_SRDS_2
Simon Glass62adede2017-01-23 13:31:19 -070047 select ARCH_EARLY_INIT_R
Simon Glass7a99a872017-01-23 13:31:20 -070048 select BOARD_EARLY_INIT_F
York Sunb3d71642016-09-26 08:09:26 -070049
York Sunfcd0e742016-10-04 14:31:47 -070050config ARCH_LS2080A
51 bool
Hou Zhiqiang4d1525a2017-01-06 17:41:11 +080052 select ARMV8_SET_SMPEN
Tom Rinibacb52c2017-03-07 07:13:42 -050053 select ARM_ERRATA_826974
54 select ARM_ERRATA_828024
55 select ARM_ERRATA_829520
56 select ARM_ERRATA_833471
York Sun4dd8c612016-10-04 14:31:48 -070057 select FSL_LSCH3
York Sund297d392016-12-28 08:43:40 -080058 select SYS_FSL_DDR
York Sunb6fffd82016-10-04 18:03:08 -070059 select SYS_FSL_DDR_LE
60 select SYS_FSL_DDR_VER_50
York Sun6b62ef02016-10-04 18:01:34 -070061 select SYS_FSL_HAS_DP_DDR
York Sun92c36e22016-12-28 08:43:30 -080062 select SYS_FSL_HAS_SEC
York Sund297d392016-12-28 08:43:40 -080063 select SYS_FSL_HAS_DDR4
York Sun92c36e22016-12-28 08:43:30 -080064 select SYS_FSL_SEC_COMPAT_5
York Sunfa4199422016-12-28 08:43:31 -080065 select SYS_FSL_SEC_LE
York Sun6b62ef02016-10-04 18:01:34 -070066 select SYS_FSL_SRDS_2
York Sun1dc61ca2016-12-28 08:43:41 -080067 select SYS_FSL_ERRATUM_A008336
68 select SYS_FSL_ERRATUM_A008511
69 select SYS_FSL_ERRATUM_A008514
70 select SYS_FSL_ERRATUM_A008585
71 select SYS_FSL_ERRATUM_A009635
72 select SYS_FSL_ERRATUM_A009663
73 select SYS_FSL_ERRATUM_A009801
74 select SYS_FSL_ERRATUM_A009803
75 select SYS_FSL_ERRATUM_A009942
76 select SYS_FSL_ERRATUM_A010165
Ashish kumar3b52a232017-02-23 16:03:57 +053077 select SYS_FSL_ERRATUM_A009203
Simon Glass62adede2017-01-23 13:31:19 -070078 select ARCH_EARLY_INIT_R
Simon Glass7a99a872017-01-23 13:31:20 -070079 select BOARD_EARLY_INIT_F
York Sun4dd8c612016-10-04 14:31:48 -070080
81config FSL_LSCH2
82 bool
York Sun92c36e22016-12-28 08:43:30 -080083 select SYS_FSL_HAS_SEC
84 select SYS_FSL_SEC_COMPAT_5
York Sunfa4199422016-12-28 08:43:31 -080085 select SYS_FSL_SEC_BE
York Sun6b62ef02016-10-04 18:01:34 -070086 select SYS_FSL_SRDS_1
87 select SYS_HAS_SERDES
York Sun4dd8c612016-10-04 14:31:48 -070088
89config FSL_LSCH3
90 bool
York Sun6b62ef02016-10-04 18:01:34 -070091 select SYS_FSL_SRDS_1
92 select SYS_HAS_SERDES
York Sun4dd8c612016-10-04 14:31:48 -070093
York Sun6c089742017-03-06 09:02:25 -080094config FSL_MC_ENET
95 bool "Management Complex network"
96 depends on ARCH_LS2080A
97 default y
98 select RESV_RAM
99 help
100 Enable Management Complex (MC) network
101
York Sun4dd8c612016-10-04 14:31:48 -0700102menu "Layerscape architecture"
103 depends on FSL_LSCH2 || FSL_LSCH3
York Sunfcd0e742016-10-04 14:31:47 -0700104
Hou Zhiqiangd553bf22016-12-13 14:54:24 +0800105config FSL_PCIE_COMPAT
106 string "PCIe compatible of Kernel DT"
107 depends on PCIE_LAYERSCAPE
108 default "fsl,ls1012a-pcie" if ARCH_LS1012A
109 default "fsl,ls1043a-pcie" if ARCH_LS1043A
110 default "fsl,ls1046a-pcie" if ARCH_LS1046A
111 default "fsl,ls2080a-pcie" if ARCH_LS2080A
112 help
113 This compatible is used to find pci controller node in Kernel DT
114 to complete fixup.
115
Wenbin Songa8f57a92017-01-17 18:31:15 +0800116config HAS_FEATURE_GIC64K_ALIGN
117 bool
118 default y if ARCH_LS1043A
119
Wenbin Songc6bc7c02017-01-17 18:31:16 +0800120config HAS_FEATURE_ENHANCED_MSI
121 bool
122 default y if ARCH_LS1043A
Wenbin Songa8f57a92017-01-17 18:31:15 +0800123
macro.wave.z@gmail.comec2d7ed2016-12-08 11:58:21 +0800124menu "Layerscape PPA"
125config FSL_LS_PPA
126 bool "FSL Layerscape PPA firmware support"
macro.wave.z@gmail.com01bd3342016-12-08 11:58:22 +0800127 depends on !ARMV8_PSCI
Hou Zhiqiangbff56d52017-01-16 17:31:49 +0800128 select ARMV8_SEC_FIRMWARE_SUPPORT
Hou Zhiqiang6be115d2017-01-16 17:31:48 +0800129 select SEC_FIRMWARE_ARMV8_PSCI
Hou Zhiqiangbff56d52017-01-16 17:31:49 +0800130 select ARMV8_SEC_FIRMWARE_ERET_ADDR_REVERT if FSL_LSCH2
macro.wave.z@gmail.comec2d7ed2016-12-08 11:58:21 +0800131 help
132 The FSL Primary Protected Application (PPA) is a software component
133 which is loaded during boot stage, and then remains resident in RAM
134 and runs in the TrustZone after boot.
135 Say y to enable it.
Hou Zhiqiangbff56d52017-01-16 17:31:49 +0800136choice
137 prompt "FSL Layerscape PPA firmware loading-media select"
138 depends on FSL_LS_PPA
Hou Zhiqiangbd6e2cd2017-03-17 16:12:33 +0800139 default SYS_LS_PPA_FW_IN_MMC if SD_BOOT
140 default SYS_LS_PPA_FW_IN_NAND if NAND_BOOT
Hou Zhiqiangbff56d52017-01-16 17:31:49 +0800141 default SYS_LS_PPA_FW_IN_XIP
142
143config SYS_LS_PPA_FW_IN_XIP
144 bool "XIP"
145 help
146 Say Y here if the PPA firmware locate at XIP flash, such
147 as NOR or QSPI flash.
148
Hou Zhiqiangbd6e2cd2017-03-17 16:12:33 +0800149config SYS_LS_PPA_FW_IN_MMC
150 bool "eMMC or SD Card"
151 help
152 Say Y here if the PPA firmware locate at eMMC/SD card.
153
154config SYS_LS_PPA_FW_IN_NAND
155 bool "NAND"
156 help
157 Say Y here if the PPA firmware locate at NAND flash.
158
Hou Zhiqiangbff56d52017-01-16 17:31:49 +0800159endchoice
160
161config SYS_LS_PPA_FW_ADDR
162 hex "Address of PPA firmware loading from"
163 depends on FSL_LS_PPA
164 default 0x40500000 if SYS_LS_PPA_FW_IN_XIP && QSPI_BOOT
Santan Kumarc61c6992017-03-07 11:21:03 +0530165 default 0x580a00000 if SYS_LS_PPA_FW_IN_XIP && ARCH_LS2080A
Hou Zhiqiangbff56d52017-01-16 17:31:49 +0800166 default 0x60500000 if SYS_LS_PPA_FW_IN_XIP
Hou Zhiqiangbd6e2cd2017-03-17 16:12:33 +0800167 default 0x500000 if SYS_LS_PPA_FW_IN_MMC
168 default 0x500000 if SYS_LS_PPA_FW_IN_NAND
169
Hou Zhiqiangbff56d52017-01-16 17:31:49 +0800170 help
171 If the PPA firmware locate at XIP flash, such as NOR or
172 QSPI flash, this address is a directly memory-mapped.
173 If it is in a serial accessed flash, such as NAND and SD
174 card, it is a byte offset.
Vinitha Pillai-B57223a4b3ded2017-03-23 13:48:14 +0530175
176config SYS_LS_PPA_ESBC_ADDR
177 hex "hdr address of PPA firmware loading from"
178 depends on FSL_LS_PPA && CHAIN_OF_TRUST
179 default 0x600c0000 if SYS_LS_PPA_FW_IN_XIP && ARCH_LS1043A
Vinitha Pillai-B572238a3c6452017-03-23 13:48:16 +0530180 default 0x40740000 if SYS_LS_PPA_FW_IN_XIP && ARCH_LS1046A
Vinitha Pillai-B572236cb92e72017-03-23 13:48:19 +0530181 default 0x40480000 if SYS_LS_PPA_FW_IN_XIP && ARCH_LS1012A
Vinitha Pillai-B57223a4b3ded2017-03-23 13:48:14 +0530182 default 0x580c40000 if SYS_LS_PPA_FW_IN_XIP && FSL_LSCH3
183 help
184 If the PPA header firmware locate at XIP flash, such as NOR or
185 QSPI flash, this address is a directly memory-mapped.
186 If it is in a serial accessed flash, such as NAND and SD
187 card, it is a byte offset.
188
macro.wave.z@gmail.comec2d7ed2016-12-08 11:58:21 +0800189endmenu
190
York Sun149eb332016-09-26 08:09:27 -0700191config SYS_FSL_ERRATUM_A010315
192 bool "Workaround for PCIe erratum A010315"
Hou Zhiqiangc06b30a2016-09-29 12:42:44 +0800193
194config SYS_FSL_ERRATUM_A010539
195 bool "Workaround for PIN MUX erratum A010539"
York Sun4dd8c612016-10-04 14:31:48 -0700196
York Sunf188d222016-10-04 14:45:01 -0700197config MAX_CPUS
198 int "Maximum number of CPUs permitted for Layerscape"
199 default 4 if ARCH_LS1043A
200 default 4 if ARCH_LS1046A
201 default 16 if ARCH_LS2080A
202 default 1
203 help
204 Set this number to the maximum number of possible CPUs in the SoC.
205 SoCs may have multiple clusters with each cluster may have multiple
206 ports. If some ports are reserved but higher ports are used for
207 cores, count the reserved ports. This will allocate enough memory
208 in spin table to properly handle all cores.
209
York Sun728e7002016-12-02 09:32:35 -0800210config SECURE_BOOT
York Sun8a3d8ed2017-01-04 10:32:08 -0800211 bool "Secure Boot"
York Sun728e7002016-12-02 09:32:35 -0800212 help
213 Enable Freescale Secure Boot feature
214
Yuan Yao52ae4fd2016-12-01 10:13:52 +0800215config QSPI_AHB_INIT
216 bool "Init the QSPI AHB bus"
217 help
218 The default setting for QSPI AHB bus just support 3bytes addressing.
219 But some QSPI flash size up to 64MBytes, so initialize the QSPI AHB
220 bus for those flashes to support the full QSPI flash size.
221
York Sune7310a32016-10-04 14:45:54 -0700222config SYS_FSL_IFC_BANK_COUNT
223 int "Maximum banks of Integrated flash controller"
224 depends on ARCH_LS1043A || ARCH_LS1046A || ARCH_LS2080A
225 default 4 if ARCH_LS1043A
226 default 4 if ARCH_LS1046A
227 default 8 if ARCH_LS2080A
228
York Sun0dc9abb2016-10-04 14:46:50 -0700229config SYS_FSL_HAS_DP_DDR
230 bool
231
York Sun6b62ef02016-10-04 18:01:34 -0700232config SYS_FSL_SRDS_1
233 bool
234
235config SYS_FSL_SRDS_2
236 bool
237
238config SYS_HAS_SERDES
239 bool
240
York Sun4dd8c612016-10-04 14:31:48 -0700241endmenu
York Sun1dc61ca2016-12-28 08:43:41 -0800242
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800243menu "Layerscape clock tree configuration"
244 depends on FSL_LSCH2 || FSL_LSCH3
245
246config SYS_FSL_CLK
247 bool "Enable clock tree initialization"
248 default y
249
250config CLUSTER_CLK_FREQ
251 int "Reference clock of core cluster"
252 depends on ARCH_LS1012A
253 default 100000000
254 help
255 This number is the reference clock frequency of core PLL.
256 For most platforms, the core PLL and Platform PLL have the same
257 reference clock, but for some platforms, LS1012A for instance,
258 they are provided sepatately.
259
260config SYS_FSL_PCLK_DIV
261 int "Platform clock divider"
262 default 1 if ARCH_LS1043A
263 default 1 if ARCH_LS1046A
264 default 2
265 help
266 This is the divider that is used to derive Platform clock from
267 Platform PLL, in another word:
268 Platform_clk = Platform_PLL_freq / this_divider
269
270config SYS_FSL_DSPI_CLK_DIV
271 int "DSPI clock divider"
272 default 1 if ARCH_LS1043A
273 default 2
274 help
275 This is the divider that is used to derive DSPI clock from Platform
276 PLL, in another word DSPI_clk = Platform_PLL_freq / this_divider.
277
278config SYS_FSL_DUART_CLK_DIV
279 int "DUART clock divider"
280 default 1 if ARCH_LS1043A
281 default 2
282 help
283 This is the divider that is used to derive DUART clock from Platform
284 clock, in another word DUART_clk = Platform_clk / this_divider.
285
286config SYS_FSL_I2C_CLK_DIV
287 int "I2C clock divider"
288 default 1 if ARCH_LS1043A
289 default 2
290 help
291 This is the divider that is used to derive I2C clock from Platform
292 clock, in another word I2C_clk = Platform_clk / this_divider.
293
294config SYS_FSL_IFC_CLK_DIV
295 int "IFC clock divider"
296 default 1 if ARCH_LS1043A
297 default 2
298 help
299 This is the divider that is used to derive IFC clock from Platform
300 clock, in another word IFC_clk = Platform_clk / this_divider.
301
302config SYS_FSL_LPUART_CLK_DIV
303 int "LPUART clock divider"
304 default 1 if ARCH_LS1043A
305 default 2
306 help
307 This is the divider that is used to derive LPUART clock from Platform
308 clock, in another word LPUART_clk = Platform_clk / this_divider.
309
310config SYS_FSL_SDHC_CLK_DIV
311 int "SDHC clock divider"
312 default 1 if ARCH_LS1043A
313 default 1 if ARCH_LS1012A
314 default 2
315 help
316 This is the divider that is used to derive SDHC clock from Platform
317 clock, in another word SDHC_clk = Platform_clk / this_divider.
318endmenu
319
York Sund6964b32017-03-06 09:02:24 -0800320config RESV_RAM
321 bool
322 help
323 Reserve memory from the top, tracked by gd->arch.resv_ram. This
324 reserved RAM can be used by special driver that resides in memory
325 after U-Boot exits. It's up to implementation to allocate and allow
326 access to this reserved memory. For example, the reserved RAM can
327 be at the high end of physical memory. The reserve RAM may be
328 excluded from memory bank(s) passed to OS, or marked as reserved.
329
York Sun1dc61ca2016-12-28 08:43:41 -0800330config SYS_FSL_ERRATUM_A008336
331 bool
332
333config SYS_FSL_ERRATUM_A008514
334 bool
335
336config SYS_FSL_ERRATUM_A008585
337 bool
338
339config SYS_FSL_ERRATUM_A008850
340 bool
341
Ashish kumar3b52a232017-02-23 16:03:57 +0530342config SYS_FSL_ERRATUM_A009203
343 bool
344
York Sun1dc61ca2016-12-28 08:43:41 -0800345config SYS_FSL_ERRATUM_A009635
346 bool
347
348config SYS_FSL_ERRATUM_A009660
349 bool
350
351config SYS_FSL_ERRATUM_A009929
352 bool
York Sun1a770752017-03-06 09:02:26 -0800353
354config SYS_MC_RSV_MEM_ALIGN
355 hex "Management Complex reserved memory alignment"
356 depends on RESV_RAM
357 default 0x20000000
358 help
359 Reserved memory needs to be aligned for MC to use. Default value
360 is 512MB.