51eafdeae6
Some mainboards need to disable the power button to avoid turning off right after being turned on, while other boards ship with a jumper over the power button and should allow the user to configure the behavior. This adds infrastructure in the form of four mutually exclusive options which can be selected in a mainboard Kconfig (power button forced on/off, and user-controllable with default on/off) and one result bool which source code can test. (Enable the button or not.) The options have been implemented in CS5536 code and for all mainboards which select SOUTHBRIDGE_AMD_CS5536, but should be used also by other chipsets where applicable. Note that if chipset code uses the result bool ENABLE_POWER_BUTTON, then every board using that chipset must select one out of the four control options in order to build. All touched boards should have unchanged behavior, except pcengines/alix1c, traverse/geos and lippert/hurricane-lx where the power button can now be configured by the user. Build tested for alix1c, alix2d, hurricane-lx and wyse-s50. Confirmed to work as advertised on alix1c both with button enabled and disabled. Includes additional traverse/geos changes from Nathan and lippert/hurricane-lx changes from Jens to correctly use the new feature on those boards. Signed-off-by: Peter Stuge <peter@stuge.se> Acked-by: Aurelien Guillaume <aurelien@iwi.me> Acked-by: Nils Jacobs <njacobs8@hetnet.nl> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5948 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
268 lines
6.8 KiB
Text
268 lines
6.8 KiB
Text
menu "Mainboard"
|
|
|
|
choice
|
|
prompt "Mainboard vendor"
|
|
default VENDOR_EMULATION
|
|
|
|
config VENDOR_ABIT
|
|
bool "Abit"
|
|
config VENDOR_ADVANTECH
|
|
bool "Advantech"
|
|
config VENDOR_AMD
|
|
bool "AMD"
|
|
config VENDOR_ARIMA
|
|
bool "Arima"
|
|
config VENDOR_ARTEC_GROUP
|
|
bool "Artec Group"
|
|
config VENDOR_ASI
|
|
bool "ASI"
|
|
config VENDOR_ASROCK
|
|
bool "ASROCK"
|
|
config VENDOR_ASUS
|
|
bool "ASUS"
|
|
config VENDOR_A_TREND
|
|
bool "A-Trend"
|
|
config VENDOR_AXUS
|
|
bool "AXUS"
|
|
config VENDOR_AZZA
|
|
bool "AZZA"
|
|
config VENDOR_BCOM
|
|
bool "BCOM"
|
|
config VENDOR_BIOSTAR
|
|
bool "Biostar"
|
|
config VENDOR_BROADCOM
|
|
bool "Broadcom"
|
|
config VENDOR_COMPAQ
|
|
bool "Compaq"
|
|
config VENDOR_DELL
|
|
bool "Dell"
|
|
config VENDOR_DIGITAL_LOGIC
|
|
bool "DIGITAL-LOGIC"
|
|
config VENDOR_EAGLELION
|
|
bool "EagleLion"
|
|
config VENDOR_ECS
|
|
bool "ECS"
|
|
config VENDOR_EMULATION
|
|
bool "Emulation"
|
|
config VENDOR_GETAC
|
|
bool "Getac"
|
|
config VENDOR_GIGABYTE
|
|
bool "GIGABYTE"
|
|
config VENDOR_HP
|
|
bool "HP"
|
|
config VENDOR_IBASE
|
|
bool "iBase"
|
|
config VENDOR_IBM
|
|
bool "IBM"
|
|
config VENDOR_IEI
|
|
bool "IEI"
|
|
config VENDOR_INTEL
|
|
bool "Intel"
|
|
config VENDOR_IWILL
|
|
bool "IWILL"
|
|
config VENDOR_JETWAY
|
|
bool "Jetway"
|
|
config VENDOR_KONTRON
|
|
bool "Kontron"
|
|
config VENDOR_LANNER
|
|
bool "Lanner"
|
|
config VENDOR_LIPPERT
|
|
bool "Lippert"
|
|
config VENDOR_MITAC
|
|
bool "Mitac"
|
|
config VENDOR_MSI
|
|
bool "MSI"
|
|
config VENDOR_NEC
|
|
bool "NEC"
|
|
config VENDOR_NEWISYS
|
|
bool "Newisys"
|
|
config VENDOR_NOKIA
|
|
bool "Nokia"
|
|
config VENDOR_NVIDIA
|
|
bool "NVIDIA"
|
|
config VENDOR_PC_ENGINES
|
|
bool "PC Engines"
|
|
config VENDOR_RCA
|
|
bool "RCA"
|
|
config VENDOR_RODA
|
|
bool "Roda"
|
|
config VENDOR_SOYO
|
|
bool "Soyo"
|
|
config VENDOR_SUNW
|
|
bool "Sun"
|
|
config VENDOR_SUPERMICRO
|
|
bool "Supermicro"
|
|
config VENDOR_TECHNEXION
|
|
bool "Technexion"
|
|
config VENDOR_TECHNOLOGIC
|
|
bool "Technologic"
|
|
config VENDOR_TELEVIDEO
|
|
bool "TeleVideo"
|
|
config VENDOR_THOMSON
|
|
bool "Thomson"
|
|
config VENDOR_TRAVERSE
|
|
bool "Traverse Technologies"
|
|
config VENDOR_TYAN
|
|
bool "Tyan"
|
|
config VENDOR_VIA
|
|
bool "VIA"
|
|
config VENDOR_WINENT
|
|
bool "Win Enterprises"
|
|
config VENDOR_WYSE
|
|
bool "Wyse"
|
|
|
|
endchoice
|
|
|
|
source "src/mainboard/a-trend/Kconfig"
|
|
source "src/mainboard/abit/Kconfig"
|
|
source "src/mainboard/advantech/Kconfig"
|
|
source "src/mainboard/amd/Kconfig"
|
|
source "src/mainboard/arima/Kconfig"
|
|
source "src/mainboard/artecgroup/Kconfig"
|
|
source "src/mainboard/asi/Kconfig"
|
|
source "src/mainboard/asrock/Kconfig"
|
|
source "src/mainboard/asus/Kconfig"
|
|
source "src/mainboard/axus/Kconfig"
|
|
source "src/mainboard/azza/Kconfig"
|
|
source "src/mainboard/bcom/Kconfig"
|
|
source "src/mainboard/biostar/Kconfig"
|
|
source "src/mainboard/broadcom/Kconfig"
|
|
source "src/mainboard/compaq/Kconfig"
|
|
source "src/mainboard/dell/Kconfig"
|
|
source "src/mainboard/digitallogic/Kconfig"
|
|
source "src/mainboard/eaglelion/Kconfig"
|
|
source "src/mainboard/ecs/Kconfig"
|
|
source "src/mainboard/emulation/Kconfig"
|
|
source "src/mainboard/getac/Kconfig"
|
|
source "src/mainboard/gigabyte/Kconfig"
|
|
source "src/mainboard/hp/Kconfig"
|
|
source "src/mainboard/ibase/Kconfig"
|
|
source "src/mainboard/ibm/Kconfig"
|
|
source "src/mainboard/iei/Kconfig"
|
|
source "src/mainboard/intel/Kconfig"
|
|
source "src/mainboard/iwill/Kconfig"
|
|
source "src/mainboard/jetway/Kconfig"
|
|
source "src/mainboard/kontron/Kconfig"
|
|
source "src/mainboard/lanner/Kconfig"
|
|
source "src/mainboard/lippert/Kconfig"
|
|
source "src/mainboard/mitac/Kconfig"
|
|
source "src/mainboard/msi/Kconfig"
|
|
source "src/mainboard/nec/Kconfig"
|
|
source "src/mainboard/newisys/Kconfig"
|
|
source "src/mainboard/nokia/Kconfig"
|
|
source "src/mainboard/nvidia/Kconfig"
|
|
source "src/mainboard/pcengines/Kconfig"
|
|
source "src/mainboard/rca/Kconfig"
|
|
source "src/mainboard/roda/Kconfig"
|
|
source "src/mainboard/soyo/Kconfig"
|
|
source "src/mainboard/sunw/Kconfig"
|
|
source "src/mainboard/supermicro/Kconfig"
|
|
source "src/mainboard/technexion/Kconfig"
|
|
source "src/mainboard/technologic/Kconfig"
|
|
source "src/mainboard/televideo/Kconfig"
|
|
source "src/mainboard/thomson/Kconfig"
|
|
source "src/mainboard/traverse/Kconfig"
|
|
source "src/mainboard/tyan/Kconfig"
|
|
source "src/mainboard/via/Kconfig"
|
|
source "src/mainboard/winent/Kconfig"
|
|
source "src/mainboard/wyse/Kconfig"
|
|
|
|
config BOARD_ROMSIZE_KB_128
|
|
bool
|
|
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
|
|
|
|
# TODO: No help text possible for choice fields?
|
|
choice
|
|
prompt "ROM chip size"
|
|
default COREBOOT_ROMSIZE_KB_128 if BOARD_ROMSIZE_KB_128
|
|
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
|
|
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_128
|
|
bool "128 KB"
|
|
help
|
|
Choose this option if you have a 128 KB ROM chip.
|
|
|
|
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.
|
|
|
|
endchoice
|
|
|
|
# Map the config names to an integer (KB).
|
|
config COREBOOT_ROMSIZE_KB
|
|
int
|
|
default 128 if COREBOOT_ROMSIZE_KB_128
|
|
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
|
|
|
|
# Map the config names to a hex value (bytes).
|
|
config ROM_SIZE
|
|
hex
|
|
default 0x20000 if COREBOOT_ROMSIZE_KB_128
|
|
default 0x40000 if COREBOOT_ROMSIZE_KB_256
|
|
default 0x80000 if COREBOOT_ROMSIZE_KB_512
|
|
default 0x100000 if COREBOOT_ROMSIZE_KB_1024
|
|
default 0x200000 if COREBOOT_ROMSIZE_KB_2048
|
|
default 0x400000 if COREBOOT_ROMSIZE_KB_4096
|
|
|
|
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
|
|
|
|
endmenu
|