xref: /openbmc/u-boot/arch/arm/cpu/armv8/fsl-layerscape/Kconfig (revision a421192fb8d49da9a8bc30258c29c51675a1a1c9)
19533acf3SYork Sunconfig ARCH_LS1012A
24a444176SYork Sun	bool
3ee2a5102SHou Zhiqiang	select ARMV8_SET_SMPEN
4fb2bf8c2SYork Sun	select FSL_LSCH2
524aaa094SYork Sun	select SYS_FSL_DDR_BE
69533acf3SYork Sun	select SYS_FSL_MMDC
70a37cf8fSYork Sun	select SYS_FSL_ERRATUM_A010315
8*a421192fSSimon Glass	select ARCH_EARLY_INIT_R
90a37cf8fSYork Sun
100a37cf8fSYork Sunconfig ARCH_LS1043A
114a444176SYork Sun	bool
12ee2a5102SHou Zhiqiang	select ARMV8_SET_SMPEN
13fb2bf8c2SYork Sun	select FSL_LSCH2
14d26e34c4SYork Sun	select SYS_FSL_DDR
1524aaa094SYork Sun	select SYS_FSL_DDR_BE
1624aaa094SYork Sun	select SYS_FSL_DDR_VER_50
17ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A008850
18ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009660
19ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009663
20ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009929
21ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009942
220a37cf8fSYork Sun	select SYS_FSL_ERRATUM_A010315
230ea3671dSHou Zhiqiang	select SYS_FSL_ERRATUM_A010539
24d26e34c4SYork Sun	select SYS_FSL_HAS_DDR3
25d26e34c4SYork Sun	select SYS_FSL_HAS_DDR4
26*a421192fSSimon Glass	select ARCH_EARLY_INIT_R
279533acf3SYork Sun
28da28e58aSYork Sunconfig ARCH_LS1046A
294a444176SYork Sun	bool
30ee2a5102SHou Zhiqiang	select ARMV8_SET_SMPEN
31fb2bf8c2SYork Sun	select FSL_LSCH2
32d26e34c4SYork Sun	select SYS_FSL_DDR
3324aaa094SYork Sun	select SYS_FSL_DDR_BE
3424aaa094SYork Sun	select SYS_FSL_DDR_VER_50
35ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A008511
36ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009801
37ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009803
38ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009942
39ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A010165
400ea3671dSHou Zhiqiang	select SYS_FSL_ERRATUM_A010539
41d26e34c4SYork Sun	select SYS_FSL_HAS_DDR4
42f534b8f5SYork Sun	select SYS_FSL_SRDS_2
43*a421192fSSimon Glass	select ARCH_EARLY_INIT_R
449533acf3SYork Sun
454a444176SYork Sunconfig ARCH_LS2080A
464a444176SYork Sun	bool
47ee2a5102SHou Zhiqiang	select ARMV8_SET_SMPEN
48fb2bf8c2SYork Sun	select FSL_LSCH3
49d26e34c4SYork Sun	select SYS_FSL_DDR
5024aaa094SYork Sun	select SYS_FSL_DDR_LE
5124aaa094SYork Sun	select SYS_FSL_DDR_VER_50
52f534b8f5SYork Sun	select SYS_FSL_HAS_DP_DDR
532c2e2c9eSYork Sun	select SYS_FSL_HAS_SEC
54d26e34c4SYork Sun	select SYS_FSL_HAS_DDR4
552c2e2c9eSYork Sun	select SYS_FSL_SEC_COMPAT_5
5690b80386SYork Sun	select SYS_FSL_SEC_LE
57f534b8f5SYork Sun	select SYS_FSL_SRDS_2
58ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A008336
59ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A008511
60ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A008514
61ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A008585
62ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009635
63ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009663
64ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009801
65ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009803
66ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009942
67ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A010165
68*a421192fSSimon Glass	select ARCH_EARLY_INIT_R
69fb2bf8c2SYork Sun
70fb2bf8c2SYork Sunconfig FSL_LSCH2
71fb2bf8c2SYork Sun	bool
722c2e2c9eSYork Sun	select SYS_FSL_HAS_SEC
732c2e2c9eSYork Sun	select SYS_FSL_SEC_COMPAT_5
7490b80386SYork Sun	select SYS_FSL_SEC_BE
75f534b8f5SYork Sun	select SYS_FSL_SRDS_1
76f534b8f5SYork Sun	select SYS_HAS_SERDES
77fb2bf8c2SYork Sun
78fb2bf8c2SYork Sunconfig FSL_LSCH3
79fb2bf8c2SYork Sun	bool
80f534b8f5SYork Sun	select SYS_FSL_SRDS_1
81f534b8f5SYork Sun	select SYS_HAS_SERDES
82fb2bf8c2SYork Sun
83fb2bf8c2SYork Sunmenu "Layerscape architecture"
84fb2bf8c2SYork Sun	depends on FSL_LSCH2 || FSL_LSCH3
854a444176SYork Sun
8619538f30SHou Zhiqiangconfig FSL_PCIE_COMPAT
8719538f30SHou Zhiqiang	string "PCIe compatible of Kernel DT"
8819538f30SHou Zhiqiang	depends on PCIE_LAYERSCAPE
8919538f30SHou Zhiqiang	default "fsl,ls1012a-pcie" if ARCH_LS1012A
9019538f30SHou Zhiqiang	default "fsl,ls1043a-pcie" if ARCH_LS1043A
9119538f30SHou Zhiqiang	default "fsl,ls1046a-pcie" if ARCH_LS1046A
9219538f30SHou Zhiqiang	default "fsl,ls2080a-pcie" if ARCH_LS2080A
9319538f30SHou Zhiqiang	help
9419538f30SHou Zhiqiang	  This compatible is used to find pci controller node in Kernel DT
9519538f30SHou Zhiqiang	  to complete fixup.
9619538f30SHou Zhiqiang
97fa18ed76SWenbin Songconfig HAS_FEATURE_GIC64K_ALIGN
98fa18ed76SWenbin Song	bool
99fa18ed76SWenbin Song	default y if ARCH_LS1043A
100fa18ed76SWenbin Song
1012ca84bf7SWenbin Songconfig HAS_FEATURE_ENHANCED_MSI
1022ca84bf7SWenbin Song	bool
1032ca84bf7SWenbin Song	default y if ARCH_LS1043A
104fa18ed76SWenbin Song
1052d16a1a6Smacro.wave.z@gmail.commenu "Layerscape PPA"
1062d16a1a6Smacro.wave.z@gmail.comconfig FSL_LS_PPA
1072d16a1a6Smacro.wave.z@gmail.com	bool "FSL Layerscape PPA firmware support"
108df88cb3bSmacro.wave.z@gmail.com	depends on !ARMV8_PSCI
1090541527bSHou Zhiqiang	select ARMV8_SEC_FIRMWARE_SUPPORT
110daa92644SHou Zhiqiang	select SEC_FIRMWARE_ARMV8_PSCI
1110541527bSHou Zhiqiang	select ARMV8_SEC_FIRMWARE_ERET_ADDR_REVERT if FSL_LSCH2
1122d16a1a6Smacro.wave.z@gmail.com	help
1132d16a1a6Smacro.wave.z@gmail.com	  The FSL Primary Protected Application (PPA) is a software component
1142d16a1a6Smacro.wave.z@gmail.com	  which is loaded during boot stage, and then remains resident in RAM
1152d16a1a6Smacro.wave.z@gmail.com	  and runs in the TrustZone after boot.
1162d16a1a6Smacro.wave.z@gmail.com	  Say y to enable it.
1170541527bSHou Zhiqiangchoice
1180541527bSHou Zhiqiang	prompt "FSL Layerscape PPA firmware loading-media select"
1190541527bSHou Zhiqiang	depends on FSL_LS_PPA
1200541527bSHou Zhiqiang	default SYS_LS_PPA_FW_IN_XIP
1210541527bSHou Zhiqiang
1220541527bSHou Zhiqiangconfig SYS_LS_PPA_FW_IN_XIP
1230541527bSHou Zhiqiang	bool "XIP"
1240541527bSHou Zhiqiang	help
1250541527bSHou Zhiqiang	  Say Y here if the PPA firmware locate at XIP flash, such
1260541527bSHou Zhiqiang	  as NOR or QSPI flash.
1270541527bSHou Zhiqiang
1280541527bSHou Zhiqiangendchoice
1290541527bSHou Zhiqiang
1300541527bSHou Zhiqiangconfig SYS_LS_PPA_FW_ADDR
1310541527bSHou Zhiqiang	hex "Address of PPA firmware loading from"
1320541527bSHou Zhiqiang	depends on FSL_LS_PPA
1330541527bSHou Zhiqiang	default 0x40500000 if SYS_LS_PPA_FW_IN_XIP && QSPI_BOOT
1340541527bSHou Zhiqiang	default 0x60500000 if SYS_LS_PPA_FW_IN_XIP
1350541527bSHou Zhiqiang	help
1360541527bSHou Zhiqiang	  If the PPA firmware locate at XIP flash, such as NOR or
1370541527bSHou Zhiqiang	  QSPI flash, this address is a directly memory-mapped.
1380541527bSHou Zhiqiang	  If it is in a serial accessed flash, such as NAND and SD
1390541527bSHou Zhiqiang	  card, it is a byte offset.
1402d16a1a6Smacro.wave.z@gmail.comendmenu
1412d16a1a6Smacro.wave.z@gmail.com
1420a37cf8fSYork Sunconfig SYS_FSL_ERRATUM_A010315
1430a37cf8fSYork Sun	bool "Workaround for PCIe erratum A010315"
1440ea3671dSHou Zhiqiang
1450ea3671dSHou Zhiqiangconfig SYS_FSL_ERRATUM_A010539
1460ea3671dSHou Zhiqiang	bool "Workaround for PIN MUX erratum A010539"
147fb2bf8c2SYork Sun
148b4b60d06SYork Sunconfig MAX_CPUS
149b4b60d06SYork Sun	int "Maximum number of CPUs permitted for Layerscape"
150b4b60d06SYork Sun	default 4 if ARCH_LS1043A
151b4b60d06SYork Sun	default 4 if ARCH_LS1046A
152b4b60d06SYork Sun	default 16 if ARCH_LS2080A
153b4b60d06SYork Sun	default 1
154b4b60d06SYork Sun	help
155b4b60d06SYork Sun	  Set this number to the maximum number of possible CPUs in the SoC.
156b4b60d06SYork Sun	  SoCs may have multiple clusters with each cluster may have multiple
157b4b60d06SYork Sun	  ports. If some ports are reserved but higher ports are used for
158b4b60d06SYork Sun	  cores, count the reserved ports. This will allocate enough memory
159b4b60d06SYork Sun	  in spin table to properly handle all cores.
160b4b60d06SYork Sun
16101f65d97SYork Sunconfig SECURE_BOOT
1629cfab06eSYork Sun	bool "Secure Boot"
16301f65d97SYork Sun	help
16401f65d97SYork Sun		Enable Freescale Secure Boot feature
16501f65d97SYork Sun
166dd2ad2f1SYuan Yaoconfig QSPI_AHB_INIT
167dd2ad2f1SYuan Yao	bool "Init the QSPI AHB bus"
168dd2ad2f1SYuan Yao	help
169dd2ad2f1SYuan Yao	  The default setting for QSPI AHB bus just support 3bytes addressing.
170dd2ad2f1SYuan Yao	  But some QSPI flash size up to 64MBytes, so initialize the QSPI AHB
171dd2ad2f1SYuan Yao	  bus for those flashes to support the full QSPI flash size.
172dd2ad2f1SYuan Yao
17325af7dc1SYork Sunconfig SYS_FSL_IFC_BANK_COUNT
17425af7dc1SYork Sun	int "Maximum banks of Integrated flash controller"
17525af7dc1SYork Sun	depends on ARCH_LS1043A || ARCH_LS1046A || ARCH_LS2080A
17625af7dc1SYork Sun	default 4 if ARCH_LS1043A
17725af7dc1SYork Sun	default 4 if ARCH_LS1046A
17825af7dc1SYork Sun	default 8 if ARCH_LS2080A
17925af7dc1SYork Sun
180fd638102SYork Sunconfig SYS_FSL_HAS_DP_DDR
181fd638102SYork Sun	bool
182fd638102SYork Sun
183f534b8f5SYork Sunconfig SYS_FSL_SRDS_1
184f534b8f5SYork Sun	bool
185f534b8f5SYork Sun
186f534b8f5SYork Sunconfig SYS_FSL_SRDS_2
187f534b8f5SYork Sun	bool
188f534b8f5SYork Sun
189f534b8f5SYork Sunconfig SYS_HAS_SERDES
190f534b8f5SYork Sun	bool
191f534b8f5SYork Sun
192fb2bf8c2SYork Sunendmenu
193ba1b6fb5SYork Sun
194904110c7SHou Zhiqiangmenu "Layerscape clock tree configuration"
195904110c7SHou Zhiqiang	depends on FSL_LSCH2 || FSL_LSCH3
196904110c7SHou Zhiqiang
197904110c7SHou Zhiqiangconfig SYS_FSL_CLK
198904110c7SHou Zhiqiang	bool "Enable clock tree initialization"
199904110c7SHou Zhiqiang	default y
200904110c7SHou Zhiqiang
201904110c7SHou Zhiqiangconfig CLUSTER_CLK_FREQ
202904110c7SHou Zhiqiang	int "Reference clock of core cluster"
203904110c7SHou Zhiqiang	depends on ARCH_LS1012A
204904110c7SHou Zhiqiang	default 100000000
205904110c7SHou Zhiqiang	help
206904110c7SHou Zhiqiang	  This number is the reference clock frequency of core PLL.
207904110c7SHou Zhiqiang	  For most platforms, the core PLL and Platform PLL have the same
208904110c7SHou Zhiqiang	  reference clock, but for some platforms, LS1012A for instance,
209904110c7SHou Zhiqiang	  they are provided sepatately.
210904110c7SHou Zhiqiang
211904110c7SHou Zhiqiangconfig SYS_FSL_PCLK_DIV
212904110c7SHou Zhiqiang	int "Platform clock divider"
213904110c7SHou Zhiqiang	default 1 if ARCH_LS1043A
214904110c7SHou Zhiqiang	default 1 if ARCH_LS1046A
215904110c7SHou Zhiqiang	default 2
216904110c7SHou Zhiqiang	help
217904110c7SHou Zhiqiang	  This is the divider that is used to derive Platform clock from
218904110c7SHou Zhiqiang	  Platform PLL, in another word:
219904110c7SHou Zhiqiang		Platform_clk = Platform_PLL_freq / this_divider
220904110c7SHou Zhiqiang
221904110c7SHou Zhiqiangconfig SYS_FSL_DSPI_CLK_DIV
222904110c7SHou Zhiqiang	int "DSPI clock divider"
223904110c7SHou Zhiqiang	default 1 if ARCH_LS1043A
224904110c7SHou Zhiqiang	default 2
225904110c7SHou Zhiqiang	help
226904110c7SHou Zhiqiang	  This is the divider that is used to derive DSPI clock from Platform
227904110c7SHou Zhiqiang	  PLL, in another word DSPI_clk = Platform_PLL_freq / this_divider.
228904110c7SHou Zhiqiang
229904110c7SHou Zhiqiangconfig SYS_FSL_DUART_CLK_DIV
230904110c7SHou Zhiqiang	int "DUART clock divider"
231904110c7SHou Zhiqiang	default 1 if ARCH_LS1043A
232904110c7SHou Zhiqiang	default 2
233904110c7SHou Zhiqiang	help
234904110c7SHou Zhiqiang	  This is the divider that is used to derive DUART clock from Platform
235904110c7SHou Zhiqiang	  clock, in another word DUART_clk = Platform_clk / this_divider.
236904110c7SHou Zhiqiang
237904110c7SHou Zhiqiangconfig SYS_FSL_I2C_CLK_DIV
238904110c7SHou Zhiqiang	int "I2C clock divider"
239904110c7SHou Zhiqiang	default 1 if ARCH_LS1043A
240904110c7SHou Zhiqiang	default 2
241904110c7SHou Zhiqiang	help
242904110c7SHou Zhiqiang	  This is the divider that is used to derive I2C clock from Platform
243904110c7SHou Zhiqiang	  clock, in another word I2C_clk = Platform_clk / this_divider.
244904110c7SHou Zhiqiang
245904110c7SHou Zhiqiangconfig SYS_FSL_IFC_CLK_DIV
246904110c7SHou Zhiqiang	int "IFC clock divider"
247904110c7SHou Zhiqiang	default 1 if ARCH_LS1043A
248904110c7SHou Zhiqiang	default 2
249904110c7SHou Zhiqiang	help
250904110c7SHou Zhiqiang	  This is the divider that is used to derive IFC clock from Platform
251904110c7SHou Zhiqiang	  clock, in another word IFC_clk = Platform_clk / this_divider.
252904110c7SHou Zhiqiang
253904110c7SHou Zhiqiangconfig SYS_FSL_LPUART_CLK_DIV
254904110c7SHou Zhiqiang	int "LPUART clock divider"
255904110c7SHou Zhiqiang	default 1 if ARCH_LS1043A
256904110c7SHou Zhiqiang	default 2
257904110c7SHou Zhiqiang	help
258904110c7SHou Zhiqiang	  This is the divider that is used to derive LPUART clock from Platform
259904110c7SHou Zhiqiang	  clock, in another word LPUART_clk = Platform_clk / this_divider.
260904110c7SHou Zhiqiang
261904110c7SHou Zhiqiangconfig SYS_FSL_SDHC_CLK_DIV
262904110c7SHou Zhiqiang	int "SDHC clock divider"
263904110c7SHou Zhiqiang	default 1 if ARCH_LS1043A
264904110c7SHou Zhiqiang	default 1 if ARCH_LS1012A
265904110c7SHou Zhiqiang	default 2
266904110c7SHou Zhiqiang	help
267904110c7SHou Zhiqiang	  This is the divider that is used to derive SDHC clock from Platform
268904110c7SHou Zhiqiang	  clock, in another word SDHC_clk = Platform_clk / this_divider.
269904110c7SHou Zhiqiangendmenu
270904110c7SHou Zhiqiang
271ba1b6fb5SYork Sunconfig SYS_FSL_ERRATUM_A008336
272ba1b6fb5SYork Sun	bool
273ba1b6fb5SYork Sun
274ba1b6fb5SYork Sunconfig SYS_FSL_ERRATUM_A008514
275ba1b6fb5SYork Sun	bool
276ba1b6fb5SYork Sun
277ba1b6fb5SYork Sunconfig SYS_FSL_ERRATUM_A008585
278ba1b6fb5SYork Sun	bool
279ba1b6fb5SYork Sun
280ba1b6fb5SYork Sunconfig SYS_FSL_ERRATUM_A008850
281ba1b6fb5SYork Sun	bool
282ba1b6fb5SYork Sun
283ba1b6fb5SYork Sunconfig SYS_FSL_ERRATUM_A009635
284ba1b6fb5SYork Sun	bool
285ba1b6fb5SYork Sun
286ba1b6fb5SYork Sunconfig SYS_FSL_ERRATUM_A009660
287ba1b6fb5SYork Sun	bool
288ba1b6fb5SYork Sun
289ba1b6fb5SYork Sunconfig SYS_FSL_ERRATUM_A009929
290ba1b6fb5SYork Sun	bool
291