• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1config ARCH_LS1012A
2	bool
3	select ARMV8_SET_SMPEN
4	select ARM_ERRATA_855873 if !TFABOOT
5	select FSL_LAYERSCAPE
6	select FSL_LSCH2
7	select SYS_FSL_SRDS_1
8	select SYS_HAS_SERDES
9	select SYS_FSL_DDR_BE
10	select SYS_FSL_MMDC
11	select SYS_FSL_ERRATUM_A010315
12	select SYS_FSL_ERRATUM_A009798
13	select SYS_FSL_ERRATUM_A008997
14	select SYS_FSL_ERRATUM_A009007
15	select SYS_FSL_ERRATUM_A009008
16	select ARCH_EARLY_INIT_R
17	select BOARD_EARLY_INIT_F
18	select SYS_I2C_MXC
19	select SYS_I2C_MXC_I2C1
20	select SYS_I2C_MXC_I2C2
21	imply PANIC_HANG
22
23config ARCH_LS1028A
24	bool
25	select ARMV8_SET_SMPEN
26	select FSL_LSCH3
27	select NXP_LSCH3_2
28	select SYS_FSL_HAS_CCI400
29	select SYS_FSL_SRDS_1
30	select SYS_HAS_SERDES
31	select SYS_FSL_DDR
32	select SYS_FSL_DDR_LE
33	select SYS_FSL_DDR_VER_50
34	select SYS_FSL_HAS_DDR3
35	select SYS_FSL_HAS_DDR4
36	select SYS_FSL_HAS_SEC
37	select SYS_FSL_SEC_COMPAT_5
38	select SYS_FSL_SEC_LE
39	select FSL_TZASC_1
40	select ARCH_EARLY_INIT_R
41	select BOARD_EARLY_INIT_F
42	select SYS_I2C_MXC
43	select SYS_FSL_ERRATUM_A008997
44	select SYS_FSL_ERRATUM_A009007
45	select SYS_FSL_ERRATUM_A008514 if !TFABOOT
46	select SYS_FSL_ERRATUM_A009663 if !TFABOOT
47	select SYS_FSL_ERRATUM_A009942 if !TFABOOT
48	select SYS_FSL_ERRATUM_A050382
49	imply PANIC_HANG
50
51config ARCH_LS1043A
52	bool
53	select ARMV8_SET_SMPEN
54	select ARM_ERRATA_855873 if !TFABOOT
55	select FSL_LAYERSCAPE
56	select FSL_LSCH2
57	select SYS_FSL_SRDS_1
58	select SYS_HAS_SERDES
59	select SYS_FSL_DDR
60	select SYS_FSL_DDR_BE
61	select SYS_FSL_DDR_VER_50
62	select SYS_FSL_ERRATUM_A008850 if !TFABOOT
63	select SYS_FSL_ERRATUM_A008997
64	select SYS_FSL_ERRATUM_A009007
65	select SYS_FSL_ERRATUM_A009008
66	select SYS_FSL_ERRATUM_A009660 if !TFABOOT
67	select SYS_FSL_ERRATUM_A009663 if !TFABOOT
68	select SYS_FSL_ERRATUM_A009798
69	select SYS_FSL_ERRATUM_A009929
70	select SYS_FSL_ERRATUM_A009942 if !TFABOOT
71	select SYS_FSL_ERRATUM_A010315
72	select SYS_FSL_ERRATUM_A010539
73	select SYS_FSL_HAS_DDR3
74	select SYS_FSL_HAS_DDR4
75	select ARCH_EARLY_INIT_R
76	select BOARD_EARLY_INIT_F
77	select SYS_I2C_MXC
78	select SYS_I2C_MXC_I2C1
79	select SYS_I2C_MXC_I2C2
80	select SYS_I2C_MXC_I2C3
81	select SYS_I2C_MXC_I2C4
82	imply CMD_PCI
83
84config ARCH_LS1046A
85	bool
86	select ARMV8_SET_SMPEN
87	select FSL_LAYERSCAPE
88	select FSL_LSCH2
89	select SYS_FSL_SRDS_1
90	select SYS_HAS_SERDES
91	select SYS_FSL_DDR
92	select SYS_FSL_DDR_BE
93	select SYS_FSL_DDR_VER_50
94	select SYS_FSL_ERRATUM_A008336 if !TFABOOT
95	select SYS_FSL_ERRATUM_A008511 if !TFABOOT
96	select SYS_FSL_ERRATUM_A008850 if !TFABOOT
97	select SYS_FSL_ERRATUM_A008997
98	select SYS_FSL_ERRATUM_A009007
99	select SYS_FSL_ERRATUM_A009008
100	select SYS_FSL_ERRATUM_A009798
101	select SYS_FSL_ERRATUM_A009801
102	select SYS_FSL_ERRATUM_A009803 if !TFABOOT
103	select SYS_FSL_ERRATUM_A009942 if !TFABOOT
104	select SYS_FSL_ERRATUM_A010165 if !TFABOOT
105	select SYS_FSL_ERRATUM_A010539
106	select SYS_FSL_HAS_DDR4
107	select SYS_FSL_SRDS_2
108	select ARCH_EARLY_INIT_R
109	select BOARD_EARLY_INIT_F
110	select SYS_I2C_MXC
111	select SYS_I2C_MXC_I2C1
112	select SYS_I2C_MXC_I2C2
113	select SYS_I2C_MXC_I2C3
114	select SYS_I2C_MXC_I2C4
115	imply SCSI
116	imply SCSI_AHCI
117
118config ARCH_LS1088A
119	bool
120	select ARMV8_SET_SMPEN
121	select ARM_ERRATA_855873 if !TFABOOT
122	select FSL_LAYERSCAPE
123	select FSL_LSCH3
124	select SYS_FSL_SRDS_1
125	select SYS_HAS_SERDES
126	select SYS_FSL_DDR
127	select SYS_FSL_DDR_LE
128	select SYS_FSL_DDR_VER_50
129	select SYS_FSL_EC1
130	select SYS_FSL_EC2
131	select SYS_FSL_ERRATUM_A009803 if !TFABOOT
132	select SYS_FSL_ERRATUM_A009942 if !TFABOOT
133	select SYS_FSL_ERRATUM_A010165 if !TFABOOT
134	select SYS_FSL_ERRATUM_A008511 if !TFABOOT
135	select SYS_FSL_ERRATUM_A008850 if !TFABOOT
136	select SYS_FSL_ERRATUM_A009007
137	select SYS_FSL_HAS_CCI400
138	select SYS_FSL_HAS_DDR4
139	select SYS_FSL_HAS_RGMII
140	select SYS_FSL_HAS_SEC
141	select SYS_FSL_SEC_COMPAT_5
142	select SYS_FSL_SEC_LE
143	select SYS_FSL_SRDS_1
144	select SYS_FSL_SRDS_2
145	select FSL_TZASC_1
146	select FSL_TZASC_400
147	select FSL_TZPC_BP147
148	select ARCH_EARLY_INIT_R
149	select BOARD_EARLY_INIT_F
150	select SYS_I2C_MXC
151	select SYS_I2C_MXC_I2C1 if !TFABOOT
152	select SYS_I2C_MXC_I2C2 if !TFABOOT
153	select SYS_I2C_MXC_I2C3 if !TFABOOT
154	select SYS_I2C_MXC_I2C4 if !TFABOOT
155	imply SCSI
156	imply PANIC_HANG
157
158config ARCH_LS2080A
159	bool
160	select ARMV8_SET_SMPEN
161	select ARM_ERRATA_826974
162	select ARM_ERRATA_828024
163	select ARM_ERRATA_829520
164	select ARM_ERRATA_833471
165	select FSL_LAYERSCAPE
166	select FSL_LSCH3
167	select SYS_FSL_SRDS_1
168	select SYS_HAS_SERDES
169	select SYS_FSL_DDR
170	select SYS_FSL_DDR_LE
171	select SYS_FSL_DDR_VER_50
172	select SYS_FSL_HAS_CCN504
173	select SYS_FSL_HAS_DP_DDR
174	select SYS_FSL_HAS_SEC
175	select SYS_FSL_HAS_DDR4
176	select SYS_FSL_SEC_COMPAT_5
177	select SYS_FSL_SEC_LE
178	select SYS_FSL_SRDS_2
179	select FSL_TZASC_1
180	select FSL_TZASC_2
181	select FSL_TZASC_400
182	select FSL_TZPC_BP147
183	select SYS_FSL_ERRATUM_A008336 if !TFABOOT
184	select SYS_FSL_ERRATUM_A008511 if !TFABOOT
185	select SYS_FSL_ERRATUM_A008514 if !TFABOOT
186	select SYS_FSL_ERRATUM_A008585
187	select SYS_FSL_ERRATUM_A008997
188	select SYS_FSL_ERRATUM_A009007
189	select SYS_FSL_ERRATUM_A009008
190	select SYS_FSL_ERRATUM_A009635
191	select SYS_FSL_ERRATUM_A009663 if !TFABOOT
192	select SYS_FSL_ERRATUM_A009798
193	select SYS_FSL_ERRATUM_A009801
194	select SYS_FSL_ERRATUM_A009803 if !TFABOOT
195	select SYS_FSL_ERRATUM_A009942 if !TFABOOT
196	select SYS_FSL_ERRATUM_A010165 if !TFABOOT
197	select SYS_FSL_ERRATUM_A009203
198	select ARCH_EARLY_INIT_R
199	select BOARD_EARLY_INIT_F
200	select SYS_I2C_MXC
201	select SYS_I2C_MXC_I2C1 if !TFABOOT
202	select SYS_I2C_MXC_I2C2 if !TFABOOT
203	select SYS_I2C_MXC_I2C3 if !TFABOOT
204	select SYS_I2C_MXC_I2C4 if !TFABOOT
205	imply DISTRO_DEFAULTS
206	imply PANIC_HANG
207
208config ARCH_LX2160A
209	bool
210	select ARMV8_SET_SMPEN
211	select FSL_LSCH3
212	select NXP_LSCH3_2
213	select SYS_HAS_SERDES
214	select SYS_FSL_SRDS_1
215	select SYS_FSL_SRDS_2
216	select SYS_NXP_SRDS_3
217	select SYS_FSL_DDR
218	select SYS_FSL_DDR_LE
219	select SYS_FSL_DDR_VER_50
220	select SYS_FSL_EC1
221	select SYS_FSL_EC2
222	select SYS_FSL_HAS_RGMII
223	select SYS_FSL_HAS_SEC
224	select SYS_FSL_HAS_CCN508
225	select SYS_FSL_HAS_DDR4
226	select SYS_FSL_SEC_COMPAT_5
227	select SYS_FSL_SEC_LE
228	select ARCH_EARLY_INIT_R
229	select BOARD_EARLY_INIT_F
230	select SYS_I2C_MXC
231	imply DISTRO_DEFAULTS
232	imply PANIC_HANG
233	imply SCSI
234	imply SCSI_AHCI
235
236config FSL_LSCH2
237	bool
238	select SYS_FSL_HAS_CCI400
239	select SYS_FSL_HAS_SEC
240	select SYS_FSL_SEC_COMPAT_5
241	select SYS_FSL_SEC_BE
242
243config FSL_LSCH3
244	bool
245
246config NXP_LSCH3_2
247	bool
248
249menu "Layerscape architecture"
250	depends on FSL_LSCH2 || FSL_LSCH3
251
252config FSL_LAYERSCAPE
253	bool
254
255config FSL_PCIE_COMPAT
256	string "PCIe compatible of Kernel DT"
257	depends on PCIE_LAYERSCAPE || PCIE_LAYERSCAPE_GEN4
258	default "fsl,ls1012a-pcie" if ARCH_LS1012A
259	default "fsl,ls1028a-pcie" if ARCH_LS1028A
260	default "fsl,ls1043a-pcie" if ARCH_LS1043A
261	default "fsl,ls1046a-pcie" if ARCH_LS1046A
262	default "fsl,ls2080a-pcie" if ARCH_LS2080A
263	default "fsl,ls1088a-pcie" if ARCH_LS1088A
264	default "fsl,lx2160a-pcie" if ARCH_LX2160A
265	help
266	  This compatible is used to find pci controller node in Kernel DT
267	  to complete fixup.
268
269config HAS_FEATURE_GIC64K_ALIGN
270	bool
271	default y if ARCH_LS1043A
272
273config HAS_FEATURE_ENHANCED_MSI
274	bool
275	default y if ARCH_LS1043A
276
277menu "Layerscape PPA"
278config FSL_LS_PPA
279	bool "FSL Layerscape PPA firmware support"
280	depends on !ARMV8_PSCI
281	select ARMV8_SEC_FIRMWARE_SUPPORT
282	select SEC_FIRMWARE_ARMV8_PSCI
283	select ARMV8_SEC_FIRMWARE_ERET_ADDR_REVERT if FSL_LSCH2
284	help
285	  The FSL Primary Protected Application (PPA) is a software component
286	  which is loaded during boot stage, and then remains resident in RAM
287	  and runs in the TrustZone after boot.
288	  Say y to enable it.
289
290config SPL_FSL_LS_PPA
291	bool "FSL Layerscape PPA firmware support for SPL build"
292	depends on !ARMV8_PSCI
293	select SPL_ARMV8_SEC_FIRMWARE_SUPPORT
294	select SEC_FIRMWARE_ARMV8_PSCI
295	select ARMV8_SEC_FIRMWARE_ERET_ADDR_REVERT if FSL_LSCH2
296	help
297	  The FSL Primary Protected Application (PPA) is a software component
298	  which is loaded during boot stage, and then remains resident in RAM
299	  and runs in the TrustZone after boot. This is to load PPA during SPL
300	  stage instead of the RAM version of U-Boot. Once PPA is initialized,
301	  the rest of U-Boot (including RAM version) runs at EL2.
302choice
303	prompt "FSL Layerscape PPA firmware loading-media select"
304	depends on FSL_LS_PPA
305	default SYS_LS_PPA_FW_IN_MMC if SD_BOOT
306	default SYS_LS_PPA_FW_IN_NAND if NAND_BOOT
307	default SYS_LS_PPA_FW_IN_XIP
308
309config SYS_LS_PPA_FW_IN_XIP
310	bool "XIP"
311	help
312	  Say Y here if the PPA firmware locate at XIP flash, such
313	  as NOR or QSPI flash.
314
315config SYS_LS_PPA_FW_IN_MMC
316	bool "eMMC or SD Card"
317	help
318	  Say Y here if the PPA firmware locate at eMMC/SD card.
319
320config SYS_LS_PPA_FW_IN_NAND
321	bool "NAND"
322	help
323	  Say Y here if the PPA firmware locate at NAND flash.
324
325endchoice
326
327config LS_PPA_ESBC_HDR_SIZE
328	hex "Length of PPA ESBC header"
329	depends on FSL_LS_PPA && CHAIN_OF_TRUST && !SYS_LS_PPA_FW_IN_XIP
330	default 0x2000
331	help
332	  Length (in bytes) of PPA ESBC header to be copied from MMC/SD or
333	  NAND to memory to validate PPA image.
334
335endmenu
336
337config SYS_FSL_ERRATUM_A008997
338	bool "Workaround for USB PHY erratum A008997"
339
340config SYS_FSL_ERRATUM_A009007
341	bool
342	help
343	  Workaround for USB PHY erratum A009007
344
345config SYS_FSL_ERRATUM_A009008
346	bool "Workaround for USB PHY erratum A009008"
347
348config SYS_FSL_ERRATUM_A009798
349	bool "Workaround for USB PHY erratum A009798"
350
351config SYS_FSL_ERRATUM_A010315
352	bool "Workaround for PCIe erratum A010315"
353
354config SYS_FSL_ERRATUM_A010539
355	bool "Workaround for PIN MUX erratum A010539"
356
357config MAX_CPUS
358	int "Maximum number of CPUs permitted for Layerscape"
359	default 2 if ARCH_LS1028A
360	default 4 if ARCH_LS1043A
361	default 4 if ARCH_LS1046A
362	default 16 if ARCH_LS2080A
363	default 8 if ARCH_LS1088A
364	default 16 if ARCH_LX2160A
365	default 1
366	help
367	  Set this number to the maximum number of possible CPUs in the SoC.
368	  SoCs may have multiple clusters with each cluster may have multiple
369	  ports. If some ports are reserved but higher ports are used for
370	  cores, count the reserved ports. This will allocate enough memory
371	  in spin table to properly handle all cores.
372
373config EMC2305
374	bool "Fan controller"
375	help
376	 Enable the EMC2305 fan controller for configuration of fan
377	 speed.
378
379config NXP_ESBC
380	bool "NXP_ESBC"
381	help
382		Enable Freescale Secure Boot feature
383
384config QSPI_AHB_INIT
385	bool "Init the QSPI AHB bus"
386	help
387	  The default setting for QSPI AHB bus just support 3bytes addressing.
388	  But some QSPI flash size up to 64MBytes, so initialize the QSPI AHB
389	  bus for those flashes to support the full QSPI flash size.
390
391config SYS_CCI400_OFFSET
392	hex "Offset for CCI400 base"
393	depends on SYS_FSL_HAS_CCI400
394	default 0x3090000 if ARCH_LS1088A || ARCH_LS1028A
395	default 0x180000 if FSL_LSCH2
396	help
397	  Offset for CCI400 base
398	  CCI400 base addr = CCSRBAR + CCI400_OFFSET
399
400config SYS_FSL_IFC_BANK_COUNT
401	int "Maximum banks of Integrated flash controller"
402	depends on ARCH_LS1043A || ARCH_LS1046A || ARCH_LS2080A || ARCH_LS1088A
403	default 4 if ARCH_LS1043A
404	default 4 if ARCH_LS1046A
405	default 8 if ARCH_LS2080A || ARCH_LS1088A
406
407config SYS_FSL_HAS_CCI400
408	bool
409
410config SYS_FSL_HAS_CCN504
411	bool
412
413config SYS_FSL_HAS_CCN508
414	bool
415
416config SYS_FSL_HAS_DP_DDR
417	bool
418
419config SYS_FSL_SRDS_1
420	bool
421
422config SYS_FSL_SRDS_2
423	bool
424
425config SYS_NXP_SRDS_3
426	bool
427
428config SYS_HAS_SERDES
429	bool
430
431config FSL_TZASC_1
432	bool
433
434config FSL_TZASC_2
435	bool
436
437config FSL_TZASC_400
438	bool
439
440config FSL_TZPC_BP147
441	bool
442endmenu
443
444menu "Layerscape clock tree configuration"
445	depends on FSL_LSCH2 || FSL_LSCH3
446
447config SYS_FSL_CLK
448	bool "Enable clock tree initialization"
449	default y
450
451config CLUSTER_CLK_FREQ
452	int "Reference clock of core cluster"
453	depends on ARCH_LS1012A
454	default 100000000
455	help
456	  This number is the reference clock frequency of core PLL.
457	  For most platforms, the core PLL and Platform PLL have the same
458	  reference clock, but for some platforms, LS1012A for instance,
459	  they are provided sepatately.
460
461config SYS_FSL_PCLK_DIV
462	int "Platform clock divider"
463	default 1 if ARCH_LS1028A
464	default 1 if ARCH_LS1043A
465	default 1 if ARCH_LS1046A
466	default 1 if ARCH_LS1088A
467	default 2
468	help
469	  This is the divider that is used to derive Platform clock from
470	  Platform PLL, in another word:
471		Platform_clk = Platform_PLL_freq / this_divider
472
473config SYS_FSL_DSPI_CLK_DIV
474	int "DSPI clock divider"
475	default 1 if ARCH_LS1043A
476	default 2
477	help
478	  This is the divider that is used to derive DSPI clock from Platform
479	  clock, in another word DSPI_clk = Platform_clk / this_divider.
480
481config SYS_FSL_DUART_CLK_DIV
482	int "DUART clock divider"
483	default 1 if ARCH_LS1043A
484	default 4 if ARCH_LX2160A
485	default 2
486	help
487	  This is the divider that is used to derive DUART clock from Platform
488	  clock, in another word DUART_clk = Platform_clk / this_divider.
489
490config SYS_FSL_I2C_CLK_DIV
491	int "I2C clock divider"
492	default 1 if ARCH_LS1043A
493	default 4 if ARCH_LS1012A
494	default 4 if ARCH_LS1028A
495	default 8 if ARCH_LX2160A
496	default 8 if ARCH_LS1088A
497	default 2
498	help
499	  This is the divider that is used to derive I2C clock from Platform
500	  clock, in another word I2C_clk = Platform_clk / this_divider.
501
502config SYS_FSL_IFC_CLK_DIV
503	int "IFC clock divider"
504	default 1 if ARCH_LS1043A
505	default 4 if ARCH_LS1012A
506	default 4 if ARCH_LS1028A
507	default 8 if ARCH_LX2160A
508	default 8 if ARCH_LS1088A
509	default 2
510	help
511	  This is the divider that is used to derive IFC clock from Platform
512	  clock, in another word IFC_clk = Platform_clk / this_divider.
513
514config SYS_FSL_LPUART_CLK_DIV
515	int "LPUART clock divider"
516	default 1 if ARCH_LS1043A
517	default 2
518	help
519	  This is the divider that is used to derive LPUART clock from Platform
520	  clock, in another word LPUART_clk = Platform_clk / this_divider.
521
522config SYS_FSL_SDHC_CLK_DIV
523	int "SDHC clock divider"
524	default 1 if ARCH_LS1043A
525	default 1 if ARCH_LS1012A
526	default 2
527	help
528	  This is the divider that is used to derive SDHC clock from Platform
529	  clock, in another word SDHC_clk = Platform_clk / this_divider.
530
531config SYS_FSL_QMAN_CLK_DIV
532	int "QMAN clock divider"
533	default 1 if ARCH_LS1043A
534	default 2
535	help
536	  This is the divider that is used to derive QMAN clock from Platform
537	  clock, in another word QMAN_clk = Platform_clk / this_divider.
538endmenu
539
540config RESV_RAM
541	bool
542	help
543	  Reserve memory from the top, tracked by gd->arch.resv_ram. This
544	  reserved RAM can be used by special driver that resides in memory
545	  after U-Boot exits. It's up to implementation to allocate and allow
546	  access to this reserved memory. For example, the reserved RAM can
547	  be at the high end of physical memory. The reserve RAM may be
548	  excluded from memory bank(s) passed to OS, or marked as reserved.
549
550config SYS_FSL_EC1
551	bool
552	help
553	  Ethernet controller 1, this is connected to
554	  MAC17 for LX2160A or to MAC3 for other SoCs
555	  Provides DPAA2 capabilities
556
557config SYS_FSL_EC2
558	bool
559	help
560	  Ethernet controller 2, this is connected to
561	  MAC18 for LX2160A or to MAC4 for other SoCs
562	  Provides DPAA2 capabilities
563
564config SYS_FSL_ERRATUM_A008336
565	bool
566
567config SYS_FSL_ERRATUM_A008514
568	bool
569
570config SYS_FSL_ERRATUM_A008585
571	bool
572
573config SYS_FSL_ERRATUM_A008850
574	bool
575
576config SYS_FSL_ERRATUM_A009203
577	bool
578
579config SYS_FSL_ERRATUM_A009635
580	bool
581
582config SYS_FSL_ERRATUM_A009660
583	bool
584
585config SYS_FSL_ERRATUM_A009929
586	bool
587
588config SYS_FSL_ERRATUM_A050382
589	bool
590
591config SYS_FSL_HAS_RGMII
592	bool
593	depends on SYS_FSL_EC1 || SYS_FSL_EC2
594
595config SPL_LDSCRIPT
596	default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARCH_LS1043A || ARCH_LS1046A || ARCH_LS2080A
597
598config HAS_FSL_XHCI_USB
599	bool
600	default y if ARCH_LS1043A || ARCH_LS1046A
601	help
602	  For some SoC(such as LS1043A and LS1046A), USB and QE-HDLC multiplex use
603	  pins, select it when the pins are assigned to USB.
604