## SPDX-License-Identifier: GPL-2.0-only comment "Important: Run 'make distclean' before switching boards" choice prompt "Mainboard vendor" default VENDOR_EMULATION source "src/mainboard/*/Kconfig.name" endchoice source "src/mainboard/*/Kconfig" config MAINBOARD_DIR string config MAINBOARD_PART_NUMBER string "Mainboard part number" config MAINBOARD_VENDOR string "Mainboard vendor name" config VARIANT_DIR string config BOARD_ROMSIZE_KB_256 bool config BOARD_ROMSIZE_KB_512 bool config BOARD_ROMSIZE_KB_1024 bool config BOARD_ROMSIZE_KB_2048 bool config BOARD_ROMSIZE_KB_4096 bool config BOARD_ROMSIZE_KB_5120 bool config BOARD_ROMSIZE_KB_6144 bool config BOARD_ROMSIZE_KB_8192 bool config BOARD_ROMSIZE_KB_10240 bool config BOARD_ROMSIZE_KB_12288 bool config BOARD_ROMSIZE_KB_16384 bool config BOARD_ROMSIZE_KB_24576 bool config BOARD_ROMSIZE_KB_32768 bool config BOARD_ROMSIZE_KB_65536 bool # TODO: No help text possible for choice fields? choice prompt "ROM chip size" default COREBOOT_ROMSIZE_KB_256 if BOARD_ROMSIZE_KB_256 default COREBOOT_ROMSIZE_KB_512 if BOARD_ROMSIZE_KB_512 default COREBOOT_ROMSIZE_KB_1024 if BOARD_ROMSIZE_KB_1024 default COREBOOT_ROMSIZE_KB_2048 if BOARD_ROMSIZE_KB_2048 default COREBOOT_ROMSIZE_KB_4096 if BOARD_ROMSIZE_KB_4096 default COREBOOT_ROMSIZE_KB_5120 if BOARD_ROMSIZE_KB_5120 default COREBOOT_ROMSIZE_KB_6144 if BOARD_ROMSIZE_KB_6144 default COREBOOT_ROMSIZE_KB_8192 if BOARD_ROMSIZE_KB_8192 default COREBOOT_ROMSIZE_KB_10240 if BOARD_ROMSIZE_KB_10240 default COREBOOT_ROMSIZE_KB_12288 if BOARD_ROMSIZE_KB_12288 default COREBOOT_ROMSIZE_KB_16384 if BOARD_ROMSIZE_KB_16384 default COREBOOT_ROMSIZE_KB_24576 if BOARD_ROMSIZE_KB_24576 default COREBOOT_ROMSIZE_KB_32768 if BOARD_ROMSIZE_KB_32768 default COREBOOT_ROMSIZE_KB_65536 if BOARD_ROMSIZE_KB_65536 help Select the size of the ROM chip you intend to flash coreboot on. The build system will take care of creating a coreboot.rom file of the matching size. config COREBOOT_ROMSIZE_KB_256 bool "256 KB" help Choose this option if you have a 256 KB ROM chip. config COREBOOT_ROMSIZE_KB_512 bool "512 KB" help Choose this option if you have a 512 KB ROM chip. config COREBOOT_ROMSIZE_KB_1024 bool "1024 KB (1 MB)" help Choose this option if you have a 1024 KB (1 MB) ROM chip. config COREBOOT_ROMSIZE_KB_2048 bool "2048 KB (2 MB)" help Choose this option if you have a 2048 KB (2 MB) ROM chip. config COREBOOT_ROMSIZE_KB_4096 bool "4096 KB (4 MB)" help Choose this option if you have a 4096 KB (4 MB) ROM chip. config COREBOOT_ROMSIZE_KB_5120 bool "5120 KB (5 MB)" help Choose this option if you have a 5120 KB (5 MB) ROM chip. config COREBOOT_ROMSIZE_KB_6144 bool "6144 KB (6 MB)" help Choose this option if you have a 6144 KB (6 MB) ROM chip. config COREBOOT_ROMSIZE_KB_8192 bool "8192 KB (8 MB)" help Choose this option if you have a 8192 KB (8 MB) ROM chip. config COREBOOT_ROMSIZE_KB_10240 bool "10240 KB (10 MB)" help Choose this option if you have a 10240 KB (10 MB) ROM chip. config COREBOOT_ROMSIZE_KB_12288 bool "12288 KB (12 MB)" help Choose this option if you have a 12288 KB (12 MB) ROM chip. config COREBOOT_ROMSIZE_KB_16384 bool "16384 KB (16 MB)" help Choose this option if you have a 16384 KB (16 MB) ROM chip. config COREBOOT_ROMSIZE_KB_24576 bool "24576 KB (24 MB)" help Choose this option if you have a 24576 KB (24 MB) ROM chip. config COREBOOT_ROMSIZE_KB_32768 bool "32768 KB (32 MB)" help Choose this option if you have a 32768 KB (32 MB) ROM chip. config COREBOOT_ROMSIZE_KB_65536 bool "65536 KB (64 MB)" help Choose this option if you have a 65536 KB (64 MB) ROM chip. endchoice # Map the config names to an integer (KB). config COREBOOT_ROMSIZE_KB int default 256 if COREBOOT_ROMSIZE_KB_256 default 512 if COREBOOT_ROMSIZE_KB_512 default 1024 if COREBOOT_ROMSIZE_KB_1024 default 2048 if COREBOOT_ROMSIZE_KB_2048 default 4096 if COREBOOT_ROMSIZE_KB_4096 default 5120 if COREBOOT_ROMSIZE_KB_5120 default 6144 if COREBOOT_ROMSIZE_KB_6144 default 8192 if COREBOOT_ROMSIZE_KB_8192 default 10240 if COREBOOT_ROMSIZE_KB_10240 default 12288 if COREBOOT_ROMSIZE_KB_12288 default 16384 if COREBOOT_ROMSIZE_KB_16384 default 24576 if COREBOOT_ROMSIZE_KB_24576 default 32768 if COREBOOT_ROMSIZE_KB_32768 default 65536 if COREBOOT_ROMSIZE_KB_65536 # Map the config names to a hex value (bytes). config ROM_SIZE hex default 0x00040000 if COREBOOT_ROMSIZE_KB_256 default 0x00080000 if COREBOOT_ROMSIZE_KB_512 default 0x00100000 if COREBOOT_ROMSIZE_KB_1024 default 0x00200000 if COREBOOT_ROMSIZE_KB_2048 default 0x00400000 if COREBOOT_ROMSIZE_KB_4096 default 0x00500000 if COREBOOT_ROMSIZE_KB_5120 default 0x00600000 if COREBOOT_ROMSIZE_KB_6144 default 0x00800000 if COREBOOT_ROMSIZE_KB_8192 default 0x00a00000 if COREBOOT_ROMSIZE_KB_10240 default 0x00c00000 if COREBOOT_ROMSIZE_KB_12288 default 0x01000000 if COREBOOT_ROMSIZE_KB_16384 default 0x01800000 if COREBOOT_ROMSIZE_KB_24576 default 0x02000000 if COREBOOT_ROMSIZE_KB_32768 default 0x04000000 if COREBOOT_ROMSIZE_KB_65536 config ENABLE_POWER_BUTTON bool "Enable the power button" if POWER_BUTTON_IS_OPTIONAL default y if POWER_BUTTON_DEFAULT_ENABLE default n if POWER_BUTTON_DEFAULT_DISABLE help The selected mainboard can optionally have the power button tied to ground with a jumper so that the button appears to be constantly depressed. If this option is enabled and the jumper is installed then the board will turn on, but turn off again after a short timeout, usually 4 seconds. Select Y here if you have removed the jumper and want to use an actual power button. Select N if you have the jumper installed. config ENABLE_POWER_BUTTON def_bool y if !POWER_BUTTON_IS_OPTIONAL && POWER_BUTTON_FORCE_ENABLE def_bool n if !POWER_BUTTON_IS_OPTIONAL && POWER_BUTTON_FORCE_DISABLE config HAVE_POWER_STATE_AFTER_FAILURE bool if HAVE_POWER_STATE_AFTER_FAILURE config HAVE_POWER_STATE_PREVIOUS_AFTER_FAILURE bool config POWER_STATE_DEFAULT_ON_AFTER_FAILURE bool help Selected by platforms or mainboards that want a "default on" behaviour. choice prompt "System Power State after Failure" default POWER_STATE_ON_AFTER_FAILURE \ if POWER_STATE_DEFAULT_ON_AFTER_FAILURE default POWER_STATE_OFF_AFTER_FAILURE help Provides a default for the power state the system should go into after G3 (power loss). On many boards this can be overridden by an NVRAM option. config POWER_STATE_OFF_AFTER_FAILURE bool "S5 Soft Off" help Choose this option if you want to put system into S5 after reapplying power after failure. config POWER_STATE_ON_AFTER_FAILURE bool "S0 Full On" help Choose this option if you want to keep system in S0 after reapplying power after failure. config POWER_STATE_PREVIOUS_AFTER_FAILURE bool "Keep Previous State" depends on HAVE_POWER_STATE_PREVIOUS_AFTER_FAILURE help Choose this option if you want to keep system in the same power state as before failure after reapplying power. endchoice config MAINBOARD_POWER_FAILURE_STATE int default 2 if POWER_STATE_PREVIOUS_AFTER_FAILURE default 1 if POWER_STATE_ON_AFTER_FAILURE default 0 endif # HAVE_POWER_STATE_AFTER_FAILURE