blob: 47897f4c900d57676e80a62750843c4219b888ef [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 Sun1dc61ca2016-12-28 08:43:41 -080037 select SYS_FSL_ERRATUM_A008511
38 select SYS_FSL_ERRATUM_A009801
39 select SYS_FSL_ERRATUM_A009803
40 select SYS_FSL_ERRATUM_A009942
41 select SYS_FSL_ERRATUM_A010165
Hou Zhiqiangc06b30a2016-09-29 12:42:44 +080042 select SYS_FSL_ERRATUM_A010539
York Sund297d392016-12-28 08:43:40 -080043 select SYS_FSL_HAS_DDR4
York Sun6b62ef02016-10-04 18:01:34 -070044 select SYS_FSL_SRDS_2
Simon Glass62adede2017-01-23 13:31:19 -070045 select ARCH_EARLY_INIT_R
Simon Glass7a99a872017-01-23 13:31:20 -070046 select BOARD_EARLY_INIT_F
York Sunb3d71642016-09-26 08:09:26 -070047
York Sunfcd0e742016-10-04 14:31:47 -070048config ARCH_LS2080A
49 bool
Hou Zhiqiang4d1525a2017-01-06 17:41:11 +080050 select ARMV8_SET_SMPEN
York Sun4dd8c612016-10-04 14:31:48 -070051 select FSL_LSCH3
York Sund297d392016-12-28 08:43:40 -080052 select SYS_FSL_DDR
York Sunb6fffd82016-10-04 18:03:08 -070053 select SYS_FSL_DDR_LE
54 select SYS_FSL_DDR_VER_50
York Sun6b62ef02016-10-04 18:01:34 -070055 select SYS_FSL_HAS_DP_DDR
York Sun92c36e22016-12-28 08:43:30 -080056 select SYS_FSL_HAS_SEC
York Sund297d392016-12-28 08:43:40 -080057 select SYS_FSL_HAS_DDR4
York Sun92c36e22016-12-28 08:43:30 -080058 select SYS_FSL_SEC_COMPAT_5
York Sunfa4199422016-12-28 08:43:31 -080059 select SYS_FSL_SEC_LE
York Sun6b62ef02016-10-04 18:01:34 -070060 select SYS_FSL_SRDS_2
York Sun1dc61ca2016-12-28 08:43:41 -080061 select SYS_FSL_ERRATUM_A008336
62 select SYS_FSL_ERRATUM_A008511
63 select SYS_FSL_ERRATUM_A008514
64 select SYS_FSL_ERRATUM_A008585
65 select SYS_FSL_ERRATUM_A009635
66 select SYS_FSL_ERRATUM_A009663
67 select SYS_FSL_ERRATUM_A009801
68 select SYS_FSL_ERRATUM_A009803
69 select SYS_FSL_ERRATUM_A009942
70 select SYS_FSL_ERRATUM_A010165
Simon Glass62adede2017-01-23 13:31:19 -070071 select ARCH_EARLY_INIT_R
Simon Glass7a99a872017-01-23 13:31:20 -070072 select BOARD_EARLY_INIT_F
York Sun4dd8c612016-10-04 14:31:48 -070073
74config FSL_LSCH2
75 bool
York Sun92c36e22016-12-28 08:43:30 -080076 select SYS_FSL_HAS_SEC
77 select SYS_FSL_SEC_COMPAT_5
York Sunfa4199422016-12-28 08:43:31 -080078 select SYS_FSL_SEC_BE
York Sun6b62ef02016-10-04 18:01:34 -070079 select SYS_FSL_SRDS_1
80 select SYS_HAS_SERDES
York Sun4dd8c612016-10-04 14:31:48 -070081
82config FSL_LSCH3
83 bool
York Sun6b62ef02016-10-04 18:01:34 -070084 select SYS_FSL_SRDS_1
85 select SYS_HAS_SERDES
York Sun4dd8c612016-10-04 14:31:48 -070086
87menu "Layerscape architecture"
88 depends on FSL_LSCH2 || FSL_LSCH3
York Sunfcd0e742016-10-04 14:31:47 -070089
Hou Zhiqiangd553bf22016-12-13 14:54:24 +080090config FSL_PCIE_COMPAT
91 string "PCIe compatible of Kernel DT"
92 depends on PCIE_LAYERSCAPE
93 default "fsl,ls1012a-pcie" if ARCH_LS1012A
94 default "fsl,ls1043a-pcie" if ARCH_LS1043A
95 default "fsl,ls1046a-pcie" if ARCH_LS1046A
96 default "fsl,ls2080a-pcie" if ARCH_LS2080A
97 help
98 This compatible is used to find pci controller node in Kernel DT
99 to complete fixup.
100
Wenbin Songa8f57a92017-01-17 18:31:15 +0800101config HAS_FEATURE_GIC64K_ALIGN
102 bool
103 default y if ARCH_LS1043A
104
Wenbin Songc6bc7c02017-01-17 18:31:16 +0800105config HAS_FEATURE_ENHANCED_MSI
106 bool
107 default y if ARCH_LS1043A
Wenbin Songa8f57a92017-01-17 18:31:15 +0800108
macro.wave.z@gmail.comec2d7ed2016-12-08 11:58:21 +0800109menu "Layerscape PPA"
110config FSL_LS_PPA
111 bool "FSL Layerscape PPA firmware support"
macro.wave.z@gmail.com01bd3342016-12-08 11:58:22 +0800112 depends on !ARMV8_PSCI
Hou Zhiqiangbff56d52017-01-16 17:31:49 +0800113 select ARMV8_SEC_FIRMWARE_SUPPORT
Hou Zhiqiang6be115d2017-01-16 17:31:48 +0800114 select SEC_FIRMWARE_ARMV8_PSCI
Hou Zhiqiangbff56d52017-01-16 17:31:49 +0800115 select ARMV8_SEC_FIRMWARE_ERET_ADDR_REVERT if FSL_LSCH2
macro.wave.z@gmail.comec2d7ed2016-12-08 11:58:21 +0800116 help
117 The FSL Primary Protected Application (PPA) is a software component
118 which is loaded during boot stage, and then remains resident in RAM
119 and runs in the TrustZone after boot.
120 Say y to enable it.
Hou Zhiqiangbff56d52017-01-16 17:31:49 +0800121choice
122 prompt "FSL Layerscape PPA firmware loading-media select"
123 depends on FSL_LS_PPA
124 default SYS_LS_PPA_FW_IN_XIP
125
126config SYS_LS_PPA_FW_IN_XIP
127 bool "XIP"
128 help
129 Say Y here if the PPA firmware locate at XIP flash, such
130 as NOR or QSPI flash.
131
132endchoice
133
134config SYS_LS_PPA_FW_ADDR
135 hex "Address of PPA firmware loading from"
136 depends on FSL_LS_PPA
137 default 0x40500000 if SYS_LS_PPA_FW_IN_XIP && QSPI_BOOT
138 default 0x60500000 if SYS_LS_PPA_FW_IN_XIP
139 help
140 If the PPA firmware locate at XIP flash, such as NOR or
141 QSPI flash, this address is a directly memory-mapped.
142 If it is in a serial accessed flash, such as NAND and SD
143 card, it is a byte offset.
macro.wave.z@gmail.comec2d7ed2016-12-08 11:58:21 +0800144endmenu
145
York Sun149eb332016-09-26 08:09:27 -0700146config SYS_FSL_ERRATUM_A010315
147 bool "Workaround for PCIe erratum A010315"
Hou Zhiqiangc06b30a2016-09-29 12:42:44 +0800148
149config SYS_FSL_ERRATUM_A010539
150 bool "Workaround for PIN MUX erratum A010539"
York Sun4dd8c612016-10-04 14:31:48 -0700151
York Sunf188d222016-10-04 14:45:01 -0700152config MAX_CPUS
153 int "Maximum number of CPUs permitted for Layerscape"
154 default 4 if ARCH_LS1043A
155 default 4 if ARCH_LS1046A
156 default 16 if ARCH_LS2080A
157 default 1
158 help
159 Set this number to the maximum number of possible CPUs in the SoC.
160 SoCs may have multiple clusters with each cluster may have multiple
161 ports. If some ports are reserved but higher ports are used for
162 cores, count the reserved ports. This will allocate enough memory
163 in spin table to properly handle all cores.
164
York Sun728e7002016-12-02 09:32:35 -0800165config SECURE_BOOT
York Sun8a3d8ed2017-01-04 10:32:08 -0800166 bool "Secure Boot"
York Sun728e7002016-12-02 09:32:35 -0800167 help
168 Enable Freescale Secure Boot feature
169
Yuan Yao52ae4fd2016-12-01 10:13:52 +0800170config QSPI_AHB_INIT
171 bool "Init the QSPI AHB bus"
172 help
173 The default setting for QSPI AHB bus just support 3bytes addressing.
174 But some QSPI flash size up to 64MBytes, so initialize the QSPI AHB
175 bus for those flashes to support the full QSPI flash size.
176
York Sune7310a32016-10-04 14:45:54 -0700177config SYS_FSL_IFC_BANK_COUNT
178 int "Maximum banks of Integrated flash controller"
179 depends on ARCH_LS1043A || ARCH_LS1046A || ARCH_LS2080A
180 default 4 if ARCH_LS1043A
181 default 4 if ARCH_LS1046A
182 default 8 if ARCH_LS2080A
183
York Sun0dc9abb2016-10-04 14:46:50 -0700184config SYS_FSL_HAS_DP_DDR
185 bool
186
York Sun6b62ef02016-10-04 18:01:34 -0700187config SYS_FSL_SRDS_1
188 bool
189
190config SYS_FSL_SRDS_2
191 bool
192
193config SYS_HAS_SERDES
194 bool
195
York Sun4dd8c612016-10-04 14:31:48 -0700196endmenu
York Sun1dc61ca2016-12-28 08:43:41 -0800197
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800198menu "Layerscape clock tree configuration"
199 depends on FSL_LSCH2 || FSL_LSCH3
200
201config SYS_FSL_CLK
202 bool "Enable clock tree initialization"
203 default y
204
205config CLUSTER_CLK_FREQ
206 int "Reference clock of core cluster"
207 depends on ARCH_LS1012A
208 default 100000000
209 help
210 This number is the reference clock frequency of core PLL.
211 For most platforms, the core PLL and Platform PLL have the same
212 reference clock, but for some platforms, LS1012A for instance,
213 they are provided sepatately.
214
215config SYS_FSL_PCLK_DIV
216 int "Platform clock divider"
217 default 1 if ARCH_LS1043A
218 default 1 if ARCH_LS1046A
219 default 2
220 help
221 This is the divider that is used to derive Platform clock from
222 Platform PLL, in another word:
223 Platform_clk = Platform_PLL_freq / this_divider
224
225config SYS_FSL_DSPI_CLK_DIV
226 int "DSPI clock divider"
227 default 1 if ARCH_LS1043A
228 default 2
229 help
230 This is the divider that is used to derive DSPI clock from Platform
231 PLL, in another word DSPI_clk = Platform_PLL_freq / this_divider.
232
233config SYS_FSL_DUART_CLK_DIV
234 int "DUART clock divider"
235 default 1 if ARCH_LS1043A
236 default 2
237 help
238 This is the divider that is used to derive DUART clock from Platform
239 clock, in another word DUART_clk = Platform_clk / this_divider.
240
241config SYS_FSL_I2C_CLK_DIV
242 int "I2C clock divider"
243 default 1 if ARCH_LS1043A
244 default 2
245 help
246 This is the divider that is used to derive I2C clock from Platform
247 clock, in another word I2C_clk = Platform_clk / this_divider.
248
249config SYS_FSL_IFC_CLK_DIV
250 int "IFC clock divider"
251 default 1 if ARCH_LS1043A
252 default 2
253 help
254 This is the divider that is used to derive IFC clock from Platform
255 clock, in another word IFC_clk = Platform_clk / this_divider.
256
257config SYS_FSL_LPUART_CLK_DIV
258 int "LPUART clock divider"
259 default 1 if ARCH_LS1043A
260 default 2
261 help
262 This is the divider that is used to derive LPUART clock from Platform
263 clock, in another word LPUART_clk = Platform_clk / this_divider.
264
265config SYS_FSL_SDHC_CLK_DIV
266 int "SDHC clock divider"
267 default 1 if ARCH_LS1043A
268 default 1 if ARCH_LS1012A
269 default 2
270 help
271 This is the divider that is used to derive SDHC clock from Platform
272 clock, in another word SDHC_clk = Platform_clk / this_divider.
273endmenu
274
York Sun1dc61ca2016-12-28 08:43:41 -0800275config SYS_FSL_ERRATUM_A008336
276 bool
277
278config SYS_FSL_ERRATUM_A008514
279 bool
280
281config SYS_FSL_ERRATUM_A008585
282 bool
283
284config SYS_FSL_ERRATUM_A008850
285 bool
286
287config SYS_FSL_ERRATUM_A009635
288 bool
289
290config SYS_FSL_ERRATUM_A009660
291 bool
292
293config SYS_FSL_ERRATUM_A009929
294 bool