Intel cpus: cache actual size of the Flash ROM device
[coreboot.git] / src / mainboard / Kconfig
index ca3a58e2026042db425d751b57f0f5e2bd90ef28..051ae45dff364e654305de0e583900e2232d1e6c 100644 (file)
@@ -4,28 +4,40 @@ choice
        prompt "Mainboard vendor"
        default VENDOR_EMULATION
 
+config VENDOR_AAEON
+       bool "Aaeon"
 config VENDOR_ABIT
        bool "Abit"
+config VENDOR_ADVANSUS
+        bool "Advansus"
 config VENDOR_ADVANTECH
        bool "Advantech"
 config VENDOR_AMD
        bool "AMD"
+config VENDOR_AOPEN
+       bool "AOpen"
 config VENDOR_ARIMA
        bool "Arima"
-config VENDOR_ARTEC_GROUP
+config VENDOR_ARTECGROUP
        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_AVALUE
+       bool "AVALUE"
 config VENDOR_AXUS
        bool "AXUS"
 config VENDOR_AZZA
        bool "AZZA"
 config VENDOR_BCOM
        bool "BCOM"
+config VENDOR_BIFFEROS
+       bool "Bifferos"
 config VENDOR_BIOSTAR
        bool "Biostar"
 config VENDOR_BROADCOM
@@ -34,50 +46,62 @@ config VENDOR_COMPAQ
        bool "Compaq"
 config VENDOR_DELL
        bool "Dell"
-config VENDOR_DIGITAL_LOGIC
+config VENDOR_DIGITALLOGIC
        bool "DIGITAL-LOGIC"
 config VENDOR_EAGLELION
        bool "EagleLion"
-config VENDOR_EMBEDDED_PLANET
-       bool "Embedded Planet"
+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_IWAVE
+       bool "iWave"
 config VENDOR_IWILL
        bool "IWILL"
 config VENDOR_JETWAY
        bool "Jetway"
 config VENDOR_KONTRON
        bool "Kontron"
+config VENDOR_LANNER
+       bool "Lanner"
+config VENDOR_LENOVO
+       bool "Lenovo"
 config VENDOR_LIPPERT
        bool "Lippert"
 config VENDOR_MITAC
        bool "Mitac"
-config VENDOR_MOTOROLA
-       bool "Motorola"
 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_OLPC
-       bool "OLPC"
-config VENDOR_PC_ENGINES
+config VENDOR_PCENGINES
        bool "PC Engines"
 config VENDOR_RCA
        bool "RCA"
+config VENDOR_RODA
+       bool "Roda"
+config VENDOR_SIEMENS
+       bool "Siemens"
 config VENDOR_SOYO
        bool "Soyo"
 config VENDOR_SUNW
@@ -92,309 +116,122 @@ config VENDOR_TELEVIDEO
        bool "TeleVideo"
 config VENDOR_THOMSON
        bool "Thomson"
-config VENDOR_TOTAL_IMPACT
-       bool "Total Impact"
+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
 
-config MAINBOARD_VENDOR
-       string
-       default "Abit"
-       depends on VENDOR_ABIT
-
-config MAINBOARD_VENDOR
-       string
-       default "Advantech"
-       depends on VENDOR_ADVANTECH
-
-config MAINBOARD_VENDOR
-       string
-       default "AMD"
-       depends on VENDOR_AMD
-
-config MAINBOARD_VENDOR
-       string
-       default "Arima"
-       depends on VENDOR_ARIMA
-
-config MAINBOARD_VENDOR
-       string
-       default "Artec Group"
-       depends on VENDOR_ARTEC_GROUP
-
-config MAINBOARD_VENDOR
-       string
-       default "ASI"
-       depends on VENDOR_ASI
-
-config MAINBOARD_VENDOR
-       string
-       default "ASUS"
-       depends on VENDOR_ASUS
-
-config MAINBOARD_VENDOR
-       string
-       default "A-Trend"
-       depends on VENDOR_A_TREND
-
-config MAINBOARD_VENDOR
-       string
-       default "AXUS"
-       depends on VENDOR_AXUS
-
-config MAINBOARD_VENDOR
-       string
-       default "AZZA"
-       depends on VENDOR_AZZA
-
-config MAINBOARD_VENDOR
-       string
-       default "BCOM"
-       depends on VENDOR_BCOM
-
-config MAINBOARD_VENDOR
-       string
-       default "Biostar"
-       depends on VENDOR_BIOSTAR
-
-config MAINBOARD_VENDOR
-       string
-       default "Broadcom"
-       depends on VENDOR_BROADCOM
-
-config MAINBOARD_VENDOR
-       string
-       default "Compaq"
-       depends on VENDOR_COMPAQ
-
-config MAINBOARD_VENDOR
-       string
-       default "Dell"
-       depends on VENDOR_DELL
-
-config MAINBOARD_VENDOR
-       string
-       default "DIGITAL-LOGIC"
-       depends on VENDOR_DIGITAL_LOGIC
-
-config MAINBOARD_VENDOR
-       string
-       default "EagleLion"
-       depends on VENDOR_EAGLELION
-
-config MAINBOARD_VENDOR
-       string
-       default "Embedded Planet"
-       depends on VENDOR_EMBEDDED_PLANET
-
-config MAINBOARD_VENDOR
-       string
-       default "Emulation"
-       depends on VENDOR_EMULATION
-
-config MAINBOARD_VENDOR
-       string
-       default "GIGABYTE"
-       depends on VENDOR_GIGABYTE
-
-config MAINBOARD_VENDOR
-       string
-       default "HP"
-       depends on VENDOR_HP
-
-config MAINBOARD_VENDOR
-       string
-       default "IBM"
-       depends on VENDOR_IBM
-
-config MAINBOARD_VENDOR
-       string
-       default "IEI"
-       depends on VENDOR_IEI
-
-config MAINBOARD_VENDOR
-       string
-       default "Intel"
-       depends on VENDOR_INTEL
-
-config MAINBOARD_VENDOR
-       string
-       default "IWILL"
-       depends on VENDOR_IWILL
-
-config MAINBOARD_VENDOR
-       string
-       default "Jetway"
-       depends on VENDOR_JETWAY
-
-config MAINBOARD_VENDOR
-       string
-       default "Kontron"
-       depends on VENDOR_KONTRON
-
-config MAINBOARD_VENDOR
-       string
-       default "Lippert"
-       depends on VENDOR_LIPPERT
-
-config MAINBOARD_VENDOR
-       string
-       default "Mitac"
-       depends on VENDOR_MITAC
-
-config MAINBOARD_VENDOR
-       string
-       default "Motorola"
-       depends on VENDOR_MOTOROLA
-
-config MAINBOARD_VENDOR
-       string
-       default "MSI"
-       depends on VENDOR_MSI
-
-config MAINBOARD_VENDOR
-       string
-       default "NEC"
-       depends on VENDOR_NEC
-
-config MAINBOARD_VENDOR
-       string
-       default "Newisys"
-       depends on VENDOR_NEWISYS
-
-config MAINBOARD_VENDOR
-       string
-       default "NVIDIA"
-       depends on VENDOR_NVIDIA
-
-config MAINBOARD_VENDOR
-       string
-       default "OLPC"
-       depends on VENDOR_OLPC
-
-config MAINBOARD_VENDOR
-       string
-       default "PC Engines"
-       depends on VENDOR_PC_ENGINES
-
-config MAINBOARD_VENDOR
-       string
-       default "RCA"
-       depends on VENDOR_RCA
-
-config MAINBOARD_VENDOR
-       string
-       default "Soyo"
-       depends on VENDOR_SOYO
-
-config MAINBOARD_VENDOR
-       string
-       default "Sun"
-       depends on VENDOR_SUNW
-
-config MAINBOARD_VENDOR
-       string
-       default "Supermicro"
-       depends on VENDOR_SUPERMICRO
-
-config MAINBOARD_VENDOR
-       string
-       default "Technexion"
-       depends on VENDOR_TECHNEXION
-
-config MAINBOARD_VENDOR
-       string
-       default "Technologic"
-       depends on VENDOR_TECHNOLOGIC
-
-config MAINBOARD_VENDOR
-       string
-       default "TeleVideo"
-       depends on VENDOR_TELEVIDEO
-
-config MAINBOARD_VENDOR
-       string
-       default "Thomson"
-       depends on VENDOR_THOMSON
-
-config MAINBOARD_VENDOR
-       string
-       default "Total Impact"
-       depends on VENDOR_TOTAL_IMPACT
-
-config MAINBOARD_VENDOR
-       string
-       default "Tyan"
-       depends on VENDOR_TYAN
-
-config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
-       hex
-       default 0x10f1
-       depends on VENDOR_TYAN
-
-config MAINBOARD_VENDOR
-       string
-       default "VIA"
-       depends on VENDOR_VIA
-
-config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
-       hex
-       default 0x1019
-       depends on VENDOR_VIA
-
 source "src/mainboard/a-trend/Kconfig"
+source "src/mainboard/aaeon/Kconfig"
 source "src/mainboard/abit/Kconfig"
+source "src/mainboard/advansus/Kconfig"
 source "src/mainboard/advantech/Kconfig"
 source "src/mainboard/amd/Kconfig"
+source "src/mainboard/aopen/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/avalue/Kconfig"
 source "src/mainboard/axus/Kconfig"
 source "src/mainboard/azza/Kconfig"
 source "src/mainboard/bcom/Kconfig"
+source "src/mainboard/bifferos/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/embeddedplanet/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/iwave/Kconfig"
 source "src/mainboard/iwill/Kconfig"
 source "src/mainboard/jetway/Kconfig"
 source "src/mainboard/kontron/Kconfig"
+source "src/mainboard/lanner/Kconfig"
+source "src/mainboard/lenovo/Kconfig"
 source "src/mainboard/lippert/Kconfig"
-source "src/mainboard/motorola/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/olpc/Kconfig"
 source "src/mainboard/pcengines/Kconfig"
 source "src/mainboard/rca/Kconfig"
+source "src/mainboard/roda/Kconfig"
+source "src/mainboard/siemens/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/totalimpact/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_64
+       bool
+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
+config BOARD_ROMSIZE_KB_8192
+       bool
+config BOARD_ROMSIZE_KB_16384
+       bool
+
+# TODO: No help text possible for choice fields?
 choice
        prompt "ROM chip size"
-       default COREBOOT_ROMSIZE_KB_256
+       default COREBOOT_ROMSIZE_KB_64 if BOARD_ROMSIZE_KB_64
+       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
+       default COREBOOT_ROMSIZE_KB_8192 if BOARD_ROMSIZE_KB_8192
+       default COREBOOT_ROMSIZE_KB_16384 if BOARD_ROMSIZE_KB_16384
+       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_64
+       bool "64 KB"
+       help
+         Choose this option if you have a 64 KB ROM chip.
 
 config COREBOOT_ROMSIZE_KB_128
        bool "128 KB"
@@ -426,18 +263,64 @@ config COREBOOT_ROMSIZE_KB_4096
        help
          Choose this option if you have a 4096 KB (4 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_16384
+       bool "16384 KB (16 MB)"
+       help
+         Choose this option if you have a 16384 KB (16 MB) ROM chip.
+
 endchoice
 
+# Map the config names to an integer (KB).
 config COREBOOT_ROMSIZE_KB
        int
+       default 64 if COREBOOT_ROMSIZE_KB_64
        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
+       default 8192 if COREBOOT_ROMSIZE_KB_8192
+       default 16384 if COREBOOT_ROMSIZE_KB_16384
+
+# Map the config names to a hex value (bytes).
+config ROM_SIZE
+       hex
+       default 0x10000 if COREBOOT_ROMSIZE_KB_64
+       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
+       default 0x800000 if COREBOOT_ROMSIZE_KB_8192
+       default 0x1000000 if COREBOOT_ROMSIZE_KB_16384
+
+config CACHE_ROM_SIZE
+       hex
+       default ROM_SIZE
+
+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
-         Map the config names to an integer.
+         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.
 
-endmenu
+         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