blob: 6b6a162f56892e2a676b4e4ca01ef6b80a8e4ab6 [file] [log] [blame]
Masahiro Yamada7865f4b2015-04-21 20:38:20 +09001if ARCH_SOCFPGA
2
Simon Goldschmidta43b60c2019-10-22 21:29:48 +02003config ERR_PTR_OFFSET
4 default 0xfffec000 if TARGET_SOCFPGA_GEN5 # Boot ROM range
5
Simon Goldschmidtaef44282019-04-09 21:02:05 +02006config NR_DRAM_BANKS
7 default 1
8
Siew Chin Lim1bc20892021-03-01 20:04:11 +08009config SOCFPGA_SECURE_VAB_AUTH
10 bool "Enable boot image authentication with Secure Device Manager"
Jit Loon Lim386fca62024-03-12 22:01:03 +080011 depends on TARGET_SOCFPGA_AGILEX || TARGET_SOCFPGA_N5X || \
12 TARGET_SOCFPGA_AGILEX5
Siew Chin Lim1bc20892021-03-01 20:04:11 +080013 select FIT_IMAGE_POST_PROCESS
14 select SHA384
Alexandru Gagniuce60e4492021-09-02 19:54:18 -050015 select SHA512
Siew Chin Lim1bc20892021-03-01 20:04:11 +080016 select SPL_FIT_IMAGE_POST_PROCESS
17 help
18 All images loaded from FIT will be authenticated by Secure Device
19 Manager.
20
21config SOCFPGA_SECURE_VAB_AUTH_ALLOW_NON_FIT_IMAGE
22 bool "Allow non-FIT VAB signed images"
23 depends on SOCFPGA_SECURE_VAB_AUTH
24
Simon Goldschmidtd6d383c2019-06-13 21:50:28 +020025config SPL_SIZE_LIMIT
Simon Glassb51882d2019-09-25 08:56:28 -060026 default 0x10000 if TARGET_SOCFPGA_GEN5
Simon Goldschmidtd6d383c2019-06-13 21:50:28 +020027
28config SPL_SIZE_LIMIT_PROVIDE_STACK
29 default 0x200 if TARGET_SOCFPGA_GEN5
30
Simon Goldschmidtaef44282019-04-09 21:02:05 +020031config SPL_STACK_R_ADDR
32 default 0x00800000 if TARGET_SOCFPGA_GEN5
33
Simon Glass7431b0a2023-09-26 08:14:25 -060034config SPL_SYS_MALLOC_F
35 default y if TARGET_SOCFPGA_GEN5
36
Simon Goldschmidt9dc61aa2019-04-09 21:02:06 +020037config SPL_SYS_MALLOC_F_LEN
38 default 0x800 if TARGET_SOCFPGA_GEN5
39
Dalon Westergreenf0fb4fa2017-02-10 17:15:34 -080040config SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION_TYPE
41 default 0xa2
42
Simon Goldschmidtaef44282019-04-09 21:02:05 +020043config SYS_MALLOC_F_LEN
44 default 0x2000 if TARGET_SOCFPGA_ARRIA10
45 default 0x2000 if TARGET_SOCFPGA_GEN5
46
Simon Glass98463902022-10-20 18:22:39 -060047config TEXT_BASE
Simon Goldschmidtaef44282019-04-09 21:02:05 +020048 default 0x01000040 if TARGET_SOCFPGA_ARRIA10
49 default 0x01000040 if TARGET_SOCFPGA_GEN5
50
Ley Foon Tana76b7112019-11-27 15:55:32 +080051config TARGET_SOCFPGA_AGILEX
52 bool
53 select ARMV8_MULTIENTRY
54 select ARMV8_SET_SMPEN
Siew Chin Lim362787e2020-12-24 18:21:12 +080055 select BINMAN if SPL_ATF
Ley Foon Tana76b7112019-11-27 15:55:32 +080056 select CLK
Chee Hong Angbd99fa52020-08-07 11:50:05 +080057 select FPGA_INTEL_SDM_MAILBOX
Ley Foon Tana76b7112019-11-27 15:55:32 +080058 select NCORE_CACHE
59 select SPL_CLK if SPL
Siew Chin Lim9a5bbdf2021-03-01 20:04:10 +080060 select TARGET_SOCFPGA_SOC64
Ley Foon Tana76b7112019-11-27 15:55:32 +080061
Jit Loon Lim386fca62024-03-12 22:01:03 +080062config TARGET_SOCFPGA_AGILEX5
63 bool
64 select BINMAN if SPL_ATF
65 select CLK
66 select FPGA_INTEL_SDM_MAILBOX
67 select GICV3
68 select SPL_CLK if SPL
69 select TARGET_SOCFPGA_SOC64
70
Marek Vasutcd9b7312015-08-02 21:57:57 +020071config TARGET_SOCFPGA_ARRIA5
72 bool
Dinh Nguyened77aeb2015-12-02 13:31:25 -060073 select TARGET_SOCFPGA_GEN5
Marek Vasutcd9b7312015-08-02 21:57:57 +020074
Ley Foon Tand89e9792017-04-26 02:44:48 +080075config TARGET_SOCFPGA_ARRIA10
76 bool
Ley Foon Tan5918afd2019-05-06 09:55:59 +080077 select SPL_ALTERA_SDRAM
Michal Simek58008cb2018-07-23 15:55:15 +020078 select SPL_BOARD_INIT if SPL
Ley Foon Tan3958ef32020-04-07 15:43:14 +080079 select SPL_CACHE if SPL
Marek Vasut934aec72018-07-30 15:56:19 +020080 select CLK
81 select SPL_CLK if SPL
Marek Vasutfe88c2f2018-08-13 18:32:38 +020082 select DM_I2C
Marek Vasut8145c1c2018-08-13 18:32:38 +020083 select DM_RESET
84 select SPL_DM_RESET if SPL
Marek Vasutd6a61da2018-08-13 20:06:46 +020085 select REGMAP
86 select SPL_REGMAP if SPL
87 select SYSCON
88 select SPL_SYSCON if SPL
89 select ETH_DESIGNWARE_SOCFPGA
Simon Goldschmidtaef44282019-04-09 21:02:05 +020090 imply FPGA_SOCFPGA
Simon Glass27084c02019-09-25 08:56:27 -060091 imply SPL_USE_TINY_PRINTF
Ley Foon Tand89e9792017-04-26 02:44:48 +080092
Michał Barnaś2b8eabb2024-03-19 18:18:13 +000093config SOCFPGA_ARRIA10_ALWAYS_REPROGRAM
94 bool "Always reprogram Arria 10 FPGA"
95 depends on TARGET_SOCFPGA_ARRIA10
96 help
97 Arria 10 FPGA is only programmed during the cold boot.
98 This option forces the FPGA to be reprogrammed every reboot,
99 allowing to change the bitstream and apply it with warm reboot.
100
Marek Vasutcd9b7312015-08-02 21:57:57 +0200101config TARGET_SOCFPGA_CYCLONE5
102 bool
Dinh Nguyened77aeb2015-12-02 13:31:25 -0600103 select TARGET_SOCFPGA_GEN5
104
105config TARGET_SOCFPGA_GEN5
106 bool
Ley Foon Tan5918afd2019-05-06 09:55:59 +0800107 select SPL_ALTERA_SDRAM
Simon Goldschmidtaef44282019-04-09 21:02:05 +0200108 imply FPGA_SOCFPGA
Simon Goldschmidtd6d383c2019-06-13 21:50:28 +0200109 imply SPL_SIZE_LIMIT_SUBTRACT_GD
110 imply SPL_SIZE_LIMIT_SUBTRACT_MALLOC
Simon Goldschmidtaef44282019-04-09 21:02:05 +0200111 imply SPL_STACK_R
112 imply SPL_SYS_MALLOC_SIMPLE
Simon Glass27084c02019-09-25 08:56:27 -0600113 imply SPL_USE_TINY_PRINTF
Marek Vasutcd9b7312015-08-02 21:57:57 +0200114
Siew Chin Lim31b51cb2021-08-10 11:26:42 +0800115config TARGET_SOCFPGA_N5X
116 bool
117 select ARMV8_MULTIENTRY
118 select ARMV8_SET_SMPEN
119 select BINMAN if SPL_ATF
120 select CLK
121 select FPGA_INTEL_SDM_MAILBOX
122 select NCORE_CACHE
123 select SPL_ALTERA_SDRAM
124 select SPL_CLK if SPL
125 select TARGET_SOCFPGA_SOC64
126
127config TARGET_SOCFPGA_N5X_SOCDK
128 bool "Intel eASIC SoCDK (N5X)"
129 select TARGET_SOCFPGA_N5X
130
Siew Chin Lim9a5bbdf2021-03-01 20:04:10 +0800131config TARGET_SOCFPGA_SOC64
132 bool
133
Ley Foon Tana6847292018-05-24 00:17:32 +0800134config TARGET_SOCFPGA_STRATIX10
135 bool
136 select ARMV8_MULTIENTRY
Ley Foon Tana6847292018-05-24 00:17:32 +0800137 select ARMV8_SET_SMPEN
Siew Chin Lim362787e2020-12-24 18:21:12 +0800138 select BINMAN if SPL_ATF
Chee Hong Angd2170162020-08-07 11:50:03 +0800139 select FPGA_INTEL_SDM_MAILBOX
Siew Chin Lim9a5bbdf2021-03-01 20:04:10 +0800140 select TARGET_SOCFPGA_SOC64
Ley Foon Tana6847292018-05-24 00:17:32 +0800141
Masahiro Yamada7865f4b2015-04-21 20:38:20 +0900142choice
143 prompt "Altera SOCFPGA board select"
Joe Hershbergera26cd042015-05-12 14:46:23 -0500144 optional
Masahiro Yamada7865f4b2015-04-21 20:38:20 +0900145
Ley Foon Tana76b7112019-11-27 15:55:32 +0800146config TARGET_SOCFPGA_AGILEX_SOCDK
147 bool "Intel SOCFPGA SoCDK (Agilex)"
148 select TARGET_SOCFPGA_AGILEX
149
Jit Loon Lim386fca62024-03-12 22:01:03 +0800150config TARGET_SOCFPGA_AGILEX5_SOCDK
151 bool "Intel SOCFPGA SoCDK (Agilex5)"
152 select TARGET_SOCFPGA_AGILEX5
153
Wolfgang Grandegger990ed442019-05-12 19:25:18 +0200154config TARGET_SOCFPGA_ARIES_MCVEVK
155 bool "Aries MCVEVK (Cyclone V)"
156 select TARGET_SOCFPGA_CYCLONE5
157
Ley Foon Tand89e9792017-04-26 02:44:48 +0800158config TARGET_SOCFPGA_ARRIA10_SOCDK
159 bool "Altera SOCFPGA SoCDK (Arria 10)"
160 select TARGET_SOCFPGA_ARRIA10
161
Holger Brunck468ba8d2020-02-19 19:55:14 +0100162config TARGET_SOCFPGA_ARRIA5_SECU1
163 bool "ABB SECU1 (Arria V)"
164 select TARGET_SOCFPGA_ARRIA5
165 select VENDOR_KM
166
Marek Vasutcd9b7312015-08-02 21:57:57 +0200167config TARGET_SOCFPGA_ARRIA5_SOCDK
168 bool "Altera SOCFPGA SoCDK (Arria V)"
169 select TARGET_SOCFPGA_ARRIA5
Masahiro Yamada7865f4b2015-04-21 20:38:20 +0900170
Paweł Anikiel61298272022-06-17 12:47:20 +0200171config TARGET_SOCFPGA_CHAMELEONV3
172 bool "Google Chameleon v3 (Arria 10)"
173 select TARGET_SOCFPGA_ARRIA10
174
Marek Vasutcd9b7312015-08-02 21:57:57 +0200175config TARGET_SOCFPGA_CYCLONE5_SOCDK
176 bool "Altera SOCFPGA SoCDK (Cyclone V)"
177 select TARGET_SOCFPGA_CYCLONE5
Masahiro Yamada7865f4b2015-04-21 20:38:20 +0900178
Marek Vasut7fb46432018-02-24 23:34:00 +0100179config TARGET_SOCFPGA_DEVBOARDS_DBM_SOC1
180 bool "Devboards DBM-SoC1 (Cyclone V)"
181 select TARGET_SOCFPGA_CYCLONE5
182
Marek Vasut856b30d2015-11-23 17:06:27 +0100183config TARGET_SOCFPGA_EBV_SOCRATES
184 bool "EBV SoCrates (Cyclone V)"
185 select TARGET_SOCFPGA_CYCLONE5
186
Pavel Machek35546f62016-06-07 12:37:23 +0200187config TARGET_SOCFPGA_IS1
188 bool "IS1 (Cyclone V)"
189 select TARGET_SOCFPGA_CYCLONE5
190
Marek Vasut94a16b82019-06-27 00:19:31 +0200191config TARGET_SOCFPGA_SOFTING_VINING_FPGA
192 bool "Softing VIN|ING FPGA (Cyclone V)"
Tom Rinie5ec4812017-01-22 19:43:11 -0500193 select BOARD_LATE_INIT
Marek Vasut569a1912015-12-01 18:09:52 +0100194 select TARGET_SOCFPGA_CYCLONE5
195
Marek Vasutcf0a8da2016-06-08 02:57:05 +0200196config TARGET_SOCFPGA_SR1500
197 bool "SR1500 (Cyclone V)"
198 select TARGET_SOCFPGA_CYCLONE5
199
Ley Foon Tana6847292018-05-24 00:17:32 +0800200config TARGET_SOCFPGA_STRATIX10_SOCDK
201 bool "Intel SOCFPGA SoCDK (Stratix 10)"
202 select TARGET_SOCFPGA_STRATIX10
203
Dinh Nguyen55c7a762015-09-01 17:41:52 -0500204config TARGET_SOCFPGA_TERASIC_DE0_NANO
205 bool "Terasic DE0-Nano-Atlas (Cyclone V)"
206 select TARGET_SOCFPGA_CYCLONE5
207
Dalon Westergreen6bd041f2017-04-18 08:11:16 -0700208config TARGET_SOCFPGA_TERASIC_DE10_NANO
209 bool "Terasic DE10-Nano (Cyclone V)"
210 select TARGET_SOCFPGA_CYCLONE5
211
Humberto Naves1b051362022-05-22 21:54:57 -0400212config TARGET_SOCFPGA_TERASIC_DE10_STANDARD
213 bool "Terasic DE10-Standard (Cyclone V)"
214 select TARGET_SOCFPGA_CYCLONE5
215
Anatolij Gustschine9c847c2016-11-14 16:07:10 +0100216config TARGET_SOCFPGA_TERASIC_DE1_SOC
217 bool "Terasic DE1-SoC (Cyclone V)"
218 select TARGET_SOCFPGA_CYCLONE5
219
Marek Vasut952caa22015-06-21 17:28:53 +0200220config TARGET_SOCFPGA_TERASIC_SOCKIT
221 bool "Terasic SoCkit (Cyclone V)"
222 select TARGET_SOCFPGA_CYCLONE5
223
Masahiro Yamada7865f4b2015-04-21 20:38:20 +0900224endchoice
225
226config SYS_BOARD
Jit Loon Lim386fca62024-03-12 22:01:03 +0800227 default "agilex5-socdk" if TARGET_SOCFPGA_AGILEX5_SOCDK
Ley Foon Tana76b7112019-11-27 15:55:32 +0800228 default "agilex-socdk" if TARGET_SOCFPGA_AGILEX_SOCDK
Marek Vasutf0892402015-08-10 21:24:53 +0200229 default "arria5-socdk" if TARGET_SOCFPGA_ARRIA5_SOCDK
Ley Foon Tand89e9792017-04-26 02:44:48 +0800230 default "arria10-socdk" if TARGET_SOCFPGA_ARRIA10_SOCDK
Paweł Anikiel61298272022-06-17 12:47:20 +0200231 default "chameleonv3" if TARGET_SOCFPGA_CHAMELEONV3
Marek Vasutf0892402015-08-10 21:24:53 +0200232 default "cyclone5-socdk" if TARGET_SOCFPGA_CYCLONE5_SOCDK
Marek Vasut7fb46432018-02-24 23:34:00 +0100233 default "dbm-soc1" if TARGET_SOCFPGA_DEVBOARDS_DBM_SOC1
Dinh Nguyen55c7a762015-09-01 17:41:52 -0500234 default "de0-nano-soc" if TARGET_SOCFPGA_TERASIC_DE0_NANO
Anatolij Gustschine9c847c2016-11-14 16:07:10 +0100235 default "de1-soc" if TARGET_SOCFPGA_TERASIC_DE1_SOC
Dalon Westergreen6bd041f2017-04-18 08:11:16 -0700236 default "de10-nano" if TARGET_SOCFPGA_TERASIC_DE10_NANO
Humberto Naves1b051362022-05-22 21:54:57 -0400237 default "de10-standard" if TARGET_SOCFPGA_TERASIC_DE10_STANDARD
Pavel Machek35546f62016-06-07 12:37:23 +0200238 default "is1" if TARGET_SOCFPGA_IS1
Wolfgang Grandegger990ed442019-05-12 19:25:18 +0200239 default "mcvevk" if TARGET_SOCFPGA_ARIES_MCVEVK
Siew Chin Lim31b51cb2021-08-10 11:26:42 +0800240 default "n5x-socdk" if TARGET_SOCFPGA_N5X_SOCDK
Holger Brunck468ba8d2020-02-19 19:55:14 +0100241 default "secu1" if TARGET_SOCFPGA_ARRIA5_SECU1
Marek Vasut952caa22015-06-21 17:28:53 +0200242 default "sockit" if TARGET_SOCFPGA_TERASIC_SOCKIT
Marek Vasut856b30d2015-11-23 17:06:27 +0100243 default "socrates" if TARGET_SOCFPGA_EBV_SOCRATES
Stefan Roeseae9996c2015-11-18 11:06:09 +0100244 default "sr1500" if TARGET_SOCFPGA_SR1500
Ley Foon Tana6847292018-05-24 00:17:32 +0800245 default "stratix10-socdk" if TARGET_SOCFPGA_STRATIX10_SOCDK
Marek Vasut94a16b82019-06-27 00:19:31 +0200246 default "vining_fpga" if TARGET_SOCFPGA_SOFTING_VINING_FPGA
Masahiro Yamada7865f4b2015-04-21 20:38:20 +0900247
248config SYS_VENDOR
Jit Loon Lim386fca62024-03-12 22:01:03 +0800249 default "intel" if TARGET_SOCFPGA_AGILEX5_SOCDK
Ley Foon Tana76b7112019-11-27 15:55:32 +0800250 default "intel" if TARGET_SOCFPGA_AGILEX_SOCDK
Siew Chin Lim31b51cb2021-08-10 11:26:42 +0800251 default "intel" if TARGET_SOCFPGA_N5X_SOCDK
Marek Vasutcd9b7312015-08-02 21:57:57 +0200252 default "altera" if TARGET_SOCFPGA_ARRIA5_SOCDK
Ley Foon Tand89e9792017-04-26 02:44:48 +0800253 default "altera" if TARGET_SOCFPGA_ARRIA10_SOCDK
Marek Vasutcd9b7312015-08-02 21:57:57 +0200254 default "altera" if TARGET_SOCFPGA_CYCLONE5_SOCDK
Ley Foon Tana6847292018-05-24 00:17:32 +0800255 default "altera" if TARGET_SOCFPGA_STRATIX10_SOCDK
Wolfgang Grandegger990ed442019-05-12 19:25:18 +0200256 default "aries" if TARGET_SOCFPGA_ARIES_MCVEVK
Marek Vasut7fb46432018-02-24 23:34:00 +0100257 default "devboards" if TARGET_SOCFPGA_DEVBOARDS_DBM_SOC1
Marek Vasut856b30d2015-11-23 17:06:27 +0100258 default "ebv" if TARGET_SOCFPGA_EBV_SOCRATES
Paweł Anikiel61298272022-06-17 12:47:20 +0200259 default "google" if TARGET_SOCFPGA_CHAMELEONV3
Holger Brunck468ba8d2020-02-19 19:55:14 +0100260 default "keymile" if TARGET_SOCFPGA_ARRIA5_SECU1
Marek Vasut94a16b82019-06-27 00:19:31 +0200261 default "softing" if TARGET_SOCFPGA_SOFTING_VINING_FPGA
Dinh Nguyen55c7a762015-09-01 17:41:52 -0500262 default "terasic" if TARGET_SOCFPGA_TERASIC_DE0_NANO
Anatolij Gustschine9c847c2016-11-14 16:07:10 +0100263 default "terasic" if TARGET_SOCFPGA_TERASIC_DE1_SOC
Dalon Westergreen6bd041f2017-04-18 08:11:16 -0700264 default "terasic" if TARGET_SOCFPGA_TERASIC_DE10_NANO
Humberto Naves1b051362022-05-22 21:54:57 -0400265 default "terasic" if TARGET_SOCFPGA_TERASIC_DE10_STANDARD
Marek Vasut952caa22015-06-21 17:28:53 +0200266 default "terasic" if TARGET_SOCFPGA_TERASIC_SOCKIT
Masahiro Yamada7865f4b2015-04-21 20:38:20 +0900267
268config SYS_SOC
269 default "socfpga"
270
271config SYS_CONFIG_NAME
Jit Loon Lim386fca62024-03-12 22:01:03 +0800272 default "socfpga_agilex5_socdk" if TARGET_SOCFPGA_AGILEX5_SOCDK
Ley Foon Tana76b7112019-11-27 15:55:32 +0800273 default "socfpga_agilex_socdk" if TARGET_SOCFPGA_AGILEX_SOCDK
Holger Brunck468ba8d2020-02-19 19:55:14 +0100274 default "socfpga_arria5_secu1" if TARGET_SOCFPGA_ARRIA5_SECU1
Dinh Nguyen3cbc7b82015-09-22 17:01:32 -0500275 default "socfpga_arria5_socdk" if TARGET_SOCFPGA_ARRIA5_SOCDK
Ley Foon Tand89e9792017-04-26 02:44:48 +0800276 default "socfpga_arria10_socdk" if TARGET_SOCFPGA_ARRIA10_SOCDK
Paweł Anikiel61298272022-06-17 12:47:20 +0200277 default "socfpga_chameleonv3" if TARGET_SOCFPGA_CHAMELEONV3
Dinh Nguyen3cbc7b82015-09-22 17:01:32 -0500278 default "socfpga_cyclone5_socdk" if TARGET_SOCFPGA_CYCLONE5_SOCDK
Marek Vasut7fb46432018-02-24 23:34:00 +0100279 default "socfpga_dbm_soc1" if TARGET_SOCFPGA_DEVBOARDS_DBM_SOC1
Dinh Nguyen55c7a762015-09-01 17:41:52 -0500280 default "socfpga_de0_nano_soc" if TARGET_SOCFPGA_TERASIC_DE0_NANO
Anatolij Gustschine9c847c2016-11-14 16:07:10 +0100281 default "socfpga_de1_soc" if TARGET_SOCFPGA_TERASIC_DE1_SOC
Dalon Westergreen6bd041f2017-04-18 08:11:16 -0700282 default "socfpga_de10_nano" if TARGET_SOCFPGA_TERASIC_DE10_NANO
Humberto Naves1b051362022-05-22 21:54:57 -0400283 default "socfpga_de10_standard" if TARGET_SOCFPGA_TERASIC_DE10_STANDARD
Pavel Machek35546f62016-06-07 12:37:23 +0200284 default "socfpga_is1" if TARGET_SOCFPGA_IS1
Wolfgang Grandegger990ed442019-05-12 19:25:18 +0200285 default "socfpga_mcvevk" if TARGET_SOCFPGA_ARIES_MCVEVK
Siew Chin Lim31b51cb2021-08-10 11:26:42 +0800286 default "socfpga_n5x_socdk" if TARGET_SOCFPGA_N5X_SOCDK
Marek Vasut952caa22015-06-21 17:28:53 +0200287 default "socfpga_sockit" if TARGET_SOCFPGA_TERASIC_SOCKIT
Marek Vasut856b30d2015-11-23 17:06:27 +0100288 default "socfpga_socrates" if TARGET_SOCFPGA_EBV_SOCRATES
Stefan Roeseae9996c2015-11-18 11:06:09 +0100289 default "socfpga_sr1500" if TARGET_SOCFPGA_SR1500
Ley Foon Tana6847292018-05-24 00:17:32 +0800290 default "socfpga_stratix10_socdk" if TARGET_SOCFPGA_STRATIX10_SOCDK
Marek Vasut94a16b82019-06-27 00:19:31 +0200291 default "socfpga_vining_fpga" if TARGET_SOCFPGA_SOFTING_VINING_FPGA
Masahiro Yamada7865f4b2015-04-21 20:38:20 +0900292
Masahiro Yamada7865f4b2015-04-21 20:38:20 +0900293endif