xref: /openbmc/u-boot/arch/arm/cpu/armv8/fsl-layerscape/Kconfig (revision fa18ed76589a684fc9ba14b68d7b917b1bea16cf)
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
80a37cf8fSYork Sun
90a37cf8fSYork Sunconfig ARCH_LS1043A
104a444176SYork Sun	bool
11ee2a5102SHou Zhiqiang	select ARMV8_SET_SMPEN
12fb2bf8c2SYork Sun	select FSL_LSCH2
13d26e34c4SYork Sun	select SYS_FSL_DDR
1424aaa094SYork Sun	select SYS_FSL_DDR_BE
1524aaa094SYork Sun	select SYS_FSL_DDR_VER_50
16ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A008850
17ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009660
18ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009663
19ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009929
20ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009942
210a37cf8fSYork Sun	select SYS_FSL_ERRATUM_A010315
220ea3671dSHou Zhiqiang	select SYS_FSL_ERRATUM_A010539
23d26e34c4SYork Sun	select SYS_FSL_HAS_DDR3
24d26e34c4SYork Sun	select SYS_FSL_HAS_DDR4
259533acf3SYork Sun
26da28e58aSYork Sunconfig ARCH_LS1046A
274a444176SYork Sun	bool
28ee2a5102SHou Zhiqiang	select ARMV8_SET_SMPEN
29fb2bf8c2SYork Sun	select FSL_LSCH2
30d26e34c4SYork Sun	select SYS_FSL_DDR
3124aaa094SYork Sun	select SYS_FSL_DDR_BE
3224aaa094SYork Sun	select SYS_FSL_DDR_VER_50
33ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A008511
34ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009801
35ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009803
36ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009942
37ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A010165
380ea3671dSHou Zhiqiang	select SYS_FSL_ERRATUM_A010539
39d26e34c4SYork Sun	select SYS_FSL_HAS_DDR4
40f534b8f5SYork Sun	select SYS_FSL_SRDS_2
419533acf3SYork Sun
424a444176SYork Sunconfig ARCH_LS2080A
434a444176SYork Sun	bool
44ee2a5102SHou Zhiqiang	select ARMV8_SET_SMPEN
45fb2bf8c2SYork Sun	select FSL_LSCH3
46d26e34c4SYork Sun	select SYS_FSL_DDR
4724aaa094SYork Sun	select SYS_FSL_DDR_LE
4824aaa094SYork Sun	select SYS_FSL_DDR_VER_50
49f534b8f5SYork Sun	select SYS_FSL_HAS_DP_DDR
502c2e2c9eSYork Sun	select SYS_FSL_HAS_SEC
51d26e34c4SYork Sun	select SYS_FSL_HAS_DDR4
522c2e2c9eSYork Sun	select SYS_FSL_SEC_COMPAT_5
5390b80386SYork Sun	select SYS_FSL_SEC_LE
54f534b8f5SYork Sun	select SYS_FSL_SRDS_2
55ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A008336
56ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A008511
57ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A008514
58ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A008585
59ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009635
60ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009663
61ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009801
62ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009803
63ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A009942
64ba1b6fb5SYork Sun	select SYS_FSL_ERRATUM_A010165
65fb2bf8c2SYork Sun
66fb2bf8c2SYork Sunconfig FSL_LSCH2
67fb2bf8c2SYork Sun	bool
682c2e2c9eSYork Sun	select SYS_FSL_HAS_SEC
692c2e2c9eSYork Sun	select SYS_FSL_SEC_COMPAT_5
7090b80386SYork Sun	select SYS_FSL_SEC_BE
71f534b8f5SYork Sun	select SYS_FSL_SRDS_1
72f534b8f5SYork Sun	select SYS_HAS_SERDES
73fb2bf8c2SYork Sun
74fb2bf8c2SYork Sunconfig FSL_LSCH3
75fb2bf8c2SYork Sun	bool
76f534b8f5SYork Sun	select SYS_FSL_SRDS_1
77f534b8f5SYork Sun	select SYS_HAS_SERDES
78fb2bf8c2SYork Sun
79fb2bf8c2SYork Sunmenu "Layerscape architecture"
80fb2bf8c2SYork Sun	depends on FSL_LSCH2 || FSL_LSCH3
814a444176SYork Sun
8219538f30SHou Zhiqiangconfig FSL_PCIE_COMPAT
8319538f30SHou Zhiqiang	string "PCIe compatible of Kernel DT"
8419538f30SHou Zhiqiang	depends on PCIE_LAYERSCAPE
8519538f30SHou Zhiqiang	default "fsl,ls1012a-pcie" if ARCH_LS1012A
8619538f30SHou Zhiqiang	default "fsl,ls1043a-pcie" if ARCH_LS1043A
8719538f30SHou Zhiqiang	default "fsl,ls1046a-pcie" if ARCH_LS1046A
8819538f30SHou Zhiqiang	default "fsl,ls2080a-pcie" if ARCH_LS2080A
8919538f30SHou Zhiqiang	help
9019538f30SHou Zhiqiang	  This compatible is used to find pci controller node in Kernel DT
9119538f30SHou Zhiqiang	  to complete fixup.
9219538f30SHou Zhiqiang
93*fa18ed76SWenbin Songconfig HAS_FEATURE_GIC64K_ALIGN
94*fa18ed76SWenbin Song	bool
95*fa18ed76SWenbin Song	default y if ARCH_LS1043A
96*fa18ed76SWenbin Song
97*fa18ed76SWenbin Song
982d16a1a6Smacro.wave.z@gmail.commenu "Layerscape PPA"
992d16a1a6Smacro.wave.z@gmail.comconfig FSL_LS_PPA
1002d16a1a6Smacro.wave.z@gmail.com	bool "FSL Layerscape PPA firmware support"
101df88cb3bSmacro.wave.z@gmail.com	depends on !ARMV8_PSCI
1022d16a1a6Smacro.wave.z@gmail.com	depends on ARCH_LS1043A || ARCH_LS1046A
1032d16a1a6Smacro.wave.z@gmail.com	select FSL_PPA_ARMV8_PSCI
1042d16a1a6Smacro.wave.z@gmail.com	help
1052d16a1a6Smacro.wave.z@gmail.com	  The FSL Primary Protected Application (PPA) is a software component
1062d16a1a6Smacro.wave.z@gmail.com	  which is loaded during boot stage, and then remains resident in RAM
1072d16a1a6Smacro.wave.z@gmail.com	  and runs in the TrustZone after boot.
1082d16a1a6Smacro.wave.z@gmail.com	  Say y to enable it.
1092d16a1a6Smacro.wave.z@gmail.com
1102d16a1a6Smacro.wave.z@gmail.comconfig FSL_PPA_ARMV8_PSCI
1112d16a1a6Smacro.wave.z@gmail.com	bool "PSCI implementation in PPA firmware"
1122d16a1a6Smacro.wave.z@gmail.com	depends on FSL_LS_PPA
1132d16a1a6Smacro.wave.z@gmail.com	help
1142d16a1a6Smacro.wave.z@gmail.com	  This config enables the ARMv8 PSCI implementation in PPA firmware.
1152d16a1a6Smacro.wave.z@gmail.com	  This is a private PSCI implementation and different from those
1162d16a1a6Smacro.wave.z@gmail.com	  implemented under the common ARMv8 PSCI framework.
1172d16a1a6Smacro.wave.z@gmail.comendmenu
1182d16a1a6Smacro.wave.z@gmail.com
1190a37cf8fSYork Sunconfig SYS_FSL_ERRATUM_A010315
1200a37cf8fSYork Sun	bool "Workaround for PCIe erratum A010315"
1210ea3671dSHou Zhiqiang
1220ea3671dSHou Zhiqiangconfig SYS_FSL_ERRATUM_A010539
1230ea3671dSHou Zhiqiang	bool "Workaround for PIN MUX erratum A010539"
124fb2bf8c2SYork Sun
125b4b60d06SYork Sunconfig MAX_CPUS
126b4b60d06SYork Sun	int "Maximum number of CPUs permitted for Layerscape"
127b4b60d06SYork Sun	default 4 if ARCH_LS1043A
128b4b60d06SYork Sun	default 4 if ARCH_LS1046A
129b4b60d06SYork Sun	default 16 if ARCH_LS2080A
130b4b60d06SYork Sun	default 1
131b4b60d06SYork Sun	help
132b4b60d06SYork Sun	  Set this number to the maximum number of possible CPUs in the SoC.
133b4b60d06SYork Sun	  SoCs may have multiple clusters with each cluster may have multiple
134b4b60d06SYork Sun	  ports. If some ports are reserved but higher ports are used for
135b4b60d06SYork Sun	  cores, count the reserved ports. This will allocate enough memory
136b4b60d06SYork Sun	  in spin table to properly handle all cores.
137b4b60d06SYork Sun
13801f65d97SYork Sunconfig SECURE_BOOT
1399cfab06eSYork Sun	bool "Secure Boot"
14001f65d97SYork Sun	help
14101f65d97SYork Sun		Enable Freescale Secure Boot feature
14201f65d97SYork Sun
143dd2ad2f1SYuan Yaoconfig QSPI_AHB_INIT
144dd2ad2f1SYuan Yao	bool "Init the QSPI AHB bus"
145dd2ad2f1SYuan Yao	help
146dd2ad2f1SYuan Yao	  The default setting for QSPI AHB bus just support 3bytes addressing.
147dd2ad2f1SYuan Yao	  But some QSPI flash size up to 64MBytes, so initialize the QSPI AHB
148dd2ad2f1SYuan Yao	  bus for those flashes to support the full QSPI flash size.
149dd2ad2f1SYuan Yao
15025af7dc1SYork Sunconfig SYS_FSL_IFC_BANK_COUNT
15125af7dc1SYork Sun	int "Maximum banks of Integrated flash controller"
15225af7dc1SYork Sun	depends on ARCH_LS1043A || ARCH_LS1046A || ARCH_LS2080A
15325af7dc1SYork Sun	default 4 if ARCH_LS1043A
15425af7dc1SYork Sun	default 4 if ARCH_LS1046A
15525af7dc1SYork Sun	default 8 if ARCH_LS2080A
15625af7dc1SYork Sun
157fd638102SYork Sunconfig SYS_FSL_HAS_DP_DDR
158fd638102SYork Sun	bool
159fd638102SYork Sun
160f534b8f5SYork Sunconfig SYS_FSL_SRDS_1
161f534b8f5SYork Sun	bool
162f534b8f5SYork Sun
163f534b8f5SYork Sunconfig SYS_FSL_SRDS_2
164f534b8f5SYork Sun	bool
165f534b8f5SYork Sun
166f534b8f5SYork Sunconfig SYS_HAS_SERDES
167f534b8f5SYork Sun	bool
168f534b8f5SYork Sun
169fb2bf8c2SYork Sunendmenu
170ba1b6fb5SYork Sun
171904110c7SHou Zhiqiangmenu "Layerscape clock tree configuration"
172904110c7SHou Zhiqiang	depends on FSL_LSCH2 || FSL_LSCH3
173904110c7SHou Zhiqiang
174904110c7SHou Zhiqiangconfig SYS_FSL_CLK
175904110c7SHou Zhiqiang	bool "Enable clock tree initialization"
176904110c7SHou Zhiqiang	default y
177904110c7SHou Zhiqiang
178904110c7SHou Zhiqiangconfig CLUSTER_CLK_FREQ
179904110c7SHou Zhiqiang	int "Reference clock of core cluster"
180904110c7SHou Zhiqiang	depends on ARCH_LS1012A
181904110c7SHou Zhiqiang	default 100000000
182904110c7SHou Zhiqiang	help
183904110c7SHou Zhiqiang	  This number is the reference clock frequency of core PLL.
184904110c7SHou Zhiqiang	  For most platforms, the core PLL and Platform PLL have the same
185904110c7SHou Zhiqiang	  reference clock, but for some platforms, LS1012A for instance,
186904110c7SHou Zhiqiang	  they are provided sepatately.
187904110c7SHou Zhiqiang
188904110c7SHou Zhiqiangconfig SYS_FSL_PCLK_DIV
189904110c7SHou Zhiqiang	int "Platform clock divider"
190904110c7SHou Zhiqiang	default 1 if ARCH_LS1043A
191904110c7SHou Zhiqiang	default 1 if ARCH_LS1046A
192904110c7SHou Zhiqiang	default 2
193904110c7SHou Zhiqiang	help
194904110c7SHou Zhiqiang	  This is the divider that is used to derive Platform clock from
195904110c7SHou Zhiqiang	  Platform PLL, in another word:
196904110c7SHou Zhiqiang		Platform_clk = Platform_PLL_freq / this_divider
197904110c7SHou Zhiqiang
198904110c7SHou Zhiqiangconfig SYS_FSL_DSPI_CLK_DIV
199904110c7SHou Zhiqiang	int "DSPI clock divider"
200904110c7SHou Zhiqiang	default 1 if ARCH_LS1043A
201904110c7SHou Zhiqiang	default 2
202904110c7SHou Zhiqiang	help
203904110c7SHou Zhiqiang	  This is the divider that is used to derive DSPI clock from Platform
204904110c7SHou Zhiqiang	  PLL, in another word DSPI_clk = Platform_PLL_freq / this_divider.
205904110c7SHou Zhiqiang
206904110c7SHou Zhiqiangconfig SYS_FSL_DUART_CLK_DIV
207904110c7SHou Zhiqiang	int "DUART clock divider"
208904110c7SHou Zhiqiang	default 1 if ARCH_LS1043A
209904110c7SHou Zhiqiang	default 2
210904110c7SHou Zhiqiang	help
211904110c7SHou Zhiqiang	  This is the divider that is used to derive DUART clock from Platform
212904110c7SHou Zhiqiang	  clock, in another word DUART_clk = Platform_clk / this_divider.
213904110c7SHou Zhiqiang
214904110c7SHou Zhiqiangconfig SYS_FSL_I2C_CLK_DIV
215904110c7SHou Zhiqiang	int "I2C clock divider"
216904110c7SHou Zhiqiang	default 1 if ARCH_LS1043A
217904110c7SHou Zhiqiang	default 2
218904110c7SHou Zhiqiang	help
219904110c7SHou Zhiqiang	  This is the divider that is used to derive I2C clock from Platform
220904110c7SHou Zhiqiang	  clock, in another word I2C_clk = Platform_clk / this_divider.
221904110c7SHou Zhiqiang
222904110c7SHou Zhiqiangconfig SYS_FSL_IFC_CLK_DIV
223904110c7SHou Zhiqiang	int "IFC clock divider"
224904110c7SHou Zhiqiang	default 1 if ARCH_LS1043A
225904110c7SHou Zhiqiang	default 2
226904110c7SHou Zhiqiang	help
227904110c7SHou Zhiqiang	  This is the divider that is used to derive IFC clock from Platform
228904110c7SHou Zhiqiang	  clock, in another word IFC_clk = Platform_clk / this_divider.
229904110c7SHou Zhiqiang
230904110c7SHou Zhiqiangconfig SYS_FSL_LPUART_CLK_DIV
231904110c7SHou Zhiqiang	int "LPUART clock divider"
232904110c7SHou Zhiqiang	default 1 if ARCH_LS1043A
233904110c7SHou Zhiqiang	default 2
234904110c7SHou Zhiqiang	help
235904110c7SHou Zhiqiang	  This is the divider that is used to derive LPUART clock from Platform
236904110c7SHou Zhiqiang	  clock, in another word LPUART_clk = Platform_clk / this_divider.
237904110c7SHou Zhiqiang
238904110c7SHou Zhiqiangconfig SYS_FSL_SDHC_CLK_DIV
239904110c7SHou Zhiqiang	int "SDHC clock divider"
240904110c7SHou Zhiqiang	default 1 if ARCH_LS1043A
241904110c7SHou Zhiqiang	default 1 if ARCH_LS1012A
242904110c7SHou Zhiqiang	default 2
243904110c7SHou Zhiqiang	help
244904110c7SHou Zhiqiang	  This is the divider that is used to derive SDHC clock from Platform
245904110c7SHou Zhiqiang	  clock, in another word SDHC_clk = Platform_clk / this_divider.
246904110c7SHou Zhiqiangendmenu
247904110c7SHou Zhiqiang
248ba1b6fb5SYork Sunconfig SYS_FSL_ERRATUM_A008336
249ba1b6fb5SYork Sun	bool
250ba1b6fb5SYork Sun
251ba1b6fb5SYork Sunconfig SYS_FSL_ERRATUM_A008514
252ba1b6fb5SYork Sun	bool
253ba1b6fb5SYork Sun
254ba1b6fb5SYork Sunconfig SYS_FSL_ERRATUM_A008585
255ba1b6fb5SYork Sun	bool
256ba1b6fb5SYork Sun
257ba1b6fb5SYork Sunconfig SYS_FSL_ERRATUM_A008850
258ba1b6fb5SYork Sun	bool
259ba1b6fb5SYork Sun
260ba1b6fb5SYork Sunconfig SYS_FSL_ERRATUM_A009635
261ba1b6fb5SYork Sun	bool
262ba1b6fb5SYork Sun
263ba1b6fb5SYork Sunconfig SYS_FSL_ERRATUM_A009660
264ba1b6fb5SYork Sun	bool
265ba1b6fb5SYork Sun
266ba1b6fb5SYork Sunconfig SYS_FSL_ERRATUM_A009929
267ba1b6fb5SYork Sun	bool
268