blob: 80a1642447d60c8fd46a785b451cc8da720666c4 [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
Michael Walle42fdd8c2022-02-28 13:48:40 +010058 select SYS_HAS_ARMV8_SECURE_BASE
Yuantian Tang4aefa162019-04-10 16:43:33 +080059 imply PANIC_HANG
60
York Sun149eb332016-09-26 08:09:27 -070061config ARCH_LS1043A
York Sunfcd0e742016-10-04 14:31:47 -070062 bool
Hou Zhiqiang4d1525a2017-01-06 17:41:11 +080063 select ARMV8_SET_SMPEN
Rajesh Bhagatcd786e82018-11-05 18:01:48 +000064 select ARM_ERRATA_855873 if !TFABOOT
Tom Rini05b419e2021-12-11 14:55:49 -050065 select FSL_IFC if TFABOOT || (!QSPI_BOOT && !SD_BOOT_QSPI)
Rajesh Bhagat52d237a2019-01-25 13:36:26 +000066 select FSL_LAYERSCAPE
York Sun4dd8c612016-10-04 14:31:48 -070067 select FSL_LSCH2
Tom Rini249f11f2021-08-19 14:19:39 -040068 select GICV2
Tom Rini46c97312021-07-21 18:53:20 -040069 select HAS_FSL_XHCI_USB if USB_HOST
Tom Rinie1e85442021-08-27 21:18:30 -040070 select SKIP_LOWLEVEL_INIT
Sriram Dash4a943332018-01-30 15:58:44 +053071 select SYS_FSL_SRDS_1
72 select SYS_HAS_SERDES
York Sund297d392016-12-28 08:43:40 -080073 select SYS_FSL_DDR
York Sunb6fffd82016-10-04 18:03:08 -070074 select SYS_FSL_DDR_BE
75 select SYS_FSL_DDR_VER_50
Rajesh Bhagatcd786e82018-11-05 18:01:48 +000076 select SYS_FSL_ERRATUM_A008850 if !TFABOOT
Ran Wange64f7472017-09-04 18:46:50 +080077 select SYS_FSL_ERRATUM_A008997
Ran Wangb358b7b2017-09-04 18:46:48 +080078 select SYS_FSL_ERRATUM_A009008
Rajesh Bhagatcd786e82018-11-05 18:01:48 +000079 select SYS_FSL_ERRATUM_A009660 if !TFABOOT
80 select SYS_FSL_ERRATUM_A009663 if !TFABOOT
Ran Wang9e8fabc2017-09-04 18:46:49 +080081 select SYS_FSL_ERRATUM_A009798
Rajesh Bhagatcd786e82018-11-05 18:01:48 +000082 select SYS_FSL_ERRATUM_A009942 if !TFABOOT
Alban Bedel1b1ca2f2021-09-06 16:32:56 +020083 select SYS_FSL_ERRATUM_A010315 if PCIE_LAYERSCAPE
Hou Zhiqiangc06b30a2016-09-29 12:42:44 +080084 select SYS_FSL_ERRATUM_A010539
York Sund297d392016-12-28 08:43:40 -080085 select SYS_FSL_HAS_DDR3
86 select SYS_FSL_HAS_DDR4
Simon Glass62adede2017-01-23 13:31:19 -070087 select ARCH_EARLY_INIT_R
Simon Glass7a99a872017-01-23 13:31:20 -070088 select BOARD_EARLY_INIT_F
Biwen Li42637e72020-06-04 18:42:14 +080089 select SYS_I2C_MXC
Biwen Li014460b2020-02-05 22:02:16 +080090 select SYS_I2C_MXC_I2C1 if !DM_I2C
91 select SYS_I2C_MXC_I2C2 if !DM_I2C
92 select SYS_I2C_MXC_I2C3 if !DM_I2C
93 select SYS_I2C_MXC_I2C4 if !DM_I2C
Michael Walle42fdd8c2022-02-28 13:48:40 +010094 select SYS_HAS_ARMV8_SECURE_BASE
Simon Glassc88a09a2017-08-04 16:34:34 -060095 imply CMD_PCI
Tom Rini4abdf142021-08-17 17:59:41 -040096 imply ID_EEPROM
York Sunb3d71642016-09-26 08:09:26 -070097
York Sunbad49842016-09-26 08:09:24 -070098config ARCH_LS1046A
York Sunfcd0e742016-10-04 14:31:47 -070099 bool
Hou Zhiqiang4d1525a2017-01-06 17:41:11 +0800100 select ARMV8_SET_SMPEN
Tom Rini05b419e2021-12-11 14:55:49 -0500101 select FSL_IFC if TFABOOT || (!QSPI_BOOT && !SD_BOOT_QSPI)
Rajesh Bhagat52d237a2019-01-25 13:36:26 +0000102 select FSL_LAYERSCAPE
York Sun4dd8c612016-10-04 14:31:48 -0700103 select FSL_LSCH2
Tom Rini249f11f2021-08-19 14:19:39 -0400104 select GICV2
Tom Rini46c97312021-07-21 18:53:20 -0400105 select HAS_FSL_XHCI_USB if USB_HOST
Tom Rinie1e85442021-08-27 21:18:30 -0400106 select SKIP_LOWLEVEL_INIT
Sriram Dash4a943332018-01-30 15:58:44 +0530107 select SYS_FSL_SRDS_1
108 select SYS_HAS_SERDES
York Sund297d392016-12-28 08:43:40 -0800109 select SYS_FSL_DDR
York Sunb6fffd82016-10-04 18:03:08 -0700110 select SYS_FSL_DDR_BE
York Sunb6fffd82016-10-04 18:03:08 -0700111 select SYS_FSL_DDR_VER_50
Rajesh Bhagatcd786e82018-11-05 18:01:48 +0000112 select SYS_FSL_ERRATUM_A008336 if !TFABOOT
113 select SYS_FSL_ERRATUM_A008511 if !TFABOOT
114 select SYS_FSL_ERRATUM_A008850 if !TFABOOT
Ran Wange64f7472017-09-04 18:46:50 +0800115 select SYS_FSL_ERRATUM_A008997
Ran Wangb358b7b2017-09-04 18:46:48 +0800116 select SYS_FSL_ERRATUM_A009008
Ran Wang9e8fabc2017-09-04 18:46:49 +0800117 select SYS_FSL_ERRATUM_A009798
York Sun1dc61ca2016-12-28 08:43:41 -0800118 select SYS_FSL_ERRATUM_A009801
Rajesh Bhagatcd786e82018-11-05 18:01:48 +0000119 select SYS_FSL_ERRATUM_A009803 if !TFABOOT
120 select SYS_FSL_ERRATUM_A009942 if !TFABOOT
121 select SYS_FSL_ERRATUM_A010165 if !TFABOOT
Hou Zhiqiangc06b30a2016-09-29 12:42:44 +0800122 select SYS_FSL_ERRATUM_A010539
York Sund297d392016-12-28 08:43:40 -0800123 select SYS_FSL_HAS_DDR4
York Sun6b62ef02016-10-04 18:01:34 -0700124 select SYS_FSL_SRDS_2
Simon Glass62adede2017-01-23 13:31:19 -0700125 select ARCH_EARLY_INIT_R
Simon Glass7a99a872017-01-23 13:31:20 -0700126 select BOARD_EARLY_INIT_F
Biwen Li42637e72020-06-04 18:42:14 +0800127 select SYS_I2C_MXC
Biwen Lif0018f52020-02-05 22:02:17 +0800128 select SYS_I2C_MXC_I2C1 if !DM_I2C
129 select SYS_I2C_MXC_I2C2 if !DM_I2C
130 select SYS_I2C_MXC_I2C3 if !DM_I2C
131 select SYS_I2C_MXC_I2C4 if !DM_I2C
Tom Rini4abdf142021-08-17 17:59:41 -0400132 imply ID_EEPROM
Simon Glass0e5faf02017-06-14 21:28:21 -0600133 imply SCSI
Tuomas Tynkkynenedf9f622017-12-08 15:36:19 +0200134 imply SCSI_AHCI
Tom Rini52b2e262021-08-18 23:12:24 -0400135 imply SPL_SYS_I2C_LEGACY
York Sunb3d71642016-09-26 08:09:26 -0700136
Ashish Kumarb25faa22017-08-31 16:12:53 +0530137config ARCH_LS1088A
138 bool
139 select ARMV8_SET_SMPEN
Pankit Gargf5c2a832018-12-27 04:37:55 +0000140 select ARM_ERRATA_855873 if !TFABOOT
Tom Rini05b419e2021-12-11 14:55:49 -0500141 select FSL_IFC
Rajesh Bhagat52d237a2019-01-25 13:36:26 +0000142 select FSL_LAYERSCAPE
Ashish Kumarb25faa22017-08-31 16:12:53 +0530143 select FSL_LSCH3
Tom Rini249f11f2021-08-19 14:19:39 -0400144 select GICV3
Tom Rinie1e85442021-08-27 21:18:30 -0400145 select SKIP_LOWLEVEL_INIT
Sriram Dash4a943332018-01-30 15:58:44 +0530146 select SYS_FSL_SRDS_1
147 select SYS_HAS_SERDES
Ashish Kumarb25faa22017-08-31 16:12:53 +0530148 select SYS_FSL_DDR
149 select SYS_FSL_DDR_LE
150 select SYS_FSL_DDR_VER_50
Ashish Kumarec455e22017-08-31 16:37:31 +0530151 select SYS_FSL_EC1
152 select SYS_FSL_EC2
Pankit Gargf5c2a832018-12-27 04:37:55 +0000153 select SYS_FSL_ERRATUM_A009803 if !TFABOOT
154 select SYS_FSL_ERRATUM_A009942 if !TFABOOT
155 select SYS_FSL_ERRATUM_A010165 if !TFABOOT
156 select SYS_FSL_ERRATUM_A008511 if !TFABOOT
157 select SYS_FSL_ERRATUM_A008850 if !TFABOOT
Ran Wangef277072017-09-22 15:21:34 +0800158 select SYS_FSL_ERRATUM_A009007
Ashish Kumarb25faa22017-08-31 16:12:53 +0530159 select SYS_FSL_HAS_CCI400
160 select SYS_FSL_HAS_DDR4
Ashish Kumarec455e22017-08-31 16:37:31 +0530161 select SYS_FSL_HAS_RGMII
Ashish Kumarb25faa22017-08-31 16:12:53 +0530162 select SYS_FSL_HAS_SEC
163 select SYS_FSL_SEC_COMPAT_5
164 select SYS_FSL_SEC_LE
165 select SYS_FSL_SRDS_1
166 select SYS_FSL_SRDS_2
167 select FSL_TZASC_1
Rajesh Bhagat5756f7e2019-01-20 05:30:06 +0000168 select FSL_TZASC_400
169 select FSL_TZPC_BP147
Ashish Kumarb25faa22017-08-31 16:12:53 +0530170 select ARCH_EARLY_INIT_R
171 select BOARD_EARLY_INIT_F
Sriram Dash7122a0c2018-02-06 11:26:30 +0530172 select SYS_I2C_MXC
Chuanhua Han98a5e402019-07-26 20:25:37 +0800173 select SYS_I2C_MXC_I2C1 if !TFABOOT
174 select SYS_I2C_MXC_I2C2 if !TFABOOT
175 select SYS_I2C_MXC_I2C3 if !TFABOOT
176 select SYS_I2C_MXC_I2C4 if !TFABOOT
Hou Zhiqiangce4a92a2020-04-28 10:19:31 +0800177 select RESV_RAM if GIC_V3_ITS
Tom Rini4abdf142021-08-17 17:59:41 -0400178 imply ID_EEPROM
Ashish Kumara179e562017-11-02 09:50:47 +0530179 imply SCSI
Tom Rini52b2e262021-08-18 23:12:24 -0400180 imply SPL_SYS_I2C_LEGACY
Masahiro Yamadaacede7a2017-12-04 12:37:00 +0900181 imply PANIC_HANG
Ashish Kumarb25faa22017-08-31 16:12:53 +0530182
York Sunfcd0e742016-10-04 14:31:47 -0700183config ARCH_LS2080A
184 bool
Hou Zhiqiang4d1525a2017-01-06 17:41:11 +0800185 select ARMV8_SET_SMPEN
Tom Rinibacb52c2017-03-07 07:13:42 -0500186 select ARM_ERRATA_826974
187 select ARM_ERRATA_828024
188 select ARM_ERRATA_829520
189 select ARM_ERRATA_833471
Tom Rini05b419e2021-12-11 14:55:49 -0500190 select FSL_IFC
Rajesh Bhagat52d237a2019-01-25 13:36:26 +0000191 select FSL_LAYERSCAPE
York Sun4dd8c612016-10-04 14:31:48 -0700192 select FSL_LSCH3
Tom Rini249f11f2021-08-19 14:19:39 -0400193 select GICV3
Tom Rinie1e85442021-08-27 21:18:30 -0400194 select SKIP_LOWLEVEL_INIT
Sriram Dash4a943332018-01-30 15:58:44 +0530195 select SYS_FSL_SRDS_1
196 select SYS_HAS_SERDES
York Sund297d392016-12-28 08:43:40 -0800197 select SYS_FSL_DDR
York Sunb6fffd82016-10-04 18:03:08 -0700198 select SYS_FSL_DDR_LE
199 select SYS_FSL_DDR_VER_50
Ashish Kumar97393d62017-08-18 10:54:36 +0530200 select SYS_FSL_HAS_CCN504
York Sun6b62ef02016-10-04 18:01:34 -0700201 select SYS_FSL_HAS_DP_DDR
York Sun92c36e22016-12-28 08:43:30 -0800202 select SYS_FSL_HAS_SEC
York Sund297d392016-12-28 08:43:40 -0800203 select SYS_FSL_HAS_DDR4
York Sun92c36e22016-12-28 08:43:30 -0800204 select SYS_FSL_SEC_COMPAT_5
York Sunfa4199422016-12-28 08:43:31 -0800205 select SYS_FSL_SEC_LE
York Sun6b62ef02016-10-04 18:01:34 -0700206 select SYS_FSL_SRDS_2
Ashish kumar76bd6ce2017-04-07 11:40:32 +0530207 select FSL_TZASC_1
208 select FSL_TZASC_2
Rajesh Bhagat5756f7e2019-01-20 05:30:06 +0000209 select FSL_TZASC_400
210 select FSL_TZPC_BP147
Rajesh Bhagatd5691be2018-12-27 04:37:59 +0000211 select SYS_FSL_ERRATUM_A008336 if !TFABOOT
212 select SYS_FSL_ERRATUM_A008511 if !TFABOOT
213 select SYS_FSL_ERRATUM_A008514 if !TFABOOT
York Sun1dc61ca2016-12-28 08:43:41 -0800214 select SYS_FSL_ERRATUM_A008585
Ran Wange64f7472017-09-04 18:46:50 +0800215 select SYS_FSL_ERRATUM_A008997
Ran Wang3ba69482017-09-04 18:46:51 +0800216 select SYS_FSL_ERRATUM_A009007
Ran Wangb358b7b2017-09-04 18:46:48 +0800217 select SYS_FSL_ERRATUM_A009008
York Sun1dc61ca2016-12-28 08:43:41 -0800218 select SYS_FSL_ERRATUM_A009635
Rajesh Bhagatd5691be2018-12-27 04:37:59 +0000219 select SYS_FSL_ERRATUM_A009663 if !TFABOOT
Ran Wang9e8fabc2017-09-04 18:46:49 +0800220 select SYS_FSL_ERRATUM_A009798
York Sun1dc61ca2016-12-28 08:43:41 -0800221 select SYS_FSL_ERRATUM_A009801
Rajesh Bhagatd5691be2018-12-27 04:37:59 +0000222 select SYS_FSL_ERRATUM_A009803 if !TFABOOT
223 select SYS_FSL_ERRATUM_A009942 if !TFABOOT
224 select SYS_FSL_ERRATUM_A010165 if !TFABOOT
Ashish kumar3b52a232017-02-23 16:03:57 +0530225 select SYS_FSL_ERRATUM_A009203
Simon Glass62adede2017-01-23 13:31:19 -0700226 select ARCH_EARLY_INIT_R
Simon Glass7a99a872017-01-23 13:31:20 -0700227 select BOARD_EARLY_INIT_F
Sriram Dash7122a0c2018-02-06 11:26:30 +0530228 select SYS_I2C_MXC
Chuanhua Han3f27fff2019-07-26 19:24:03 +0800229 select SYS_I2C_MXC_I2C1 if !TFABOOT
230 select SYS_I2C_MXC_I2C2 if !TFABOOT
231 select SYS_I2C_MXC_I2C3 if !TFABOOT
232 select SYS_I2C_MXC_I2C4 if !TFABOOT
Hou Zhiqiangce4a92a2020-04-28 10:19:31 +0800233 select RESV_RAM if GIC_V3_ITS
Masahiro Yamada9afc6c52018-04-25 18:47:52 +0900234 imply DISTRO_DEFAULTS
Tom Rini4abdf142021-08-17 17:59:41 -0400235 imply ID_EEPROM
Masahiro Yamadaacede7a2017-12-04 12:37:00 +0900236 imply PANIC_HANG
Tom Rini52b2e262021-08-18 23:12:24 -0400237 imply SPL_SYS_I2C_LEGACY
York Sun4dd8c612016-10-04 14:31:48 -0700238
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530239config ARCH_LX2162A
240 bool
241 select ARMV8_SET_SMPEN
Tom Riniea3cc392021-11-13 19:22:43 -0500242 select FSL_DDR_BIST
243 select FSL_DDR_INTERACTIVE
Tom Rini80b48612021-11-07 22:59:36 -0500244 select FSL_LAYERSCAPE
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530245 select FSL_LSCH3
Tom Rinid391d8b2021-12-11 14:55:51 -0500246 select FSL_TZPC_BP147
Tom Rini249f11f2021-08-19 14:19:39 -0400247 select GICV3
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530248 select NXP_LSCH3_2
249 select SYS_HAS_SERDES
250 select SYS_FSL_SRDS_1
251 select SYS_FSL_SRDS_2
252 select SYS_FSL_DDR
253 select SYS_FSL_DDR_LE
254 select SYS_FSL_DDR_VER_50
255 select SYS_FSL_EC1
256 select SYS_FSL_EC2
Ran Wang13a84a52021-06-16 17:53:19 +0530257 select SYS_FSL_ERRATUM_A050204
Yangbo Lu84f0a952021-04-27 16:42:11 +0800258 select SYS_FSL_ERRATUM_A011334
259 select SYS_FSL_ESDHC_UNRELIABLE_PULSE_DETECTION_WORKAROUND
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530260 select SYS_FSL_HAS_RGMII
261 select SYS_FSL_HAS_SEC
262 select SYS_FSL_HAS_CCN508
263 select SYS_FSL_HAS_DDR4
264 select SYS_FSL_SEC_COMPAT_5
265 select SYS_FSL_SEC_LE
Tom Rini50e6f1b2021-12-12 22:12:32 -0500266 select SYS_PCI_64BIT if PCI
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530267 select ARCH_EARLY_INIT_R
268 select BOARD_EARLY_INIT_F
269 select SYS_I2C_MXC
270 select RESV_RAM if GIC_V3_ITS
271 imply DISTRO_DEFAULTS
272 imply PANIC_HANG
273 imply SCSI
274 imply SCSI_AHCI
Tom Rini52b2e262021-08-18 23:12:24 -0400275 imply SPL_SYS_I2C_LEGACY
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530276
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000277config ARCH_LX2160A
278 bool
279 select ARMV8_SET_SMPEN
Tom Riniea3cc392021-11-13 19:22:43 -0500280 select FSL_DDR_BIST
281 select FSL_DDR_INTERACTIVE
Tom Rini80b48612021-11-07 22:59:36 -0500282 select FSL_LAYERSCAPE
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000283 select FSL_LSCH3
Tom Rinid391d8b2021-12-11 14:55:51 -0500284 select FSL_TZPC_BP147
Tom Rini249f11f2021-08-19 14:19:39 -0400285 select GICV3
Tom Rini46c97312021-07-21 18:53:20 -0400286 select HAS_FSL_XHCI_USB if USB_HOST
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000287 select NXP_LSCH3_2
288 select SYS_HAS_SERDES
289 select SYS_FSL_SRDS_1
290 select SYS_FSL_SRDS_2
291 select SYS_NXP_SRDS_3
292 select SYS_FSL_DDR
293 select SYS_FSL_DDR_LE
294 select SYS_FSL_DDR_VER_50
295 select SYS_FSL_EC1
296 select SYS_FSL_EC2
Ran Wang13a84a52021-06-16 17:53:19 +0530297 select SYS_FSL_ERRATUM_A050204
Yangbo Lu84f0a952021-04-27 16:42:11 +0800298 select SYS_FSL_ERRATUM_A011334
299 select SYS_FSL_ESDHC_UNRELIABLE_PULSE_DETECTION_WORKAROUND
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000300 select SYS_FSL_HAS_RGMII
301 select SYS_FSL_HAS_SEC
302 select SYS_FSL_HAS_CCN508
303 select SYS_FSL_HAS_DDR4
304 select SYS_FSL_SEC_COMPAT_5
305 select SYS_FSL_SEC_LE
Tom Rini50e6f1b2021-12-12 22:12:32 -0500306 select SYS_PCI_64BIT if PCI
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000307 select ARCH_EARLY_INIT_R
308 select BOARD_EARLY_INIT_F
309 select SYS_I2C_MXC
Hou Zhiqiangce4a92a2020-04-28 10:19:31 +0800310 select RESV_RAM if GIC_V3_ITS
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000311 imply DISTRO_DEFAULTS
Tom Rini4abdf142021-08-17 17:59:41 -0400312 imply ID_EEPROM
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000313 imply PANIC_HANG
314 imply SCSI
315 imply SCSI_AHCI
Tom Rini52b2e262021-08-18 23:12:24 -0400316 imply SPL_SYS_I2C_LEGACY
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000317
York Sun4dd8c612016-10-04 14:31:48 -0700318config FSL_LSCH2
319 bool
Tom Rinie1e85442021-08-27 21:18:30 -0400320 select SKIP_LOWLEVEL_INIT
Ashish Kumar11234062017-08-11 11:09:14 +0530321 select SYS_FSL_HAS_CCI400
York Sun92c36e22016-12-28 08:43:30 -0800322 select SYS_FSL_HAS_SEC
323 select SYS_FSL_SEC_COMPAT_5
York Sunfa4199422016-12-28 08:43:31 -0800324 select SYS_FSL_SEC_BE
York Sun4dd8c612016-10-04 14:31:48 -0700325
326config FSL_LSCH3
Alex Marginean47568ce2020-01-11 01:05:40 +0200327 select ARCH_MISC_INIT
York Sun4dd8c612016-10-04 14:31:48 -0700328 bool
329
Priyanka Jain88c25662018-10-29 09:11:29 +0000330config NXP_LSCH3_2
331 bool
332
York Sun4dd8c612016-10-04 14:31:48 -0700333menu "Layerscape architecture"
334 depends on FSL_LSCH2 || FSL_LSCH3
York Sunfcd0e742016-10-04 14:31:47 -0700335
Rajesh Bhagat52d237a2019-01-25 13:36:26 +0000336config FSL_LAYERSCAPE
337 bool
Michael Walle166ea482022-04-22 14:53:27 +0530338 select ARM_SMCCC
Rajesh Bhagat52d237a2019-01-25 13:36:26 +0000339
Wenbin Songa8f57a92017-01-17 18:31:15 +0800340config HAS_FEATURE_GIC64K_ALIGN
341 bool
342 default y if ARCH_LS1043A
343
Wenbin Songc6bc7c02017-01-17 18:31:16 +0800344config HAS_FEATURE_ENHANCED_MSI
345 bool
346 default y if ARCH_LS1043A
Wenbin Songa8f57a92017-01-17 18:31:15 +0800347
macro.wave.z@gmail.comec2d7ed2016-12-08 11:58:21 +0800348menu "Layerscape PPA"
349config FSL_LS_PPA
350 bool "FSL Layerscape PPA firmware support"
macro.wave.z@gmail.com01bd3342016-12-08 11:58:22 +0800351 depends on !ARMV8_PSCI
Hou Zhiqiangbff56d52017-01-16 17:31:49 +0800352 select ARMV8_SEC_FIRMWARE_SUPPORT
Hou Zhiqiang6be115d2017-01-16 17:31:48 +0800353 select SEC_FIRMWARE_ARMV8_PSCI
Hou Zhiqiangbff56d52017-01-16 17:31:49 +0800354 select ARMV8_SEC_FIRMWARE_ERET_ADDR_REVERT if FSL_LSCH2
macro.wave.z@gmail.comec2d7ed2016-12-08 11:58:21 +0800355 help
356 The FSL Primary Protected Application (PPA) is a software component
357 which is loaded during boot stage, and then remains resident in RAM
358 and runs in the TrustZone after boot.
359 Say y to enable it.
York Sunf2aaf842017-05-15 08:52:00 -0700360
361config SPL_FSL_LS_PPA
362 bool "FSL Layerscape PPA firmware support for SPL build"
363 depends on !ARMV8_PSCI
364 select SPL_ARMV8_SEC_FIRMWARE_SUPPORT
365 select SEC_FIRMWARE_ARMV8_PSCI
366 select ARMV8_SEC_FIRMWARE_ERET_ADDR_REVERT if FSL_LSCH2
367 help
368 The FSL Primary Protected Application (PPA) is a software component
369 which is loaded during boot stage, and then remains resident in RAM
370 and runs in the TrustZone after boot. This is to load PPA during SPL
371 stage instead of the RAM version of U-Boot. Once PPA is initialized,
372 the rest of U-Boot (including RAM version) runs at EL2.
Hou Zhiqiangbff56d52017-01-16 17:31:49 +0800373choice
374 prompt "FSL Layerscape PPA firmware loading-media select"
375 depends on FSL_LS_PPA
Hou Zhiqiangbd6e2cd2017-03-17 16:12:33 +0800376 default SYS_LS_PPA_FW_IN_MMC if SD_BOOT
377 default SYS_LS_PPA_FW_IN_NAND if NAND_BOOT
Hou Zhiqiangbff56d52017-01-16 17:31:49 +0800378 default SYS_LS_PPA_FW_IN_XIP
379
380config SYS_LS_PPA_FW_IN_XIP
381 bool "XIP"
382 help
383 Say Y here if the PPA firmware locate at XIP flash, such
384 as NOR or QSPI flash.
385
Hou Zhiqiangbd6e2cd2017-03-17 16:12:33 +0800386config SYS_LS_PPA_FW_IN_MMC
387 bool "eMMC or SD Card"
388 help
389 Say Y here if the PPA firmware locate at eMMC/SD card.
390
391config SYS_LS_PPA_FW_IN_NAND
392 bool "NAND"
393 help
394 Say Y here if the PPA firmware locate at NAND flash.
395
Hou Zhiqiangbff56d52017-01-16 17:31:49 +0800396endchoice
397
Sumit Garg8fddf752017-04-20 05:09:11 +0530398config LS_PPA_ESBC_HDR_SIZE
399 hex "Length of PPA ESBC header"
400 depends on FSL_LS_PPA && CHAIN_OF_TRUST && !SYS_LS_PPA_FW_IN_XIP
401 default 0x2000
402 help
403 Length (in bytes) of PPA ESBC header to be copied from MMC/SD or
404 NAND to memory to validate PPA image.
405
macro.wave.z@gmail.comec2d7ed2016-12-08 11:58:21 +0800406endmenu
407
Ran Wange64f7472017-09-04 18:46:50 +0800408config SYS_FSL_ERRATUM_A008997
409 bool "Workaround for USB PHY erratum A008997"
410
Ran Wang3ba69482017-09-04 18:46:51 +0800411config SYS_FSL_ERRATUM_A009007
412 bool
413 help
414 Workaround for USB PHY erratum A009007
415
Ran Wangb358b7b2017-09-04 18:46:48 +0800416config SYS_FSL_ERRATUM_A009008
417 bool "Workaround for USB PHY erratum A009008"
418
Ran Wang9e8fabc2017-09-04 18:46:49 +0800419config SYS_FSL_ERRATUM_A009798
420 bool "Workaround for USB PHY erratum A009798"
421
Ran Wang13a84a52021-06-16 17:53:19 +0530422config SYS_FSL_ERRATUM_A050204
423 bool "Workaround for USB PHY erratum A050204"
Ran Wangd0270dc2019-11-26 11:40:40 +0800424 help
425 USB3.0 Receiver needs to enable fixed equalization
426 for each of PHY instances in an SOC. This is similar
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530427 to erratum A-009007, but this one is for LX2160A and LX2162A,
Ran Wangd0270dc2019-11-26 11:40:40 +0800428 and the register value is different.
429
York Sun149eb332016-09-26 08:09:27 -0700430config SYS_FSL_ERRATUM_A010315
431 bool "Workaround for PCIe erratum A010315"
Hou Zhiqiangc06b30a2016-09-29 12:42:44 +0800432
433config SYS_FSL_ERRATUM_A010539
434 bool "Workaround for PIN MUX erratum A010539"
York Sun4dd8c612016-10-04 14:31:48 -0700435
York Sunf188d222016-10-04 14:45:01 -0700436config MAX_CPUS
437 int "Maximum number of CPUs permitted for Layerscape"
Yuantian Tang4aefa162019-04-10 16:43:33 +0800438 default 2 if ARCH_LS1028A
York Sunf188d222016-10-04 14:45:01 -0700439 default 4 if ARCH_LS1043A
440 default 4 if ARCH_LS1046A
441 default 16 if ARCH_LS2080A
Ashish Kumarb25faa22017-08-31 16:12:53 +0530442 default 8 if ARCH_LS1088A
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000443 default 16 if ARCH_LX2160A
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530444 default 16 if ARCH_LX2162A
York Sunf188d222016-10-04 14:45:01 -0700445 default 1
446 help
447 Set this number to the maximum number of possible CPUs in the SoC.
448 SoCs may have multiple clusters with each cluster may have multiple
449 ports. If some ports are reserved but higher ports are used for
450 cores, count the reserved ports. This will allocate enough memory
451 in spin table to properly handle all cores.
452
Meenakshi Aggarwalbbd33182018-11-30 22:32:11 +0530453config EMC2305
454 bool "Fan controller"
455 help
456 Enable the EMC2305 fan controller for configuration of fan
457 speed.
458
Udit Agarwal22ec2382019-11-07 16:11:32 +0000459config NXP_ESBC
460 bool "NXP_ESBC"
York Sun728e7002016-12-02 09:32:35 -0800461 help
462 Enable Freescale Secure Boot feature
463
Yuan Yao52ae4fd2016-12-01 10:13:52 +0800464config QSPI_AHB_INIT
465 bool "Init the QSPI AHB bus"
466 help
467 The default setting for QSPI AHB bus just support 3bytes addressing.
468 But some QSPI flash size up to 64MBytes, so initialize the QSPI AHB
469 bus for those flashes to support the full QSPI flash size.
470
Kuldeep Singh34aafb02019-11-21 17:15:17 +0530471config FSPI_AHB_EN_4BYTE
472 bool "Enable 4-byte Fast Read command for AHB mode"
Kuldeep Singh34aafb02019-11-21 17:15:17 +0530473 help
474 The default setting for FlexSPI AHB bus just supports 3-byte addressing.
475 But some FlexSPI flash sizes are up to 64MBytes.
476 This flag enables fast read command for AHB mode and modifies required
477 LUT to support full FlexSPI flash.
478
Ashish Kumar11234062017-08-11 11:09:14 +0530479config SYS_CCI400_OFFSET
480 hex "Offset for CCI400 base"
481 depends on SYS_FSL_HAS_CCI400
Yuantian Tang4aefa162019-04-10 16:43:33 +0800482 default 0x3090000 if ARCH_LS1088A || ARCH_LS1028A
Ashish Kumar11234062017-08-11 11:09:14 +0530483 default 0x180000 if FSL_LSCH2
484 help
485 Offset for CCI400 base
486 CCI400 base addr = CCSRBAR + CCI400_OFFSET
487
York Sune7310a32016-10-04 14:45:54 -0700488config SYS_FSL_IFC_BANK_COUNT
489 int "Maximum banks of Integrated flash controller"
Ashish Kumarb25faa22017-08-31 16:12:53 +0530490 depends on ARCH_LS1043A || ARCH_LS1046A || ARCH_LS2080A || ARCH_LS1088A
York Sune7310a32016-10-04 14:45:54 -0700491 default 4 if ARCH_LS1043A
492 default 4 if ARCH_LS1046A
Ashish Kumarb25faa22017-08-31 16:12:53 +0530493 default 8 if ARCH_LS2080A || ARCH_LS1088A
York Sune7310a32016-10-04 14:45:54 -0700494
Ashish Kumar11234062017-08-11 11:09:14 +0530495config SYS_FSL_HAS_CCI400
496 bool
497
Ashish Kumar97393d62017-08-18 10:54:36 +0530498config SYS_FSL_HAS_CCN504
499 bool
500
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000501config SYS_FSL_HAS_CCN508
502 bool
503
York Sun0dc9abb2016-10-04 14:46:50 -0700504config SYS_FSL_HAS_DP_DDR
505 bool
Tom Rini69ea5a62022-03-30 18:07:35 -0400506 help
507 Defines the SoC has DP-DDR used for DPAA.
508
509config DP_DDR_CTRL
510 int
511 depends on SYS_FSL_HAS_DP_DDR
512 default 2 if ARCH_LS2080A
513
514config DP_DDR_NUM_CTRLS
515 int
516 depends on SYS_FSL_HAS_DP_DDR
517 default 1 if ARCH_LS2080A
518
519config SYS_DP_DDR_BASE
520 hex
521 depends on SYS_FSL_HAS_DP_DDR
522 default 0x6000000000 if ARCH_LS2080A
523
524config SYS_DP_DDR_BASE_PHY
525 int
526 depends on SYS_FSL_HAS_DP_DDR
527 default 0 if ARCH_LS2080A
528 help
529 DDR controller uses this value as the base address for binding.
530 It is mapped to CONFIG_SYS_DP_DDR_BASE for core to access.
York Sun0dc9abb2016-10-04 14:46:50 -0700531
York Sun6b62ef02016-10-04 18:01:34 -0700532config SYS_FSL_SRDS_1
533 bool
534
535config SYS_FSL_SRDS_2
536 bool
537
Priyanka Jain1a602532018-09-27 10:32:05 +0530538config SYS_NXP_SRDS_3
539 bool
540
York Sun6b62ef02016-10-04 18:01:34 -0700541config SYS_HAS_SERDES
542 bool
543
Ashish kumar76bd6ce2017-04-07 11:40:32 +0530544config FSL_TZASC_1
545 bool
546
547config FSL_TZASC_2
548 bool
549
Rajesh Bhagat5756f7e2019-01-20 05:30:06 +0000550config FSL_TZASC_400
551 bool
552
553config FSL_TZPC_BP147
554 bool
York Sun4dd8c612016-10-04 14:31:48 -0700555endmenu
York Sun1dc61ca2016-12-28 08:43:41 -0800556
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800557menu "Layerscape clock tree configuration"
558 depends on FSL_LSCH2 || FSL_LSCH3
559
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800560config CLUSTER_CLK_FREQ
561 int "Reference clock of core cluster"
562 depends on ARCH_LS1012A
563 default 100000000
564 help
565 This number is the reference clock frequency of core PLL.
566 For most platforms, the core PLL and Platform PLL have the same
567 reference clock, but for some platforms, LS1012A for instance,
568 they are provided sepatately.
569
570config SYS_FSL_PCLK_DIV
571 int "Platform clock divider"
Yuantian Tang4aefa162019-04-10 16:43:33 +0800572 default 1 if ARCH_LS1028A
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800573 default 1 if ARCH_LS1043A
574 default 1 if ARCH_LS1046A
Ashish Kumarb25faa22017-08-31 16:12:53 +0530575 default 1 if ARCH_LS1088A
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800576 default 2
577 help
578 This is the divider that is used to derive Platform clock from
579 Platform PLL, in another word:
580 Platform_clk = Platform_PLL_freq / this_divider
581
582config SYS_FSL_DSPI_CLK_DIV
583 int "DSPI clock divider"
584 default 1 if ARCH_LS1043A
585 default 2
586 help
587 This is the divider that is used to derive DSPI clock from Platform
Hou Zhiqiang0c8fcb62017-07-03 18:37:11 +0800588 clock, in another word DSPI_clk = Platform_clk / this_divider.
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800589
590config SYS_FSL_DUART_CLK_DIV
591 int "DUART clock divider"
592 default 1 if ARCH_LS1043A
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000593 default 4 if ARCH_LX2160A
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530594 default 4 if ARCH_LX2162A
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800595 default 2
596 help
597 This is the divider that is used to derive DUART clock from Platform
598 clock, in another word DUART_clk = Platform_clk / this_divider.
599
600config SYS_FSL_I2C_CLK_DIV
601 int "I2C clock divider"
602 default 1 if ARCH_LS1043A
Chuanhua Han44d4d332019-08-02 16:53:53 +0800603 default 4 if ARCH_LS1012A
604 default 4 if ARCH_LS1028A
605 default 8 if ARCH_LX2160A
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530606 default 8 if ARCH_LX2162A
Chuanhua Han44d4d332019-08-02 16:53:53 +0800607 default 8 if ARCH_LS1088A
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800608 default 2
609 help
610 This is the divider that is used to derive I2C clock from Platform
611 clock, in another word I2C_clk = Platform_clk / this_divider.
612
613config SYS_FSL_IFC_CLK_DIV
614 int "IFC clock divider"
615 default 1 if ARCH_LS1043A
Chuanhua Han3df89cc2019-08-08 17:04:58 +0800616 default 4 if ARCH_LS1012A
617 default 4 if ARCH_LS1028A
618 default 8 if ARCH_LX2160A
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530619 default 8 if ARCH_LX2162A
Chuanhua Han3df89cc2019-08-08 17:04:58 +0800620 default 8 if ARCH_LS1088A
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800621 default 2
622 help
623 This is the divider that is used to derive IFC clock from Platform
624 clock, in another word IFC_clk = Platform_clk / this_divider.
625
626config SYS_FSL_LPUART_CLK_DIV
627 int "LPUART clock divider"
628 default 1 if ARCH_LS1043A
629 default 2
630 help
631 This is the divider that is used to derive LPUART clock from Platform
632 clock, in another word LPUART_clk = Platform_clk / this_divider.
633
634config SYS_FSL_SDHC_CLK_DIV
635 int "SDHC clock divider"
636 default 1 if ARCH_LS1043A
637 default 1 if ARCH_LS1012A
638 default 2
639 help
640 This is the divider that is used to derive SDHC clock from Platform
641 clock, in another word SDHC_clk = Platform_clk / this_divider.
Hou Zhiqiangfef32c62018-04-25 16:28:44 +0800642
643config SYS_FSL_QMAN_CLK_DIV
644 int "QMAN clock divider"
645 default 1 if ARCH_LS1043A
646 default 2
647 help
648 This is the divider that is used to derive QMAN clock from Platform
649 clock, in another word QMAN_clk = Platform_clk / this_divider.
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800650endmenu
651
York Sund6964b32017-03-06 09:02:24 -0800652config RESV_RAM
653 bool
654 help
655 Reserve memory from the top, tracked by gd->arch.resv_ram. This
656 reserved RAM can be used by special driver that resides in memory
657 after U-Boot exits. It's up to implementation to allocate and allow
658 access to this reserved memory. For example, the reserved RAM can
659 be at the high end of physical memory. The reserve RAM may be
660 excluded from memory bank(s) passed to OS, or marked as reserved.
661
Ashish Kumarec455e22017-08-31 16:37:31 +0530662config SYS_FSL_EC1
663 bool
664 help
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000665 Ethernet controller 1, this is connected to
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530666 MAC17 for LX2160A and LX2162A or to MAC3 for other SoCs
Ashish Kumarec455e22017-08-31 16:37:31 +0530667 Provides DPAA2 capabilities
668
669config SYS_FSL_EC2
670 bool
671 help
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000672 Ethernet controller 2, this is connected to
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530673 MAC18 for LX2160A and LX2162A or to MAC4 for other SoCs
Ashish Kumarec455e22017-08-31 16:37:31 +0530674 Provides DPAA2 capabilities
675
York Sun1dc61ca2016-12-28 08:43:41 -0800676config SYS_FSL_ERRATUM_A008336
677 bool
678
679config SYS_FSL_ERRATUM_A008514
680 bool
681
682config SYS_FSL_ERRATUM_A008585
683 bool
684
685config SYS_FSL_ERRATUM_A008850
686 bool
687
Ashish kumar3b52a232017-02-23 16:03:57 +0530688config SYS_FSL_ERRATUM_A009203
689 bool
690
York Sun1dc61ca2016-12-28 08:43:41 -0800691config SYS_FSL_ERRATUM_A009635
692 bool
693
694config SYS_FSL_ERRATUM_A009660
695 bool
696
Laurentiu Tudor7ea2feb2019-10-18 09:01:56 +0000697config SYS_FSL_ERRATUM_A050382
698 bool
Ashish Kumarec455e22017-08-31 16:37:31 +0530699
700config SYS_FSL_HAS_RGMII
701 bool
702 depends on SYS_FSL_EC1 || SYS_FSL_EC2
703
Philipp Tomsich2d6a0cc2017-08-03 23:23:55 +0200704config SPL_LDSCRIPT
705 default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARCH_LS1043A || ARCH_LS1046A || ARCH_LS2080A
Ran Wang5959f842017-10-23 10:09:21 +0800706
707config HAS_FSL_XHCI_USB
708 bool
Ran Wang5959f842017-10-23 10:09:21 +0800709 help
Tom Rini46c97312021-07-21 18:53:20 -0400710 For some SoC (such as LS1043A and LS1046A), USB and QE-HDLC multiplex use
Ran Wang5959f842017-10-23 10:09:21 +0800711 pins, select it when the pins are assigned to USB.
Rajesh Bhagat729f22f2021-02-11 13:28:49 +0100712
713config SYS_FSL_BOOTROM_BASE
714 hex
715 depends on FSL_LSCH2
716 default 0
717
718config SYS_FSL_BOOTROM_SIZE
719 hex
720 depends on FSL_LSCH2
721 default 0x1000000