blob: dd953803dcd418adf3acfb8e27e48a07136daaae [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
Tom Rini249f11f2021-08-19 14:19:39 -04007 select GICV2
Tom Rinie1e85442021-08-27 21:18:30 -04008 select SKIP_LOWLEVEL_INIT
Sriram Dash4a943332018-01-30 15:58:44 +05309 select SYS_FSL_SRDS_1
10 select SYS_HAS_SERDES
York Sunb6fffd82016-10-04 18:03:08 -070011 select SYS_FSL_DDR_BE
York Sunb3d71642016-09-26 08:09:26 -070012 select SYS_FSL_MMDC
Alban Bedel1b1ca2f2021-09-06 16:32:56 +020013 select SYS_FSL_ERRATUM_A010315 if PCIE_LAYERSCAPE
Ran Wang02dc77b2017-11-13 16:14:48 +080014 select SYS_FSL_ERRATUM_A009798
15 select SYS_FSL_ERRATUM_A008997
16 select SYS_FSL_ERRATUM_A009007
17 select SYS_FSL_ERRATUM_A009008
Simon Glass62adede2017-01-23 13:31:19 -070018 select ARCH_EARLY_INIT_R
Simon Glass7a99a872017-01-23 13:31:20 -070019 select BOARD_EARLY_INIT_F
Sriram Dash7122a0c2018-02-06 11:26:30 +053020 select SYS_I2C_MXC
Biwen Li0a759bb2019-12-31 15:33:41 +080021 select SYS_I2C_MXC_I2C1 if !DM_I2C
22 select SYS_I2C_MXC_I2C2 if !DM_I2C
Masahiro Yamadaacede7a2017-12-04 12:37:00 +090023 imply PANIC_HANG
Simon Glass65831d92021-12-18 11:27:50 -070024 imply TIMESTAMP
York Sun149eb332016-09-26 08:09:27 -070025
Yuantian Tang4aefa162019-04-10 16:43:33 +080026config ARCH_LS1028A
27 bool
28 select ARMV8_SET_SMPEN
Michael Walle66f2a532020-05-10 01:20:11 +020029 select FSL_LAYERSCAPE
Yuantian Tang4aefa162019-04-10 16:43:33 +080030 select FSL_LSCH3
Tom Rini249f11f2021-08-19 14:19:39 -040031 select GICV3
Yuantian Tang4aefa162019-04-10 16:43:33 +080032 select NXP_LSCH3_2
33 select SYS_FSL_HAS_CCI400
34 select SYS_FSL_SRDS_1
35 select SYS_HAS_SERDES
36 select SYS_FSL_DDR
37 select SYS_FSL_DDR_LE
38 select SYS_FSL_DDR_VER_50
39 select SYS_FSL_HAS_DDR3
40 select SYS_FSL_HAS_DDR4
41 select SYS_FSL_HAS_SEC
42 select SYS_FSL_SEC_COMPAT_5
43 select SYS_FSL_SEC_LE
44 select FSL_TZASC_1
Tom Rinid391d8b2021-12-11 14:55:51 -050045 select FSL_TZPC_BP147
Yuantian Tang4aefa162019-04-10 16:43:33 +080046 select ARCH_EARLY_INIT_R
47 select BOARD_EARLY_INIT_F
48 select SYS_I2C_MXC
Ran Wange118acb2019-05-14 17:34:56 +080049 select SYS_FSL_ERRATUM_A008997
Yuantian Tang4aefa162019-04-10 16:43:33 +080050 select SYS_FSL_ERRATUM_A009007
51 select SYS_FSL_ERRATUM_A008514 if !TFABOOT
52 select SYS_FSL_ERRATUM_A009663 if !TFABOOT
53 select SYS_FSL_ERRATUM_A009942 if !TFABOOT
Laurentiu Tudor7ea2feb2019-10-18 09:01:56 +000054 select SYS_FSL_ERRATUM_A050382
Michael Walle148dc612021-03-17 15:01:36 +010055 select SYS_FSL_ERRATUM_A011334
Michael Walle7259dc52021-03-17 15:01:37 +010056 select SYS_FSL_ESDHC_UNRELIABLE_PULSE_DETECTION_WORKAROUND
Hou Zhiqiangce4a92a2020-04-28 10:19:31 +080057 select RESV_RAM if GIC_V3_ITS
Yuantian Tang4aefa162019-04-10 16:43:33 +080058 imply PANIC_HANG
59
York Sun149eb332016-09-26 08:09:27 -070060config ARCH_LS1043A
York Sunfcd0e742016-10-04 14:31:47 -070061 bool
Hou Zhiqiang4d1525a2017-01-06 17:41:11 +080062 select ARMV8_SET_SMPEN
Rajesh Bhagatcd786e82018-11-05 18:01:48 +000063 select ARM_ERRATA_855873 if !TFABOOT
Tom Rini05b419e2021-12-11 14:55:49 -050064 select FSL_IFC if TFABOOT || (!QSPI_BOOT && !SD_BOOT_QSPI)
Rajesh Bhagat52d237a2019-01-25 13:36:26 +000065 select FSL_LAYERSCAPE
York Sun4dd8c612016-10-04 14:31:48 -070066 select FSL_LSCH2
Tom Rini249f11f2021-08-19 14:19:39 -040067 select GICV2
Tom Rini46c97312021-07-21 18:53:20 -040068 select HAS_FSL_XHCI_USB if USB_HOST
Tom Rinie1e85442021-08-27 21:18:30 -040069 select SKIP_LOWLEVEL_INIT
Sriram Dash4a943332018-01-30 15:58:44 +053070 select SYS_FSL_SRDS_1
71 select SYS_HAS_SERDES
York Sund297d392016-12-28 08:43:40 -080072 select SYS_FSL_DDR
York Sunb6fffd82016-10-04 18:03:08 -070073 select SYS_FSL_DDR_BE
74 select SYS_FSL_DDR_VER_50
Rajesh Bhagatcd786e82018-11-05 18:01:48 +000075 select SYS_FSL_ERRATUM_A008850 if !TFABOOT
Ran Wange64f7472017-09-04 18:46:50 +080076 select SYS_FSL_ERRATUM_A008997
Ran Wangb358b7b2017-09-04 18:46:48 +080077 select SYS_FSL_ERRATUM_A009008
Rajesh Bhagatcd786e82018-11-05 18:01:48 +000078 select SYS_FSL_ERRATUM_A009660 if !TFABOOT
79 select SYS_FSL_ERRATUM_A009663 if !TFABOOT
Ran Wang9e8fabc2017-09-04 18:46:49 +080080 select SYS_FSL_ERRATUM_A009798
Rajesh Bhagatcd786e82018-11-05 18:01:48 +000081 select SYS_FSL_ERRATUM_A009942 if !TFABOOT
Alban Bedel1b1ca2f2021-09-06 16:32:56 +020082 select SYS_FSL_ERRATUM_A010315 if PCIE_LAYERSCAPE
Hou Zhiqiangc06b30a2016-09-29 12:42:44 +080083 select SYS_FSL_ERRATUM_A010539
York Sund297d392016-12-28 08:43:40 -080084 select SYS_FSL_HAS_DDR3
85 select SYS_FSL_HAS_DDR4
Simon Glass62adede2017-01-23 13:31:19 -070086 select ARCH_EARLY_INIT_R
Simon Glass7a99a872017-01-23 13:31:20 -070087 select BOARD_EARLY_INIT_F
Biwen Li42637e72020-06-04 18:42:14 +080088 select SYS_I2C_MXC
Biwen Li014460b2020-02-05 22:02:16 +080089 select SYS_I2C_MXC_I2C1 if !DM_I2C
90 select SYS_I2C_MXC_I2C2 if !DM_I2C
91 select SYS_I2C_MXC_I2C3 if !DM_I2C
92 select SYS_I2C_MXC_I2C4 if !DM_I2C
Simon Glassc88a09a2017-08-04 16:34:34 -060093 imply CMD_PCI
Tom Rini4abdf142021-08-17 17:59:41 -040094 imply ID_EEPROM
York Sunb3d71642016-09-26 08:09:26 -070095
York Sunbad49842016-09-26 08:09:24 -070096config ARCH_LS1046A
York Sunfcd0e742016-10-04 14:31:47 -070097 bool
Hou Zhiqiang4d1525a2017-01-06 17:41:11 +080098 select ARMV8_SET_SMPEN
Tom Rini05b419e2021-12-11 14:55:49 -050099 select FSL_IFC if TFABOOT || (!QSPI_BOOT && !SD_BOOT_QSPI)
Rajesh Bhagat52d237a2019-01-25 13:36:26 +0000100 select FSL_LAYERSCAPE
York Sun4dd8c612016-10-04 14:31:48 -0700101 select FSL_LSCH2
Tom Rini249f11f2021-08-19 14:19:39 -0400102 select GICV2
Tom Rini46c97312021-07-21 18:53:20 -0400103 select HAS_FSL_XHCI_USB if USB_HOST
Tom Rinie1e85442021-08-27 21:18:30 -0400104 select SKIP_LOWLEVEL_INIT
Sriram Dash4a943332018-01-30 15:58:44 +0530105 select SYS_FSL_SRDS_1
106 select SYS_HAS_SERDES
York Sund297d392016-12-28 08:43:40 -0800107 select SYS_FSL_DDR
York Sunb6fffd82016-10-04 18:03:08 -0700108 select SYS_FSL_DDR_BE
York Sunb6fffd82016-10-04 18:03:08 -0700109 select SYS_FSL_DDR_VER_50
Rajesh Bhagatcd786e82018-11-05 18:01:48 +0000110 select SYS_FSL_ERRATUM_A008336 if !TFABOOT
111 select SYS_FSL_ERRATUM_A008511 if !TFABOOT
112 select SYS_FSL_ERRATUM_A008850 if !TFABOOT
Ran Wange64f7472017-09-04 18:46:50 +0800113 select SYS_FSL_ERRATUM_A008997
Ran Wangb358b7b2017-09-04 18:46:48 +0800114 select SYS_FSL_ERRATUM_A009008
Ran Wang9e8fabc2017-09-04 18:46:49 +0800115 select SYS_FSL_ERRATUM_A009798
York Sun1dc61ca2016-12-28 08:43:41 -0800116 select SYS_FSL_ERRATUM_A009801
Rajesh Bhagatcd786e82018-11-05 18:01:48 +0000117 select SYS_FSL_ERRATUM_A009803 if !TFABOOT
118 select SYS_FSL_ERRATUM_A009942 if !TFABOOT
119 select SYS_FSL_ERRATUM_A010165 if !TFABOOT
Hou Zhiqiangc06b30a2016-09-29 12:42:44 +0800120 select SYS_FSL_ERRATUM_A010539
York Sund297d392016-12-28 08:43:40 -0800121 select SYS_FSL_HAS_DDR4
York Sun6b62ef02016-10-04 18:01:34 -0700122 select SYS_FSL_SRDS_2
Simon Glass62adede2017-01-23 13:31:19 -0700123 select ARCH_EARLY_INIT_R
Simon Glass7a99a872017-01-23 13:31:20 -0700124 select BOARD_EARLY_INIT_F
Biwen Li42637e72020-06-04 18:42:14 +0800125 select SYS_I2C_MXC
Biwen Lif0018f52020-02-05 22:02:17 +0800126 select SYS_I2C_MXC_I2C1 if !DM_I2C
127 select SYS_I2C_MXC_I2C2 if !DM_I2C
128 select SYS_I2C_MXC_I2C3 if !DM_I2C
129 select SYS_I2C_MXC_I2C4 if !DM_I2C
Tom Rini4abdf142021-08-17 17:59:41 -0400130 imply ID_EEPROM
Simon Glass0e5faf02017-06-14 21:28:21 -0600131 imply SCSI
Tuomas Tynkkynenedf9f622017-12-08 15:36:19 +0200132 imply SCSI_AHCI
Tom Rini52b2e262021-08-18 23:12:24 -0400133 imply SPL_SYS_I2C_LEGACY
York Sunb3d71642016-09-26 08:09:26 -0700134
Ashish Kumarb25faa22017-08-31 16:12:53 +0530135config ARCH_LS1088A
136 bool
137 select ARMV8_SET_SMPEN
Pankit Gargf5c2a832018-12-27 04:37:55 +0000138 select ARM_ERRATA_855873 if !TFABOOT
Tom Rini05b419e2021-12-11 14:55:49 -0500139 select FSL_IFC
Rajesh Bhagat52d237a2019-01-25 13:36:26 +0000140 select FSL_LAYERSCAPE
Ashish Kumarb25faa22017-08-31 16:12:53 +0530141 select FSL_LSCH3
Tom Rini249f11f2021-08-19 14:19:39 -0400142 select GICV3
Tom Rinie1e85442021-08-27 21:18:30 -0400143 select SKIP_LOWLEVEL_INIT
Sriram Dash4a943332018-01-30 15:58:44 +0530144 select SYS_FSL_SRDS_1
145 select SYS_HAS_SERDES
Ashish Kumarb25faa22017-08-31 16:12:53 +0530146 select SYS_FSL_DDR
147 select SYS_FSL_DDR_LE
148 select SYS_FSL_DDR_VER_50
Ashish Kumarec455e22017-08-31 16:37:31 +0530149 select SYS_FSL_EC1
150 select SYS_FSL_EC2
Pankit Gargf5c2a832018-12-27 04:37:55 +0000151 select SYS_FSL_ERRATUM_A009803 if !TFABOOT
152 select SYS_FSL_ERRATUM_A009942 if !TFABOOT
153 select SYS_FSL_ERRATUM_A010165 if !TFABOOT
154 select SYS_FSL_ERRATUM_A008511 if !TFABOOT
155 select SYS_FSL_ERRATUM_A008850 if !TFABOOT
Ran Wangef277072017-09-22 15:21:34 +0800156 select SYS_FSL_ERRATUM_A009007
Ashish Kumarb25faa22017-08-31 16:12:53 +0530157 select SYS_FSL_HAS_CCI400
158 select SYS_FSL_HAS_DDR4
Ashish Kumarec455e22017-08-31 16:37:31 +0530159 select SYS_FSL_HAS_RGMII
Ashish Kumarb25faa22017-08-31 16:12:53 +0530160 select SYS_FSL_HAS_SEC
161 select SYS_FSL_SEC_COMPAT_5
162 select SYS_FSL_SEC_LE
163 select SYS_FSL_SRDS_1
164 select SYS_FSL_SRDS_2
165 select FSL_TZASC_1
Rajesh Bhagat5756f7e2019-01-20 05:30:06 +0000166 select FSL_TZASC_400
167 select FSL_TZPC_BP147
Ashish Kumarb25faa22017-08-31 16:12:53 +0530168 select ARCH_EARLY_INIT_R
169 select BOARD_EARLY_INIT_F
Sriram Dash7122a0c2018-02-06 11:26:30 +0530170 select SYS_I2C_MXC
Chuanhua Han98a5e402019-07-26 20:25:37 +0800171 select SYS_I2C_MXC_I2C1 if !TFABOOT
172 select SYS_I2C_MXC_I2C2 if !TFABOOT
173 select SYS_I2C_MXC_I2C3 if !TFABOOT
174 select SYS_I2C_MXC_I2C4 if !TFABOOT
Hou Zhiqiangce4a92a2020-04-28 10:19:31 +0800175 select RESV_RAM if GIC_V3_ITS
Tom Rini4abdf142021-08-17 17:59:41 -0400176 imply ID_EEPROM
Ashish Kumara179e562017-11-02 09:50:47 +0530177 imply SCSI
Tom Rini52b2e262021-08-18 23:12:24 -0400178 imply SPL_SYS_I2C_LEGACY
Masahiro Yamadaacede7a2017-12-04 12:37:00 +0900179 imply PANIC_HANG
Ashish Kumarb25faa22017-08-31 16:12:53 +0530180
York Sunfcd0e742016-10-04 14:31:47 -0700181config ARCH_LS2080A
182 bool
Hou Zhiqiang4d1525a2017-01-06 17:41:11 +0800183 select ARMV8_SET_SMPEN
Tom Rinibacb52c2017-03-07 07:13:42 -0500184 select ARM_ERRATA_826974
185 select ARM_ERRATA_828024
186 select ARM_ERRATA_829520
187 select ARM_ERRATA_833471
Tom Rini05b419e2021-12-11 14:55:49 -0500188 select FSL_IFC
Rajesh Bhagat52d237a2019-01-25 13:36:26 +0000189 select FSL_LAYERSCAPE
York Sun4dd8c612016-10-04 14:31:48 -0700190 select FSL_LSCH3
Tom Rini249f11f2021-08-19 14:19:39 -0400191 select GICV3
Tom Rinie1e85442021-08-27 21:18:30 -0400192 select SKIP_LOWLEVEL_INIT
Sriram Dash4a943332018-01-30 15:58:44 +0530193 select SYS_FSL_SRDS_1
194 select SYS_HAS_SERDES
York Sund297d392016-12-28 08:43:40 -0800195 select SYS_FSL_DDR
York Sunb6fffd82016-10-04 18:03:08 -0700196 select SYS_FSL_DDR_LE
197 select SYS_FSL_DDR_VER_50
Ashish Kumar97393d62017-08-18 10:54:36 +0530198 select SYS_FSL_HAS_CCN504
York Sun6b62ef02016-10-04 18:01:34 -0700199 select SYS_FSL_HAS_DP_DDR
York Sun92c36e22016-12-28 08:43:30 -0800200 select SYS_FSL_HAS_SEC
York Sund297d392016-12-28 08:43:40 -0800201 select SYS_FSL_HAS_DDR4
York Sun92c36e22016-12-28 08:43:30 -0800202 select SYS_FSL_SEC_COMPAT_5
York Sunfa4199422016-12-28 08:43:31 -0800203 select SYS_FSL_SEC_LE
York Sun6b62ef02016-10-04 18:01:34 -0700204 select SYS_FSL_SRDS_2
Ashish kumar76bd6ce2017-04-07 11:40:32 +0530205 select FSL_TZASC_1
206 select FSL_TZASC_2
Rajesh Bhagat5756f7e2019-01-20 05:30:06 +0000207 select FSL_TZASC_400
208 select FSL_TZPC_BP147
Rajesh Bhagatd5691be2018-12-27 04:37:59 +0000209 select SYS_FSL_ERRATUM_A008336 if !TFABOOT
210 select SYS_FSL_ERRATUM_A008511 if !TFABOOT
211 select SYS_FSL_ERRATUM_A008514 if !TFABOOT
York Sun1dc61ca2016-12-28 08:43:41 -0800212 select SYS_FSL_ERRATUM_A008585
Ran Wange64f7472017-09-04 18:46:50 +0800213 select SYS_FSL_ERRATUM_A008997
Ran Wang3ba69482017-09-04 18:46:51 +0800214 select SYS_FSL_ERRATUM_A009007
Ran Wangb358b7b2017-09-04 18:46:48 +0800215 select SYS_FSL_ERRATUM_A009008
York Sun1dc61ca2016-12-28 08:43:41 -0800216 select SYS_FSL_ERRATUM_A009635
Rajesh Bhagatd5691be2018-12-27 04:37:59 +0000217 select SYS_FSL_ERRATUM_A009663 if !TFABOOT
Ran Wang9e8fabc2017-09-04 18:46:49 +0800218 select SYS_FSL_ERRATUM_A009798
York Sun1dc61ca2016-12-28 08:43:41 -0800219 select SYS_FSL_ERRATUM_A009801
Rajesh Bhagatd5691be2018-12-27 04:37:59 +0000220 select SYS_FSL_ERRATUM_A009803 if !TFABOOT
221 select SYS_FSL_ERRATUM_A009942 if !TFABOOT
222 select SYS_FSL_ERRATUM_A010165 if !TFABOOT
Ashish kumar3b52a232017-02-23 16:03:57 +0530223 select SYS_FSL_ERRATUM_A009203
Simon Glass62adede2017-01-23 13:31:19 -0700224 select ARCH_EARLY_INIT_R
Simon Glass7a99a872017-01-23 13:31:20 -0700225 select BOARD_EARLY_INIT_F
Sriram Dash7122a0c2018-02-06 11:26:30 +0530226 select SYS_I2C_MXC
Chuanhua Han3f27fff2019-07-26 19:24:03 +0800227 select SYS_I2C_MXC_I2C1 if !TFABOOT
228 select SYS_I2C_MXC_I2C2 if !TFABOOT
229 select SYS_I2C_MXC_I2C3 if !TFABOOT
230 select SYS_I2C_MXC_I2C4 if !TFABOOT
Hou Zhiqiangce4a92a2020-04-28 10:19:31 +0800231 select RESV_RAM if GIC_V3_ITS
Masahiro Yamada9afc6c52018-04-25 18:47:52 +0900232 imply DISTRO_DEFAULTS
Tom Rini4abdf142021-08-17 17:59:41 -0400233 imply ID_EEPROM
Masahiro Yamadaacede7a2017-12-04 12:37:00 +0900234 imply PANIC_HANG
Tom Rini52b2e262021-08-18 23:12:24 -0400235 imply SPL_SYS_I2C_LEGACY
York Sun4dd8c612016-10-04 14:31:48 -0700236
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530237config ARCH_LX2162A
238 bool
239 select ARMV8_SET_SMPEN
Tom Riniea3cc392021-11-13 19:22:43 -0500240 select FSL_DDR_BIST
241 select FSL_DDR_INTERACTIVE
Tom Rini80b48612021-11-07 22:59:36 -0500242 select FSL_LAYERSCAPE
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530243 select FSL_LSCH3
Tom Rinid391d8b2021-12-11 14:55:51 -0500244 select FSL_TZPC_BP147
Tom Rini249f11f2021-08-19 14:19:39 -0400245 select GICV3
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530246 select NXP_LSCH3_2
247 select SYS_HAS_SERDES
248 select SYS_FSL_SRDS_1
249 select SYS_FSL_SRDS_2
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 Wang13a84a52021-06-16 17:53:19 +0530255 select SYS_FSL_ERRATUM_A050204
Yangbo Lu84f0a952021-04-27 16:42:11 +0800256 select SYS_FSL_ERRATUM_A011334
257 select SYS_FSL_ESDHC_UNRELIABLE_PULSE_DETECTION_WORKAROUND
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530258 select SYS_FSL_HAS_RGMII
259 select SYS_FSL_HAS_SEC
260 select SYS_FSL_HAS_CCN508
261 select SYS_FSL_HAS_DDR4
262 select SYS_FSL_SEC_COMPAT_5
263 select SYS_FSL_SEC_LE
Tom Rini50e6f1b2021-12-12 22:12:32 -0500264 select SYS_PCI_64BIT if PCI
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530265 select ARCH_EARLY_INIT_R
266 select BOARD_EARLY_INIT_F
267 select SYS_I2C_MXC
268 select RESV_RAM if GIC_V3_ITS
269 imply DISTRO_DEFAULTS
270 imply PANIC_HANG
271 imply SCSI
272 imply SCSI_AHCI
Tom Rini52b2e262021-08-18 23:12:24 -0400273 imply SPL_SYS_I2C_LEGACY
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530274
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000275config ARCH_LX2160A
276 bool
277 select ARMV8_SET_SMPEN
Tom Riniea3cc392021-11-13 19:22:43 -0500278 select FSL_DDR_BIST
279 select FSL_DDR_INTERACTIVE
Tom Rini80b48612021-11-07 22:59:36 -0500280 select FSL_LAYERSCAPE
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000281 select FSL_LSCH3
Tom Rinid391d8b2021-12-11 14:55:51 -0500282 select FSL_TZPC_BP147
Tom Rini249f11f2021-08-19 14:19:39 -0400283 select GICV3
Tom Rini46c97312021-07-21 18:53:20 -0400284 select HAS_FSL_XHCI_USB if USB_HOST
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000285 select NXP_LSCH3_2
286 select SYS_HAS_SERDES
287 select SYS_FSL_SRDS_1
288 select SYS_FSL_SRDS_2
289 select SYS_NXP_SRDS_3
290 select SYS_FSL_DDR
291 select SYS_FSL_DDR_LE
292 select SYS_FSL_DDR_VER_50
293 select SYS_FSL_EC1
294 select SYS_FSL_EC2
Ran Wang13a84a52021-06-16 17:53:19 +0530295 select SYS_FSL_ERRATUM_A050204
Yangbo Lu84f0a952021-04-27 16:42:11 +0800296 select SYS_FSL_ERRATUM_A011334
297 select SYS_FSL_ESDHC_UNRELIABLE_PULSE_DETECTION_WORKAROUND
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000298 select SYS_FSL_HAS_RGMII
299 select SYS_FSL_HAS_SEC
300 select SYS_FSL_HAS_CCN508
301 select SYS_FSL_HAS_DDR4
302 select SYS_FSL_SEC_COMPAT_5
303 select SYS_FSL_SEC_LE
Tom Rini50e6f1b2021-12-12 22:12:32 -0500304 select SYS_PCI_64BIT if PCI
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000305 select ARCH_EARLY_INIT_R
306 select BOARD_EARLY_INIT_F
307 select SYS_I2C_MXC
Hou Zhiqiangce4a92a2020-04-28 10:19:31 +0800308 select RESV_RAM if GIC_V3_ITS
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000309 imply DISTRO_DEFAULTS
Tom Rini4abdf142021-08-17 17:59:41 -0400310 imply ID_EEPROM
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000311 imply PANIC_HANG
312 imply SCSI
313 imply SCSI_AHCI
Tom Rini52b2e262021-08-18 23:12:24 -0400314 imply SPL_SYS_I2C_LEGACY
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000315
York Sun4dd8c612016-10-04 14:31:48 -0700316config FSL_LSCH2
317 bool
Tom Rinie1e85442021-08-27 21:18:30 -0400318 select SKIP_LOWLEVEL_INIT
Ashish Kumar11234062017-08-11 11:09:14 +0530319 select SYS_FSL_HAS_CCI400
York Sun92c36e22016-12-28 08:43:30 -0800320 select SYS_FSL_HAS_SEC
321 select SYS_FSL_SEC_COMPAT_5
York Sunfa4199422016-12-28 08:43:31 -0800322 select SYS_FSL_SEC_BE
York Sun4dd8c612016-10-04 14:31:48 -0700323
324config FSL_LSCH3
Alex Marginean47568ce2020-01-11 01:05:40 +0200325 select ARCH_MISC_INIT
York Sun4dd8c612016-10-04 14:31:48 -0700326 bool
327
Priyanka Jain88c25662018-10-29 09:11:29 +0000328config NXP_LSCH3_2
329 bool
330
York Sun4dd8c612016-10-04 14:31:48 -0700331menu "Layerscape architecture"
332 depends on FSL_LSCH2 || FSL_LSCH3
York Sunfcd0e742016-10-04 14:31:47 -0700333
Rajesh Bhagat52d237a2019-01-25 13:36:26 +0000334config FSL_LAYERSCAPE
335 bool
336
Wenbin Songa8f57a92017-01-17 18:31:15 +0800337config HAS_FEATURE_GIC64K_ALIGN
338 bool
339 default y if ARCH_LS1043A
340
Wenbin Songc6bc7c02017-01-17 18:31:16 +0800341config HAS_FEATURE_ENHANCED_MSI
342 bool
343 default y if ARCH_LS1043A
Wenbin Songa8f57a92017-01-17 18:31:15 +0800344
macro.wave.z@gmail.comec2d7ed2016-12-08 11:58:21 +0800345menu "Layerscape PPA"
346config FSL_LS_PPA
347 bool "FSL Layerscape PPA firmware support"
macro.wave.z@gmail.com01bd3342016-12-08 11:58:22 +0800348 depends on !ARMV8_PSCI
Hou Zhiqiangbff56d52017-01-16 17:31:49 +0800349 select ARMV8_SEC_FIRMWARE_SUPPORT
Hou Zhiqiang6be115d2017-01-16 17:31:48 +0800350 select SEC_FIRMWARE_ARMV8_PSCI
Hou Zhiqiangbff56d52017-01-16 17:31:49 +0800351 select ARMV8_SEC_FIRMWARE_ERET_ADDR_REVERT if FSL_LSCH2
macro.wave.z@gmail.comec2d7ed2016-12-08 11:58:21 +0800352 help
353 The FSL Primary Protected Application (PPA) is a software component
354 which is loaded during boot stage, and then remains resident in RAM
355 and runs in the TrustZone after boot.
356 Say y to enable it.
York Sunf2aaf842017-05-15 08:52:00 -0700357
358config SPL_FSL_LS_PPA
359 bool "FSL Layerscape PPA firmware support for SPL build"
360 depends on !ARMV8_PSCI
361 select SPL_ARMV8_SEC_FIRMWARE_SUPPORT
362 select SEC_FIRMWARE_ARMV8_PSCI
363 select ARMV8_SEC_FIRMWARE_ERET_ADDR_REVERT if FSL_LSCH2
364 help
365 The FSL Primary Protected Application (PPA) is a software component
366 which is loaded during boot stage, and then remains resident in RAM
367 and runs in the TrustZone after boot. This is to load PPA during SPL
368 stage instead of the RAM version of U-Boot. Once PPA is initialized,
369 the rest of U-Boot (including RAM version) runs at EL2.
Hou Zhiqiangbff56d52017-01-16 17:31:49 +0800370choice
371 prompt "FSL Layerscape PPA firmware loading-media select"
372 depends on FSL_LS_PPA
Hou Zhiqiangbd6e2cd2017-03-17 16:12:33 +0800373 default SYS_LS_PPA_FW_IN_MMC if SD_BOOT
374 default SYS_LS_PPA_FW_IN_NAND if NAND_BOOT
Hou Zhiqiangbff56d52017-01-16 17:31:49 +0800375 default SYS_LS_PPA_FW_IN_XIP
376
377config SYS_LS_PPA_FW_IN_XIP
378 bool "XIP"
379 help
380 Say Y here if the PPA firmware locate at XIP flash, such
381 as NOR or QSPI flash.
382
Hou Zhiqiangbd6e2cd2017-03-17 16:12:33 +0800383config SYS_LS_PPA_FW_IN_MMC
384 bool "eMMC or SD Card"
385 help
386 Say Y here if the PPA firmware locate at eMMC/SD card.
387
388config SYS_LS_PPA_FW_IN_NAND
389 bool "NAND"
390 help
391 Say Y here if the PPA firmware locate at NAND flash.
392
Hou Zhiqiangbff56d52017-01-16 17:31:49 +0800393endchoice
394
Sumit Garg8fddf752017-04-20 05:09:11 +0530395config LS_PPA_ESBC_HDR_SIZE
396 hex "Length of PPA ESBC header"
397 depends on FSL_LS_PPA && CHAIN_OF_TRUST && !SYS_LS_PPA_FW_IN_XIP
398 default 0x2000
399 help
400 Length (in bytes) of PPA ESBC header to be copied from MMC/SD or
401 NAND to memory to validate PPA image.
402
macro.wave.z@gmail.comec2d7ed2016-12-08 11:58:21 +0800403endmenu
404
Ran Wange64f7472017-09-04 18:46:50 +0800405config SYS_FSL_ERRATUM_A008997
406 bool "Workaround for USB PHY erratum A008997"
407
Ran Wang3ba69482017-09-04 18:46:51 +0800408config SYS_FSL_ERRATUM_A009007
409 bool
410 help
411 Workaround for USB PHY erratum A009007
412
Ran Wangb358b7b2017-09-04 18:46:48 +0800413config SYS_FSL_ERRATUM_A009008
414 bool "Workaround for USB PHY erratum A009008"
415
Ran Wang9e8fabc2017-09-04 18:46:49 +0800416config SYS_FSL_ERRATUM_A009798
417 bool "Workaround for USB PHY erratum A009798"
418
Ran Wang13a84a52021-06-16 17:53:19 +0530419config SYS_FSL_ERRATUM_A050204
420 bool "Workaround for USB PHY erratum A050204"
Ran Wangd0270dc2019-11-26 11:40:40 +0800421 help
422 USB3.0 Receiver needs to enable fixed equalization
423 for each of PHY instances in an SOC. This is similar
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530424 to erratum A-009007, but this one is for LX2160A and LX2162A,
Ran Wangd0270dc2019-11-26 11:40:40 +0800425 and the register value is different.
426
York Sun149eb332016-09-26 08:09:27 -0700427config SYS_FSL_ERRATUM_A010315
428 bool "Workaround for PCIe erratum A010315"
Hou Zhiqiangc06b30a2016-09-29 12:42:44 +0800429
430config SYS_FSL_ERRATUM_A010539
431 bool "Workaround for PIN MUX erratum A010539"
York Sun4dd8c612016-10-04 14:31:48 -0700432
York Sunf188d222016-10-04 14:45:01 -0700433config MAX_CPUS
434 int "Maximum number of CPUs permitted for Layerscape"
Yuantian Tang4aefa162019-04-10 16:43:33 +0800435 default 2 if ARCH_LS1028A
York Sunf188d222016-10-04 14:45:01 -0700436 default 4 if ARCH_LS1043A
437 default 4 if ARCH_LS1046A
438 default 16 if ARCH_LS2080A
Ashish Kumarb25faa22017-08-31 16:12:53 +0530439 default 8 if ARCH_LS1088A
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000440 default 16 if ARCH_LX2160A
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530441 default 16 if ARCH_LX2162A
York Sunf188d222016-10-04 14:45:01 -0700442 default 1
443 help
444 Set this number to the maximum number of possible CPUs in the SoC.
445 SoCs may have multiple clusters with each cluster may have multiple
446 ports. If some ports are reserved but higher ports are used for
447 cores, count the reserved ports. This will allocate enough memory
448 in spin table to properly handle all cores.
449
Meenakshi Aggarwalbbd33182018-11-30 22:32:11 +0530450config EMC2305
451 bool "Fan controller"
452 help
453 Enable the EMC2305 fan controller for configuration of fan
454 speed.
455
Udit Agarwal22ec2382019-11-07 16:11:32 +0000456config NXP_ESBC
457 bool "NXP_ESBC"
York Sun728e7002016-12-02 09:32:35 -0800458 help
459 Enable Freescale Secure Boot feature
460
Yuan Yao52ae4fd2016-12-01 10:13:52 +0800461config QSPI_AHB_INIT
462 bool "Init the QSPI AHB bus"
463 help
464 The default setting for QSPI AHB bus just support 3bytes addressing.
465 But some QSPI flash size up to 64MBytes, so initialize the QSPI AHB
466 bus for those flashes to support the full QSPI flash size.
467
Kuldeep Singh34aafb02019-11-21 17:15:17 +0530468config FSPI_AHB_EN_4BYTE
469 bool "Enable 4-byte Fast Read command for AHB mode"
Kuldeep Singh34aafb02019-11-21 17:15:17 +0530470 help
471 The default setting for FlexSPI AHB bus just supports 3-byte addressing.
472 But some FlexSPI flash sizes are up to 64MBytes.
473 This flag enables fast read command for AHB mode and modifies required
474 LUT to support full FlexSPI flash.
475
Ashish Kumar11234062017-08-11 11:09:14 +0530476config SYS_CCI400_OFFSET
477 hex "Offset for CCI400 base"
478 depends on SYS_FSL_HAS_CCI400
Yuantian Tang4aefa162019-04-10 16:43:33 +0800479 default 0x3090000 if ARCH_LS1088A || ARCH_LS1028A
Ashish Kumar11234062017-08-11 11:09:14 +0530480 default 0x180000 if FSL_LSCH2
481 help
482 Offset for CCI400 base
483 CCI400 base addr = CCSRBAR + CCI400_OFFSET
484
York Sune7310a32016-10-04 14:45:54 -0700485config SYS_FSL_IFC_BANK_COUNT
486 int "Maximum banks of Integrated flash controller"
Ashish Kumarb25faa22017-08-31 16:12:53 +0530487 depends on ARCH_LS1043A || ARCH_LS1046A || ARCH_LS2080A || ARCH_LS1088A
York Sune7310a32016-10-04 14:45:54 -0700488 default 4 if ARCH_LS1043A
489 default 4 if ARCH_LS1046A
Ashish Kumarb25faa22017-08-31 16:12:53 +0530490 default 8 if ARCH_LS2080A || ARCH_LS1088A
York Sune7310a32016-10-04 14:45:54 -0700491
Ashish Kumar11234062017-08-11 11:09:14 +0530492config SYS_FSL_HAS_CCI400
493 bool
494
Ashish Kumar97393d62017-08-18 10:54:36 +0530495config SYS_FSL_HAS_CCN504
496 bool
497
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000498config SYS_FSL_HAS_CCN508
499 bool
500
York Sun0dc9abb2016-10-04 14:46:50 -0700501config SYS_FSL_HAS_DP_DDR
502 bool
Tom Rini69ea5a62022-03-30 18:07:35 -0400503 help
504 Defines the SoC has DP-DDR used for DPAA.
505
506config DP_DDR_CTRL
507 int
508 depends on SYS_FSL_HAS_DP_DDR
509 default 2 if ARCH_LS2080A
510
511config DP_DDR_NUM_CTRLS
512 int
513 depends on SYS_FSL_HAS_DP_DDR
514 default 1 if ARCH_LS2080A
515
516config SYS_DP_DDR_BASE
517 hex
518 depends on SYS_FSL_HAS_DP_DDR
519 default 0x6000000000 if ARCH_LS2080A
520
521config SYS_DP_DDR_BASE_PHY
522 int
523 depends on SYS_FSL_HAS_DP_DDR
524 default 0 if ARCH_LS2080A
525 help
526 DDR controller uses this value as the base address for binding.
527 It is mapped to CONFIG_SYS_DP_DDR_BASE for core to access.
York Sun0dc9abb2016-10-04 14:46:50 -0700528
York Sun6b62ef02016-10-04 18:01:34 -0700529config SYS_FSL_SRDS_1
530 bool
531
532config SYS_FSL_SRDS_2
533 bool
534
Priyanka Jain1a602532018-09-27 10:32:05 +0530535config SYS_NXP_SRDS_3
536 bool
537
York Sun6b62ef02016-10-04 18:01:34 -0700538config SYS_HAS_SERDES
539 bool
540
Ashish kumar76bd6ce2017-04-07 11:40:32 +0530541config FSL_TZASC_1
542 bool
543
544config FSL_TZASC_2
545 bool
546
Rajesh Bhagat5756f7e2019-01-20 05:30:06 +0000547config FSL_TZASC_400
548 bool
549
550config FSL_TZPC_BP147
551 bool
York Sun4dd8c612016-10-04 14:31:48 -0700552endmenu
York Sun1dc61ca2016-12-28 08:43:41 -0800553
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800554menu "Layerscape clock tree configuration"
555 depends on FSL_LSCH2 || FSL_LSCH3
556
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800557config CLUSTER_CLK_FREQ
558 int "Reference clock of core cluster"
559 depends on ARCH_LS1012A
560 default 100000000
561 help
562 This number is the reference clock frequency of core PLL.
563 For most platforms, the core PLL and Platform PLL have the same
564 reference clock, but for some platforms, LS1012A for instance,
565 they are provided sepatately.
566
567config SYS_FSL_PCLK_DIV
568 int "Platform clock divider"
Yuantian Tang4aefa162019-04-10 16:43:33 +0800569 default 1 if ARCH_LS1028A
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800570 default 1 if ARCH_LS1043A
571 default 1 if ARCH_LS1046A
Ashish Kumarb25faa22017-08-31 16:12:53 +0530572 default 1 if ARCH_LS1088A
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800573 default 2
574 help
575 This is the divider that is used to derive Platform clock from
576 Platform PLL, in another word:
577 Platform_clk = Platform_PLL_freq / this_divider
578
579config SYS_FSL_DSPI_CLK_DIV
580 int "DSPI clock divider"
581 default 1 if ARCH_LS1043A
582 default 2
583 help
584 This is the divider that is used to derive DSPI clock from Platform
Hou Zhiqiang0c8fcb62017-07-03 18:37:11 +0800585 clock, in another word DSPI_clk = Platform_clk / this_divider.
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800586
587config SYS_FSL_DUART_CLK_DIV
588 int "DUART clock divider"
589 default 1 if ARCH_LS1043A
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000590 default 4 if ARCH_LX2160A
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530591 default 4 if ARCH_LX2162A
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800592 default 2
593 help
594 This is the divider that is used to derive DUART clock from Platform
595 clock, in another word DUART_clk = Platform_clk / this_divider.
596
597config SYS_FSL_I2C_CLK_DIV
598 int "I2C clock divider"
599 default 1 if ARCH_LS1043A
Chuanhua Han44d4d332019-08-02 16:53:53 +0800600 default 4 if ARCH_LS1012A
601 default 4 if ARCH_LS1028A
602 default 8 if ARCH_LX2160A
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530603 default 8 if ARCH_LX2162A
Chuanhua Han44d4d332019-08-02 16:53:53 +0800604 default 8 if ARCH_LS1088A
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800605 default 2
606 help
607 This is the divider that is used to derive I2C clock from Platform
608 clock, in another word I2C_clk = Platform_clk / this_divider.
609
610config SYS_FSL_IFC_CLK_DIV
611 int "IFC clock divider"
612 default 1 if ARCH_LS1043A
Chuanhua Han3df89cc2019-08-08 17:04:58 +0800613 default 4 if ARCH_LS1012A
614 default 4 if ARCH_LS1028A
615 default 8 if ARCH_LX2160A
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530616 default 8 if ARCH_LX2162A
Chuanhua Han3df89cc2019-08-08 17:04:58 +0800617 default 8 if ARCH_LS1088A
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800618 default 2
619 help
620 This is the divider that is used to derive IFC clock from Platform
621 clock, in another word IFC_clk = Platform_clk / this_divider.
622
623config SYS_FSL_LPUART_CLK_DIV
624 int "LPUART clock divider"
625 default 1 if ARCH_LS1043A
626 default 2
627 help
628 This is the divider that is used to derive LPUART clock from Platform
629 clock, in another word LPUART_clk = Platform_clk / this_divider.
630
631config SYS_FSL_SDHC_CLK_DIV
632 int "SDHC clock divider"
633 default 1 if ARCH_LS1043A
634 default 1 if ARCH_LS1012A
635 default 2
636 help
637 This is the divider that is used to derive SDHC clock from Platform
638 clock, in another word SDHC_clk = Platform_clk / this_divider.
Hou Zhiqiangfef32c62018-04-25 16:28:44 +0800639
640config SYS_FSL_QMAN_CLK_DIV
641 int "QMAN clock divider"
642 default 1 if ARCH_LS1043A
643 default 2
644 help
645 This is the divider that is used to derive QMAN clock from Platform
646 clock, in another word QMAN_clk = Platform_clk / this_divider.
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800647endmenu
648
York Sund6964b32017-03-06 09:02:24 -0800649config RESV_RAM
650 bool
651 help
652 Reserve memory from the top, tracked by gd->arch.resv_ram. This
653 reserved RAM can be used by special driver that resides in memory
654 after U-Boot exits. It's up to implementation to allocate and allow
655 access to this reserved memory. For example, the reserved RAM can
656 be at the high end of physical memory. The reserve RAM may be
657 excluded from memory bank(s) passed to OS, or marked as reserved.
658
Ashish Kumarec455e22017-08-31 16:37:31 +0530659config SYS_FSL_EC1
660 bool
661 help
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000662 Ethernet controller 1, this is connected to
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530663 MAC17 for LX2160A and LX2162A or to MAC3 for other SoCs
Ashish Kumarec455e22017-08-31 16:37:31 +0530664 Provides DPAA2 capabilities
665
666config SYS_FSL_EC2
667 bool
668 help
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000669 Ethernet controller 2, this is connected to
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530670 MAC18 for LX2160A and LX2162A or to MAC4 for other SoCs
Ashish Kumarec455e22017-08-31 16:37:31 +0530671 Provides DPAA2 capabilities
672
York Sun1dc61ca2016-12-28 08:43:41 -0800673config SYS_FSL_ERRATUM_A008336
674 bool
675
676config SYS_FSL_ERRATUM_A008514
677 bool
678
679config SYS_FSL_ERRATUM_A008585
680 bool
681
682config SYS_FSL_ERRATUM_A008850
683 bool
684
Ashish kumar3b52a232017-02-23 16:03:57 +0530685config SYS_FSL_ERRATUM_A009203
686 bool
687
York Sun1dc61ca2016-12-28 08:43:41 -0800688config SYS_FSL_ERRATUM_A009635
689 bool
690
691config SYS_FSL_ERRATUM_A009660
692 bool
693
Laurentiu Tudor7ea2feb2019-10-18 09:01:56 +0000694config SYS_FSL_ERRATUM_A050382
695 bool
Ashish Kumarec455e22017-08-31 16:37:31 +0530696
697config SYS_FSL_HAS_RGMII
698 bool
699 depends on SYS_FSL_EC1 || SYS_FSL_EC2
700
Philipp Tomsich2d6a0cc2017-08-03 23:23:55 +0200701config SPL_LDSCRIPT
702 default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARCH_LS1043A || ARCH_LS1046A || ARCH_LS2080A
Ran Wang5959f842017-10-23 10:09:21 +0800703
704config HAS_FSL_XHCI_USB
705 bool
Ran Wang5959f842017-10-23 10:09:21 +0800706 help
Tom Rini46c97312021-07-21 18:53:20 -0400707 For some SoC (such as LS1043A and LS1046A), USB and QE-HDLC multiplex use
Ran Wang5959f842017-10-23 10:09:21 +0800708 pins, select it when the pins are assigned to USB.
Rajesh Bhagat729f22f2021-02-11 13:28:49 +0100709
710config SYS_FSL_BOOTROM_BASE
711 hex
712 depends on FSL_LSCH2
713 default 0
714
715config SYS_FSL_BOOTROM_SIZE
716 hex
717 depends on FSL_LSCH2
718 default 0x1000000