blob: ec4ae8fc2ba200804008d744b032b4ed752b108a [file] [log] [blame]
Martin Rothf3e26792016-12-22 10:21:11 -07001comment "Important: Run 'make distclean' before switching boards"
2
Patrick Georgi0588d192009-08-12 15:00:51 +00003choice
4 prompt "Mainboard vendor"
5 default VENDOR_EMULATION
6
Stefan Reinauer139e1062015-04-03 20:11:13 +02007source "src/mainboard/*/Kconfig.name"
Patrick Georgi0588d192009-08-12 15:00:51 +00008
9endchoice
10
Stefan Reinauer139e1062015-04-03 20:11:13 +020011source "src/mainboard/*/Kconfig"
Patrick Georgi0588d192009-08-12 15:00:51 +000012
Angel Pons9cddae12021-07-23 11:01:50 +020013config MAINBOARD_DIR
14 string
15
Angel Pons2c03ffc2021-07-23 11:11:02 +020016config MAINBOARD_PART_NUMBER
Sam McNally13475712022-10-17 14:57:43 +110017 string "Mainboard part number"
Angel Pons2c03ffc2021-07-23 11:11:02 +020018
Angel Pons7671bce2020-03-01 13:07:19 +010019config MAINBOARD_VENDOR
20 string "Mainboard vendor name"
21
Angel Ponsee3d09b2021-07-23 11:44:04 +020022config VARIANT_DIR
23 string
24
Uwe Hermannd65509d2009-10-16 17:37:20 +000025config BOARD_ROMSIZE_KB_256
26 bool
27config BOARD_ROMSIZE_KB_512
28 bool
29config BOARD_ROMSIZE_KB_1024
30 bool
31config BOARD_ROMSIZE_KB_2048
32 bool
33config BOARD_ROMSIZE_KB_4096
34 bool
Angel Pons50a44542019-12-14 16:16:31 +010035config BOARD_ROMSIZE_KB_5120
36 bool
Kacper Słomiński0d4f95b2019-01-17 22:36:32 +010037config BOARD_ROMSIZE_KB_6144
38 bool
Cristian Măgherușan-Stanciu46b033e2011-06-19 21:07:20 +000039config BOARD_ROMSIZE_KB_8192
40 bool
Jonathan Neuschäferd61c6702017-10-03 20:59:10 +020041config BOARD_ROMSIZE_KB_10240
42 bool
Vladimir Serbinenko01d06dc2014-01-15 15:52:31 +010043config BOARD_ROMSIZE_KB_12288
44 bool
Cristian Măgherușan-Stanciu46b033e2011-06-19 21:07:20 +000045config BOARD_ROMSIZE_KB_16384
46 bool
Maciej Pijanowski71981cc2024-01-18 22:36:06 +010047config BOARD_ROMSIZE_KB_24576
48 bool
Lee Leahy67358712016-06-08 12:47:07 -070049config BOARD_ROMSIZE_KB_32768
50 bool
51config BOARD_ROMSIZE_KB_65536
52 bool
Uwe Hermannd65509d2009-10-16 17:37:20 +000053
Uwe Hermann168b11b2009-10-07 16:15:40 +000054# TODO: No help text possible for choice fields?
Patrick Georgi0588d192009-08-12 15:00:51 +000055choice
56 prompt "ROM chip size"
Angel Pons3e576732020-03-01 13:28:36 +010057 default COREBOOT_ROMSIZE_KB_256 if BOARD_ROMSIZE_KB_256
58 default COREBOOT_ROMSIZE_KB_512 if BOARD_ROMSIZE_KB_512
59 default COREBOOT_ROMSIZE_KB_1024 if BOARD_ROMSIZE_KB_1024
60 default COREBOOT_ROMSIZE_KB_2048 if BOARD_ROMSIZE_KB_2048
61 default COREBOOT_ROMSIZE_KB_4096 if BOARD_ROMSIZE_KB_4096
62 default COREBOOT_ROMSIZE_KB_5120 if BOARD_ROMSIZE_KB_5120
63 default COREBOOT_ROMSIZE_KB_6144 if BOARD_ROMSIZE_KB_6144
64 default COREBOOT_ROMSIZE_KB_8192 if BOARD_ROMSIZE_KB_8192
Jonathan Neuschäferd61c6702017-10-03 20:59:10 +020065 default COREBOOT_ROMSIZE_KB_10240 if BOARD_ROMSIZE_KB_10240
Vladimir Serbinenko01d06dc2014-01-15 15:52:31 +010066 default COREBOOT_ROMSIZE_KB_12288 if BOARD_ROMSIZE_KB_12288
Cristian Măgherușan-Stanciu46b033e2011-06-19 21:07:20 +000067 default COREBOOT_ROMSIZE_KB_16384 if BOARD_ROMSIZE_KB_16384
Maciej Pijanowski71981cc2024-01-18 22:36:06 +010068 default COREBOOT_ROMSIZE_KB_24576 if BOARD_ROMSIZE_KB_24576
Lee Leahy67358712016-06-08 12:47:07 -070069 default COREBOOT_ROMSIZE_KB_32768 if BOARD_ROMSIZE_KB_32768
70 default COREBOOT_ROMSIZE_KB_65536 if BOARD_ROMSIZE_KB_65536
Uwe Hermann168b11b2009-10-07 16:15:40 +000071 help
72 Select the size of the ROM chip you intend to flash coreboot on.
73
74 The build system will take care of creating a coreboot.rom file
75 of the matching size.
Patrick Georgi0588d192009-08-12 15:00:51 +000076
Patrick Georgi0588d192009-08-12 15:00:51 +000077config COREBOOT_ROMSIZE_KB_256
78 bool "256 KB"
79 help
80 Choose this option if you have a 256 KB ROM chip.
81
82config COREBOOT_ROMSIZE_KB_512
83 bool "512 KB"
84 help
85 Choose this option if you have a 512 KB ROM chip.
86
87config COREBOOT_ROMSIZE_KB_1024
88 bool "1024 KB (1 MB)"
89 help
90 Choose this option if you have a 1024 KB (1 MB) ROM chip.
91
92config COREBOOT_ROMSIZE_KB_2048
93 bool "2048 KB (2 MB)"
94 help
95 Choose this option if you have a 2048 KB (2 MB) ROM chip.
96
Cristi Magherusan7e92ff32009-08-17 14:33:03 +000097config COREBOOT_ROMSIZE_KB_4096
98 bool "4096 KB (4 MB)"
99 help
100 Choose this option if you have a 4096 KB (4 MB) ROM chip.
101
Angel Pons50a44542019-12-14 16:16:31 +0100102config COREBOOT_ROMSIZE_KB_5120
103 bool "5120 KB (5 MB)"
104 help
105 Choose this option if you have a 5120 KB (5 MB) ROM chip.
106
Kacper Słomiński0d4f95b2019-01-17 22:36:32 +0100107config COREBOOT_ROMSIZE_KB_6144
108 bool "6144 KB (6 MB)"
109 help
110 Choose this option if you have a 6144 KB (6 MB) ROM chip.
111
Cristian Măgherușan-Stanciu46b033e2011-06-19 21:07:20 +0000112config COREBOOT_ROMSIZE_KB_8192
113 bool "8192 KB (8 MB)"
114 help
115 Choose this option if you have a 8192 KB (8 MB) ROM chip.
116
Jonathan Neuschäferd61c6702017-10-03 20:59:10 +0200117config COREBOOT_ROMSIZE_KB_10240
118 bool "10240 KB (10 MB)"
119 help
120 Choose this option if you have a 10240 KB (10 MB) ROM chip.
121
Vladimir Serbinenko01d06dc2014-01-15 15:52:31 +0100122config COREBOOT_ROMSIZE_KB_12288
123 bool "12288 KB (12 MB)"
124 help
125 Choose this option if you have a 12288 KB (12 MB) ROM chip.
126
Cristian Măgherușan-Stanciu46b033e2011-06-19 21:07:20 +0000127config COREBOOT_ROMSIZE_KB_16384
128 bool "16384 KB (16 MB)"
129 help
130 Choose this option if you have a 16384 KB (16 MB) ROM chip.
131
Maciej Pijanowski71981cc2024-01-18 22:36:06 +0100132config COREBOOT_ROMSIZE_KB_24576
133 bool "24576 KB (24 MB)"
134 help
135 Choose this option if you have a 24576 KB (24 MB) ROM chip.
136
Lee Leahy67358712016-06-08 12:47:07 -0700137config COREBOOT_ROMSIZE_KB_32768
138 bool "32768 KB (32 MB)"
139 help
140 Choose this option if you have a 32768 KB (32 MB) ROM chip.
141
142config COREBOOT_ROMSIZE_KB_65536
143 bool "65536 KB (64 MB)"
144 help
145 Choose this option if you have a 65536 KB (64 MB) ROM chip.
146
Patrick Georgi0588d192009-08-12 15:00:51 +0000147endchoice
148
Uwe Hermann168b11b2009-10-07 16:15:40 +0000149# Map the config names to an integer (KB).
Patrick Georgi0588d192009-08-12 15:00:51 +0000150config COREBOOT_ROMSIZE_KB
151 int
Angel Pons3e576732020-03-01 13:28:36 +0100152 default 256 if COREBOOT_ROMSIZE_KB_256
153 default 512 if COREBOOT_ROMSIZE_KB_512
154 default 1024 if COREBOOT_ROMSIZE_KB_1024
155 default 2048 if COREBOOT_ROMSIZE_KB_2048
156 default 4096 if COREBOOT_ROMSIZE_KB_4096
157 default 5120 if COREBOOT_ROMSIZE_KB_5120
158 default 6144 if COREBOOT_ROMSIZE_KB_6144
159 default 8192 if COREBOOT_ROMSIZE_KB_8192
Jonathan Neuschäferd61c6702017-10-03 20:59:10 +0200160 default 10240 if COREBOOT_ROMSIZE_KB_10240
Vladimir Serbinenko01d06dc2014-01-15 15:52:31 +0100161 default 12288 if COREBOOT_ROMSIZE_KB_12288
Cristian Măgherușan-Stanciu46b033e2011-06-19 21:07:20 +0000162 default 16384 if COREBOOT_ROMSIZE_KB_16384
Maciej Pijanowski71981cc2024-01-18 22:36:06 +0100163 default 24576 if COREBOOT_ROMSIZE_KB_24576
Lee Leahy67358712016-06-08 12:47:07 -0700164 default 32768 if COREBOOT_ROMSIZE_KB_32768
165 default 65536 if COREBOOT_ROMSIZE_KB_65536
Patrick Georgi0588d192009-08-12 15:00:51 +0000166
Uwe Hermann168b11b2009-10-07 16:15:40 +0000167# Map the config names to a hex value (bytes).
Patrick Georgi88f55b22009-09-25 18:43:02 +0000168config ROM_SIZE
169 hex
Angel Pons3e576732020-03-01 13:28:36 +0100170 default 0x00040000 if COREBOOT_ROMSIZE_KB_256
171 default 0x00080000 if COREBOOT_ROMSIZE_KB_512
172 default 0x00100000 if COREBOOT_ROMSIZE_KB_1024
173 default 0x00200000 if COREBOOT_ROMSIZE_KB_2048
174 default 0x00400000 if COREBOOT_ROMSIZE_KB_4096
175 default 0x00500000 if COREBOOT_ROMSIZE_KB_5120
176 default 0x00600000 if COREBOOT_ROMSIZE_KB_6144
177 default 0x00800000 if COREBOOT_ROMSIZE_KB_8192
178 default 0x00a00000 if COREBOOT_ROMSIZE_KB_10240
179 default 0x00c00000 if COREBOOT_ROMSIZE_KB_12288
180 default 0x01000000 if COREBOOT_ROMSIZE_KB_16384
Maciej Pijanowski71981cc2024-01-18 22:36:06 +0100181 default 0x01800000 if COREBOOT_ROMSIZE_KB_24576
Angel Pons3e576732020-03-01 13:28:36 +0100182 default 0x02000000 if COREBOOT_ROMSIZE_KB_32768
183 default 0x04000000 if COREBOOT_ROMSIZE_KB_65536
Patrick Georgi88f55b22009-09-25 18:43:02 +0000184
Peter Stuge51eafde2010-10-13 06:23:02 +0000185config ENABLE_POWER_BUTTON
186 bool "Enable the power button" if POWER_BUTTON_IS_OPTIONAL
187 default y if POWER_BUTTON_DEFAULT_ENABLE
188 default n if POWER_BUTTON_DEFAULT_DISABLE
189 help
190 The selected mainboard can optionally have the power button tied
191 to ground with a jumper so that the button appears to be
192 constantly depressed. If this option is enabled and the jumper is
193 installed then the board will turn on, but turn off again after a
194 short timeout, usually 4 seconds.
195
196 Select Y here if you have removed the jumper and want to use an
197 actual power button. Select N if you have the jumper installed.
198
199config ENABLE_POWER_BUTTON
200 def_bool y if !POWER_BUTTON_IS_OPTIONAL && POWER_BUTTON_FORCE_ENABLE
201 def_bool n if !POWER_BUTTON_IS_OPTIONAL && POWER_BUTTON_FORCE_DISABLE
Nico Huber9faae2b2018-11-14 00:00:35 +0100202
203config HAVE_POWER_STATE_AFTER_FAILURE
204 bool
205
206if HAVE_POWER_STATE_AFTER_FAILURE
207
208config HAVE_POWER_STATE_PREVIOUS_AFTER_FAILURE
209 bool
210
211config POWER_STATE_DEFAULT_ON_AFTER_FAILURE
212 bool
213 help
214 Selected by platforms or mainboards that want a "default on"
215 behaviour.
216
217choice
218 prompt "System Power State after Failure"
219 default POWER_STATE_ON_AFTER_FAILURE \
220 if POWER_STATE_DEFAULT_ON_AFTER_FAILURE
221 default POWER_STATE_OFF_AFTER_FAILURE
222 help
223 Provides a default for the power state the system should
224 go into after G3 (power loss). On many boards this can be
225 overridden by an NVRAM option.
226
227config POWER_STATE_OFF_AFTER_FAILURE
228 bool "S5 Soft Off"
229 help
230 Choose this option if you want to put system into
231 S5 after reapplying power after failure.
232
233config POWER_STATE_ON_AFTER_FAILURE
234 bool "S0 Full On"
235 help
236 Choose this option if you want to keep system in
237 S0 after reapplying power after failure.
238
239config POWER_STATE_PREVIOUS_AFTER_FAILURE
240 bool "Keep Previous State"
241 depends on HAVE_POWER_STATE_PREVIOUS_AFTER_FAILURE
242 help
243 Choose this option if you want to keep system in the
244 same power state as before failure after reapplying
245 power.
246
247endchoice
248
249config MAINBOARD_POWER_FAILURE_STATE
250 int
251 default 2 if POWER_STATE_PREVIOUS_AFTER_FAILURE
252 default 1 if POWER_STATE_ON_AFTER_FAILURE
253 default 0
254
255endif # HAVE_POWER_STATE_AFTER_FAILURE