xref: /openbmc/u-boot/arch/arm/cpu/armv8/fsl-layerscape/Kconfig (revision 0ae7050c25a1ccfec7c7b0ebf0751997eaa7029b)
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
8a421192fSSimon Glass	select ARCH_EARLY_INIT_R
9a5d67547SSimon Glass	select BOARD_EARLY_INIT_F
100a37cf8fSYork Sun
110a37cf8fSYork Sunconfig ARCH_LS1043A
124a444176SYork Sun	bool
13ee2a5102SHou Zhiqiang	select ARMV8_SET_SMPEN
14fb2bf8c2SYork Sun	select FSL_LSCH2
15d26e34c4SYork Sun	select SYS_FSL_DDR
1624aaa094SYork Sun	select SYS_FSL_DDR_BE
1724aaa094SYork Sun	select SYS_FSL_DDR_VER_50
18ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A008850
19ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009660
20ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009663
21ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009929
22ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009942
230a37cf8fSYork Sun	select SYS_FSL_ERRATUM_A010315
240ea3671dSHou Zhiqiang	select SYS_FSL_ERRATUM_A010539
25d26e34c4SYork Sun	select SYS_FSL_HAS_DDR3
26d26e34c4SYork Sun	select SYS_FSL_HAS_DDR4
27a421192fSSimon Glass	select ARCH_EARLY_INIT_R
28a5d67547SSimon Glass	select BOARD_EARLY_INIT_F
299533acf3SYork Sun
30da28e58aSYork Sunconfig ARCH_LS1046A
314a444176SYork Sun	bool
32ee2a5102SHou Zhiqiang	select ARMV8_SET_SMPEN
33fb2bf8c2SYork Sun	select FSL_LSCH2
34d26e34c4SYork Sun	select SYS_FSL_DDR
3524aaa094SYork Sun	select SYS_FSL_DDR_BE
3624aaa094SYork Sun	select SYS_FSL_DDR_VER_50
37*0ae7050cSYork Sun	select SYS_FSL_ERRATUM_A008336
38ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A008511
39ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009801
40ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009803
41ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009942
42ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A010165
430ea3671dSHou Zhiqiang	select SYS_FSL_ERRATUM_A010539
44d26e34c4SYork Sun	select SYS_FSL_HAS_DDR4
45f534b8f5SYork Sun	select SYS_FSL_SRDS_2
46a421192fSSimon Glass	select ARCH_EARLY_INIT_R
47a5d67547SSimon Glass	select BOARD_EARLY_INIT_F
489533acf3SYork Sun
494a444176SYork Sunconfig ARCH_LS2080A
504a444176SYork Sun	bool
51ee2a5102SHou Zhiqiang	select ARMV8_SET_SMPEN
52fb2bf8c2SYork Sun	select FSL_LSCH3
53d26e34c4SYork Sun	select SYS_FSL_DDR
5424aaa094SYork Sun	select SYS_FSL_DDR_LE
5524aaa094SYork Sun	select SYS_FSL_DDR_VER_50
56f534b8f5SYork Sun	select SYS_FSL_HAS_DP_DDR
572c2e2c9eSYork Sun	select SYS_FSL_HAS_SEC
58d26e34c4SYork Sun	select SYS_FSL_HAS_DDR4
592c2e2c9eSYork Sun	select SYS_FSL_SEC_COMPAT_5
6090b80386SYork Sun	select SYS_FSL_SEC_LE
61f534b8f5SYork Sun	select SYS_FSL_SRDS_2
62ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A008336
63ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A008511
64ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A008514
65ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A008585
66ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009635
67ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009663
68ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009801
69ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009803
70ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009942
71ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A010165
72a421192fSSimon Glass	select ARCH_EARLY_INIT_R
73a5d67547SSimon Glass	select BOARD_EARLY_INIT_F
74fb2bf8c2SYork Sun
75fb2bf8c2SYork Sunconfig FSL_LSCH2
76fb2bf8c2SYork Sun	bool
772c2e2c9eSYork Sun	select SYS_FSL_HAS_SEC
782c2e2c9eSYork Sun	select SYS_FSL_SEC_COMPAT_5
7990b80386SYork Sun	select SYS_FSL_SEC_BE
80f534b8f5SYork Sun	select SYS_FSL_SRDS_1
81f534b8f5SYork Sun	select SYS_HAS_SERDES
82fb2bf8c2SYork Sun
83fb2bf8c2SYork Sunconfig FSL_LSCH3
84fb2bf8c2SYork Sun	bool
85f534b8f5SYork Sun	select SYS_FSL_SRDS_1
86f534b8f5SYork Sun	select SYS_HAS_SERDES
87fb2bf8c2SYork Sun
88fb2bf8c2SYork Sunmenu "Layerscape architecture"
89fb2bf8c2SYork Sun	depends on FSL_LSCH2 || FSL_LSCH3
904a444176SYork Sun
9119538f30SHou Zhiqiangconfig FSL_PCIE_COMPAT
9219538f30SHou Zhiqiang	string "PCIe compatible of Kernel DT"
9319538f30SHou Zhiqiang	depends on PCIE_LAYERSCAPE
9419538f30SHou Zhiqiang	default "fsl,ls1012a-pcie" if ARCH_LS1012A
9519538f30SHou Zhiqiang	default "fsl,ls1043a-pcie" if ARCH_LS1043A
9619538f30SHou Zhiqiang	default "fsl,ls1046a-pcie" if ARCH_LS1046A
9719538f30SHou Zhiqiang	default "fsl,ls2080a-pcie" if ARCH_LS2080A
9819538f30SHou Zhiqiang	help
9919538f30SHou Zhiqiang	  This compatible is used to find pci controller node in Kernel DT
10019538f30SHou Zhiqiang	  to complete fixup.
10119538f30SHou Zhiqiang
102fa18ed76SWenbin Songconfig HAS_FEATURE_GIC64K_ALIGN
103fa18ed76SWenbin Song	bool
104fa18ed76SWenbin Song	default y if ARCH_LS1043A
105fa18ed76SWenbin Song
1062ca84bf7SWenbin Songconfig HAS_FEATURE_ENHANCED_MSI
1072ca84bf7SWenbin Song	bool
1082ca84bf7SWenbin Song	default y if ARCH_LS1043A
109fa18ed76SWenbin Song
1102d16a1a6Smacro.wave.z@gmail.commenu "Layerscape PPA"
1112d16a1a6Smacro.wave.z@gmail.comconfig FSL_LS_PPA
1122d16a1a6Smacro.wave.z@gmail.com	bool "FSL Layerscape PPA firmware support"
113df88cb3bSmacro.wave.z@gmail.com	depends on !ARMV8_PSCI
1140541527bSHou Zhiqiang	select ARMV8_SEC_FIRMWARE_SUPPORT
115daa92644SHou Zhiqiang	select SEC_FIRMWARE_ARMV8_PSCI
1160541527bSHou Zhiqiang	select ARMV8_SEC_FIRMWARE_ERET_ADDR_REVERT if FSL_LSCH2
1172d16a1a6Smacro.wave.z@gmail.com	help
1182d16a1a6Smacro.wave.z@gmail.com	  The FSL Primary Protected Application (PPA) is a software component
1192d16a1a6Smacro.wave.z@gmail.com	  which is loaded during boot stage, and then remains resident in RAM
1202d16a1a6Smacro.wave.z@gmail.com	  and runs in the TrustZone after boot.
1212d16a1a6Smacro.wave.z@gmail.com	  Say y to enable it.
1220541527bSHou Zhiqiangchoice
1230541527bSHou Zhiqiang	prompt "FSL Layerscape PPA firmware loading-media select"
1240541527bSHou Zhiqiang	depends on FSL_LS_PPA
1250541527bSHou Zhiqiang	default SYS_LS_PPA_FW_IN_XIP
1260541527bSHou Zhiqiang
1270541527bSHou Zhiqiangconfig SYS_LS_PPA_FW_IN_XIP
1280541527bSHou Zhiqiang	bool "XIP"
1290541527bSHou Zhiqiang	help
1300541527bSHou Zhiqiang	  Say Y here if the PPA firmware locate at XIP flash, such
1310541527bSHou Zhiqiang	  as NOR or QSPI flash.
1320541527bSHou Zhiqiang
1330541527bSHou Zhiqiangendchoice
1340541527bSHou Zhiqiang
1350541527bSHou Zhiqiangconfig SYS_LS_PPA_FW_ADDR
1360541527bSHou Zhiqiang	hex "Address of PPA firmware loading from"
1370541527bSHou Zhiqiang	depends on FSL_LS_PPA
1380541527bSHou Zhiqiang	default 0x40500000 if SYS_LS_PPA_FW_IN_XIP && QSPI_BOOT
1390541527bSHou Zhiqiang	default 0x60500000 if SYS_LS_PPA_FW_IN_XIP
1400541527bSHou Zhiqiang	help
1410541527bSHou Zhiqiang	  If the PPA firmware locate at XIP flash, such as NOR or
1420541527bSHou Zhiqiang	  QSPI flash, this address is a directly memory-mapped.
1430541527bSHou Zhiqiang	  If it is in a serial accessed flash, such as NAND and SD
1440541527bSHou Zhiqiang	  card, it is a byte offset.
1452d16a1a6Smacro.wave.z@gmail.comendmenu
1462d16a1a6Smacro.wave.z@gmail.com
1470a37cf8fSYork Sunconfig SYS_FSL_ERRATUM_A010315
1480a37cf8fSYork Sun	bool "Workaround for PCIe erratum A010315"
1490ea3671dSHou Zhiqiang
1500ea3671dSHou Zhiqiangconfig SYS_FSL_ERRATUM_A010539
1510ea3671dSHou Zhiqiang	bool "Workaround for PIN MUX erratum A010539"
152fb2bf8c2SYork Sun
153b4b60d06SYork Sunconfig MAX_CPUS
154b4b60d06SYork Sun	int "Maximum number of CPUs permitted for Layerscape"
155b4b60d06SYork Sun	default 4 if ARCH_LS1043A
156b4b60d06SYork Sun	default 4 if ARCH_LS1046A
157b4b60d06SYork Sun	default 16 if ARCH_LS2080A
158b4b60d06SYork Sun	default 1
159b4b60d06SYork Sun	help
160b4b60d06SYork Sun	  Set this number to the maximum number of possible CPUs in the SoC.
161b4b60d06SYork Sun	  SoCs may have multiple clusters with each cluster may have multiple
162b4b60d06SYork Sun	  ports. If some ports are reserved but higher ports are used for
163b4b60d06SYork Sun	  cores, count the reserved ports. This will allocate enough memory
164b4b60d06SYork Sun	  in spin table to properly handle all cores.
165b4b60d06SYork Sun
16601f65d97SYork Sunconfig SECURE_BOOT
1679cfab06eSYork Sun	bool "Secure Boot"
16801f65d97SYork Sun	help
16901f65d97SYork Sun		Enable Freescale Secure Boot feature
17001f65d97SYork Sun
171dd2ad2f1SYuan Yaoconfig QSPI_AHB_INIT
172dd2ad2f1SYuan Yao	bool "Init the QSPI AHB bus"
173dd2ad2f1SYuan Yao	help
174dd2ad2f1SYuan Yao	  The default setting for QSPI AHB bus just support 3bytes addressing.
175dd2ad2f1SYuan Yao	  But some QSPI flash size up to 64MBytes, so initialize the QSPI AHB
176dd2ad2f1SYuan Yao	  bus for those flashes to support the full QSPI flash size.
177dd2ad2f1SYuan Yao
17825af7dc1SYork Sunconfig SYS_FSL_IFC_BANK_COUNT
17925af7dc1SYork Sun	int "Maximum banks of Integrated flash controller"
18025af7dc1SYork Sun	depends on ARCH_LS1043A || ARCH_LS1046A || ARCH_LS2080A
18125af7dc1SYork Sun	default 4 if ARCH_LS1043A
18225af7dc1SYork Sun	default 4 if ARCH_LS1046A
18325af7dc1SYork Sun	default 8 if ARCH_LS2080A
18425af7dc1SYork Sun
185fd638102SYork Sunconfig SYS_FSL_HAS_DP_DDR
186fd638102SYork Sun	bool
187fd638102SYork Sun
188f534b8f5SYork Sunconfig SYS_FSL_SRDS_1
189f534b8f5SYork Sun	bool
190f534b8f5SYork Sun
191f534b8f5SYork Sunconfig SYS_FSL_SRDS_2
192f534b8f5SYork Sun	bool
193f534b8f5SYork Sun
194f534b8f5SYork Sunconfig SYS_HAS_SERDES
195f534b8f5SYork Sun	bool
196f534b8f5SYork Sun
197fb2bf8c2SYork Sunendmenu
198ba1b6fb5SYork Sun
199904110c7SHou Zhiqiangmenu "Layerscape clock tree configuration"
200904110c7SHou Zhiqiang	depends on FSL_LSCH2 || FSL_LSCH3
201904110c7SHou Zhiqiang
202904110c7SHou Zhiqiangconfig SYS_FSL_CLK
203904110c7SHou Zhiqiang	bool "Enable clock tree initialization"
204904110c7SHou Zhiqiang	default y
205904110c7SHou Zhiqiang
206904110c7SHou Zhiqiangconfig CLUSTER_CLK_FREQ
207904110c7SHou Zhiqiang	int "Reference clock of core cluster"
208904110c7SHou Zhiqiang	depends on ARCH_LS1012A
209904110c7SHou Zhiqiang	default 100000000
210904110c7SHou Zhiqiang	help
211904110c7SHou Zhiqiang	  This number is the reference clock frequency of core PLL.
212904110c7SHou Zhiqiang	  For most platforms, the core PLL and Platform PLL have the same
213904110c7SHou Zhiqiang	  reference clock, but for some platforms, LS1012A for instance,
214904110c7SHou Zhiqiang	  they are provided sepatately.
215904110c7SHou Zhiqiang
216904110c7SHou Zhiqiangconfig SYS_FSL_PCLK_DIV
217904110c7SHou Zhiqiang	int "Platform clock divider"
218904110c7SHou Zhiqiang	default 1 if ARCH_LS1043A
219904110c7SHou Zhiqiang	default 1 if ARCH_LS1046A
220904110c7SHou Zhiqiang	default 2
221904110c7SHou Zhiqiang	help
222904110c7SHou Zhiqiang	  This is the divider that is used to derive Platform clock from
223904110c7SHou Zhiqiang	  Platform PLL, in another word:
224904110c7SHou Zhiqiang		Platform_clk = Platform_PLL_freq / this_divider
225904110c7SHou Zhiqiang
226904110c7SHou Zhiqiangconfig SYS_FSL_DSPI_CLK_DIV
227904110c7SHou Zhiqiang	int "DSPI clock divider"
228904110c7SHou Zhiqiang	default 1 if ARCH_LS1043A
229904110c7SHou Zhiqiang	default 2
230904110c7SHou Zhiqiang	help
231904110c7SHou Zhiqiang	  This is the divider that is used to derive DSPI clock from Platform
232904110c7SHou Zhiqiang	  PLL, in another word DSPI_clk = Platform_PLL_freq / this_divider.
233904110c7SHou Zhiqiang
234904110c7SHou Zhiqiangconfig SYS_FSL_DUART_CLK_DIV
235904110c7SHou Zhiqiang	int "DUART clock divider"
236904110c7SHou Zhiqiang	default 1 if ARCH_LS1043A
237904110c7SHou Zhiqiang	default 2
238904110c7SHou Zhiqiang	help
239904110c7SHou Zhiqiang	  This is the divider that is used to derive DUART clock from Platform
240904110c7SHou Zhiqiang	  clock, in another word DUART_clk = Platform_clk / this_divider.
241904110c7SHou Zhiqiang
242904110c7SHou Zhiqiangconfig SYS_FSL_I2C_CLK_DIV
243904110c7SHou Zhiqiang	int "I2C clock divider"
244904110c7SHou Zhiqiang	default 1 if ARCH_LS1043A
245904110c7SHou Zhiqiang	default 2
246904110c7SHou Zhiqiang	help
247904110c7SHou Zhiqiang	  This is the divider that is used to derive I2C clock from Platform
248904110c7SHou Zhiqiang	  clock, in another word I2C_clk = Platform_clk / this_divider.
249904110c7SHou Zhiqiang
250904110c7SHou Zhiqiangconfig SYS_FSL_IFC_CLK_DIV
251904110c7SHou Zhiqiang	int "IFC clock divider"
252904110c7SHou Zhiqiang	default 1 if ARCH_LS1043A
253904110c7SHou Zhiqiang	default 2
254904110c7SHou Zhiqiang	help
255904110c7SHou Zhiqiang	  This is the divider that is used to derive IFC clock from Platform
256904110c7SHou Zhiqiang	  clock, in another word IFC_clk = Platform_clk / this_divider.
257904110c7SHou Zhiqiang
258904110c7SHou Zhiqiangconfig SYS_FSL_LPUART_CLK_DIV
259904110c7SHou Zhiqiang	int "LPUART clock divider"
260904110c7SHou Zhiqiang	default 1 if ARCH_LS1043A
261904110c7SHou Zhiqiang	default 2
262904110c7SHou Zhiqiang	help
263904110c7SHou Zhiqiang	  This is the divider that is used to derive LPUART clock from Platform
264904110c7SHou Zhiqiang	  clock, in another word LPUART_clk = Platform_clk / this_divider.
265904110c7SHou Zhiqiang
266904110c7SHou Zhiqiangconfig SYS_FSL_SDHC_CLK_DIV
267904110c7SHou Zhiqiang	int "SDHC clock divider"
268904110c7SHou Zhiqiang	default 1 if ARCH_LS1043A
269904110c7SHou Zhiqiang	default 1 if ARCH_LS1012A
270904110c7SHou Zhiqiang	default 2
271904110c7SHou Zhiqiang	help
272904110c7SHou Zhiqiang	  This is the divider that is used to derive SDHC clock from Platform
273904110c7SHou Zhiqiang	  clock, in another word SDHC_clk = Platform_clk / this_divider.
274904110c7SHou Zhiqiangendmenu
275904110c7SHou Zhiqiang
276ba1b6fb5SYork Sunconfig SYS_FSL_ERRATUM_A008336
277ba1b6fb5SYork Sun	bool
278ba1b6fb5SYork Sun
279ba1b6fb5SYork Sunconfig SYS_FSL_ERRATUM_A008514
280ba1b6fb5SYork Sun	bool
281ba1b6fb5SYork Sun
282ba1b6fb5SYork Sunconfig SYS_FSL_ERRATUM_A008585
283ba1b6fb5SYork Sun	bool
284ba1b6fb5SYork Sun
285ba1b6fb5SYork Sunconfig SYS_FSL_ERRATUM_A008850
286ba1b6fb5SYork Sun	bool
287ba1b6fb5SYork Sun
288ba1b6fb5SYork Sunconfig SYS_FSL_ERRATUM_A009635
289ba1b6fb5SYork Sun	bool
290ba1b6fb5SYork Sun
291ba1b6fb5SYork Sunconfig SYS_FSL_ERRATUM_A009660
292ba1b6fb5SYork Sun	bool
293ba1b6fb5SYork Sun
294ba1b6fb5SYork Sunconfig SYS_FSL_ERRATUM_A009929
295ba1b6fb5SYork Sun	bool
296