blob: 080fe3fc327d02926b674177fcfc57c4845e4ba9 [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
Tom Rini65461122022-06-17 16:24:31 -040029 select ESBC_HDR_LS if CHAIN_OF_TRUST
Michael Walle66f2a532020-05-10 01:20:11 +020030 select FSL_LAYERSCAPE
Yuantian Tang4aefa162019-04-10 16:43:33 +080031 select FSL_LSCH3
Tom Rini72473d52022-12-04 10:14:11 -050032 select FSL_TZASC_400
Tom Rini249f11f2021-08-19 14:19:39 -040033 select GICV3
Yuantian Tang4aefa162019-04-10 16:43:33 +080034 select NXP_LSCH3_2
35 select SYS_FSL_HAS_CCI400
36 select SYS_FSL_SRDS_1
37 select SYS_HAS_SERDES
38 select SYS_FSL_DDR
39 select SYS_FSL_DDR_LE
40 select SYS_FSL_DDR_VER_50
41 select SYS_FSL_HAS_DDR3
42 select SYS_FSL_HAS_DDR4
43 select SYS_FSL_HAS_SEC
44 select SYS_FSL_SEC_COMPAT_5
45 select SYS_FSL_SEC_LE
46 select FSL_TZASC_1
Tom Rinid391d8b2021-12-11 14:55:51 -050047 select FSL_TZPC_BP147
Yuantian Tang4aefa162019-04-10 16:43:33 +080048 select ARCH_EARLY_INIT_R
49 select BOARD_EARLY_INIT_F
50 select SYS_I2C_MXC
Ran Wange118acb2019-05-14 17:34:56 +080051 select SYS_FSL_ERRATUM_A008997
Yuantian Tang4aefa162019-04-10 16:43:33 +080052 select SYS_FSL_ERRATUM_A009007
53 select SYS_FSL_ERRATUM_A008514 if !TFABOOT
54 select SYS_FSL_ERRATUM_A009663 if !TFABOOT
55 select SYS_FSL_ERRATUM_A009942 if !TFABOOT
Laurentiu Tudor7ea2feb2019-10-18 09:01:56 +000056 select SYS_FSL_ERRATUM_A050382
Michael Walle148dc612021-03-17 15:01:36 +010057 select SYS_FSL_ERRATUM_A011334
Michael Walle7259dc52021-03-17 15:01:37 +010058 select SYS_FSL_ESDHC_UNRELIABLE_PULSE_DETECTION_WORKAROUND
Hou Zhiqiangce4a92a2020-04-28 10:19:31 +080059 select RESV_RAM if GIC_V3_ITS
Michael Walle42fdd8c2022-02-28 13:48:40 +010060 select SYS_HAS_ARMV8_SECURE_BASE
Yuantian Tang4aefa162019-04-10 16:43:33 +080061 imply PANIC_HANG
62
York Sun149eb332016-09-26 08:09:27 -070063config ARCH_LS1043A
York Sunfcd0e742016-10-04 14:31:47 -070064 bool
Hou Zhiqiang4d1525a2017-01-06 17:41:11 +080065 select ARMV8_SET_SMPEN
Rajesh Bhagatcd786e82018-11-05 18:01:48 +000066 select ARM_ERRATA_855873 if !TFABOOT
Sean Anderson81512732022-10-17 11:45:10 -040067 select FSL_IFC if TFABOOT || (!QSPI_BOOT && !SD_BOOT_QSPI && !SD_BOOT)
Rajesh Bhagat52d237a2019-01-25 13:36:26 +000068 select FSL_LAYERSCAPE
York Sun4dd8c612016-10-04 14:31:48 -070069 select FSL_LSCH2
Tom Rini249f11f2021-08-19 14:19:39 -040070 select GICV2
Tom Rini46c97312021-07-21 18:53:20 -040071 select HAS_FSL_XHCI_USB if USB_HOST
Tom Rinie1e85442021-08-27 21:18:30 -040072 select SKIP_LOWLEVEL_INIT
Tom Rinif552a132022-11-16 13:10:34 -050073 select SYS_DPAA_FMAN
Sriram Dash4a943332018-01-30 15:58:44 +053074 select SYS_FSL_SRDS_1
75 select SYS_HAS_SERDES
York Sund297d392016-12-28 08:43:40 -080076 select SYS_FSL_DDR
York Sunb6fffd82016-10-04 18:03:08 -070077 select SYS_FSL_DDR_BE
78 select SYS_FSL_DDR_VER_50
Rajesh Bhagatcd786e82018-11-05 18:01:48 +000079 select SYS_FSL_ERRATUM_A008850 if !TFABOOT
Ran Wange64f7472017-09-04 18:46:50 +080080 select SYS_FSL_ERRATUM_A008997
Ran Wangb358b7b2017-09-04 18:46:48 +080081 select SYS_FSL_ERRATUM_A009008
Rajesh Bhagatcd786e82018-11-05 18:01:48 +000082 select SYS_FSL_ERRATUM_A009660 if !TFABOOT
83 select SYS_FSL_ERRATUM_A009663 if !TFABOOT
Ran Wang9e8fabc2017-09-04 18:46:49 +080084 select SYS_FSL_ERRATUM_A009798
Rajesh Bhagatcd786e82018-11-05 18:01:48 +000085 select SYS_FSL_ERRATUM_A009942 if !TFABOOT
Alban Bedel1b1ca2f2021-09-06 16:32:56 +020086 select SYS_FSL_ERRATUM_A010315 if PCIE_LAYERSCAPE
Hou Zhiqiangc06b30a2016-09-29 12:42:44 +080087 select SYS_FSL_ERRATUM_A010539
York Sund297d392016-12-28 08:43:40 -080088 select SYS_FSL_HAS_DDR3
89 select SYS_FSL_HAS_DDR4
Tom Rini8d7aa572022-07-31 21:08:29 -040090 select SYS_FSL_QMAN_V3 if SYS_DPAA_QBMAN
Simon Glass62adede2017-01-23 13:31:19 -070091 select ARCH_EARLY_INIT_R
Simon Glass7a99a872017-01-23 13:31:20 -070092 select BOARD_EARLY_INIT_F
Biwen Li42637e72020-06-04 18:42:14 +080093 select SYS_I2C_MXC
Biwen Li014460b2020-02-05 22:02:16 +080094 select SYS_I2C_MXC_I2C1 if !DM_I2C
95 select SYS_I2C_MXC_I2C2 if !DM_I2C
96 select SYS_I2C_MXC_I2C3 if !DM_I2C
97 select SYS_I2C_MXC_I2C4 if !DM_I2C
Michael Walle42fdd8c2022-02-28 13:48:40 +010098 select SYS_HAS_ARMV8_SECURE_BASE
Simon Glassc88a09a2017-08-04 16:34:34 -060099 imply CMD_PCI
Tom Rini4abdf142021-08-17 17:59:41 -0400100 imply ID_EEPROM
York Sunb3d71642016-09-26 08:09:26 -0700101
York Sunbad49842016-09-26 08:09:24 -0700102config ARCH_LS1046A
York Sunfcd0e742016-10-04 14:31:47 -0700103 bool
Hou Zhiqiang4d1525a2017-01-06 17:41:11 +0800104 select ARMV8_SET_SMPEN
Sean Anderson81512732022-10-17 11:45:10 -0400105 select FSL_IFC if TFABOOT || (!QSPI_BOOT && !SD_BOOT_QSPI && !SD_BOOT)
Rajesh Bhagat52d237a2019-01-25 13:36:26 +0000106 select FSL_LAYERSCAPE
York Sun4dd8c612016-10-04 14:31:48 -0700107 select FSL_LSCH2
Tom Rini249f11f2021-08-19 14:19:39 -0400108 select GICV2
Tom Rini46c97312021-07-21 18:53:20 -0400109 select HAS_FSL_XHCI_USB if USB_HOST
Tom Rinie1e85442021-08-27 21:18:30 -0400110 select SKIP_LOWLEVEL_INIT
Tom Rinif552a132022-11-16 13:10:34 -0500111 select SYS_DPAA_FMAN
Sriram Dash4a943332018-01-30 15:58:44 +0530112 select SYS_FSL_SRDS_1
113 select SYS_HAS_SERDES
York Sund297d392016-12-28 08:43:40 -0800114 select SYS_FSL_DDR
York Sunb6fffd82016-10-04 18:03:08 -0700115 select SYS_FSL_DDR_BE
York Sunb6fffd82016-10-04 18:03:08 -0700116 select SYS_FSL_DDR_VER_50
Rajesh Bhagatcd786e82018-11-05 18:01:48 +0000117 select SYS_FSL_ERRATUM_A008336 if !TFABOOT
118 select SYS_FSL_ERRATUM_A008511 if !TFABOOT
119 select SYS_FSL_ERRATUM_A008850 if !TFABOOT
Ran Wange64f7472017-09-04 18:46:50 +0800120 select SYS_FSL_ERRATUM_A008997
Ran Wangb358b7b2017-09-04 18:46:48 +0800121 select SYS_FSL_ERRATUM_A009008
Ran Wang9e8fabc2017-09-04 18:46:49 +0800122 select SYS_FSL_ERRATUM_A009798
York Sun1dc61ca2016-12-28 08:43:41 -0800123 select SYS_FSL_ERRATUM_A009801
Rajesh Bhagatcd786e82018-11-05 18:01:48 +0000124 select SYS_FSL_ERRATUM_A009803 if !TFABOOT
125 select SYS_FSL_ERRATUM_A009942 if !TFABOOT
126 select SYS_FSL_ERRATUM_A010165 if !TFABOOT
Hou Zhiqiangc06b30a2016-09-29 12:42:44 +0800127 select SYS_FSL_ERRATUM_A010539
York Sund297d392016-12-28 08:43:40 -0800128 select SYS_FSL_HAS_DDR4
York Sun6b62ef02016-10-04 18:01:34 -0700129 select SYS_FSL_SRDS_2
Tom Rini8d7aa572022-07-31 21:08:29 -0400130 select SYS_FSL_QMAN_V3 if SYS_DPAA_QBMAN
Simon Glass62adede2017-01-23 13:31:19 -0700131 select ARCH_EARLY_INIT_R
Simon Glass7a99a872017-01-23 13:31:20 -0700132 select BOARD_EARLY_INIT_F
Biwen Li42637e72020-06-04 18:42:14 +0800133 select SYS_I2C_MXC
Biwen Lif0018f52020-02-05 22:02:17 +0800134 select SYS_I2C_MXC_I2C1 if !DM_I2C
135 select SYS_I2C_MXC_I2C2 if !DM_I2C
136 select SYS_I2C_MXC_I2C3 if !DM_I2C
137 select SYS_I2C_MXC_I2C4 if !DM_I2C
Tom Rini4abdf142021-08-17 17:59:41 -0400138 imply ID_EEPROM
Simon Glass0e5faf02017-06-14 21:28:21 -0600139 imply SCSI
Tuomas Tynkkynenedf9f622017-12-08 15:36:19 +0200140 imply SCSI_AHCI
Tom Rini52b2e262021-08-18 23:12:24 -0400141 imply SPL_SYS_I2C_LEGACY
York Sunb3d71642016-09-26 08:09:26 -0700142
Ashish Kumarb25faa22017-08-31 16:12:53 +0530143config ARCH_LS1088A
144 bool
145 select ARMV8_SET_SMPEN
Pankit Gargf5c2a832018-12-27 04:37:55 +0000146 select ARM_ERRATA_855873 if !TFABOOT
Tom Rini65461122022-06-17 16:24:31 -0400147 select ESBC_HDR_LS if CHAIN_OF_TRUST
Tom Rini05b419e2021-12-11 14:55:49 -0500148 select FSL_IFC
Rajesh Bhagat52d237a2019-01-25 13:36:26 +0000149 select FSL_LAYERSCAPE
Ashish Kumarb25faa22017-08-31 16:12:53 +0530150 select FSL_LSCH3
Tom Rini249f11f2021-08-19 14:19:39 -0400151 select GICV3
Tom Rinie1e85442021-08-27 21:18:30 -0400152 select SKIP_LOWLEVEL_INIT
Sriram Dash4a943332018-01-30 15:58:44 +0530153 select SYS_FSL_SRDS_1
154 select SYS_HAS_SERDES
Ashish Kumarb25faa22017-08-31 16:12:53 +0530155 select SYS_FSL_DDR
156 select SYS_FSL_DDR_LE
157 select SYS_FSL_DDR_VER_50
Ashish Kumarec455e22017-08-31 16:37:31 +0530158 select SYS_FSL_EC1
159 select SYS_FSL_EC2
Pankit Gargf5c2a832018-12-27 04:37:55 +0000160 select SYS_FSL_ERRATUM_A009803 if !TFABOOT
161 select SYS_FSL_ERRATUM_A009942 if !TFABOOT
162 select SYS_FSL_ERRATUM_A010165 if !TFABOOT
163 select SYS_FSL_ERRATUM_A008511 if !TFABOOT
164 select SYS_FSL_ERRATUM_A008850 if !TFABOOT
Ran Wangef277072017-09-22 15:21:34 +0800165 select SYS_FSL_ERRATUM_A009007
Ashish Kumarb25faa22017-08-31 16:12:53 +0530166 select SYS_FSL_HAS_CCI400
167 select SYS_FSL_HAS_DDR4
Ashish Kumarec455e22017-08-31 16:37:31 +0530168 select SYS_FSL_HAS_RGMII
Ashish Kumarb25faa22017-08-31 16:12:53 +0530169 select SYS_FSL_HAS_SEC
170 select SYS_FSL_SEC_COMPAT_5
171 select SYS_FSL_SEC_LE
172 select SYS_FSL_SRDS_1
173 select SYS_FSL_SRDS_2
174 select FSL_TZASC_1
Rajesh Bhagat5756f7e2019-01-20 05:30:06 +0000175 select FSL_TZASC_400
176 select FSL_TZPC_BP147
Ashish Kumarb25faa22017-08-31 16:12:53 +0530177 select ARCH_EARLY_INIT_R
178 select BOARD_EARLY_INIT_F
Sriram Dash7122a0c2018-02-06 11:26:30 +0530179 select SYS_I2C_MXC
Chuanhua Han98a5e402019-07-26 20:25:37 +0800180 select SYS_I2C_MXC_I2C1 if !TFABOOT
181 select SYS_I2C_MXC_I2C2 if !TFABOOT
182 select SYS_I2C_MXC_I2C3 if !TFABOOT
183 select SYS_I2C_MXC_I2C4 if !TFABOOT
Hou Zhiqiangce4a92a2020-04-28 10:19:31 +0800184 select RESV_RAM if GIC_V3_ITS
Tom Rini4abdf142021-08-17 17:59:41 -0400185 imply ID_EEPROM
Ashish Kumara179e562017-11-02 09:50:47 +0530186 imply SCSI
Tom Rini52b2e262021-08-18 23:12:24 -0400187 imply SPL_SYS_I2C_LEGACY
Masahiro Yamadaacede7a2017-12-04 12:37:00 +0900188 imply PANIC_HANG
Ashish Kumarb25faa22017-08-31 16:12:53 +0530189
York Sunfcd0e742016-10-04 14:31:47 -0700190config ARCH_LS2080A
191 bool
Hou Zhiqiang4d1525a2017-01-06 17:41:11 +0800192 select ARMV8_SET_SMPEN
Tom Rinibacb52c2017-03-07 07:13:42 -0500193 select ARM_ERRATA_826974
194 select ARM_ERRATA_828024
195 select ARM_ERRATA_829520
196 select ARM_ERRATA_833471
Tom Rini65461122022-06-17 16:24:31 -0400197 select ESBC_HDR_LS if CHAIN_OF_TRUST
Tom Rini05b419e2021-12-11 14:55:49 -0500198 select FSL_IFC
Rajesh Bhagat52d237a2019-01-25 13:36:26 +0000199 select FSL_LAYERSCAPE
York Sun4dd8c612016-10-04 14:31:48 -0700200 select FSL_LSCH3
Tom Rinif839dd02022-07-31 21:08:22 -0400201 select SYS_FSL_OTHER_DDR_NUM_CTRLS
Tom Rini249f11f2021-08-19 14:19:39 -0400202 select GICV3
Tom Rinie1e85442021-08-27 21:18:30 -0400203 select SKIP_LOWLEVEL_INIT
Sriram Dash4a943332018-01-30 15:58:44 +0530204 select SYS_FSL_SRDS_1
205 select SYS_HAS_SERDES
York Sund297d392016-12-28 08:43:40 -0800206 select SYS_FSL_DDR
York Sunb6fffd82016-10-04 18:03:08 -0700207 select SYS_FSL_DDR_LE
208 select SYS_FSL_DDR_VER_50
Ashish Kumar97393d62017-08-18 10:54:36 +0530209 select SYS_FSL_HAS_CCN504
York Sun6b62ef02016-10-04 18:01:34 -0700210 select SYS_FSL_HAS_DP_DDR
York Sun92c36e22016-12-28 08:43:30 -0800211 select SYS_FSL_HAS_SEC
York Sund297d392016-12-28 08:43:40 -0800212 select SYS_FSL_HAS_DDR4
York Sun92c36e22016-12-28 08:43:30 -0800213 select SYS_FSL_SEC_COMPAT_5
York Sunfa4199422016-12-28 08:43:31 -0800214 select SYS_FSL_SEC_LE
York Sun6b62ef02016-10-04 18:01:34 -0700215 select SYS_FSL_SRDS_2
Ashish kumar76bd6ce2017-04-07 11:40:32 +0530216 select FSL_TZASC_1
217 select FSL_TZASC_2
Rajesh Bhagat5756f7e2019-01-20 05:30:06 +0000218 select FSL_TZASC_400
219 select FSL_TZPC_BP147
Rajesh Bhagatd5691be2018-12-27 04:37:59 +0000220 select SYS_FSL_ERRATUM_A008336 if !TFABOOT
221 select SYS_FSL_ERRATUM_A008511 if !TFABOOT
222 select SYS_FSL_ERRATUM_A008514 if !TFABOOT
York Sun1dc61ca2016-12-28 08:43:41 -0800223 select SYS_FSL_ERRATUM_A008585
Ran Wange64f7472017-09-04 18:46:50 +0800224 select SYS_FSL_ERRATUM_A008997
Ran Wang3ba69482017-09-04 18:46:51 +0800225 select SYS_FSL_ERRATUM_A009007
Ran Wangb358b7b2017-09-04 18:46:48 +0800226 select SYS_FSL_ERRATUM_A009008
York Sun1dc61ca2016-12-28 08:43:41 -0800227 select SYS_FSL_ERRATUM_A009635
Rajesh Bhagatd5691be2018-12-27 04:37:59 +0000228 select SYS_FSL_ERRATUM_A009663 if !TFABOOT
Ran Wang9e8fabc2017-09-04 18:46:49 +0800229 select SYS_FSL_ERRATUM_A009798
York Sun1dc61ca2016-12-28 08:43:41 -0800230 select SYS_FSL_ERRATUM_A009801
Rajesh Bhagatd5691be2018-12-27 04:37:59 +0000231 select SYS_FSL_ERRATUM_A009803 if !TFABOOT
232 select SYS_FSL_ERRATUM_A009942 if !TFABOOT
233 select SYS_FSL_ERRATUM_A010165 if !TFABOOT
Ashish kumar3b52a232017-02-23 16:03:57 +0530234 select SYS_FSL_ERRATUM_A009203
Simon Glass62adede2017-01-23 13:31:19 -0700235 select ARCH_EARLY_INIT_R
Simon Glass7a99a872017-01-23 13:31:20 -0700236 select BOARD_EARLY_INIT_F
Sriram Dash7122a0c2018-02-06 11:26:30 +0530237 select SYS_I2C_MXC
Chuanhua Han3f27fff2019-07-26 19:24:03 +0800238 select SYS_I2C_MXC_I2C1 if !TFABOOT
239 select SYS_I2C_MXC_I2C2 if !TFABOOT
240 select SYS_I2C_MXC_I2C3 if !TFABOOT
241 select SYS_I2C_MXC_I2C4 if !TFABOOT
Hou Zhiqiangce4a92a2020-04-28 10:19:31 +0800242 select RESV_RAM if GIC_V3_ITS
Masahiro Yamada9afc6c52018-04-25 18:47:52 +0900243 imply DISTRO_DEFAULTS
Tom Rini4abdf142021-08-17 17:59:41 -0400244 imply ID_EEPROM
Masahiro Yamadaacede7a2017-12-04 12:37:00 +0900245 imply PANIC_HANG
Tom Rini52b2e262021-08-18 23:12:24 -0400246 imply SPL_SYS_I2C_LEGACY
York Sun4dd8c612016-10-04 14:31:48 -0700247
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530248config ARCH_LX2162A
249 bool
250 select ARMV8_SET_SMPEN
Tom Rini65461122022-06-17 16:24:31 -0400251 select ESBC_HDR_LS if CHAIN_OF_TRUST
Tom Riniea3cc392021-11-13 19:22:43 -0500252 select FSL_DDR_BIST
253 select FSL_DDR_INTERACTIVE
Tom Rini80b48612021-11-07 22:59:36 -0500254 select FSL_LAYERSCAPE
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530255 select FSL_LSCH3
Tom Rinid391d8b2021-12-11 14:55:51 -0500256 select FSL_TZPC_BP147
Tom Rini249f11f2021-08-19 14:19:39 -0400257 select GICV3
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530258 select NXP_LSCH3_2
259 select SYS_HAS_SERDES
260 select SYS_FSL_SRDS_1
261 select SYS_FSL_SRDS_2
262 select SYS_FSL_DDR
263 select SYS_FSL_DDR_LE
264 select SYS_FSL_DDR_VER_50
265 select SYS_FSL_EC1
266 select SYS_FSL_EC2
Ran Wang13a84a52021-06-16 17:53:19 +0530267 select SYS_FSL_ERRATUM_A050204
Yangbo Lu84f0a952021-04-27 16:42:11 +0800268 select SYS_FSL_ERRATUM_A011334
269 select SYS_FSL_ESDHC_UNRELIABLE_PULSE_DETECTION_WORKAROUND
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530270 select SYS_FSL_HAS_RGMII
271 select SYS_FSL_HAS_SEC
272 select SYS_FSL_HAS_CCN508
273 select SYS_FSL_HAS_DDR4
274 select SYS_FSL_SEC_COMPAT_5
275 select SYS_FSL_SEC_LE
Tom Rini50e6f1b2021-12-12 22:12:32 -0500276 select SYS_PCI_64BIT if PCI
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530277 select ARCH_EARLY_INIT_R
278 select BOARD_EARLY_INIT_F
279 select SYS_I2C_MXC
280 select RESV_RAM if GIC_V3_ITS
281 imply DISTRO_DEFAULTS
282 imply PANIC_HANG
283 imply SCSI
284 imply SCSI_AHCI
Tom Rini52b2e262021-08-18 23:12:24 -0400285 imply SPL_SYS_I2C_LEGACY
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530286
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000287config ARCH_LX2160A
288 bool
289 select ARMV8_SET_SMPEN
Tom Rini65461122022-06-17 16:24:31 -0400290 select ESBC_HDR_LS if CHAIN_OF_TRUST
Tom Riniea3cc392021-11-13 19:22:43 -0500291 select FSL_DDR_BIST
292 select FSL_DDR_INTERACTIVE
Tom Rini80b48612021-11-07 22:59:36 -0500293 select FSL_LAYERSCAPE
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000294 select FSL_LSCH3
Tom Rinid391d8b2021-12-11 14:55:51 -0500295 select FSL_TZPC_BP147
Tom Rini249f11f2021-08-19 14:19:39 -0400296 select GICV3
Tom Rini46c97312021-07-21 18:53:20 -0400297 select HAS_FSL_XHCI_USB if USB_HOST
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000298 select NXP_LSCH3_2
299 select SYS_HAS_SERDES
300 select SYS_FSL_SRDS_1
301 select SYS_FSL_SRDS_2
302 select SYS_NXP_SRDS_3
303 select SYS_FSL_DDR
304 select SYS_FSL_DDR_LE
305 select SYS_FSL_DDR_VER_50
306 select SYS_FSL_EC1
307 select SYS_FSL_EC2
Ran Wang13a84a52021-06-16 17:53:19 +0530308 select SYS_FSL_ERRATUM_A050204
Yangbo Lu84f0a952021-04-27 16:42:11 +0800309 select SYS_FSL_ERRATUM_A011334
310 select SYS_FSL_ESDHC_UNRELIABLE_PULSE_DETECTION_WORKAROUND
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000311 select SYS_FSL_HAS_RGMII
312 select SYS_FSL_HAS_SEC
313 select SYS_FSL_HAS_CCN508
314 select SYS_FSL_HAS_DDR4
315 select SYS_FSL_SEC_COMPAT_5
316 select SYS_FSL_SEC_LE
Tom Rini50e6f1b2021-12-12 22:12:32 -0500317 select SYS_PCI_64BIT if PCI
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000318 select ARCH_EARLY_INIT_R
319 select BOARD_EARLY_INIT_F
320 select SYS_I2C_MXC
Hou Zhiqiangce4a92a2020-04-28 10:19:31 +0800321 select RESV_RAM if GIC_V3_ITS
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000322 imply DISTRO_DEFAULTS
Tom Rini4abdf142021-08-17 17:59:41 -0400323 imply ID_EEPROM
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000324 imply PANIC_HANG
325 imply SCSI
326 imply SCSI_AHCI
Tom Rini52b2e262021-08-18 23:12:24 -0400327 imply SPL_SYS_I2C_LEGACY
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000328
York Sun4dd8c612016-10-04 14:31:48 -0700329config FSL_LSCH2
330 bool
Tom Rinie1e85442021-08-27 21:18:30 -0400331 select SKIP_LOWLEVEL_INIT
Tom Rinif4ec7132022-07-23 13:05:09 -0400332 select SYS_FSL_CCSR_GUR_BE
333 select SYS_FSL_CCSR_SCFG_BE
334 select SYS_FSL_ESDHC_BE
335 select SYS_FSL_IFC_BE
336 select SYS_FSL_PEX_LUT_BE
Ashish Kumar11234062017-08-11 11:09:14 +0530337 select SYS_FSL_HAS_CCI400
York Sun92c36e22016-12-28 08:43:30 -0800338 select SYS_FSL_HAS_SEC
339 select SYS_FSL_SEC_COMPAT_5
York Sunfa4199422016-12-28 08:43:31 -0800340 select SYS_FSL_SEC_BE
York Sun4dd8c612016-10-04 14:31:48 -0700341
342config FSL_LSCH3
Alex Marginean47568ce2020-01-11 01:05:40 +0200343 select ARCH_MISC_INIT
Tom Rinif4ec7132022-07-23 13:05:09 -0400344 select SYS_FSL_CCSR_GUR_LE
345 select SYS_FSL_CCSR_SCFG_LE
346 select SYS_FSL_ESDHC_LE
347 select SYS_FSL_IFC_LE
348 select SYS_FSL_PEX_LUT_LE
York Sun4dd8c612016-10-04 14:31:48 -0700349 bool
350
Priyanka Jain88c25662018-10-29 09:11:29 +0000351config NXP_LSCH3_2
352 bool
353
Tom Rinif4ec7132022-07-23 13:05:09 -0400354config SYS_FSL_CCSR_GUR_BE
355 bool
356
357config SYS_FSL_CCSR_SCFG_BE
358 bool
359
360config SYS_FSL_PEX_LUT_BE
361 bool
362
363config SYS_FSL_CCSR_GUR_LE
364 bool
365
366config SYS_FSL_CCSR_SCFG_LE
367 bool
368
369config SYS_FSL_ESDHC_LE
370 bool
371
372config SYS_FSL_IFC_LE
373 bool
374
375config SYS_FSL_PEX_LUT_LE
376 bool
377
York Sun4dd8c612016-10-04 14:31:48 -0700378menu "Layerscape architecture"
379 depends on FSL_LSCH2 || FSL_LSCH3
York Sunfcd0e742016-10-04 14:31:47 -0700380
Rajesh Bhagat52d237a2019-01-25 13:36:26 +0000381config FSL_LAYERSCAPE
382 bool
Michael Walle166ea482022-04-22 14:53:27 +0530383 select ARM_SMCCC
Rajesh Bhagat52d237a2019-01-25 13:36:26 +0000384
Wenbin Songa8f57a92017-01-17 18:31:15 +0800385config HAS_FEATURE_GIC64K_ALIGN
386 bool
387 default y if ARCH_LS1043A
388
Wenbin Songc6bc7c02017-01-17 18:31:16 +0800389config HAS_FEATURE_ENHANCED_MSI
390 bool
391 default y if ARCH_LS1043A
Wenbin Songa8f57a92017-01-17 18:31:15 +0800392
Ran Wange64f7472017-09-04 18:46:50 +0800393config SYS_FSL_ERRATUM_A008997
394 bool "Workaround for USB PHY erratum A008997"
395
Ran Wang3ba69482017-09-04 18:46:51 +0800396config SYS_FSL_ERRATUM_A009007
397 bool
398 help
399 Workaround for USB PHY erratum A009007
400
Ran Wangb358b7b2017-09-04 18:46:48 +0800401config SYS_FSL_ERRATUM_A009008
402 bool "Workaround for USB PHY erratum A009008"
403
Ran Wang9e8fabc2017-09-04 18:46:49 +0800404config SYS_FSL_ERRATUM_A009798
405 bool "Workaround for USB PHY erratum A009798"
406
Ran Wang13a84a52021-06-16 17:53:19 +0530407config SYS_FSL_ERRATUM_A050204
408 bool "Workaround for USB PHY erratum A050204"
Ran Wangd0270dc2019-11-26 11:40:40 +0800409 help
410 USB3.0 Receiver needs to enable fixed equalization
411 for each of PHY instances in an SOC. This is similar
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530412 to erratum A-009007, but this one is for LX2160A and LX2162A,
Ran Wangd0270dc2019-11-26 11:40:40 +0800413 and the register value is different.
414
York Sun149eb332016-09-26 08:09:27 -0700415config SYS_FSL_ERRATUM_A010315
416 bool "Workaround for PCIe erratum A010315"
Hou Zhiqiangc06b30a2016-09-29 12:42:44 +0800417
418config SYS_FSL_ERRATUM_A010539
419 bool "Workaround for PIN MUX erratum A010539"
York Sun4dd8c612016-10-04 14:31:48 -0700420
York Sunf188d222016-10-04 14:45:01 -0700421config MAX_CPUS
422 int "Maximum number of CPUs permitted for Layerscape"
Yuantian Tang4aefa162019-04-10 16:43:33 +0800423 default 2 if ARCH_LS1028A
York Sunf188d222016-10-04 14:45:01 -0700424 default 4 if ARCH_LS1043A
425 default 4 if ARCH_LS1046A
426 default 16 if ARCH_LS2080A
Ashish Kumarb25faa22017-08-31 16:12:53 +0530427 default 8 if ARCH_LS1088A
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000428 default 16 if ARCH_LX2160A
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530429 default 16 if ARCH_LX2162A
York Sunf188d222016-10-04 14:45:01 -0700430 default 1
431 help
432 Set this number to the maximum number of possible CPUs in the SoC.
433 SoCs may have multiple clusters with each cluster may have multiple
434 ports. If some ports are reserved but higher ports are used for
435 cores, count the reserved ports. This will allocate enough memory
436 in spin table to properly handle all cores.
437
Meenakshi Aggarwalbbd33182018-11-30 22:32:11 +0530438config EMC2305
439 bool "Fan controller"
440 help
441 Enable the EMC2305 fan controller for configuration of fan
442 speed.
443
Yuan Yao52ae4fd2016-12-01 10:13:52 +0800444config QSPI_AHB_INIT
445 bool "Init the QSPI AHB bus"
446 help
447 The default setting for QSPI AHB bus just support 3bytes addressing.
448 But some QSPI flash size up to 64MBytes, so initialize the QSPI AHB
449 bus for those flashes to support the full QSPI flash size.
450
Kuldeep Singh34aafb02019-11-21 17:15:17 +0530451config FSPI_AHB_EN_4BYTE
452 bool "Enable 4-byte Fast Read command for AHB mode"
Kuldeep Singh34aafb02019-11-21 17:15:17 +0530453 help
454 The default setting for FlexSPI AHB bus just supports 3-byte addressing.
455 But some FlexSPI flash sizes are up to 64MBytes.
456 This flag enables fast read command for AHB mode and modifies required
457 LUT to support full FlexSPI flash.
458
Ashish Kumar11234062017-08-11 11:09:14 +0530459config SYS_CCI400_OFFSET
460 hex "Offset for CCI400 base"
461 depends on SYS_FSL_HAS_CCI400
Yuantian Tang4aefa162019-04-10 16:43:33 +0800462 default 0x3090000 if ARCH_LS1088A || ARCH_LS1028A
Ashish Kumar11234062017-08-11 11:09:14 +0530463 default 0x180000 if FSL_LSCH2
464 help
465 Offset for CCI400 base
466 CCI400 base addr = CCSRBAR + CCI400_OFFSET
467
Ashish Kumar11234062017-08-11 11:09:14 +0530468config SYS_FSL_HAS_CCI400
469 bool
470
Ashish Kumar97393d62017-08-18 10:54:36 +0530471config SYS_FSL_HAS_CCN504
472 bool
473
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000474config SYS_FSL_HAS_CCN508
475 bool
476
York Sun0dc9abb2016-10-04 14:46:50 -0700477config SYS_FSL_HAS_DP_DDR
478 bool
Tom Rini69ea5a62022-03-30 18:07:35 -0400479 help
480 Defines the SoC has DP-DDR used for DPAA.
481
482config DP_DDR_CTRL
483 int
484 depends on SYS_FSL_HAS_DP_DDR
485 default 2 if ARCH_LS2080A
486
Tom Riniaa5cfa92022-06-15 12:03:53 -0400487config DP_DDR_DIMM_SLOTS_PER_CTLR
488 int
489 depends on SYS_FSL_HAS_DP_DDR
490 default 1 if ARCH_LS2080A
491
Tom Rini69ea5a62022-03-30 18:07:35 -0400492config DP_DDR_NUM_CTRLS
493 int
494 depends on SYS_FSL_HAS_DP_DDR
495 default 1 if ARCH_LS2080A
496
497config SYS_DP_DDR_BASE
498 hex
499 depends on SYS_FSL_HAS_DP_DDR
500 default 0x6000000000 if ARCH_LS2080A
501
502config SYS_DP_DDR_BASE_PHY
503 int
504 depends on SYS_FSL_HAS_DP_DDR
505 default 0 if ARCH_LS2080A
506 help
507 DDR controller uses this value as the base address for binding.
508 It is mapped to CONFIG_SYS_DP_DDR_BASE for core to access.
York Sun0dc9abb2016-10-04 14:46:50 -0700509
Priyanka Jain1a602532018-09-27 10:32:05 +0530510config SYS_NXP_SRDS_3
511 bool
512
Ashish kumar76bd6ce2017-04-07 11:40:32 +0530513config FSL_TZASC_1
514 bool
515
516config FSL_TZASC_2
517 bool
518
Rajesh Bhagat5756f7e2019-01-20 05:30:06 +0000519config FSL_TZASC_400
520 bool
521
522config FSL_TZPC_BP147
523 bool
York Sun4dd8c612016-10-04 14:31:48 -0700524endmenu
York Sun1dc61ca2016-12-28 08:43:41 -0800525
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800526menu "Layerscape clock tree configuration"
527 depends on FSL_LSCH2 || FSL_LSCH3
528
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800529config CLUSTER_CLK_FREQ
530 int "Reference clock of core cluster"
531 depends on ARCH_LS1012A
532 default 100000000
533 help
534 This number is the reference clock frequency of core PLL.
535 For most platforms, the core PLL and Platform PLL have the same
536 reference clock, but for some platforms, LS1012A for instance,
537 they are provided sepatately.
538
539config SYS_FSL_PCLK_DIV
540 int "Platform clock divider"
Yuantian Tang4aefa162019-04-10 16:43:33 +0800541 default 1 if ARCH_LS1028A
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800542 default 1 if ARCH_LS1043A
543 default 1 if ARCH_LS1046A
Ashish Kumarb25faa22017-08-31 16:12:53 +0530544 default 1 if ARCH_LS1088A
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800545 default 2
546 help
547 This is the divider that is used to derive Platform clock from
548 Platform PLL, in another word:
549 Platform_clk = Platform_PLL_freq / this_divider
550
551config SYS_FSL_DSPI_CLK_DIV
552 int "DSPI clock divider"
553 default 1 if ARCH_LS1043A
554 default 2
555 help
556 This is the divider that is used to derive DSPI clock from Platform
Hou Zhiqiang0c8fcb62017-07-03 18:37:11 +0800557 clock, in another word DSPI_clk = Platform_clk / this_divider.
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800558
559config SYS_FSL_DUART_CLK_DIV
560 int "DUART clock divider"
561 default 1 if ARCH_LS1043A
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000562 default 4 if ARCH_LX2160A
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530563 default 4 if ARCH_LX2162A
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800564 default 2
565 help
566 This is the divider that is used to derive DUART clock from Platform
567 clock, in another word DUART_clk = Platform_clk / this_divider.
568
569config SYS_FSL_I2C_CLK_DIV
570 int "I2C clock divider"
571 default 1 if ARCH_LS1043A
Chuanhua Han44d4d332019-08-02 16:53:53 +0800572 default 4 if ARCH_LS1012A
573 default 4 if ARCH_LS1028A
574 default 8 if ARCH_LX2160A
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530575 default 8 if ARCH_LX2162A
Chuanhua Han44d4d332019-08-02 16:53:53 +0800576 default 8 if ARCH_LS1088A
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800577 default 2
578 help
579 This is the divider that is used to derive I2C clock from Platform
580 clock, in another word I2C_clk = Platform_clk / this_divider.
581
582config SYS_FSL_IFC_CLK_DIV
583 int "IFC clock divider"
584 default 1 if ARCH_LS1043A
Chuanhua Han3df89cc2019-08-08 17:04:58 +0800585 default 4 if ARCH_LS1012A
586 default 4 if ARCH_LS1028A
587 default 8 if ARCH_LX2160A
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530588 default 8 if ARCH_LX2162A
Chuanhua Han3df89cc2019-08-08 17:04:58 +0800589 default 8 if ARCH_LS1088A
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800590 default 2
591 help
592 This is the divider that is used to derive IFC clock from Platform
593 clock, in another word IFC_clk = Platform_clk / this_divider.
594
595config SYS_FSL_LPUART_CLK_DIV
596 int "LPUART clock divider"
597 default 1 if ARCH_LS1043A
598 default 2
599 help
600 This is the divider that is used to derive LPUART clock from Platform
601 clock, in another word LPUART_clk = Platform_clk / this_divider.
602
603config SYS_FSL_SDHC_CLK_DIV
604 int "SDHC clock divider"
605 default 1 if ARCH_LS1043A
606 default 1 if ARCH_LS1012A
607 default 2
608 help
609 This is the divider that is used to derive SDHC clock from Platform
610 clock, in another word SDHC_clk = Platform_clk / this_divider.
Hou Zhiqiangfef32c62018-04-25 16:28:44 +0800611
612config SYS_FSL_QMAN_CLK_DIV
613 int "QMAN clock divider"
614 default 1 if ARCH_LS1043A
615 default 2
616 help
617 This is the divider that is used to derive QMAN clock from Platform
618 clock, in another word QMAN_clk = Platform_clk / this_divider.
Hou Zhiqiang3f91cda2017-01-10 16:44:15 +0800619endmenu
620
York Sund6964b32017-03-06 09:02:24 -0800621config RESV_RAM
622 bool
623 help
624 Reserve memory from the top, tracked by gd->arch.resv_ram. This
625 reserved RAM can be used by special driver that resides in memory
626 after U-Boot exits. It's up to implementation to allocate and allow
627 access to this reserved memory. For example, the reserved RAM can
628 be at the high end of physical memory. The reserve RAM may be
629 excluded from memory bank(s) passed to OS, or marked as reserved.
630
Ashish Kumarec455e22017-08-31 16:37:31 +0530631config SYS_FSL_EC1
632 bool
633 help
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000634 Ethernet controller 1, this is connected to
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530635 MAC17 for LX2160A and LX2162A or to MAC3 for other SoCs
Ashish Kumarec455e22017-08-31 16:37:31 +0530636 Provides DPAA2 capabilities
637
638config SYS_FSL_EC2
639 bool
640 help
Priyanka Jainef76b2e2018-10-29 09:17:09 +0000641 Ethernet controller 2, this is connected to
Meenakshi Aggarwalccb5d5d2020-10-29 19:16:16 +0530642 MAC18 for LX2160A and LX2162A or to MAC4 for other SoCs
Ashish Kumarec455e22017-08-31 16:37:31 +0530643 Provides DPAA2 capabilities
644
York Sun1dc61ca2016-12-28 08:43:41 -0800645config SYS_FSL_ERRATUM_A008336
646 bool
647
648config SYS_FSL_ERRATUM_A008514
649 bool
650
651config SYS_FSL_ERRATUM_A008585
652 bool
653
654config SYS_FSL_ERRATUM_A008850
655 bool
656
Ashish kumar3b52a232017-02-23 16:03:57 +0530657config SYS_FSL_ERRATUM_A009203
658 bool
659
York Sun1dc61ca2016-12-28 08:43:41 -0800660config SYS_FSL_ERRATUM_A009635
661 bool
662
663config SYS_FSL_ERRATUM_A009660
664 bool
665
Laurentiu Tudor7ea2feb2019-10-18 09:01:56 +0000666config SYS_FSL_ERRATUM_A050382
667 bool
Ashish Kumarec455e22017-08-31 16:37:31 +0530668
669config SYS_FSL_HAS_RGMII
670 bool
671 depends on SYS_FSL_EC1 || SYS_FSL_EC2
672
Ran Wang5959f842017-10-23 10:09:21 +0800673config HAS_FSL_XHCI_USB
674 bool
Ran Wang5959f842017-10-23 10:09:21 +0800675 help
Tom Rini46c97312021-07-21 18:53:20 -0400676 For some SoC (such as LS1043A and LS1046A), USB and QE-HDLC multiplex use
Ran Wang5959f842017-10-23 10:09:21 +0800677 pins, select it when the pins are assigned to USB.
Rajesh Bhagat729f22f2021-02-11 13:28:49 +0100678
679config SYS_FSL_BOOTROM_BASE
680 hex
681 depends on FSL_LSCH2
Tom Rinif18679c2023-08-02 11:09:43 -0400682 default 0x0
Rajesh Bhagat729f22f2021-02-11 13:28:49 +0100683
684config SYS_FSL_BOOTROM_SIZE
685 hex
686 depends on FSL_LSCH2
687 default 0x1000000