blob: c0190a233ead4eba4c4c2c08b37a2ca76ba4dd64 [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
Rajesh Bhagatcd786e82018-11-05 18:01:48 +00004 select ARM_ERRATA_855873 if !TFABOOT
Rajesh Bhagat52d237a2019-01-25 13:36:26 +00005 select FSL_LAYERSCAPE
York Sun4dd8c612016-10-04 14:31:48 -07006 select FSL_LSCH2
Sriram Dash4a943332018-01-30 15:58:44 +05307 select SYS_FSL_SRDS_1
8 select SYS_HAS_SERDES
York Sunb6fffd82016-10-04 18:03:08 -07009 select SYS_FSL_DDR_BE
York Sunb3d71642016-09-26 08:09:26 -070010 select SYS_FSL_MMDC
York Sun149eb332016-09-26 08:09:27 -070011 select SYS_FSL_ERRATUM_A010315
Ran Wang02dc77b2017-11-13 16:14:48 +080012 select SYS_FSL_ERRATUM_A009798
13 select SYS_FSL_ERRATUM_A008997
14 select SYS_FSL_ERRATUM_A009007
15 select SYS_FSL_ERRATUM_A009008
Simon Glass62adede2017-01-23 13:31:19 -070016 select ARCH_EARLY_INIT_R
Simon Glass7a99a872017-01-23 13:31:20 -070017 select BOARD_EARLY_INIT_F
Sriram Dash7122a0c2018-02-06 11:26:30 +053018 select SYS_I2C_MXC
Biwen Li0a759bb2019-12-31 15:33:41 +080019 select SYS_I2C_MXC_I2C1 if !DM_I2C
20 select SYS_I2C_MXC_I2C2 if !DM_I2C
Masahiro Yamadaacede7a2017-12-04 12:37:00 +090021 imply PANIC_HANG
York Sun149eb332016-09-26 08:09:27 -070022
Yuantian Tang4aefa162019-04-10 16:43:33 +080023config ARCH_LS1028A
24 bool
25 select ARMV8_SET_SMPEN
Michael Walle66f2a532020-05-10 01:20:11 +020026 select FSL_LAYERSCAPE
Yuantian Tang4aefa162019-04-10 16:43:33 +080027 select FSL_LSCH3
28 select NXP_LSCH3_2
29 select SYS_FSL_HAS_CCI400
30 select SYS_FSL_SRDS_1
31 select SYS_HAS_SERDES
32 select SYS_FSL_DDR
33 select SYS_FSL_DDR_LE
34 select SYS_FSL_DDR_VER_50
35 select SYS_FSL_HAS_DDR3
36 select SYS_FSL_HAS_DDR4
37 select SYS_FSL_HAS_SEC
38 select SYS_FSL_SEC_COMPAT_5
39 select SYS_FSL_SEC_LE
40 select FSL_TZASC_1
41 select ARCH_EARLY_INIT_R
42 select BOARD_EARLY_INIT_F
43 select SYS_I2C_MXC
Ran Wange118acb2019-05-14 17:34:56 +080044 select SYS_FSL_ERRATUM_A008997
Yuantian Tang4aefa162019-04-10 16:43:33 +080045 select SYS_FSL_ERRATUM_A009007
46 select SYS_FSL_ERRATUM_A008514 if !TFABOOT
47 select SYS_FSL_ERRATUM_A009663 if !TFABOOT
48 select SYS_FSL_ERRATUM_A009942 if !TFABOOT
Laurentiu Tudor7ea2feb2019-10-18 09:01:56 +000049 select SYS_FSL_ERRATUM_A050382
Michael Walle148dc612021-03-17 15:01:36 +010050 select SYS_FSL_ERRATUM_A011334
Hou Zhiqiangce4a92a2020-04-28 10:19:31 +080051 select RESV_RAM if GIC_V3_ITS
Yuantian Tang4aefa162019-04-10 16:43:33 +080052 imply PANIC_HANG
53
York Sun149eb332016-09-26 08:09:27 -070054config ARCH_LS1043A
York Sunfcd0e742016-10-04 14:31:47 -070055 bool
Hou Zhiqiang4d1525a2017-01-06 17:41:11 +080056 select ARMV8_SET_SMPEN
Rajesh Bhagatcd786e82018-11-05 18:01:48 +000057 select ARM_ERRATA_855873 if !TFABOOT
Rajesh Bhagat52d237a2019-01-25 13:36:26 +000058 select FSL_LAYERSCAPE
York Sun4dd8c612016-10-04 14:31:48 -070059 select FSL_LSCH2
Sriram Dash4a943332018-01-30 15:58:44 +053060 select SYS_FSL_SRDS_1
61 select SYS_HAS_SERDES
York Sund297d392016-12-28 08:43:40 -080062 select SYS_FSL_DDR
York Sunb6fffd82016-10-04 18:03:08 -070063 select SYS_FSL_DDR_BE
64 select SYS_FSL_DDR_VER_50
Rajesh Bhagatcd786e82018-11-05 18:01:48 +000065 select SYS_FSL_ERRATUM_A008850 if !TFABOOT
Ran Wange64f7472017-09-04 18:46:50 +080066 select SYS_FSL_ERRATUM_A008997
Ran Wang3ba69482017-09-04 18:46:51 +080067 select SYS_FSL_ERRATUM_A009007
Ran Wangb358b7b2017-09-04 18:46:48 +080068 select SYS_FSL_ERRATUM_A009008
Rajesh Bhagatcd786e82018-11-05 18:01:48 +000069 select SYS_FSL_ERRATUM_A009660 if !TFABOOT
70 select SYS_FSL_ERRATUM_A009663 if !TFABOOT
Ran Wang9e8fabc2017-09-04 18:46:49 +080071 select SYS_FSL_ERRATUM_A009798
Rajesh Bhagatcd786e82018-11-05 18:01:48 +000072 select SYS_FSL_ERRATUM_A009942 if !TFABOOT
York Sun149eb332016-09-26 08:09:27 -070073 select SYS_FSL_ERRATUM_A010315
Hou Zhiqiangc06b30a2016-09-29 12:42:44 +080074 select SYS_FSL_ERRATUM_A010539
York Sund297d392016-12-28 08:43:40 -080075 select SYS_FSL_HAS_DDR3
76 select SYS_FSL_HAS_DDR4
Simon Glass62adede2017-01-23 13:31:19 -070077 select ARCH_EARLY_INIT_R
Simon Glass7a99a872017-01-23 13:31:20 -070078 select BOARD_EARLY_INIT_F
Biwen Li42637e72020-06-04 18:42:14 +080079 select SYS_I2C_MXC
Biwen Li014460b2020-02-05 22:02:16 +080080 select SYS_I2C_MXC_I2C1 if !DM_I2C
81 select SYS_I2C_MXC_I2C2 if !DM_I2C
82 select SYS_I2C_MXC_I2C3 if !DM_I2C
83 select SYS_I2C_MXC_I2C4 if !DM_I2C
Simon Glassc88a09a2017-08-04 16:34:34 -060084 imply CMD_PCI
York Sunb3d71642016-09-26 08:09:26 -070085
York Sunbad49842016-09-26 08:09:24 -070086config ARCH_LS1046A
York Sunfcd0e742016-10-04 14:31:47 -070087 bool
Hou Zhiqiang4d1525a2017-01-06 17:41:11 +080088 select ARMV8_SET_SMPEN
Rajesh Bhagat52d237a2019-01-25 13:36:26 +000089 select FSL_LAYERSCAPE
York Sun4dd8c612016-10-04 14:31:48 -070090 select FSL_LSCH2
Sriram Dash4a943332018-01-30 15:58:44 +053091 select SYS_FSL_SRDS_1
92 select SYS_HAS_SERDES
York Sund297d392016-12-28 08:43:40 -080093 select SYS_FSL_DDR
York Sunb6fffd82016-10-04 18:03:08 -070094 select SYS_FSL_DDR_BE
York Sunb6fffd82016-10-04 18:03:08 -070095 select SYS_FSL_DDR_VER_50
Rajesh Bhagatcd786e82018-11-05 18:01:48 +000096 select SYS_FSL_ERRATUM_A008336 if !TFABOOT
97 select SYS_FSL_ERRATUM_A008511 if !TFABOOT
98 select SYS_FSL_ERRATUM_A008850 if !TFABOOT
Ran Wange64f7472017-09-04 18:46:50 +080099 select SYS_FSL_ERRATUM_A008997
Ran Wang3ba69482017-09-04 18:46:51 +0800100 select SYS_FSL_ERRATUM_A009007
Ran Wangb358b7b2017-09-04 18:46:48 +0800101 select SYS_FSL_ERRATUM_A009008
Ran Wang9e8fabc2017-09-04 18:46:49 +0800102 select SYS_FSL_ERRATUM_A009798
York Sun1dc61ca2016-12-28 08:43:41 -0800103 select SYS_FSL_ERRATUM_A009801
Rajesh Bhagatcd786e82018-11-05 18:01:48 +0000104 select SYS_FSL_ERRATUM_A009803 if !TFABOOT
105 select SYS_FSL_ERRATUM_A009942 if !TFABOOT
106 select SYS_FSL_ERRATUM_A010165 if !TFABOOT
Hou Zhiqiangc06b30a2016-09-29 12:42:44 +0800107 select SYS_FSL_ERRATUM_A010539
York Sund297d392016-12-28 08:43:40 -0800108 select SYS_FSL_HAS_DDR4
York Sun6b62ef02016-10-04 18:01:34 -0700109 select SYS_FSL_SRDS_2
Simon Glass62adede2017-01-23 13:31:19 -0700110 select ARCH_EARLY_INIT_R
Simon Glass7a99a872017-01-23 13:31:20 -0700111 select BOARD_EARLY_INIT_F
Biwen Li42637e72020-06-04 18:42:14 +0800112 select SYS_I2C_MXC
Biwen Lif0018f52020-02-05 22:02:17 +0800113 select SYS_I2C_MXC_I2C1 if !DM_I2C
114 select SYS_I2C_MXC_I2C2 if !DM_I2C
115 select SYS_I2C_MXC_I2C3 if !DM_I2C
116 select SYS_I2C_MXC_I2C4 if !DM_I2C
Simon Glass0e5faf02017-06-14 21:28:21 -0600117 imply SCSI
Tuomas Tynkkynenedf9f622017-12-08 15:36:19 +0200118 imply SCSI_AHCI
York Sunb3d71642016-09-26 08:09:26 -0700119
Ashish Kumarb25faa22017-08-31 16:12:53 +0530120config ARCH_LS1088A
121 bool
122 select ARMV8_SET_SMPEN
Pankit Gargf5c2a832018-12-27 04:37:55 +0000123 select ARM_ERRATA_855873 if !TFABOOT
Rajesh Bhagat52d237a2019-01-25 13:36:26 +0000124 select FSL_LAYERSCAPE
Ashish Kumarb25faa22017-08-31 16:12:53 +0530125 select FSL_LSCH3
Sriram Dash4a943332018-01-30 15:58:44 +0530126 select SYS_FSL_SRDS_1
127 select SYS_HAS_SERDES
Ashish Kumarb25faa22017-08-31 16:12:53 +0530128 select SYS_FSL_DDR
129 select SYS_FSL_DDR_LE
130 select SYS_FSL_DDR_VER_50
Ashish Kumarec455e22017-08-31 16:37:31 +0530131 select SYS_FSL_EC1
132 select SYS_FSL_EC2
Pankit Gargf5c2a832018-12-27 04:37:55 +0000133 select SYS_FSL_ERRATUM_A009803 if !TFABOOT
134 select SYS_FSL_ERRATUM_A009942 if !TFABOOT
135 select SYS_FSL_ERRATUM_A010165 if !TFABOOT
136 select SYS_FSL_ERRATUM_A008511 if !TFABOOT
137 select SYS_FSL_ERRATUM_A008850 if !TFABOOT
Ran Wangef277072017-09-22 15:21:34 +0800138 select SYS_FSL_ERRATUM_A009007
Ashish Kumarb25faa22017-08-31 16:12:53 +0530139 select SYS_FSL_HAS_CCI400
140 select SYS_FSL_HAS_DDR4
Ashish Kumarec455e22017-08-31 16:37:31 +0530141 select SYS_FSL_HAS_RGMII
Ashish Kumarb25faa22017-08-31 16:12:53 +0530142 select SYS_FSL_HAS_SEC
143 select SYS_FSL_SEC_COMPAT_5
144 select SYS_FSL_SEC_LE
145 select SYS_FSL_SRDS_1
146 select SYS_FSL_SRDS_2
147 select FSL_TZASC_1
Rajesh Bhagat5756f7e2019-01-20 05:30:06 +0000148 select FSL_TZASC_400
149 select FSL_TZPC_BP147
Ashish Kumarb25faa22017-08-31 16:12:53 +0530150 select ARCH_EARLY_INIT_R
151 select BOARD_EARLY_INIT_F
Sriram Dash7122a0c2018-02-06 11:26:30 +0530152 select SYS_I2C_MXC
Chuanhua Han98a5e402019-07-26 20:25:37 +0800153 select SYS_I2C_MXC_I2C1 if !TFABOOT
154 select SYS_I2C_MXC_I2C2 if !TFABOOT
155 select SYS_I2C_MXC_I2C3 if !TFABOOT
156 select SYS_I2C_MXC_I2C4 if !TFABOOT
Hou Zhiqiangce4a92a2020-04-28 10:19:31 +0800157 select RESV_RAM if GIC_V3_ITS
Ashish Kumara179e562017-11-02 09:50:47 +0530158 imply SCSI
Masahiro Yamadaacede7a2017-12-04 12:37:00 +0900159 imply PANIC_HANG
Ashish Kumarb25faa22017-08-31 16:12:53 +0530160
York Sunfcd0e742016-10-04 14:31:47 -0700161config ARCH_LS2080A
162 bool
Hou Zhiqiang4d1525a2017-01-06 17:41:11 +0800163 select ARMV8_SET_SMPEN
Tom Rinibacb52c2017-03-07 07:13:42 -0500164 select ARM_ERRATA_826974
165 select ARM_ERRATA_828024
166 select ARM_ERRATA_829520
167 select ARM_ERRATA_833471
Rajesh Bhagat52d237a2019-01-25 13:36:26 +0000168 select FSL_LAYERSCAPE
York Sun4dd8c612016-10-04 14:31:48 -0700169 select FSL_LSCH3
Sriram Dash4a943332018-01-30 15:58:44 +0530170 select SYS_FSL_SRDS_1
171 select SYS_HAS_SERDES
York Sund297d392016-12-28 08:43:40 -0800172 select SYS_FSL_DDR
York Sunb6fffd82016-10-04 18:03:08 -0700173 select SYS_FSL_DDR_LE
174 select SYS_FSL_DDR_VER_50
Ashish Kumar97393d62017-08-18 10:54:36 +0530175 select SYS_FSL_HAS_CCN504
York Sun6b62ef02016-10-04 18:01:34 -0700176 select SYS_FSL_HAS_DP_DDR
York Sun92c36e22016-12-28 08:43:30 -0800177 select SYS_FSL_HAS_SEC
York Sund297d392016-12-28 08:43:40 -0800178 select SYS_FSL_HAS_DDR4
York Sun92c36e22016-12-28 08:43:30 -0800179 select SYS_FSL_SEC_COMPAT_5
York Sunfa4199422016-12-28 08:43:31 -0800180 select SYS_FSL_SEC_LE
York Sun6b62ef02016-10-04 18:01:34 -0700181 select SYS_FSL_SRDS_2
Ashish kumar76bd6ce2017-04-07 11:40:32 +0530182 select FSL_TZASC_1
183 select FSL_TZASC_2
Rajesh Bhagat5756f7e2019-01-20 05:30:06 +0000184 select FSL_TZASC_400
185 select FSL_TZPC_BP147
Rajesh Bhagatd5691be2018-12-27 04:37:59 +0000186 select SYS_FSL_ERRATUM_A008336 if !TFABOOT
187 select SYS_FSL_ERRATUM_A008511 if !TFABOOT
188 select SYS_FSL_ERRATUM_A008514 if !TFABOOT
York Sun1dc61ca2016-12-28 08:43:41 -0800189 select SYS_FSL_ERRATUM_A008585
Ran Wange64f7472017-09-04 18:46:50 +0800190 select SYS_FSL_ERRATUM_A008997
Ran Wang3ba69482017-09-04 18:46:51 +0800191 select SYS_FSL_ERRATUM_A009007
Ran Wangb358b7b2017-09-04 18:46:48 +0800192 select SYS_FSL_ERRATUM_A009008
York Sun1dc61ca2016-12-28 08:43:41 -0800193 select SYS_FSL_ERRATUM_A009635
Rajesh Bhagatd5691be2018-12-27 04:37:59 +0000194 select SYS_FSL_ERRATUM_A009663 if !TFABOOT
Ran Wang9e8fabc2017-09-04 18:46:49 +0800195 select SYS_FSL_ERRATUM_A009798
York Sun1dc61ca2016-12-28 08:43:41 -0800196 select SYS_FSL_ERRATUM_A009801
Rajesh Bhagatd5691be2018-12-27 04:37:59 +0000197 select SYS_FSL_ERRATUM_A009803 if !TFABOOT
198 select SYS_FSL_ERRATUM_A009942 if !TFABOOT
199 select SYS_FSL_ERRATUM_A010165 if !TFABOOT
Ashish kumar3b52a232017-02-23 16:03:57 +0530200 select SYS_FSL_ERRATUM_A009203
Simon Glass62adede2017-01-23 13:31:19 -0700201 select ARCH_EARLY_INIT_R
Simon Glass7a99a872017-01-23 13:31:20 -0700202 select BOARD_EARLY_INIT_F
Sriram Dash7122a0c2018-02-06 11:26:30 +0530203 select SYS_I2C_MXC
Chuanhua Han3f27fff2019-07-26 19:24:03 +0800204 select SYS_I2C_MXC_I2C1 if !TFABOOT
205 select SYS_I2C_MXC_I2C2 if !TFABOOT
206 select SYS_I2C_MXC_I2C3 if !TFABOOT
207 select SYS_I2C_MXC_I2C4 if !TFABOOT
Hou Zhiqiangce4a92a2020-04-28 10:19:31 +0800208 select RESV_RAM if GIC_V3_ITS
Masahiro Yamada9afc6c52018-04-25 18:47:52 +0900209 imply DISTRO_DEFAULTS
Masahiro Yamadaacede7a2017-12-04 12:37:00 +0900210 imply PANIC_HANG
York Sun4dd8c612016-10-04 14:31:48 -0700211
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530212config ARCH_LX2162A
213 bool
214 select ARMV8_SET_SMPEN
215 select FSL_LSCH3
216 select NXP_LSCH3_2
217 select SYS_HAS_SERDES
218 select SYS_FSL_SRDS_1
219 select SYS_FSL_SRDS_2
220 select SYS_FSL_DDR
221 select SYS_FSL_DDR_LE
222 select SYS_FSL_DDR_VER_50
223 select SYS_FSL_EC1
224 select SYS_FSL_EC2
225 select SYS_FSL_ERRATUM_A050106
226 select SYS_FSL_HAS_RGMII
227 select SYS_FSL_HAS_SEC
228 select SYS_FSL_HAS_CCN508
229 select SYS_FSL_HAS_DDR4
230 select SYS_FSL_SEC_COMPAT_5
231 select SYS_FSL_SEC_LE
232 select ARCH_EARLY_INIT_R
233 select BOARD_EARLY_INIT_F
234 select SYS_I2C_MXC
235 select RESV_RAM if GIC_V3_ITS
236 imply DISTRO_DEFAULTS
237 imply PANIC_HANG
238 imply SCSI
239 imply SCSI_AHCI
240
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000241config ARCH_LX2160A
242 bool
243 select ARMV8_SET_SMPEN
244 select FSL_LSCH3
245 select NXP_LSCH3_2
246 select SYS_HAS_SERDES
247 select SYS_FSL_SRDS_1
248 select SYS_FSL_SRDS_2
249 select SYS_NXP_SRDS_3
250 select SYS_FSL_DDR
251 select SYS_FSL_DDR_LE
252 select SYS_FSL_DDR_VER_50
253 select SYS_FSL_EC1
254 select SYS_FSL_EC2
Ran Wangd0270dc2019-11-26 11:40:40 +0800255 select SYS_FSL_ERRATUM_A050106
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000256 select SYS_FSL_HAS_RGMII
257 select SYS_FSL_HAS_SEC
258 select SYS_FSL_HAS_CCN508
259 select SYS_FSL_HAS_DDR4
260 select SYS_FSL_SEC_COMPAT_5
261 select SYS_FSL_SEC_LE
262 select ARCH_EARLY_INIT_R
263 select BOARD_EARLY_INIT_F
264 select SYS_I2C_MXC
Hou Zhiqiangce4a92a2020-04-28 10:19:31 +0800265 select RESV_RAM if GIC_V3_ITS
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000266 imply DISTRO_DEFAULTS
267 imply PANIC_HANG
268 imply SCSI
269 imply SCSI_AHCI
270
York Sun4dd8c612016-10-04 14:31:48 -0700271config FSL_LSCH2
272 bool
Ashish Kumar11234062017-08-11 11:09:14 +0530273 select SYS_FSL_HAS_CCI400
York Sun92c36e22016-12-28 08:43:30 -0800274 select SYS_FSL_HAS_SEC
275 select SYS_FSL_SEC_COMPAT_5
York Sunfa4199422016-12-28 08:43:31 -0800276 select SYS_FSL_SEC_BE
York Sun4dd8c612016-10-04 14:31:48 -0700277
278config FSL_LSCH3
Alex Marginean47568ce2020-01-11 01:05:40 +0200279 select ARCH_MISC_INIT
York Sun4dd8c612016-10-04 14:31:48 -0700280 bool
281
Priyanka Jain88c25662018-10-29 09:11:29 +0000282config NXP_LSCH3_2
283 bool
284
York Sun4dd8c612016-10-04 14:31:48 -0700285menu "Layerscape architecture"
286 depends on FSL_LSCH2 || FSL_LSCH3
York Sunfcd0e742016-10-04 14:31:47 -0700287
Rajesh Bhagat52d237a2019-01-25 13:36:26 +0000288config FSL_LAYERSCAPE
289 bool
290
Wenbin Songa8f57a92017-01-17 18:31:15 +0800291config HAS_FEATURE_GIC64K_ALIGN
292 bool
293 default y if ARCH_LS1043A
294
Wenbin Songc6bc7c02017-01-17 18:31:16 +0800295config HAS_FEATURE_ENHANCED_MSI
296 bool
297 default y if ARCH_LS1043A
Wenbin Songa8f57a92017-01-17 18:31:15 +0800298
macro.wave.z@gmail.comec2d7ed2016-12-08 11:58:21 +0800299menu "Layerscape PPA"
300config FSL_LS_PPA
301 bool "FSL Layerscape PPA firmware support"
macro.wave.z@gmail.com01bd3342016-12-08 11:58:22 +0800302 depends on !ARMV8_PSCI
Hou Zhiqiangbff56d52017-01-16 17:31:49 +0800303 select ARMV8_SEC_FIRMWARE_SUPPORT
Hou Zhiqiang6be115d2017-01-16 17:31:48 +0800304 select SEC_FIRMWARE_ARMV8_PSCI
Hou Zhiqiangbff56d52017-01-16 17:31:49 +0800305 select ARMV8_SEC_FIRMWARE_ERET_ADDR_REVERT if FSL_LSCH2
macro.wave.z@gmail.comec2d7ed2016-12-08 11:58:21 +0800306 help
307 The FSL Primary Protected Application (PPA) is a software component
308 which is loaded during boot stage, and then remains resident in RAM
309 and runs in the TrustZone after boot.
310 Say y to enable it.
York Sunf2aaf842017-05-15 08:52:00 -0700311
312config SPL_FSL_LS_PPA
313 bool "FSL Layerscape PPA firmware support for SPL build"
314 depends on !ARMV8_PSCI
315 select SPL_ARMV8_SEC_FIRMWARE_SUPPORT
316 select SEC_FIRMWARE_ARMV8_PSCI
317 select ARMV8_SEC_FIRMWARE_ERET_ADDR_REVERT if FSL_LSCH2
318 help
319 The FSL Primary Protected Application (PPA) is a software component
320 which is loaded during boot stage, and then remains resident in RAM
321 and runs in the TrustZone after boot. This is to load PPA during SPL
322 stage instead of the RAM version of U-Boot. Once PPA is initialized,
323 the rest of U-Boot (including RAM version) runs at EL2.
Hou Zhiqiangbff56d52017-01-16 17:31:49 +0800324choice
325 prompt "FSL Layerscape PPA firmware loading-media select"
326 depends on FSL_LS_PPA
Hou Zhiqiangbd6e2cd2017-03-17 16:12:33 +0800327 default SYS_LS_PPA_FW_IN_MMC if SD_BOOT
328 default SYS_LS_PPA_FW_IN_NAND if NAND_BOOT
Hou Zhiqiangbff56d52017-01-16 17:31:49 +0800329 default SYS_LS_PPA_FW_IN_XIP
330
331config SYS_LS_PPA_FW_IN_XIP
332 bool "XIP"
333 help
334 Say Y here if the PPA firmware locate at XIP flash, such
335 as NOR or QSPI flash.
336
Hou Zhiqiangbd6e2cd2017-03-17 16:12:33 +0800337config SYS_LS_PPA_FW_IN_MMC
338 bool "eMMC or SD Card"
339 help
340 Say Y here if the PPA firmware locate at eMMC/SD card.
341
342config SYS_LS_PPA_FW_IN_NAND
343 bool "NAND"
344 help
345 Say Y here if the PPA firmware locate at NAND flash.
346
Hou Zhiqiangbff56d52017-01-16 17:31:49 +0800347endchoice
348
Sumit Garg8fddf752017-04-20 05:09:11 +0530349config LS_PPA_ESBC_HDR_SIZE
350 hex "Length of PPA ESBC header"
351 depends on FSL_LS_PPA && CHAIN_OF_TRUST && !SYS_LS_PPA_FW_IN_XIP
352 default 0x2000
353 help
354 Length (in bytes) of PPA ESBC header to be copied from MMC/SD or
355 NAND to memory to validate PPA image.
356
macro.wave.z@gmail.comec2d7ed2016-12-08 11:58:21 +0800357endmenu
358
Ran Wange64f7472017-09-04 18:46:50 +0800359config SYS_FSL_ERRATUM_A008997
360 bool "Workaround for USB PHY erratum A008997"
361
Ran Wang3ba69482017-09-04 18:46:51 +0800362config SYS_FSL_ERRATUM_A009007
363 bool
364 help
365 Workaround for USB PHY erratum A009007
366
Ran Wangb358b7b2017-09-04 18:46:48 +0800367config SYS_FSL_ERRATUM_A009008
368 bool "Workaround for USB PHY erratum A009008"
369
Ran Wang9e8fabc2017-09-04 18:46:49 +0800370config SYS_FSL_ERRATUM_A009798
371 bool "Workaround for USB PHY erratum A009798"
372
Ran Wangd0270dc2019-11-26 11:40:40 +0800373config SYS_FSL_ERRATUM_A050106
374 bool "Workaround for USB PHY erratum A050106"
375 help
376 USB3.0 Receiver needs to enable fixed equalization
377 for each of PHY instances in an SOC. This is similar
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530378 to erratum A-009007, but this one is for LX2160A and LX2162A,
Ran Wangd0270dc2019-11-26 11:40:40 +0800379 and the register value is different.
380
York Sun149eb332016-09-26 08:09:27 -0700381config SYS_FSL_ERRATUM_A010315
382 bool "Workaround for PCIe erratum A010315"
Hou Zhiqiangc06b30a2016-09-29 12:42:44 +0800383
384config SYS_FSL_ERRATUM_A010539
385 bool "Workaround for PIN MUX erratum A010539"
York Sun4dd8c612016-10-04 14:31:48 -0700386
York Sunf188d222016-10-04 14:45:01 -0700387config MAX_CPUS
388 int "Maximum number of CPUs permitted for Layerscape"
Yuantian Tang4aefa162019-04-10 16:43:33 +0800389 default 2 if ARCH_LS1028A
York Sunf188d222016-10-04 14:45:01 -0700390 default 4 if ARCH_LS1043A
391 default 4 if ARCH_LS1046A
392 default 16 if ARCH_LS2080A
Ashish Kumarb25faa22017-08-31 16:12:53 +0530393 default 8 if ARCH_LS1088A
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000394 default 16 if ARCH_LX2160A
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530395 default 16 if ARCH_LX2162A
York Sunf188d222016-10-04 14:45:01 -0700396 default 1
397 help
398 Set this number to the maximum number of possible CPUs in the SoC.
399 SoCs may have multiple clusters with each cluster may have multiple
400 ports. If some ports are reserved but higher ports are used for
401 cores, count the reserved ports. This will allocate enough memory
402 in spin table to properly handle all cores.
403
Meenakshi Aggarwalbbd33182018-11-30 22:32:11 +0530404config EMC2305
405 bool "Fan controller"
406 help
407 Enable the EMC2305 fan controller for configuration of fan
408 speed.
409
Udit Agarwal22ec2382019-11-07 16:11:32 +0000410config NXP_ESBC
411 bool "NXP_ESBC"
York Sun728e7002016-12-02 09:32:35 -0800412 help
413 Enable Freescale Secure Boot feature
414
Yuan Yao52ae4fd2016-12-01 10:13:52 +0800415config QSPI_AHB_INIT
416 bool "Init the QSPI AHB bus"
417 help
418 The default setting for QSPI AHB bus just support 3bytes addressing.
419 But some QSPI flash size up to 64MBytes, so initialize the QSPI AHB
420 bus for those flashes to support the full QSPI flash size.
421
Kuldeep Singh34aafb02019-11-21 17:15:17 +0530422config FSPI_AHB_EN_4BYTE
423 bool "Enable 4-byte Fast Read command for AHB mode"
424 default n
425 help
426 The default setting for FlexSPI AHB bus just supports 3-byte addressing.
427 But some FlexSPI flash sizes are up to 64MBytes.
428 This flag enables fast read command for AHB mode and modifies required
429 LUT to support full FlexSPI flash.
430
Ashish Kumar11234062017-08-11 11:09:14 +0530431config SYS_CCI400_OFFSET
432 hex "Offset for CCI400 base"
433 depends on SYS_FSL_HAS_CCI400
Yuantian Tang4aefa162019-04-10 16:43:33 +0800434 default 0x3090000 if ARCH_LS1088A || ARCH_LS1028A
Ashish Kumar11234062017-08-11 11:09:14 +0530435 default 0x180000 if FSL_LSCH2
436 help
437 Offset for CCI400 base
438 CCI400 base addr = CCSRBAR + CCI400_OFFSET
439
York Sune7310a32016-10-04 14:45:54 -0700440config SYS_FSL_IFC_BANK_COUNT
441 int "Maximum banks of Integrated flash controller"
Ashish Kumarb25faa22017-08-31 16:12:53 +0530442 depends on ARCH_LS1043A || ARCH_LS1046A || ARCH_LS2080A || ARCH_LS1088A
York Sune7310a32016-10-04 14:45:54 -0700443 default 4 if ARCH_LS1043A
444 default 4 if ARCH_LS1046A
Ashish Kumarb25faa22017-08-31 16:12:53 +0530445 default 8 if ARCH_LS2080A || ARCH_LS1088A
York Sune7310a32016-10-04 14:45:54 -0700446
Ashish Kumar11234062017-08-11 11:09:14 +0530447config SYS_FSL_HAS_CCI400
448 bool
449
Ashish Kumar97393d62017-08-18 10:54:36 +0530450config SYS_FSL_HAS_CCN504
451 bool
452
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000453config SYS_FSL_HAS_CCN508
454 bool
455
York Sun0dc9abb2016-10-04 14:46:50 -0700456config SYS_FSL_HAS_DP_DDR
457 bool
458
York Sun6b62ef02016-10-04 18:01:34 -0700459config SYS_FSL_SRDS_1
460 bool
461
462config SYS_FSL_SRDS_2
463 bool
464
Priyanka Jain1a602532018-09-27 10:32:05 +0530465config SYS_NXP_SRDS_3
466 bool
467
York Sun6b62ef02016-10-04 18:01:34 -0700468config SYS_HAS_SERDES
469 bool
470
Ashish kumar76bd6ce2017-04-07 11:40:32 +0530471config FSL_TZASC_1
472 bool
473
474config FSL_TZASC_2
475 bool
476
Rajesh Bhagat5756f7e2019-01-20 05:30:06 +0000477config FSL_TZASC_400
478 bool
479
480config FSL_TZPC_BP147
481 bool
York Sun4dd8c612016-10-04 14:31:48 -0700482endmenu
York Sun1dc61ca2016-12-28 08:43:41 -0800483
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800484menu "Layerscape clock tree configuration"
485 depends on FSL_LSCH2 || FSL_LSCH3
486
487config SYS_FSL_CLK
488 bool "Enable clock tree initialization"
489 default y
490
491config CLUSTER_CLK_FREQ
492 int "Reference clock of core cluster"
493 depends on ARCH_LS1012A
494 default 100000000
495 help
496 This number is the reference clock frequency of core PLL.
497 For most platforms, the core PLL and Platform PLL have the same
498 reference clock, but for some platforms, LS1012A for instance,
499 they are provided sepatately.
500
501config SYS_FSL_PCLK_DIV
502 int "Platform clock divider"
Yuantian Tang4aefa162019-04-10 16:43:33 +0800503 default 1 if ARCH_LS1028A
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800504 default 1 if ARCH_LS1043A
505 default 1 if ARCH_LS1046A
Ashish Kumarb25faa22017-08-31 16:12:53 +0530506 default 1 if ARCH_LS1088A
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800507 default 2
508 help
509 This is the divider that is used to derive Platform clock from
510 Platform PLL, in another word:
511 Platform_clk = Platform_PLL_freq / this_divider
512
513config SYS_FSL_DSPI_CLK_DIV
514 int "DSPI clock divider"
515 default 1 if ARCH_LS1043A
516 default 2
517 help
518 This is the divider that is used to derive DSPI clock from Platform
Hou Zhiqiang0c8fcb62017-07-03 18:37:11 +0800519 clock, in another word DSPI_clk = Platform_clk / this_divider.
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800520
521config SYS_FSL_DUART_CLK_DIV
522 int "DUART clock divider"
523 default 1 if ARCH_LS1043A
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000524 default 4 if ARCH_LX2160A
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530525 default 4 if ARCH_LX2162A
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800526 default 2
527 help
528 This is the divider that is used to derive DUART clock from Platform
529 clock, in another word DUART_clk = Platform_clk / this_divider.
530
531config SYS_FSL_I2C_CLK_DIV
532 int "I2C clock divider"
533 default 1 if ARCH_LS1043A
Chuanhua Han44d4d332019-08-02 16:53:53 +0800534 default 4 if ARCH_LS1012A
535 default 4 if ARCH_LS1028A
536 default 8 if ARCH_LX2160A
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530537 default 8 if ARCH_LX2162A
Chuanhua Han44d4d332019-08-02 16:53:53 +0800538 default 8 if ARCH_LS1088A
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800539 default 2
540 help
541 This is the divider that is used to derive I2C clock from Platform
542 clock, in another word I2C_clk = Platform_clk / this_divider.
543
544config SYS_FSL_IFC_CLK_DIV
545 int "IFC clock divider"
546 default 1 if ARCH_LS1043A
Chuanhua Han3df89cc2019-08-08 17:04:58 +0800547 default 4 if ARCH_LS1012A
548 default 4 if ARCH_LS1028A
549 default 8 if ARCH_LX2160A
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530550 default 8 if ARCH_LX2162A
Chuanhua Han3df89cc2019-08-08 17:04:58 +0800551 default 8 if ARCH_LS1088A
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800552 default 2
553 help
554 This is the divider that is used to derive IFC clock from Platform
555 clock, in another word IFC_clk = Platform_clk / this_divider.
556
557config SYS_FSL_LPUART_CLK_DIV
558 int "LPUART clock divider"
559 default 1 if ARCH_LS1043A
560 default 2
561 help
562 This is the divider that is used to derive LPUART clock from Platform
563 clock, in another word LPUART_clk = Platform_clk / this_divider.
564
565config SYS_FSL_SDHC_CLK_DIV
566 int "SDHC clock divider"
567 default 1 if ARCH_LS1043A
568 default 1 if ARCH_LS1012A
569 default 2
570 help
571 This is the divider that is used to derive SDHC clock from Platform
572 clock, in another word SDHC_clk = Platform_clk / this_divider.
Hou Zhiqiangfef32c62018-04-25 16:28:44 +0800573
574config SYS_FSL_QMAN_CLK_DIV
575 int "QMAN clock divider"
576 default 1 if ARCH_LS1043A
577 default 2
578 help
579 This is the divider that is used to derive QMAN clock from Platform
580 clock, in another word QMAN_clk = Platform_clk / this_divider.
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800581endmenu
582
York Sund6964b32017-03-06 09:02:24 -0800583config RESV_RAM
584 bool
585 help
586 Reserve memory from the top, tracked by gd->arch.resv_ram. This
587 reserved RAM can be used by special driver that resides in memory
588 after U-Boot exits. It's up to implementation to allocate and allow
589 access to this reserved memory. For example, the reserved RAM can
590 be at the high end of physical memory. The reserve RAM may be
591 excluded from memory bank(s) passed to OS, or marked as reserved.
592
Ashish Kumarec455e22017-08-31 16:37:31 +0530593config SYS_FSL_EC1
594 bool
595 help
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000596 Ethernet controller 1, this is connected to
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530597 MAC17 for LX2160A and LX2162A or to MAC3 for other SoCs
Ashish Kumarec455e22017-08-31 16:37:31 +0530598 Provides DPAA2 capabilities
599
600config SYS_FSL_EC2
601 bool
602 help
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000603 Ethernet controller 2, this is connected to
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530604 MAC18 for LX2160A and LX2162A or to MAC4 for other SoCs
Ashish Kumarec455e22017-08-31 16:37:31 +0530605 Provides DPAA2 capabilities
606
York Sun1dc61ca2016-12-28 08:43:41 -0800607config SYS_FSL_ERRATUM_A008336
608 bool
609
610config SYS_FSL_ERRATUM_A008514
611 bool
612
613config SYS_FSL_ERRATUM_A008585
614 bool
615
616config SYS_FSL_ERRATUM_A008850
617 bool
618
Ashish kumar3b52a232017-02-23 16:03:57 +0530619config SYS_FSL_ERRATUM_A009203
620 bool
621
York Sun1dc61ca2016-12-28 08:43:41 -0800622config SYS_FSL_ERRATUM_A009635
623 bool
624
625config SYS_FSL_ERRATUM_A009660
626 bool
627
Laurentiu Tudor7ea2feb2019-10-18 09:01:56 +0000628config SYS_FSL_ERRATUM_A050382
629 bool
Ashish Kumarec455e22017-08-31 16:37:31 +0530630
631config SYS_FSL_HAS_RGMII
632 bool
633 depends on SYS_FSL_EC1 || SYS_FSL_EC2
634
Philipp Tomsich2d6a0cc2017-08-03 23:23:55 +0200635config SPL_LDSCRIPT
636 default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARCH_LS1043A || ARCH_LS1046A || ARCH_LS2080A
Ran Wang5959f842017-10-23 10:09:21 +0800637
638config HAS_FSL_XHCI_USB
639 bool
640 default y if ARCH_LS1043A || ARCH_LS1046A
641 help
642 For some SoC(such as LS1043A and LS1046A), USB and QE-HDLC multiplex use
643 pins, select it when the pins are assigned to USB.
Rajesh Bhagat729f22f2021-02-11 13:28:49 +0100644
645config SYS_FSL_BOOTROM_BASE
646 hex
647 depends on FSL_LSCH2
648 default 0
649
650config SYS_FSL_BOOTROM_SIZE
651 hex
652 depends on FSL_LSCH2
653 default 0x1000000