Martin Roth | e9af73d | 2024-02-16 10:47:52 -0700 | [diff] [blame] | 1 | ## SPDX-License-Identifier: GPL-2.0-only |
| 2 | |
Martin Roth | f3e2679 | 2016-12-22 10:21:11 -0700 | [diff] [blame] | 3 | comment "Important: Run 'make distclean' before switching boards" |
| 4 | |
Patrick Georgi | 0588d19 | 2009-08-12 15:00:51 +0000 | [diff] [blame] | 5 | choice |
| 6 | prompt "Mainboard vendor" |
| 7 | default VENDOR_EMULATION |
| 8 | |
Stefan Reinauer | 139e106 | 2015-04-03 20:11:13 +0200 | [diff] [blame] | 9 | source "src/mainboard/*/Kconfig.name" |
Patrick Georgi | 0588d19 | 2009-08-12 15:00:51 +0000 | [diff] [blame] | 10 | |
| 11 | endchoice |
| 12 | |
Stefan Reinauer | 139e106 | 2015-04-03 20:11:13 +0200 | [diff] [blame] | 13 | source "src/mainboard/*/Kconfig" |
Patrick Georgi | 0588d19 | 2009-08-12 15:00:51 +0000 | [diff] [blame] | 14 | |
Angel Pons | 9cddae1 | 2021-07-23 11:01:50 +0200 | [diff] [blame] | 15 | config MAINBOARD_DIR |
| 16 | string |
| 17 | |
Angel Pons | 2c03ffc | 2021-07-23 11:11:02 +0200 | [diff] [blame] | 18 | config MAINBOARD_PART_NUMBER |
Sam McNally | 1347571 | 2022-10-17 14:57:43 +1100 | [diff] [blame] | 19 | string "Mainboard part number" |
Angel Pons | 2c03ffc | 2021-07-23 11:11:02 +0200 | [diff] [blame] | 20 | |
Angel Pons | 7671bce | 2020-03-01 13:07:19 +0100 | [diff] [blame] | 21 | config MAINBOARD_VENDOR |
| 22 | string "Mainboard vendor name" |
| 23 | |
Angel Pons | ee3d09b | 2021-07-23 11:44:04 +0200 | [diff] [blame] | 24 | config VARIANT_DIR |
| 25 | string |
| 26 | |
Uwe Hermann | d65509d | 2009-10-16 17:37:20 +0000 | [diff] [blame] | 27 | config BOARD_ROMSIZE_KB_256 |
| 28 | bool |
| 29 | config BOARD_ROMSIZE_KB_512 |
| 30 | bool |
| 31 | config BOARD_ROMSIZE_KB_1024 |
| 32 | bool |
| 33 | config BOARD_ROMSIZE_KB_2048 |
| 34 | bool |
| 35 | config BOARD_ROMSIZE_KB_4096 |
| 36 | bool |
Angel Pons | 50a4454 | 2019-12-14 16:16:31 +0100 | [diff] [blame] | 37 | config BOARD_ROMSIZE_KB_5120 |
| 38 | bool |
Kacper Słomiński | 0d4f95b | 2019-01-17 22:36:32 +0100 | [diff] [blame] | 39 | config BOARD_ROMSIZE_KB_6144 |
| 40 | bool |
Cristian Măgherușan-Stanciu | 46b033e | 2011-06-19 21:07:20 +0000 | [diff] [blame] | 41 | config BOARD_ROMSIZE_KB_8192 |
| 42 | bool |
Jonathan Neuschäfer | d61c670 | 2017-10-03 20:59:10 +0200 | [diff] [blame] | 43 | config BOARD_ROMSIZE_KB_10240 |
| 44 | bool |
Vladimir Serbinenko | 01d06dc | 2014-01-15 15:52:31 +0100 | [diff] [blame] | 45 | config BOARD_ROMSIZE_KB_12288 |
| 46 | bool |
Cristian Măgherușan-Stanciu | 46b033e | 2011-06-19 21:07:20 +0000 | [diff] [blame] | 47 | config BOARD_ROMSIZE_KB_16384 |
| 48 | bool |
Maciej Pijanowski | 71981cc | 2024-01-18 22:36:06 +0100 | [diff] [blame] | 49 | config BOARD_ROMSIZE_KB_24576 |
| 50 | bool |
Lee Leahy | 6735871 | 2016-06-08 12:47:07 -0700 | [diff] [blame] | 51 | config BOARD_ROMSIZE_KB_32768 |
| 52 | bool |
| 53 | config BOARD_ROMSIZE_KB_65536 |
| 54 | bool |
Uwe Hermann | d65509d | 2009-10-16 17:37:20 +0000 | [diff] [blame] | 55 | |
Uwe Hermann | 168b11b | 2009-10-07 16:15:40 +0000 | [diff] [blame] | 56 | # TODO: No help text possible for choice fields? |
Patrick Georgi | 0588d19 | 2009-08-12 15:00:51 +0000 | [diff] [blame] | 57 | choice |
| 58 | prompt "ROM chip size" |
Angel Pons | 3e57673 | 2020-03-01 13:28:36 +0100 | [diff] [blame] | 59 | default COREBOOT_ROMSIZE_KB_256 if BOARD_ROMSIZE_KB_256 |
| 60 | default COREBOOT_ROMSIZE_KB_512 if BOARD_ROMSIZE_KB_512 |
| 61 | default COREBOOT_ROMSIZE_KB_1024 if BOARD_ROMSIZE_KB_1024 |
| 62 | default COREBOOT_ROMSIZE_KB_2048 if BOARD_ROMSIZE_KB_2048 |
| 63 | default COREBOOT_ROMSIZE_KB_4096 if BOARD_ROMSIZE_KB_4096 |
| 64 | default COREBOOT_ROMSIZE_KB_5120 if BOARD_ROMSIZE_KB_5120 |
| 65 | default COREBOOT_ROMSIZE_KB_6144 if BOARD_ROMSIZE_KB_6144 |
| 66 | default COREBOOT_ROMSIZE_KB_8192 if BOARD_ROMSIZE_KB_8192 |
Jonathan Neuschäfer | d61c670 | 2017-10-03 20:59:10 +0200 | [diff] [blame] | 67 | default COREBOOT_ROMSIZE_KB_10240 if BOARD_ROMSIZE_KB_10240 |
Vladimir Serbinenko | 01d06dc | 2014-01-15 15:52:31 +0100 | [diff] [blame] | 68 | default COREBOOT_ROMSIZE_KB_12288 if BOARD_ROMSIZE_KB_12288 |
Cristian Măgherușan-Stanciu | 46b033e | 2011-06-19 21:07:20 +0000 | [diff] [blame] | 69 | default COREBOOT_ROMSIZE_KB_16384 if BOARD_ROMSIZE_KB_16384 |
Maciej Pijanowski | 71981cc | 2024-01-18 22:36:06 +0100 | [diff] [blame] | 70 | default COREBOOT_ROMSIZE_KB_24576 if BOARD_ROMSIZE_KB_24576 |
Lee Leahy | 6735871 | 2016-06-08 12:47:07 -0700 | [diff] [blame] | 71 | default COREBOOT_ROMSIZE_KB_32768 if BOARD_ROMSIZE_KB_32768 |
| 72 | default COREBOOT_ROMSIZE_KB_65536 if BOARD_ROMSIZE_KB_65536 |
Uwe Hermann | 168b11b | 2009-10-07 16:15:40 +0000 | [diff] [blame] | 73 | help |
| 74 | Select the size of the ROM chip you intend to flash coreboot on. |
| 75 | |
| 76 | The build system will take care of creating a coreboot.rom file |
| 77 | of the matching size. |
Patrick Georgi | 0588d19 | 2009-08-12 15:00:51 +0000 | [diff] [blame] | 78 | |
Patrick Georgi | 0588d19 | 2009-08-12 15:00:51 +0000 | [diff] [blame] | 79 | config COREBOOT_ROMSIZE_KB_256 |
| 80 | bool "256 KB" |
| 81 | help |
| 82 | Choose this option if you have a 256 KB ROM chip. |
| 83 | |
| 84 | config COREBOOT_ROMSIZE_KB_512 |
| 85 | bool "512 KB" |
| 86 | help |
| 87 | Choose this option if you have a 512 KB ROM chip. |
| 88 | |
| 89 | config COREBOOT_ROMSIZE_KB_1024 |
| 90 | bool "1024 KB (1 MB)" |
| 91 | help |
| 92 | Choose this option if you have a 1024 KB (1 MB) ROM chip. |
| 93 | |
| 94 | config COREBOOT_ROMSIZE_KB_2048 |
| 95 | bool "2048 KB (2 MB)" |
| 96 | help |
| 97 | Choose this option if you have a 2048 KB (2 MB) ROM chip. |
| 98 | |
Cristi Magherusan | 7e92ff3 | 2009-08-17 14:33:03 +0000 | [diff] [blame] | 99 | config COREBOOT_ROMSIZE_KB_4096 |
| 100 | bool "4096 KB (4 MB)" |
| 101 | help |
| 102 | Choose this option if you have a 4096 KB (4 MB) ROM chip. |
| 103 | |
Angel Pons | 50a4454 | 2019-12-14 16:16:31 +0100 | [diff] [blame] | 104 | config COREBOOT_ROMSIZE_KB_5120 |
| 105 | bool "5120 KB (5 MB)" |
| 106 | help |
| 107 | Choose this option if you have a 5120 KB (5 MB) ROM chip. |
| 108 | |
Kacper Słomiński | 0d4f95b | 2019-01-17 22:36:32 +0100 | [diff] [blame] | 109 | config COREBOOT_ROMSIZE_KB_6144 |
| 110 | bool "6144 KB (6 MB)" |
| 111 | help |
| 112 | Choose this option if you have a 6144 KB (6 MB) ROM chip. |
| 113 | |
Cristian Măgherușan-Stanciu | 46b033e | 2011-06-19 21:07:20 +0000 | [diff] [blame] | 114 | config COREBOOT_ROMSIZE_KB_8192 |
| 115 | bool "8192 KB (8 MB)" |
| 116 | help |
| 117 | Choose this option if you have a 8192 KB (8 MB) ROM chip. |
| 118 | |
Jonathan Neuschäfer | d61c670 | 2017-10-03 20:59:10 +0200 | [diff] [blame] | 119 | config COREBOOT_ROMSIZE_KB_10240 |
| 120 | bool "10240 KB (10 MB)" |
| 121 | help |
| 122 | Choose this option if you have a 10240 KB (10 MB) ROM chip. |
| 123 | |
Vladimir Serbinenko | 01d06dc | 2014-01-15 15:52:31 +0100 | [diff] [blame] | 124 | config COREBOOT_ROMSIZE_KB_12288 |
| 125 | bool "12288 KB (12 MB)" |
| 126 | help |
| 127 | Choose this option if you have a 12288 KB (12 MB) ROM chip. |
| 128 | |
Cristian Măgherușan-Stanciu | 46b033e | 2011-06-19 21:07:20 +0000 | [diff] [blame] | 129 | config COREBOOT_ROMSIZE_KB_16384 |
| 130 | bool "16384 KB (16 MB)" |
| 131 | help |
| 132 | Choose this option if you have a 16384 KB (16 MB) ROM chip. |
| 133 | |
Maciej Pijanowski | 71981cc | 2024-01-18 22:36:06 +0100 | [diff] [blame] | 134 | config COREBOOT_ROMSIZE_KB_24576 |
| 135 | bool "24576 KB (24 MB)" |
| 136 | help |
| 137 | Choose this option if you have a 24576 KB (24 MB) ROM chip. |
| 138 | |
Lee Leahy | 6735871 | 2016-06-08 12:47:07 -0700 | [diff] [blame] | 139 | config COREBOOT_ROMSIZE_KB_32768 |
| 140 | bool "32768 KB (32 MB)" |
| 141 | help |
| 142 | Choose this option if you have a 32768 KB (32 MB) ROM chip. |
| 143 | |
| 144 | config COREBOOT_ROMSIZE_KB_65536 |
| 145 | bool "65536 KB (64 MB)" |
| 146 | help |
| 147 | Choose this option if you have a 65536 KB (64 MB) ROM chip. |
| 148 | |
Patrick Georgi | 0588d19 | 2009-08-12 15:00:51 +0000 | [diff] [blame] | 149 | endchoice |
| 150 | |
Uwe Hermann | 168b11b | 2009-10-07 16:15:40 +0000 | [diff] [blame] | 151 | # Map the config names to an integer (KB). |
Patrick Georgi | 0588d19 | 2009-08-12 15:00:51 +0000 | [diff] [blame] | 152 | config COREBOOT_ROMSIZE_KB |
| 153 | int |
Angel Pons | 3e57673 | 2020-03-01 13:28:36 +0100 | [diff] [blame] | 154 | default 256 if COREBOOT_ROMSIZE_KB_256 |
| 155 | default 512 if COREBOOT_ROMSIZE_KB_512 |
| 156 | default 1024 if COREBOOT_ROMSIZE_KB_1024 |
| 157 | default 2048 if COREBOOT_ROMSIZE_KB_2048 |
| 158 | default 4096 if COREBOOT_ROMSIZE_KB_4096 |
| 159 | default 5120 if COREBOOT_ROMSIZE_KB_5120 |
| 160 | default 6144 if COREBOOT_ROMSIZE_KB_6144 |
| 161 | default 8192 if COREBOOT_ROMSIZE_KB_8192 |
Jonathan Neuschäfer | d61c670 | 2017-10-03 20:59:10 +0200 | [diff] [blame] | 162 | default 10240 if COREBOOT_ROMSIZE_KB_10240 |
Vladimir Serbinenko | 01d06dc | 2014-01-15 15:52:31 +0100 | [diff] [blame] | 163 | default 12288 if COREBOOT_ROMSIZE_KB_12288 |
Cristian Măgherușan-Stanciu | 46b033e | 2011-06-19 21:07:20 +0000 | [diff] [blame] | 164 | default 16384 if COREBOOT_ROMSIZE_KB_16384 |
Maciej Pijanowski | 71981cc | 2024-01-18 22:36:06 +0100 | [diff] [blame] | 165 | default 24576 if COREBOOT_ROMSIZE_KB_24576 |
Lee Leahy | 6735871 | 2016-06-08 12:47:07 -0700 | [diff] [blame] | 166 | default 32768 if COREBOOT_ROMSIZE_KB_32768 |
| 167 | default 65536 if COREBOOT_ROMSIZE_KB_65536 |
Patrick Georgi | 0588d19 | 2009-08-12 15:00:51 +0000 | [diff] [blame] | 168 | |
Uwe Hermann | 168b11b | 2009-10-07 16:15:40 +0000 | [diff] [blame] | 169 | # Map the config names to a hex value (bytes). |
Patrick Georgi | 88f55b2 | 2009-09-25 18:43:02 +0000 | [diff] [blame] | 170 | config ROM_SIZE |
| 171 | hex |
Angel Pons | 3e57673 | 2020-03-01 13:28:36 +0100 | [diff] [blame] | 172 | default 0x00040000 if COREBOOT_ROMSIZE_KB_256 |
| 173 | default 0x00080000 if COREBOOT_ROMSIZE_KB_512 |
| 174 | default 0x00100000 if COREBOOT_ROMSIZE_KB_1024 |
| 175 | default 0x00200000 if COREBOOT_ROMSIZE_KB_2048 |
| 176 | default 0x00400000 if COREBOOT_ROMSIZE_KB_4096 |
| 177 | default 0x00500000 if COREBOOT_ROMSIZE_KB_5120 |
| 178 | default 0x00600000 if COREBOOT_ROMSIZE_KB_6144 |
| 179 | default 0x00800000 if COREBOOT_ROMSIZE_KB_8192 |
| 180 | default 0x00a00000 if COREBOOT_ROMSIZE_KB_10240 |
| 181 | default 0x00c00000 if COREBOOT_ROMSIZE_KB_12288 |
| 182 | default 0x01000000 if COREBOOT_ROMSIZE_KB_16384 |
Maciej Pijanowski | 71981cc | 2024-01-18 22:36:06 +0100 | [diff] [blame] | 183 | default 0x01800000 if COREBOOT_ROMSIZE_KB_24576 |
Angel Pons | 3e57673 | 2020-03-01 13:28:36 +0100 | [diff] [blame] | 184 | default 0x02000000 if COREBOOT_ROMSIZE_KB_32768 |
| 185 | default 0x04000000 if COREBOOT_ROMSIZE_KB_65536 |
Patrick Georgi | 88f55b2 | 2009-09-25 18:43:02 +0000 | [diff] [blame] | 186 | |
Peter Stuge | 51eafde | 2010-10-13 06:23:02 +0000 | [diff] [blame] | 187 | config ENABLE_POWER_BUTTON |
| 188 | bool "Enable the power button" if POWER_BUTTON_IS_OPTIONAL |
| 189 | default y if POWER_BUTTON_DEFAULT_ENABLE |
| 190 | default n if POWER_BUTTON_DEFAULT_DISABLE |
| 191 | help |
| 192 | The selected mainboard can optionally have the power button tied |
| 193 | to ground with a jumper so that the button appears to be |
| 194 | constantly depressed. If this option is enabled and the jumper is |
| 195 | installed then the board will turn on, but turn off again after a |
| 196 | short timeout, usually 4 seconds. |
| 197 | |
| 198 | Select Y here if you have removed the jumper and want to use an |
| 199 | actual power button. Select N if you have the jumper installed. |
| 200 | |
| 201 | config ENABLE_POWER_BUTTON |
| 202 | def_bool y if !POWER_BUTTON_IS_OPTIONAL && POWER_BUTTON_FORCE_ENABLE |
| 203 | def_bool n if !POWER_BUTTON_IS_OPTIONAL && POWER_BUTTON_FORCE_DISABLE |
Nico Huber | 9faae2b | 2018-11-14 00:00:35 +0100 | [diff] [blame] | 204 | |
| 205 | config HAVE_POWER_STATE_AFTER_FAILURE |
| 206 | bool |
| 207 | |
| 208 | if HAVE_POWER_STATE_AFTER_FAILURE |
| 209 | |
| 210 | config HAVE_POWER_STATE_PREVIOUS_AFTER_FAILURE |
| 211 | bool |
| 212 | |
| 213 | config POWER_STATE_DEFAULT_ON_AFTER_FAILURE |
| 214 | bool |
| 215 | help |
| 216 | Selected by platforms or mainboards that want a "default on" |
| 217 | behaviour. |
| 218 | |
| 219 | choice |
| 220 | prompt "System Power State after Failure" |
| 221 | default POWER_STATE_ON_AFTER_FAILURE \ |
| 222 | if POWER_STATE_DEFAULT_ON_AFTER_FAILURE |
| 223 | default POWER_STATE_OFF_AFTER_FAILURE |
| 224 | help |
| 225 | Provides a default for the power state the system should |
| 226 | go into after G3 (power loss). On many boards this can be |
| 227 | overridden by an NVRAM option. |
| 228 | |
| 229 | config POWER_STATE_OFF_AFTER_FAILURE |
| 230 | bool "S5 Soft Off" |
| 231 | help |
| 232 | Choose this option if you want to put system into |
| 233 | S5 after reapplying power after failure. |
| 234 | |
| 235 | config POWER_STATE_ON_AFTER_FAILURE |
| 236 | bool "S0 Full On" |
| 237 | help |
| 238 | Choose this option if you want to keep system in |
| 239 | S0 after reapplying power after failure. |
| 240 | |
| 241 | config POWER_STATE_PREVIOUS_AFTER_FAILURE |
| 242 | bool "Keep Previous State" |
| 243 | depends on HAVE_POWER_STATE_PREVIOUS_AFTER_FAILURE |
| 244 | help |
| 245 | Choose this option if you want to keep system in the |
| 246 | same power state as before failure after reapplying |
| 247 | power. |
| 248 | |
| 249 | endchoice |
| 250 | |
| 251 | config MAINBOARD_POWER_FAILURE_STATE |
| 252 | int |
| 253 | default 2 if POWER_STATE_PREVIOUS_AFTER_FAILURE |
| 254 | default 1 if POWER_STATE_ON_AFTER_FAILURE |
| 255 | default 0 |
| 256 | |
| 257 | endif # HAVE_POWER_STATE_AFTER_FAILURE |