xref: /openbmc/u-boot/arch/x86/Kconfig (revision 8cb20ccc34cda9fdcbae962744bf8ecee90dd5d2)
1dd84058dSMasahiro Yamadamenu "x86 architecture"
2dd84058dSMasahiro Yamada	depends on X86
3dd84058dSMasahiro Yamada
4dd84058dSMasahiro Yamadaconfig SYS_ARCH
5dd84058dSMasahiro Yamada	default "x86"
6dd84058dSMasahiro Yamada
745ccec8fSMasahiro Yamadaconfig USE_PRIVATE_LIBGCC
845ccec8fSMasahiro Yamada	default y
945ccec8fSMasahiro Yamada
10dd84058dSMasahiro Yamadachoice
11dd84058dSMasahiro Yamada	prompt "Target select"
12dd84058dSMasahiro Yamada
13dd84058dSMasahiro Yamadaconfig TARGET_COREBOOT
14dd84058dSMasahiro Yamada	bool "Support coreboot"
158ef07571SSimon Glass	help
168ef07571SSimon Glass	  This target is used for running U-Boot on top of Coreboot. In
178ef07571SSimon Glass	  this case Coreboot does the early inititalisation, and U-Boot
188ef07571SSimon Glass	  takes over once the RAM, video and CPU are fully running.
198ef07571SSimon Glass	  U-Boot is loaded as a fallback payload from Coreboot, in
208ef07571SSimon Glass	  Coreboot terminology. This method was used for the Chromebook
218ef07571SSimon Glass	  Pixel when launched.
228ef07571SSimon Glass
238ef07571SSimon Glassconfig TARGET_CHROMEBOOK_LINK
248ef07571SSimon Glass	bool "Support Chromebook link"
258ef07571SSimon Glass	help
268ef07571SSimon Glass	  This is the Chromebook Pixel released in 2013. It uses an Intel
278ef07571SSimon Glass	  i5 Ivybridge which is a die-shrink of Sandybridge, with 4GB of
288ef07571SSimon Glass	  SDRAM. It has a Panther Point platform controller hub, PCIe
298ef07571SSimon Glass	  WiFi and Bluetooth. It also includes a 720p webcam, USB SD
308ef07571SSimon Glass	  reader, microphone and speakers, display port and 32GB SATA
318ef07571SSimon Glass	  solid state drive. There is a Chrome OS EC connected on LPC,
328ef07571SSimon Glass	  and it provides a 2560x1700 high resolution touch-enabled LCD
338ef07571SSimon Glass	  display.
34dd84058dSMasahiro Yamada
3558f542deSBin Mengconfig TARGET_CROWNBAY
3658f542deSBin Meng	bool "Support Intel Crown Bay CRB"
3758f542deSBin Meng	help
3858f542deSBin Meng	  This is the Intel Crown Bay Customer Reference Board. It contains
3958f542deSBin Meng	  the Intel Atom Processor E6xx populated on the COM Express module
4058f542deSBin Meng	  with 1GB DDR2 soldered down memory and a carrier board with the
4158f542deSBin Meng	  Intel Platform Controller Hub EG20T, other system components and
4258f542deSBin Meng	  peripheral connectors for PCIe/SATA/USB/LAN/SD/UART/Audio/LVDS.
4358f542deSBin Meng
44dd84058dSMasahiro Yamadaendchoice
45dd84058dSMasahiro Yamada
4670a09c6cSSimon Glassconfig RAMBASE
4770a09c6cSSimon Glass	hex
4870a09c6cSSimon Glass	default 0x100000
4970a09c6cSSimon Glass
5070a09c6cSSimon Glassconfig XIP_ROM_SIZE
5170a09c6cSSimon Glass	hex
52bbd43d65SSimon Glass	default ROM_SIZE
5370a09c6cSSimon Glass
5470a09c6cSSimon Glassconfig CPU_ADDR_BITS
5570a09c6cSSimon Glass	int
5670a09c6cSSimon Glass	default 36
5770a09c6cSSimon Glass
5865dd74a6SSimon Glassconfig HPET_ADDRESS
5965dd74a6SSimon Glass	hex
6065dd74a6SSimon Glass	default 0xfed00000 if !HPET_ADDRESS_OVERRIDE
6165dd74a6SSimon Glass
6265dd74a6SSimon Glassconfig SMM_TSEG
6365dd74a6SSimon Glass	bool
6465dd74a6SSimon Glass	default n
6565dd74a6SSimon Glass
6665dd74a6SSimon Glassconfig SMM_TSEG_SIZE
6765dd74a6SSimon Glass	hex
6865dd74a6SSimon Glass
69*8cb20cccSBin Mengconfig X86_RESET_VECTOR
70*8cb20cccSBin Meng	bool
71*8cb20cccSBin Meng	default n
72*8cb20cccSBin Meng
73*8cb20cccSBin Mengconfig SYS_X86_START16
74*8cb20cccSBin Meng	hex
75*8cb20cccSBin Meng	depends on X86_RESET_VECTOR
76*8cb20cccSBin Meng	default 0xfffff800
77*8cb20cccSBin Meng
7864542f46SBin Mengconfig BOARD_ROMSIZE_KB_512
7964542f46SBin Meng	bool
8064542f46SBin Mengconfig BOARD_ROMSIZE_KB_1024
8164542f46SBin Meng	bool
8264542f46SBin Mengconfig BOARD_ROMSIZE_KB_2048
8364542f46SBin Meng	bool
8464542f46SBin Mengconfig BOARD_ROMSIZE_KB_4096
8564542f46SBin Meng	bool
8664542f46SBin Mengconfig BOARD_ROMSIZE_KB_8192
8764542f46SBin Meng	bool
8864542f46SBin Mengconfig BOARD_ROMSIZE_KB_16384
8964542f46SBin Meng	bool
9064542f46SBin Meng
9164542f46SBin Mengchoice
9264542f46SBin Meng	prompt "ROM chip size"
9364542f46SBin Meng	default UBOOT_ROMSIZE_KB_512 if BOARD_ROMSIZE_KB_512
9464542f46SBin Meng	default UBOOT_ROMSIZE_KB_1024 if BOARD_ROMSIZE_KB_1024
9564542f46SBin Meng	default UBOOT_ROMSIZE_KB_2048 if BOARD_ROMSIZE_KB_2048
9664542f46SBin Meng	default UBOOT_ROMSIZE_KB_4096 if BOARD_ROMSIZE_KB_4096
9764542f46SBin Meng	default UBOOT_ROMSIZE_KB_8192 if BOARD_ROMSIZE_KB_8192
9864542f46SBin Meng	default UBOOT_ROMSIZE_KB_16384 if BOARD_ROMSIZE_KB_16384
9964542f46SBin Meng	help
10064542f46SBin Meng	  Select the size of the ROM chip you intend to flash U-Boot on.
10164542f46SBin Meng
10264542f46SBin Meng	  The build system will take care of creating a u-boot.rom file
10364542f46SBin Meng	  of the matching size.
10464542f46SBin Meng
10564542f46SBin Mengconfig UBOOT_ROMSIZE_KB_512
10664542f46SBin Meng	bool "512 KB"
10764542f46SBin Meng	help
10864542f46SBin Meng	  Choose this option if you have a 512 KB ROM chip.
10964542f46SBin Meng
11064542f46SBin Mengconfig UBOOT_ROMSIZE_KB_1024
11164542f46SBin Meng	bool "1024 KB (1 MB)"
11264542f46SBin Meng	help
11364542f46SBin Meng	  Choose this option if you have a 1024 KB (1 MB) ROM chip.
11464542f46SBin Meng
11564542f46SBin Mengconfig UBOOT_ROMSIZE_KB_2048
11664542f46SBin Meng	bool "2048 KB (2 MB)"
11764542f46SBin Meng	help
11864542f46SBin Meng	  Choose this option if you have a 2048 KB (2 MB) ROM chip.
11964542f46SBin Meng
12064542f46SBin Mengconfig UBOOT_ROMSIZE_KB_4096
12164542f46SBin Meng	bool "4096 KB (4 MB)"
12264542f46SBin Meng	help
12364542f46SBin Meng	  Choose this option if you have a 4096 KB (4 MB) ROM chip.
12464542f46SBin Meng
12564542f46SBin Mengconfig UBOOT_ROMSIZE_KB_8192
12664542f46SBin Meng	bool "8192 KB (8 MB)"
12764542f46SBin Meng	help
12864542f46SBin Meng	  Choose this option if you have a 8192 KB (8 MB) ROM chip.
12964542f46SBin Meng
13064542f46SBin Mengconfig UBOOT_ROMSIZE_KB_16384
13164542f46SBin Meng	bool "16384 KB (16 MB)"
13264542f46SBin Meng	help
13364542f46SBin Meng	  Choose this option if you have a 16384 KB (16 MB) ROM chip.
13464542f46SBin Meng
13564542f46SBin Mengendchoice
13664542f46SBin Meng
13764542f46SBin Meng# Map the config names to an integer (KB).
13864542f46SBin Mengconfig UBOOT_ROMSIZE_KB
13964542f46SBin Meng	int
14064542f46SBin Meng	default 512 if UBOOT_ROMSIZE_KB_512
14164542f46SBin Meng	default 1024 if UBOOT_ROMSIZE_KB_1024
14264542f46SBin Meng	default 2048 if UBOOT_ROMSIZE_KB_2048
14364542f46SBin Meng	default 4096 if UBOOT_ROMSIZE_KB_4096
14464542f46SBin Meng	default 8192 if UBOOT_ROMSIZE_KB_8192
14564542f46SBin Meng	default 16384 if UBOOT_ROMSIZE_KB_16384
14664542f46SBin Meng
14764542f46SBin Meng# Map the config names to a hex value (bytes).
148fce7b276SSimon Glassconfig ROM_SIZE
149fce7b276SSimon Glass	hex
15064542f46SBin Meng	default 0x80000 if UBOOT_ROMSIZE_KB_512
15164542f46SBin Meng	default 0x100000 if UBOOT_ROMSIZE_KB_1024
15264542f46SBin Meng	default 0x200000 if UBOOT_ROMSIZE_KB_2048
15364542f46SBin Meng	default 0x400000 if UBOOT_ROMSIZE_KB_4096
15464542f46SBin Meng	default 0x800000 if UBOOT_ROMSIZE_KB_8192
15564542f46SBin Meng	default 0xc00000 if UBOOT_ROMSIZE_KB_12288
15664542f46SBin Meng	default 0x1000000 if UBOOT_ROMSIZE_KB_16384
157fce7b276SSimon Glass
158fce7b276SSimon Glassconfig HAVE_INTEL_ME
159fce7b276SSimon Glass	bool "Platform requires Intel Management Engine"
160fce7b276SSimon Glass	help
161fce7b276SSimon Glass	  Newer higher-end devices have an Intel Management Engine (ME)
162fce7b276SSimon Glass	  which is a very large binary blob (typically 1.5MB) which is
163fce7b276SSimon Glass	  required for the platform to work. This enforces a particular
164fce7b276SSimon Glass	  SPI flash format. You will need to supply the me.bin file in
165fce7b276SSimon Glass	  your board directory.
166fce7b276SSimon Glass
16765dd74a6SSimon Glassconfig X86_RAMTEST
16865dd74a6SSimon Glass	bool "Perform a simple RAM test after SDRAM initialisation"
16965dd74a6SSimon Glass	help
17065dd74a6SSimon Glass	  If there is something wrong with SDRAM then the platform will
17165dd74a6SSimon Glass	  often crash within U-Boot or the kernel. This option enables a
17265dd74a6SSimon Glass	  very simple RAM test that quickly checks whether the SDRAM seems
17365dd74a6SSimon Glass	  to work correctly. It is not exhaustive but can save time by
17465dd74a6SSimon Glass	  detecting obvious failures.
17565dd74a6SSimon Glass
17622465fc4SSimon Glassconfig MARK_GRAPHICS_MEM_WRCOMB
17722465fc4SSimon Glass	bool "Mark graphics memory as write-combining."
17822465fc4SSimon Glass	default n
17922465fc4SSimon Glass	help
18022465fc4SSimon Glass	 The graphics performance may increase if the graphics
18122465fc4SSimon Glass	 memory is set as write-combining cache type. This option
18222465fc4SSimon Glass	 enables marking the graphics memory as write-combining.
18322465fc4SSimon Glass
18422465fc4SSimon Glassmenu "Display"
18522465fc4SSimon Glass
18622465fc4SSimon Glassconfig FRAMEBUFFER_SET_VESA_MODE
18722465fc4SSimon Glass	prompt "Set framebuffer graphics resolution"
18822465fc4SSimon Glass	bool
18922465fc4SSimon Glass	help
19022465fc4SSimon Glass	  Set VESA/native framebuffer mode (needed for bootsplash and graphical framebuffer console)
19122465fc4SSimon Glass
19222465fc4SSimon Glasschoice
19322465fc4SSimon Glass	prompt "framebuffer graphics resolution"
19422465fc4SSimon Glass	default FRAMEBUFFER_VESA_MODE_117
19522465fc4SSimon Glass	depends on FRAMEBUFFER_SET_VESA_MODE
19622465fc4SSimon Glass	help
19722465fc4SSimon Glass	  This option sets the resolution used for the coreboot framebuffer (and
19822465fc4SSimon Glass	  bootsplash screen).
19922465fc4SSimon Glass
20022465fc4SSimon Glassconfig FRAMEBUFFER_VESA_MODE_100
20122465fc4SSimon Glass	bool "640x400 256-color"
20222465fc4SSimon Glass
20322465fc4SSimon Glassconfig FRAMEBUFFER_VESA_MODE_101
20422465fc4SSimon Glass	bool "640x480 256-color"
20522465fc4SSimon Glass
20622465fc4SSimon Glassconfig FRAMEBUFFER_VESA_MODE_102
20722465fc4SSimon Glass	bool "800x600 16-color"
20822465fc4SSimon Glass
20922465fc4SSimon Glassconfig FRAMEBUFFER_VESA_MODE_103
21022465fc4SSimon Glass	bool "800x600 256-color"
21122465fc4SSimon Glass
21222465fc4SSimon Glassconfig FRAMEBUFFER_VESA_MODE_104
21322465fc4SSimon Glass	bool "1024x768 16-color"
21422465fc4SSimon Glass
21522465fc4SSimon Glassconfig FRAMEBUFFER_VESA_MODE_105
21622465fc4SSimon Glass	bool "1024x7686 256-color"
21722465fc4SSimon Glass
21822465fc4SSimon Glassconfig FRAMEBUFFER_VESA_MODE_106
21922465fc4SSimon Glass	bool "1280x1024 16-color"
22022465fc4SSimon Glass
22122465fc4SSimon Glassconfig FRAMEBUFFER_VESA_MODE_107
22222465fc4SSimon Glass	bool "1280x1024 256-color"
22322465fc4SSimon Glass
22422465fc4SSimon Glassconfig FRAMEBUFFER_VESA_MODE_108
22522465fc4SSimon Glass	bool "80x60 text"
22622465fc4SSimon Glass
22722465fc4SSimon Glassconfig FRAMEBUFFER_VESA_MODE_109
22822465fc4SSimon Glass	bool "132x25 text"
22922465fc4SSimon Glass
23022465fc4SSimon Glassconfig FRAMEBUFFER_VESA_MODE_10A
23122465fc4SSimon Glass	bool "132x43 text"
23222465fc4SSimon Glass
23322465fc4SSimon Glassconfig FRAMEBUFFER_VESA_MODE_10B
23422465fc4SSimon Glass	bool "132x50 text"
23522465fc4SSimon Glass
23622465fc4SSimon Glassconfig FRAMEBUFFER_VESA_MODE_10C
23722465fc4SSimon Glass	bool "132x60 text"
23822465fc4SSimon Glass
23922465fc4SSimon Glassconfig FRAMEBUFFER_VESA_MODE_10D
24022465fc4SSimon Glass	bool "320x200 32k-color (1:5:5:5)"
24122465fc4SSimon Glass
24222465fc4SSimon Glassconfig FRAMEBUFFER_VESA_MODE_10E
24322465fc4SSimon Glass	bool "320x200 64k-color (5:6:5)"
24422465fc4SSimon Glass
24522465fc4SSimon Glassconfig FRAMEBUFFER_VESA_MODE_10F
24622465fc4SSimon Glass	bool "320x200 16.8M-color (8:8:8)"
24722465fc4SSimon Glass
24822465fc4SSimon Glassconfig FRAMEBUFFER_VESA_MODE_110
24922465fc4SSimon Glass	bool "640x480 32k-color (1:5:5:5)"
25022465fc4SSimon Glass
25122465fc4SSimon Glassconfig FRAMEBUFFER_VESA_MODE_111
25222465fc4SSimon Glass	bool "640x480 64k-color (5:6:5)"
25322465fc4SSimon Glass
25422465fc4SSimon Glassconfig FRAMEBUFFER_VESA_MODE_112
25522465fc4SSimon Glass	bool "640x480 16.8M-color (8:8:8)"
25622465fc4SSimon Glass
25722465fc4SSimon Glassconfig FRAMEBUFFER_VESA_MODE_113
25822465fc4SSimon Glass	bool "800x600 32k-color (1:5:5:5)"
25922465fc4SSimon Glass
26022465fc4SSimon Glassconfig FRAMEBUFFER_VESA_MODE_114
26122465fc4SSimon Glass	bool "800x600 64k-color (5:6:5)"
26222465fc4SSimon Glass
26322465fc4SSimon Glassconfig FRAMEBUFFER_VESA_MODE_115
26422465fc4SSimon Glass	bool "800x600 16.8M-color (8:8:8)"
26522465fc4SSimon Glass
26622465fc4SSimon Glassconfig FRAMEBUFFER_VESA_MODE_116
26722465fc4SSimon Glass	bool "1024x768 32k-color (1:5:5:5)"
26822465fc4SSimon Glass
26922465fc4SSimon Glassconfig FRAMEBUFFER_VESA_MODE_117
27022465fc4SSimon Glass	bool "1024x768 64k-color (5:6:5)"
27122465fc4SSimon Glass
27222465fc4SSimon Glassconfig FRAMEBUFFER_VESA_MODE_118
27322465fc4SSimon Glass	bool "1024x768 16.8M-color (8:8:8)"
27422465fc4SSimon Glass
27522465fc4SSimon Glassconfig FRAMEBUFFER_VESA_MODE_119
27622465fc4SSimon Glass	bool "1280x1024 32k-color (1:5:5:5)"
27722465fc4SSimon Glass
27822465fc4SSimon Glassconfig FRAMEBUFFER_VESA_MODE_11A
27922465fc4SSimon Glass	bool "1280x1024 64k-color (5:6:5)"
28022465fc4SSimon Glass
28122465fc4SSimon Glassconfig FRAMEBUFFER_VESA_MODE_11B
28222465fc4SSimon Glass	bool "1280x1024 16.8M-color (8:8:8)"
28322465fc4SSimon Glass
28422465fc4SSimon Glassconfig FRAMEBUFFER_VESA_MODE_USER
28522465fc4SSimon Glass	bool "Manually select VESA mode"
28622465fc4SSimon Glass
28722465fc4SSimon Glassendchoice
28822465fc4SSimon Glass
28922465fc4SSimon Glass# Map the config names to an integer (KB).
29022465fc4SSimon Glassconfig FRAMEBUFFER_VESA_MODE
29122465fc4SSimon Glass	prompt "VESA mode" if FRAMEBUFFER_VESA_MODE_USER
29222465fc4SSimon Glass	hex
29322465fc4SSimon Glass	default 0x100 if FRAMEBUFFER_VESA_MODE_100
29422465fc4SSimon Glass	default 0x101 if FRAMEBUFFER_VESA_MODE_101
29522465fc4SSimon Glass	default 0x102 if FRAMEBUFFER_VESA_MODE_102
29622465fc4SSimon Glass	default 0x103 if FRAMEBUFFER_VESA_MODE_103
29722465fc4SSimon Glass	default 0x104 if FRAMEBUFFER_VESA_MODE_104
29822465fc4SSimon Glass	default 0x105 if FRAMEBUFFER_VESA_MODE_105
29922465fc4SSimon Glass	default 0x106 if FRAMEBUFFER_VESA_MODE_106
30022465fc4SSimon Glass	default 0x107 if FRAMEBUFFER_VESA_MODE_107
30122465fc4SSimon Glass	default 0x108 if FRAMEBUFFER_VESA_MODE_108
30222465fc4SSimon Glass	default 0x109 if FRAMEBUFFER_VESA_MODE_109
30322465fc4SSimon Glass	default 0x10A if FRAMEBUFFER_VESA_MODE_10A
30422465fc4SSimon Glass	default 0x10B if FRAMEBUFFER_VESA_MODE_10B
30522465fc4SSimon Glass	default 0x10C if FRAMEBUFFER_VESA_MODE_10C
30622465fc4SSimon Glass	default 0x10D if FRAMEBUFFER_VESA_MODE_10D
30722465fc4SSimon Glass	default 0x10E if FRAMEBUFFER_VESA_MODE_10E
30822465fc4SSimon Glass	default 0x10F if FRAMEBUFFER_VESA_MODE_10F
30922465fc4SSimon Glass	default 0x110 if FRAMEBUFFER_VESA_MODE_110
31022465fc4SSimon Glass	default 0x111 if FRAMEBUFFER_VESA_MODE_111
31122465fc4SSimon Glass	default 0x112 if FRAMEBUFFER_VESA_MODE_112
31222465fc4SSimon Glass	default 0x113 if FRAMEBUFFER_VESA_MODE_113
31322465fc4SSimon Glass	default 0x114 if FRAMEBUFFER_VESA_MODE_114
31422465fc4SSimon Glass	default 0x115 if FRAMEBUFFER_VESA_MODE_115
31522465fc4SSimon Glass	default 0x116 if FRAMEBUFFER_VESA_MODE_116
31622465fc4SSimon Glass	default 0x117 if FRAMEBUFFER_VESA_MODE_117
31722465fc4SSimon Glass	default 0x118 if FRAMEBUFFER_VESA_MODE_118
31822465fc4SSimon Glass	default 0x119 if FRAMEBUFFER_VESA_MODE_119
31922465fc4SSimon Glass	default 0x11A if FRAMEBUFFER_VESA_MODE_11A
32022465fc4SSimon Glass	default 0x11B if FRAMEBUFFER_VESA_MODE_11B
32122465fc4SSimon Glass	default 0x117 if FRAMEBUFFER_VESA_MODE_USER
32222465fc4SSimon Glass
32322465fc4SSimon Glassendmenu
32422465fc4SSimon Glass
3253ba6a0f4SBin Mengconfig TSC_CALIBRATION_BYPASS
3263ba6a0f4SBin Meng	bool "Bypass Time-Stamp Counter (TSC) calibration"
3273ba6a0f4SBin Meng	default n
3283ba6a0f4SBin Meng	help
3293ba6a0f4SBin Meng	  By default U-Boot automatically calibrates Time-Stamp Counter (TSC)
3303ba6a0f4SBin Meng	  running frequency via Model-Specific Register (MSR) and Programmable
3313ba6a0f4SBin Meng	  Interval Timer (PIT). If the calibration does not work on your board,
3323ba6a0f4SBin Meng	  select this option and provide a hardcoded TSC running frequency with
3333ba6a0f4SBin Meng	  CONFIG_TSC_FREQ_IN_MHZ below.
3343ba6a0f4SBin Meng
3353ba6a0f4SBin Meng	  Normally this option should be turned on in a simulation environment
3363ba6a0f4SBin Meng	  like qemu.
3373ba6a0f4SBin Meng
3383ba6a0f4SBin Mengconfig TSC_FREQ_IN_MHZ
3393ba6a0f4SBin Meng	int "Time-Stamp Counter (TSC) running frequency in MHz"
3403ba6a0f4SBin Meng	depends on TSC_CALIBRATION_BYPASS
3413ba6a0f4SBin Meng	default 1000
3423ba6a0f4SBin Meng	help
3433ba6a0f4SBin Meng	  The running frequency in MHz of Time-Stamp Counter (TSC).
3443ba6a0f4SBin Meng
3458ef07571SSimon Glasssource "arch/x86/cpu/ivybridge/Kconfig"
3468ef07571SSimon Glass
34758f542deSBin Mengsource "arch/x86/cpu/queensbay/Kconfig"
34858f542deSBin Meng
349fe5b9b44SSimon Glasssource "board/coreboot/coreboot/Kconfig"
350dd84058dSMasahiro Yamada
3518ef07571SSimon Glasssource "board/google/chromebook_link/Kconfig"
3528ef07571SSimon Glass
35358f542deSBin Mengsource "board/intel/crownbay/Kconfig"
35458f542deSBin Meng
355dd84058dSMasahiro Yamadaendmenu
356