blob: 9c58f69dbd0dd5a9d62d6986a12e309b66a5019d [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
Michael Walle7259dc52021-03-17 15:01:37 +010051 select SYS_FSL_ESDHC_UNRELIABLE_PULSE_DETECTION_WORKAROUND
Hou Zhiqiangce4a92a2020-04-28 10:19:31 +080052 select RESV_RAM if GIC_V3_ITS
Yuantian Tang4aefa162019-04-10 16:43:33 +080053 imply PANIC_HANG
54
York Sun149eb332016-09-26 08:09:27 -070055config ARCH_LS1043A
York Sunfcd0e742016-10-04 14:31:47 -070056 bool
Hou Zhiqiang4d1525a2017-01-06 17:41:11 +080057 select ARMV8_SET_SMPEN
Rajesh Bhagatcd786e82018-11-05 18:01:48 +000058 select ARM_ERRATA_855873 if !TFABOOT
Rajesh Bhagat52d237a2019-01-25 13:36:26 +000059 select FSL_LAYERSCAPE
York Sun4dd8c612016-10-04 14:31:48 -070060 select FSL_LSCH2
Sriram Dash4a943332018-01-30 15:58:44 +053061 select SYS_FSL_SRDS_1
62 select SYS_HAS_SERDES
York Sund297d392016-12-28 08:43:40 -080063 select SYS_FSL_DDR
York Sunb6fffd82016-10-04 18:03:08 -070064 select SYS_FSL_DDR_BE
65 select SYS_FSL_DDR_VER_50
Rajesh Bhagatcd786e82018-11-05 18:01:48 +000066 select SYS_FSL_ERRATUM_A008850 if !TFABOOT
Ran Wange64f7472017-09-04 18:46:50 +080067 select SYS_FSL_ERRATUM_A008997
Ran Wang3ba69482017-09-04 18:46:51 +080068 select SYS_FSL_ERRATUM_A009007
Ran Wangb358b7b2017-09-04 18:46:48 +080069 select SYS_FSL_ERRATUM_A009008
Rajesh Bhagatcd786e82018-11-05 18:01:48 +000070 select SYS_FSL_ERRATUM_A009660 if !TFABOOT
71 select SYS_FSL_ERRATUM_A009663 if !TFABOOT
Ran Wang9e8fabc2017-09-04 18:46:49 +080072 select SYS_FSL_ERRATUM_A009798
Rajesh Bhagatcd786e82018-11-05 18:01:48 +000073 select SYS_FSL_ERRATUM_A009942 if !TFABOOT
York Sun149eb332016-09-26 08:09:27 -070074 select SYS_FSL_ERRATUM_A010315
Hou Zhiqiangc06b30a2016-09-29 12:42:44 +080075 select SYS_FSL_ERRATUM_A010539
York Sund297d392016-12-28 08:43:40 -080076 select SYS_FSL_HAS_DDR3
77 select SYS_FSL_HAS_DDR4
Simon Glass62adede2017-01-23 13:31:19 -070078 select ARCH_EARLY_INIT_R
Simon Glass7a99a872017-01-23 13:31:20 -070079 select BOARD_EARLY_INIT_F
Biwen Li42637e72020-06-04 18:42:14 +080080 select SYS_I2C_MXC
Biwen Li014460b2020-02-05 22:02:16 +080081 select SYS_I2C_MXC_I2C1 if !DM_I2C
82 select SYS_I2C_MXC_I2C2 if !DM_I2C
83 select SYS_I2C_MXC_I2C3 if !DM_I2C
84 select SYS_I2C_MXC_I2C4 if !DM_I2C
Simon Glassc88a09a2017-08-04 16:34:34 -060085 imply CMD_PCI
York Sunb3d71642016-09-26 08:09:26 -070086
York Sunbad49842016-09-26 08:09:24 -070087config ARCH_LS1046A
York Sunfcd0e742016-10-04 14:31:47 -070088 bool
Hou Zhiqiang4d1525a2017-01-06 17:41:11 +080089 select ARMV8_SET_SMPEN
Rajesh Bhagat52d237a2019-01-25 13:36:26 +000090 select FSL_LAYERSCAPE
York Sun4dd8c612016-10-04 14:31:48 -070091 select FSL_LSCH2
Sriram Dash4a943332018-01-30 15:58:44 +053092 select SYS_FSL_SRDS_1
93 select SYS_HAS_SERDES
York Sund297d392016-12-28 08:43:40 -080094 select SYS_FSL_DDR
York Sunb6fffd82016-10-04 18:03:08 -070095 select SYS_FSL_DDR_BE
York Sunb6fffd82016-10-04 18:03:08 -070096 select SYS_FSL_DDR_VER_50
Rajesh Bhagatcd786e82018-11-05 18:01:48 +000097 select SYS_FSL_ERRATUM_A008336 if !TFABOOT
98 select SYS_FSL_ERRATUM_A008511 if !TFABOOT
99 select SYS_FSL_ERRATUM_A008850 if !TFABOOT
Ran Wange64f7472017-09-04 18:46:50 +0800100 select SYS_FSL_ERRATUM_A008997
Ran Wang3ba69482017-09-04 18:46:51 +0800101 select SYS_FSL_ERRATUM_A009007
Ran Wangb358b7b2017-09-04 18:46:48 +0800102 select SYS_FSL_ERRATUM_A009008
Ran Wang9e8fabc2017-09-04 18:46:49 +0800103 select SYS_FSL_ERRATUM_A009798
York Sun1dc61ca2016-12-28 08:43:41 -0800104 select SYS_FSL_ERRATUM_A009801
Rajesh Bhagatcd786e82018-11-05 18:01:48 +0000105 select SYS_FSL_ERRATUM_A009803 if !TFABOOT
106 select SYS_FSL_ERRATUM_A009942 if !TFABOOT
107 select SYS_FSL_ERRATUM_A010165 if !TFABOOT
Hou Zhiqiangc06b30a2016-09-29 12:42:44 +0800108 select SYS_FSL_ERRATUM_A010539
York Sund297d392016-12-28 08:43:40 -0800109 select SYS_FSL_HAS_DDR4
York Sun6b62ef02016-10-04 18:01:34 -0700110 select SYS_FSL_SRDS_2
Simon Glass62adede2017-01-23 13:31:19 -0700111 select ARCH_EARLY_INIT_R
Simon Glass7a99a872017-01-23 13:31:20 -0700112 select BOARD_EARLY_INIT_F
Biwen Li42637e72020-06-04 18:42:14 +0800113 select SYS_I2C_MXC
Biwen Lif0018f52020-02-05 22:02:17 +0800114 select SYS_I2C_MXC_I2C1 if !DM_I2C
115 select SYS_I2C_MXC_I2C2 if !DM_I2C
116 select SYS_I2C_MXC_I2C3 if !DM_I2C
117 select SYS_I2C_MXC_I2C4 if !DM_I2C
Simon Glass0e5faf02017-06-14 21:28:21 -0600118 imply SCSI
Tuomas Tynkkynenedf9f622017-12-08 15:36:19 +0200119 imply SCSI_AHCI
York Sunb3d71642016-09-26 08:09:26 -0700120
Ashish Kumarb25faa22017-08-31 16:12:53 +0530121config ARCH_LS1088A
122 bool
123 select ARMV8_SET_SMPEN
Pankit Gargf5c2a832018-12-27 04:37:55 +0000124 select ARM_ERRATA_855873 if !TFABOOT
Rajesh Bhagat52d237a2019-01-25 13:36:26 +0000125 select FSL_LAYERSCAPE
Ashish Kumarb25faa22017-08-31 16:12:53 +0530126 select FSL_LSCH3
Sriram Dash4a943332018-01-30 15:58:44 +0530127 select SYS_FSL_SRDS_1
128 select SYS_HAS_SERDES
Ashish Kumarb25faa22017-08-31 16:12:53 +0530129 select SYS_FSL_DDR
130 select SYS_FSL_DDR_LE
131 select SYS_FSL_DDR_VER_50
Ashish Kumarec455e22017-08-31 16:37:31 +0530132 select SYS_FSL_EC1
133 select SYS_FSL_EC2
Pankit Gargf5c2a832018-12-27 04:37:55 +0000134 select SYS_FSL_ERRATUM_A009803 if !TFABOOT
135 select SYS_FSL_ERRATUM_A009942 if !TFABOOT
136 select SYS_FSL_ERRATUM_A010165 if !TFABOOT
137 select SYS_FSL_ERRATUM_A008511 if !TFABOOT
138 select SYS_FSL_ERRATUM_A008850 if !TFABOOT
Ran Wangef277072017-09-22 15:21:34 +0800139 select SYS_FSL_ERRATUM_A009007
Ashish Kumarb25faa22017-08-31 16:12:53 +0530140 select SYS_FSL_HAS_CCI400
141 select SYS_FSL_HAS_DDR4
Ashish Kumarec455e22017-08-31 16:37:31 +0530142 select SYS_FSL_HAS_RGMII
Ashish Kumarb25faa22017-08-31 16:12:53 +0530143 select SYS_FSL_HAS_SEC
144 select SYS_FSL_SEC_COMPAT_5
145 select SYS_FSL_SEC_LE
146 select SYS_FSL_SRDS_1
147 select SYS_FSL_SRDS_2
148 select FSL_TZASC_1
Rajesh Bhagat5756f7e2019-01-20 05:30:06 +0000149 select FSL_TZASC_400
150 select FSL_TZPC_BP147
Ashish Kumarb25faa22017-08-31 16:12:53 +0530151 select ARCH_EARLY_INIT_R
152 select BOARD_EARLY_INIT_F
Sriram Dash7122a0c2018-02-06 11:26:30 +0530153 select SYS_I2C_MXC
Chuanhua Han98a5e402019-07-26 20:25:37 +0800154 select SYS_I2C_MXC_I2C1 if !TFABOOT
155 select SYS_I2C_MXC_I2C2 if !TFABOOT
156 select SYS_I2C_MXC_I2C3 if !TFABOOT
157 select SYS_I2C_MXC_I2C4 if !TFABOOT
Hou Zhiqiangce4a92a2020-04-28 10:19:31 +0800158 select RESV_RAM if GIC_V3_ITS
Ashish Kumara179e562017-11-02 09:50:47 +0530159 imply SCSI
Masahiro Yamadaacede7a2017-12-04 12:37:00 +0900160 imply PANIC_HANG
Ashish Kumarb25faa22017-08-31 16:12:53 +0530161
York Sunfcd0e742016-10-04 14:31:47 -0700162config ARCH_LS2080A
163 bool
Hou Zhiqiang4d1525a2017-01-06 17:41:11 +0800164 select ARMV8_SET_SMPEN
Tom Rinibacb52c2017-03-07 07:13:42 -0500165 select ARM_ERRATA_826974
166 select ARM_ERRATA_828024
167 select ARM_ERRATA_829520
168 select ARM_ERRATA_833471
Rajesh Bhagat52d237a2019-01-25 13:36:26 +0000169 select FSL_LAYERSCAPE
York Sun4dd8c612016-10-04 14:31:48 -0700170 select FSL_LSCH3
Sriram Dash4a943332018-01-30 15:58:44 +0530171 select SYS_FSL_SRDS_1
172 select SYS_HAS_SERDES
York Sund297d392016-12-28 08:43:40 -0800173 select SYS_FSL_DDR
York Sunb6fffd82016-10-04 18:03:08 -0700174 select SYS_FSL_DDR_LE
175 select SYS_FSL_DDR_VER_50
Ashish Kumar97393d62017-08-18 10:54:36 +0530176 select SYS_FSL_HAS_CCN504
York Sun6b62ef02016-10-04 18:01:34 -0700177 select SYS_FSL_HAS_DP_DDR
York Sun92c36e22016-12-28 08:43:30 -0800178 select SYS_FSL_HAS_SEC
York Sund297d392016-12-28 08:43:40 -0800179 select SYS_FSL_HAS_DDR4
York Sun92c36e22016-12-28 08:43:30 -0800180 select SYS_FSL_SEC_COMPAT_5
York Sunfa4199422016-12-28 08:43:31 -0800181 select SYS_FSL_SEC_LE
York Sun6b62ef02016-10-04 18:01:34 -0700182 select SYS_FSL_SRDS_2
Ashish kumar76bd6ce2017-04-07 11:40:32 +0530183 select FSL_TZASC_1
184 select FSL_TZASC_2
Rajesh Bhagat5756f7e2019-01-20 05:30:06 +0000185 select FSL_TZASC_400
186 select FSL_TZPC_BP147
Rajesh Bhagatd5691be2018-12-27 04:37:59 +0000187 select SYS_FSL_ERRATUM_A008336 if !TFABOOT
188 select SYS_FSL_ERRATUM_A008511 if !TFABOOT
189 select SYS_FSL_ERRATUM_A008514 if !TFABOOT
York Sun1dc61ca2016-12-28 08:43:41 -0800190 select SYS_FSL_ERRATUM_A008585
Ran Wange64f7472017-09-04 18:46:50 +0800191 select SYS_FSL_ERRATUM_A008997
Ran Wang3ba69482017-09-04 18:46:51 +0800192 select SYS_FSL_ERRATUM_A009007
Ran Wangb358b7b2017-09-04 18:46:48 +0800193 select SYS_FSL_ERRATUM_A009008
York Sun1dc61ca2016-12-28 08:43:41 -0800194 select SYS_FSL_ERRATUM_A009635
Rajesh Bhagatd5691be2018-12-27 04:37:59 +0000195 select SYS_FSL_ERRATUM_A009663 if !TFABOOT
Ran Wang9e8fabc2017-09-04 18:46:49 +0800196 select SYS_FSL_ERRATUM_A009798
York Sun1dc61ca2016-12-28 08:43:41 -0800197 select SYS_FSL_ERRATUM_A009801
Rajesh Bhagatd5691be2018-12-27 04:37:59 +0000198 select SYS_FSL_ERRATUM_A009803 if !TFABOOT
199 select SYS_FSL_ERRATUM_A009942 if !TFABOOT
200 select SYS_FSL_ERRATUM_A010165 if !TFABOOT
Ashish kumar3b52a232017-02-23 16:03:57 +0530201 select SYS_FSL_ERRATUM_A009203
Simon Glass62adede2017-01-23 13:31:19 -0700202 select ARCH_EARLY_INIT_R
Simon Glass7a99a872017-01-23 13:31:20 -0700203 select BOARD_EARLY_INIT_F
Sriram Dash7122a0c2018-02-06 11:26:30 +0530204 select SYS_I2C_MXC
Chuanhua Han3f27fff2019-07-26 19:24:03 +0800205 select SYS_I2C_MXC_I2C1 if !TFABOOT
206 select SYS_I2C_MXC_I2C2 if !TFABOOT
207 select SYS_I2C_MXC_I2C3 if !TFABOOT
208 select SYS_I2C_MXC_I2C4 if !TFABOOT
Hou Zhiqiangce4a92a2020-04-28 10:19:31 +0800209 select RESV_RAM if GIC_V3_ITS
Masahiro Yamada9afc6c52018-04-25 18:47:52 +0900210 imply DISTRO_DEFAULTS
Masahiro Yamadaacede7a2017-12-04 12:37:00 +0900211 imply PANIC_HANG
York Sun4dd8c612016-10-04 14:31:48 -0700212
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530213config ARCH_LX2162A
214 bool
215 select ARMV8_SET_SMPEN
216 select FSL_LSCH3
217 select NXP_LSCH3_2
218 select SYS_HAS_SERDES
219 select SYS_FSL_SRDS_1
220 select SYS_FSL_SRDS_2
221 select SYS_FSL_DDR
222 select SYS_FSL_DDR_LE
223 select SYS_FSL_DDR_VER_50
224 select SYS_FSL_EC1
225 select SYS_FSL_EC2
Ran Wang13a84a52021-06-16 17:53:19 +0530226 select SYS_FSL_ERRATUM_A050204
Yangbo Lu84f0a952021-04-27 16:42:11 +0800227 select SYS_FSL_ERRATUM_A011334
228 select SYS_FSL_ESDHC_UNRELIABLE_PULSE_DETECTION_WORKAROUND
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530229 select SYS_FSL_HAS_RGMII
230 select SYS_FSL_HAS_SEC
231 select SYS_FSL_HAS_CCN508
232 select SYS_FSL_HAS_DDR4
233 select SYS_FSL_SEC_COMPAT_5
234 select SYS_FSL_SEC_LE
235 select ARCH_EARLY_INIT_R
236 select BOARD_EARLY_INIT_F
237 select SYS_I2C_MXC
238 select RESV_RAM if GIC_V3_ITS
239 imply DISTRO_DEFAULTS
240 imply PANIC_HANG
241 imply SCSI
242 imply SCSI_AHCI
243
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000244config ARCH_LX2160A
245 bool
246 select ARMV8_SET_SMPEN
247 select FSL_LSCH3
248 select NXP_LSCH3_2
249 select SYS_HAS_SERDES
250 select SYS_FSL_SRDS_1
251 select SYS_FSL_SRDS_2
252 select SYS_NXP_SRDS_3
253 select SYS_FSL_DDR
254 select SYS_FSL_DDR_LE
255 select SYS_FSL_DDR_VER_50
256 select SYS_FSL_EC1
257 select SYS_FSL_EC2
Ran Wang13a84a52021-06-16 17:53:19 +0530258 select SYS_FSL_ERRATUM_A050204
Yangbo Lu84f0a952021-04-27 16:42:11 +0800259 select SYS_FSL_ERRATUM_A011334
260 select SYS_FSL_ESDHC_UNRELIABLE_PULSE_DETECTION_WORKAROUND
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000261 select SYS_FSL_HAS_RGMII
262 select SYS_FSL_HAS_SEC
263 select SYS_FSL_HAS_CCN508
264 select SYS_FSL_HAS_DDR4
265 select SYS_FSL_SEC_COMPAT_5
266 select SYS_FSL_SEC_LE
267 select ARCH_EARLY_INIT_R
268 select BOARD_EARLY_INIT_F
269 select SYS_I2C_MXC
Hou Zhiqiangce4a92a2020-04-28 10:19:31 +0800270 select RESV_RAM if GIC_V3_ITS
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000271 imply DISTRO_DEFAULTS
272 imply PANIC_HANG
273 imply SCSI
274 imply SCSI_AHCI
275
York Sun4dd8c612016-10-04 14:31:48 -0700276config FSL_LSCH2
277 bool
Ashish Kumar11234062017-08-11 11:09:14 +0530278 select SYS_FSL_HAS_CCI400
York Sun92c36e22016-12-28 08:43:30 -0800279 select SYS_FSL_HAS_SEC
280 select SYS_FSL_SEC_COMPAT_5
York Sunfa4199422016-12-28 08:43:31 -0800281 select SYS_FSL_SEC_BE
York Sun4dd8c612016-10-04 14:31:48 -0700282
283config FSL_LSCH3
Alex Marginean47568ce2020-01-11 01:05:40 +0200284 select ARCH_MISC_INIT
York Sun4dd8c612016-10-04 14:31:48 -0700285 bool
286
Priyanka Jain88c25662018-10-29 09:11:29 +0000287config NXP_LSCH3_2
288 bool
289
York Sun4dd8c612016-10-04 14:31:48 -0700290menu "Layerscape architecture"
291 depends on FSL_LSCH2 || FSL_LSCH3
York Sunfcd0e742016-10-04 14:31:47 -0700292
Rajesh Bhagat52d237a2019-01-25 13:36:26 +0000293config FSL_LAYERSCAPE
294 bool
295
Wenbin Songa8f57a92017-01-17 18:31:15 +0800296config HAS_FEATURE_GIC64K_ALIGN
297 bool
298 default y if ARCH_LS1043A
299
Wenbin Songc6bc7c02017-01-17 18:31:16 +0800300config HAS_FEATURE_ENHANCED_MSI
301 bool
302 default y if ARCH_LS1043A
Wenbin Songa8f57a92017-01-17 18:31:15 +0800303
macro.wave.z@gmail.comec2d7ed2016-12-08 11:58:21 +0800304menu "Layerscape PPA"
305config FSL_LS_PPA
306 bool "FSL Layerscape PPA firmware support"
macro.wave.z@gmail.com01bd3342016-12-08 11:58:22 +0800307 depends on !ARMV8_PSCI
Hou Zhiqiangbff56d52017-01-16 17:31:49 +0800308 select ARMV8_SEC_FIRMWARE_SUPPORT
Hou Zhiqiang6be115d2017-01-16 17:31:48 +0800309 select SEC_FIRMWARE_ARMV8_PSCI
Hou Zhiqiangbff56d52017-01-16 17:31:49 +0800310 select ARMV8_SEC_FIRMWARE_ERET_ADDR_REVERT if FSL_LSCH2
macro.wave.z@gmail.comec2d7ed2016-12-08 11:58:21 +0800311 help
312 The FSL Primary Protected Application (PPA) is a software component
313 which is loaded during boot stage, and then remains resident in RAM
314 and runs in the TrustZone after boot.
315 Say y to enable it.
York Sunf2aaf842017-05-15 08:52:00 -0700316
317config SPL_FSL_LS_PPA
318 bool "FSL Layerscape PPA firmware support for SPL build"
319 depends on !ARMV8_PSCI
320 select SPL_ARMV8_SEC_FIRMWARE_SUPPORT
321 select SEC_FIRMWARE_ARMV8_PSCI
322 select ARMV8_SEC_FIRMWARE_ERET_ADDR_REVERT if FSL_LSCH2
323 help
324 The FSL Primary Protected Application (PPA) is a software component
325 which is loaded during boot stage, and then remains resident in RAM
326 and runs in the TrustZone after boot. This is to load PPA during SPL
327 stage instead of the RAM version of U-Boot. Once PPA is initialized,
328 the rest of U-Boot (including RAM version) runs at EL2.
Hou Zhiqiangbff56d52017-01-16 17:31:49 +0800329choice
330 prompt "FSL Layerscape PPA firmware loading-media select"
331 depends on FSL_LS_PPA
Hou Zhiqiangbd6e2cd2017-03-17 16:12:33 +0800332 default SYS_LS_PPA_FW_IN_MMC if SD_BOOT
333 default SYS_LS_PPA_FW_IN_NAND if NAND_BOOT
Hou Zhiqiangbff56d52017-01-16 17:31:49 +0800334 default SYS_LS_PPA_FW_IN_XIP
335
336config SYS_LS_PPA_FW_IN_XIP
337 bool "XIP"
338 help
339 Say Y here if the PPA firmware locate at XIP flash, such
340 as NOR or QSPI flash.
341
Hou Zhiqiangbd6e2cd2017-03-17 16:12:33 +0800342config SYS_LS_PPA_FW_IN_MMC
343 bool "eMMC or SD Card"
344 help
345 Say Y here if the PPA firmware locate at eMMC/SD card.
346
347config SYS_LS_PPA_FW_IN_NAND
348 bool "NAND"
349 help
350 Say Y here if the PPA firmware locate at NAND flash.
351
Hou Zhiqiangbff56d52017-01-16 17:31:49 +0800352endchoice
353
Sumit Garg8fddf752017-04-20 05:09:11 +0530354config LS_PPA_ESBC_HDR_SIZE
355 hex "Length of PPA ESBC header"
356 depends on FSL_LS_PPA && CHAIN_OF_TRUST && !SYS_LS_PPA_FW_IN_XIP
357 default 0x2000
358 help
359 Length (in bytes) of PPA ESBC header to be copied from MMC/SD or
360 NAND to memory to validate PPA image.
361
macro.wave.z@gmail.comec2d7ed2016-12-08 11:58:21 +0800362endmenu
363
Ran Wange64f7472017-09-04 18:46:50 +0800364config SYS_FSL_ERRATUM_A008997
365 bool "Workaround for USB PHY erratum A008997"
366
Ran Wang3ba69482017-09-04 18:46:51 +0800367config SYS_FSL_ERRATUM_A009007
368 bool
369 help
370 Workaround for USB PHY erratum A009007
371
Ran Wangb358b7b2017-09-04 18:46:48 +0800372config SYS_FSL_ERRATUM_A009008
373 bool "Workaround for USB PHY erratum A009008"
374
Ran Wang9e8fabc2017-09-04 18:46:49 +0800375config SYS_FSL_ERRATUM_A009798
376 bool "Workaround for USB PHY erratum A009798"
377
Ran Wang13a84a52021-06-16 17:53:19 +0530378config SYS_FSL_ERRATUM_A050204
379 bool "Workaround for USB PHY erratum A050204"
Ran Wangd0270dc2019-11-26 11:40:40 +0800380 help
381 USB3.0 Receiver needs to enable fixed equalization
382 for each of PHY instances in an SOC. This is similar
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530383 to erratum A-009007, but this one is for LX2160A and LX2162A,
Ran Wangd0270dc2019-11-26 11:40:40 +0800384 and the register value is different.
385
York Sun149eb332016-09-26 08:09:27 -0700386config SYS_FSL_ERRATUM_A010315
387 bool "Workaround for PCIe erratum A010315"
Hou Zhiqiangc06b30a2016-09-29 12:42:44 +0800388
389config SYS_FSL_ERRATUM_A010539
390 bool "Workaround for PIN MUX erratum A010539"
York Sun4dd8c612016-10-04 14:31:48 -0700391
York Sunf188d222016-10-04 14:45:01 -0700392config MAX_CPUS
393 int "Maximum number of CPUs permitted for Layerscape"
Yuantian Tang4aefa162019-04-10 16:43:33 +0800394 default 2 if ARCH_LS1028A
York Sunf188d222016-10-04 14:45:01 -0700395 default 4 if ARCH_LS1043A
396 default 4 if ARCH_LS1046A
397 default 16 if ARCH_LS2080A
Ashish Kumarb25faa22017-08-31 16:12:53 +0530398 default 8 if ARCH_LS1088A
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000399 default 16 if ARCH_LX2160A
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530400 default 16 if ARCH_LX2162A
York Sunf188d222016-10-04 14:45:01 -0700401 default 1
402 help
403 Set this number to the maximum number of possible CPUs in the SoC.
404 SoCs may have multiple clusters with each cluster may have multiple
405 ports. If some ports are reserved but higher ports are used for
406 cores, count the reserved ports. This will allocate enough memory
407 in spin table to properly handle all cores.
408
Meenakshi Aggarwalbbd33182018-11-30 22:32:11 +0530409config EMC2305
410 bool "Fan controller"
411 help
412 Enable the EMC2305 fan controller for configuration of fan
413 speed.
414
Udit Agarwal22ec2382019-11-07 16:11:32 +0000415config NXP_ESBC
416 bool "NXP_ESBC"
York Sun728e7002016-12-02 09:32:35 -0800417 help
418 Enable Freescale Secure Boot feature
419
Yuan Yao52ae4fd2016-12-01 10:13:52 +0800420config QSPI_AHB_INIT
421 bool "Init the QSPI AHB bus"
422 help
423 The default setting for QSPI AHB bus just support 3bytes addressing.
424 But some QSPI flash size up to 64MBytes, so initialize the QSPI AHB
425 bus for those flashes to support the full QSPI flash size.
426
Kuldeep Singh34aafb02019-11-21 17:15:17 +0530427config FSPI_AHB_EN_4BYTE
428 bool "Enable 4-byte Fast Read command for AHB mode"
429 default n
430 help
431 The default setting for FlexSPI AHB bus just supports 3-byte addressing.
432 But some FlexSPI flash sizes are up to 64MBytes.
433 This flag enables fast read command for AHB mode and modifies required
434 LUT to support full FlexSPI flash.
435
Ashish Kumar11234062017-08-11 11:09:14 +0530436config SYS_CCI400_OFFSET
437 hex "Offset for CCI400 base"
438 depends on SYS_FSL_HAS_CCI400
Yuantian Tang4aefa162019-04-10 16:43:33 +0800439 default 0x3090000 if ARCH_LS1088A || ARCH_LS1028A
Ashish Kumar11234062017-08-11 11:09:14 +0530440 default 0x180000 if FSL_LSCH2
441 help
442 Offset for CCI400 base
443 CCI400 base addr = CCSRBAR + CCI400_OFFSET
444
York Sune7310a32016-10-04 14:45:54 -0700445config SYS_FSL_IFC_BANK_COUNT
446 int "Maximum banks of Integrated flash controller"
Ashish Kumarb25faa22017-08-31 16:12:53 +0530447 depends on ARCH_LS1043A || ARCH_LS1046A || ARCH_LS2080A || ARCH_LS1088A
York Sune7310a32016-10-04 14:45:54 -0700448 default 4 if ARCH_LS1043A
449 default 4 if ARCH_LS1046A
Ashish Kumarb25faa22017-08-31 16:12:53 +0530450 default 8 if ARCH_LS2080A || ARCH_LS1088A
York Sune7310a32016-10-04 14:45:54 -0700451
Ashish Kumar11234062017-08-11 11:09:14 +0530452config SYS_FSL_HAS_CCI400
453 bool
454
Ashish Kumar97393d62017-08-18 10:54:36 +0530455config SYS_FSL_HAS_CCN504
456 bool
457
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000458config SYS_FSL_HAS_CCN508
459 bool
460
York Sun0dc9abb2016-10-04 14:46:50 -0700461config SYS_FSL_HAS_DP_DDR
462 bool
463
York Sun6b62ef02016-10-04 18:01:34 -0700464config SYS_FSL_SRDS_1
465 bool
466
467config SYS_FSL_SRDS_2
468 bool
469
Priyanka Jain1a602532018-09-27 10:32:05 +0530470config SYS_NXP_SRDS_3
471 bool
472
York Sun6b62ef02016-10-04 18:01:34 -0700473config SYS_HAS_SERDES
474 bool
475
Ashish kumar76bd6ce2017-04-07 11:40:32 +0530476config FSL_TZASC_1
477 bool
478
479config FSL_TZASC_2
480 bool
481
Rajesh Bhagat5756f7e2019-01-20 05:30:06 +0000482config FSL_TZASC_400
483 bool
484
485config FSL_TZPC_BP147
486 bool
York Sun4dd8c612016-10-04 14:31:48 -0700487endmenu
York Sun1dc61ca2016-12-28 08:43:41 -0800488
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800489menu "Layerscape clock tree configuration"
490 depends on FSL_LSCH2 || FSL_LSCH3
491
492config SYS_FSL_CLK
493 bool "Enable clock tree initialization"
494 default y
495
496config CLUSTER_CLK_FREQ
497 int "Reference clock of core cluster"
498 depends on ARCH_LS1012A
499 default 100000000
500 help
501 This number is the reference clock frequency of core PLL.
502 For most platforms, the core PLL and Platform PLL have the same
503 reference clock, but for some platforms, LS1012A for instance,
504 they are provided sepatately.
505
506config SYS_FSL_PCLK_DIV
507 int "Platform clock divider"
Yuantian Tang4aefa162019-04-10 16:43:33 +0800508 default 1 if ARCH_LS1028A
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800509 default 1 if ARCH_LS1043A
510 default 1 if ARCH_LS1046A
Ashish Kumarb25faa22017-08-31 16:12:53 +0530511 default 1 if ARCH_LS1088A
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800512 default 2
513 help
514 This is the divider that is used to derive Platform clock from
515 Platform PLL, in another word:
516 Platform_clk = Platform_PLL_freq / this_divider
517
518config SYS_FSL_DSPI_CLK_DIV
519 int "DSPI clock divider"
520 default 1 if ARCH_LS1043A
521 default 2
522 help
523 This is the divider that is used to derive DSPI clock from Platform
Hou Zhiqiang0c8fcb62017-07-03 18:37:11 +0800524 clock, in another word DSPI_clk = Platform_clk / this_divider.
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800525
526config SYS_FSL_DUART_CLK_DIV
527 int "DUART clock divider"
528 default 1 if ARCH_LS1043A
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000529 default 4 if ARCH_LX2160A
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530530 default 4 if ARCH_LX2162A
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800531 default 2
532 help
533 This is the divider that is used to derive DUART clock from Platform
534 clock, in another word DUART_clk = Platform_clk / this_divider.
535
536config SYS_FSL_I2C_CLK_DIV
537 int "I2C clock divider"
538 default 1 if ARCH_LS1043A
Chuanhua Han44d4d332019-08-02 16:53:53 +0800539 default 4 if ARCH_LS1012A
540 default 4 if ARCH_LS1028A
541 default 8 if ARCH_LX2160A
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530542 default 8 if ARCH_LX2162A
Chuanhua Han44d4d332019-08-02 16:53:53 +0800543 default 8 if ARCH_LS1088A
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800544 default 2
545 help
546 This is the divider that is used to derive I2C clock from Platform
547 clock, in another word I2C_clk = Platform_clk / this_divider.
548
549config SYS_FSL_IFC_CLK_DIV
550 int "IFC clock divider"
551 default 1 if ARCH_LS1043A
Chuanhua Han3df89cc2019-08-08 17:04:58 +0800552 default 4 if ARCH_LS1012A
553 default 4 if ARCH_LS1028A
554 default 8 if ARCH_LX2160A
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530555 default 8 if ARCH_LX2162A
Chuanhua Han3df89cc2019-08-08 17:04:58 +0800556 default 8 if ARCH_LS1088A
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800557 default 2
558 help
559 This is the divider that is used to derive IFC clock from Platform
560 clock, in another word IFC_clk = Platform_clk / this_divider.
561
562config SYS_FSL_LPUART_CLK_DIV
563 int "LPUART clock divider"
564 default 1 if ARCH_LS1043A
565 default 2
566 help
567 This is the divider that is used to derive LPUART clock from Platform
568 clock, in another word LPUART_clk = Platform_clk / this_divider.
569
570config SYS_FSL_SDHC_CLK_DIV
571 int "SDHC clock divider"
572 default 1 if ARCH_LS1043A
573 default 1 if ARCH_LS1012A
574 default 2
575 help
576 This is the divider that is used to derive SDHC clock from Platform
577 clock, in another word SDHC_clk = Platform_clk / this_divider.
Hou Zhiqiangfef32c62018-04-25 16:28:44 +0800578
579config SYS_FSL_QMAN_CLK_DIV
580 int "QMAN clock divider"
581 default 1 if ARCH_LS1043A
582 default 2
583 help
584 This is the divider that is used to derive QMAN clock from Platform
585 clock, in another word QMAN_clk = Platform_clk / this_divider.
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800586endmenu
587
York Sund6964b32017-03-06 09:02:24 -0800588config RESV_RAM
589 bool
590 help
591 Reserve memory from the top, tracked by gd->arch.resv_ram. This
592 reserved RAM can be used by special driver that resides in memory
593 after U-Boot exits. It's up to implementation to allocate and allow
594 access to this reserved memory. For example, the reserved RAM can
595 be at the high end of physical memory. The reserve RAM may be
596 excluded from memory bank(s) passed to OS, or marked as reserved.
597
Ashish Kumarec455e22017-08-31 16:37:31 +0530598config SYS_FSL_EC1
599 bool
600 help
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000601 Ethernet controller 1, this is connected to
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530602 MAC17 for LX2160A and LX2162A or to MAC3 for other SoCs
Ashish Kumarec455e22017-08-31 16:37:31 +0530603 Provides DPAA2 capabilities
604
605config SYS_FSL_EC2
606 bool
607 help
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000608 Ethernet controller 2, this is connected to
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530609 MAC18 for LX2160A and LX2162A or to MAC4 for other SoCs
Ashish Kumarec455e22017-08-31 16:37:31 +0530610 Provides DPAA2 capabilities
611
York Sun1dc61ca2016-12-28 08:43:41 -0800612config SYS_FSL_ERRATUM_A008336
613 bool
614
615config SYS_FSL_ERRATUM_A008514
616 bool
617
618config SYS_FSL_ERRATUM_A008585
619 bool
620
621config SYS_FSL_ERRATUM_A008850
622 bool
623
Ashish kumar3b52a232017-02-23 16:03:57 +0530624config SYS_FSL_ERRATUM_A009203
625 bool
626
York Sun1dc61ca2016-12-28 08:43:41 -0800627config SYS_FSL_ERRATUM_A009635
628 bool
629
630config SYS_FSL_ERRATUM_A009660
631 bool
632
Laurentiu Tudor7ea2feb2019-10-18 09:01:56 +0000633config SYS_FSL_ERRATUM_A050382
634 bool
Ashish Kumarec455e22017-08-31 16:37:31 +0530635
636config SYS_FSL_HAS_RGMII
637 bool
638 depends on SYS_FSL_EC1 || SYS_FSL_EC2
639
Philipp Tomsich2d6a0cc2017-08-03 23:23:55 +0200640config SPL_LDSCRIPT
641 default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARCH_LS1043A || ARCH_LS1046A || ARCH_LS2080A
Ran Wang5959f842017-10-23 10:09:21 +0800642
643config HAS_FSL_XHCI_USB
644 bool
645 default y if ARCH_LS1043A || ARCH_LS1046A
646 help
647 For some SoC(such as LS1043A and LS1046A), USB and QE-HDLC multiplex use
648 pins, select it when the pins are assigned to USB.
Rajesh Bhagat729f22f2021-02-11 13:28:49 +0100649
650config SYS_FSL_BOOTROM_BASE
651 hex
652 depends on FSL_LSCH2
653 default 0
654
655config SYS_FSL_BOOTROM_SIZE
656 hex
657 depends on FSL_LSCH2
658 default 0x1000000