blob: d7812191e4426fb15740b2fa8713b2c374cda12d [file] [log] [blame]
Bill XIE3dda4da2022-01-01 11:56:00 +08001config PAYLOAD_BUILD_SEABIOS
2 bool
3
Stefan Reinauer1a8b7bf2015-06-30 15:58:56 -07004if PAYLOAD_SEABIOS
5
Bill XIE3dda4da2022-01-01 11:56:00 +08006config PAYLOAD_FILE
7 default "payloads/external/SeaBIOS/seabios/out/bios.bin.elf"
8
9endif
10
11if PAYLOAD_BUILD_SEABIOS
12
Stefan Reinauer1a8b7bf2015-06-30 15:58:56 -070013choice
14 prompt "SeaBIOS version"
15 default SEABIOS_STABLE
16
17config SEABIOS_STABLE
Elyes Haouas04af2332023-04-10 09:53:36 +020018 bool "1.16.2"
Stefan Reinauer1a8b7bf2015-06-30 15:58:56 -070019 help
20 Stable SeaBIOS version
21config SEABIOS_MASTER
22 bool "master"
23 help
24 Newest SeaBIOS version
Antonello Dettori3aa91dc2016-03-07 23:56:57 +000025config SEABIOS_REVISION
26 bool "git revision"
27 help
28 Select this option if you have a specific commit or branch
29 that you want to use as the revision from which to
30 build SeaBIOS.
31
32 You will be able to specify the name of a branch or a commit id
33 later.
Stefan Reinauer1a8b7bf2015-06-30 15:58:56 -070034
35endchoice
36
Antonello Dettori3aa91dc2016-03-07 23:56:57 +000037config SEABIOS_REVISION_ID
38 string "Insert a commit's SHA-1 or a branch name"
39 depends on SEABIOS_REVISION
40 default "origin/master"
41 help
42 The commit's SHA-1 or branch name of the revision to use.
43
Stefan Reinauer1a8b7bf2015-06-30 15:58:56 -070044config SEABIOS_PS2_TIMEOUT
45 prompt "PS/2 keyboard controller initialization timeout (milliseconds)"
46 default 0
Stefan Reinauer1a8b7bf2015-06-30 15:58:56 -070047 int
48 help
49 Some PS/2 keyboard controllers don't respond to commands immediately
50 after powering on. This specifies how long SeaBIOS will wait for the
51 keyboard controller to become ready before giving up.
52
53config SEABIOS_THREAD_OPTIONROMS
54 prompt "Hardware init during option ROM execution"
55 default n
56 bool
57 help
58 Allow hardware init to run in parallel with optionrom execution.
59
60 This can reduce boot time, but can cause some timing
61 variations during option ROM code execution. It is not
62 known if all option ROMs will behave properly with this option.
63
Matt DeVillier9d821fa2020-03-26 21:13:24 -050064config SEABIOS_HARDWARE_IRQ
65 prompt "Hardware Interrupts"
66 default y
67 bool
68 help
69 Program and support hardware interrupts using the i8259
70 programmable interrupt controller (PIC). Deselected by
71 boards which would otherwise hang at the boot menu (eg,
72 google/rambi).
73
Stefan Reinauer1a8b7bf2015-06-30 15:58:56 -070074config SEABIOS_VGA_COREBOOT
75 prompt "Include generated option rom that implements legacy VGA BIOS compatibility"
Arthur Heymans46dd4672016-10-25 17:11:16 +020076 default y if !VENDOR_EMULATION
Nicholas Chin8d885572021-08-28 09:40:41 -060077 default y if COREDOOM_SECONDARY_PAYLOAD
Marcello Sylvester Bauer5d8f02f2018-11-24 02:39:49 +010078 depends on !VGA_ROM_RUN && (VGA_TEXT_FRAMEBUFFER || LINEAR_FRAMEBUFFER)
Stefan Reinauer1a8b7bf2015-06-30 15:58:56 -070079 bool
80 help
Martin Rothe81ce042017-06-03 20:00:36 -060081 coreboot can initialize the GPU of some mainboards.
Martin Roth99d05c72015-11-28 15:44:34 -070082
Stefan Reinauer1a8b7bf2015-06-30 15:58:56 -070083 After initializing the GPU, the information about it can be passed to the payload.
84 Provide an option rom that implements this legacy VGA BIOS compatibility requirement.
85
Martin Roth99d05c72015-11-28 15:44:34 -070086config PAYLOAD_CONFIGFILE
87 string "SeaBIOS config file"
88 default ""
89 help
90 This option allows a platform to set Kconfig options for a basic
91 SeaBIOS payload. In general, if the option is used, the default
92 would be "$(top)/src/mainboard/$(MAINBOARDDIR)/config_seabios"
93
Martin Rothbc46ac52016-06-05 10:30:34 -060094config SEABIOS_BOOTORDER_FILE
95 string "SeaBIOS bootorder file"
96 default ""
97 help
98 Add a SeaBIOS bootorder file. From the wiki:
99 "The bootorder file may be used to configure the boot up order. The file
100 should be ASCII text and contain one line per boot method. The description
101 of each boot method follows an Open Firmware device path format. SeaBIOS
102 will attempt to boot from each item in the file - first line of the file
103 first."
104
105 See: https://www.coreboot.org/SeaBIOS#Configuring_boot_order
106
107 If used, a typical value would be:
108 $(top)/src/mainboard/$(MAINBOARDDIR)/bootorder
109
Piotr Królbb957312018-05-04 15:29:56 +0200110config SEABIOS_ADD_SERCON_PORT_FILE
111 prompt "Add SeaBIOS sercon-port file to CBFS"
112 default n
113 bool
114 help
115 Select this option to enable SeaBIOS' VGA adapter emulation
116 on serial port.
117
118config SEABIOS_SERCON_PORT_ADDR
119 hex "SeaBIOS sercon-port base address"
120 depends on SEABIOS_ADD_SERCON_PORT_FILE
121 default TTYS0_BASE
122 help
123 Set this field to the IO address of a serial port for SeaBIOS' VGA
124 adapter emulation.
125
126 By default primary console UART defined by TTYS0_BASE is used.
127
Stefan Reinauer1a8b7bf2015-06-30 15:58:56 -0700128config PAYLOAD_VGABIOS_FILE
129 string
130 depends on SEABIOS_VGA_COREBOOT
131 default "payloads/external/SeaBIOS/seabios/out/vgabios.bin"
132
Stefan Taunerc48d7912017-01-15 11:49:25 +0100133config SEABIOS_DEBUG_LEVEL
Martin Roth8556db32017-01-23 14:56:55 -0700134 int "SeaBIOS debug level (verbosity)"
135 default -1
Stefan Taunerc48d7912017-01-15 11:49:25 +0100136 help
Martin Roth8556db32017-01-23 14:56:55 -0700137 The higher the number, the more verbose SeaBIOS will be. See the table
138 below for the current values corresponding to various items as of SeaBIOS
139 version 1.10.1. Set this value to -1 to use SeaBIOS' default.
Stefan Taunerc48d7912017-01-15 11:49:25 +0100140
Martin Roth8556db32017-01-23 14:56:55 -0700141 Output at various SeaBIOS log levels:
142 level 0 - Logging disabled
143 level 1 - Basic output, interrupts 5, 18h, 19h, 40h, SMP, PNP, PMM
144 level 2 - AHCI, Floppy, Basic ps2, interrupts 11h, 12h, 14h, 17h
145 level 3 - bootsplash, initializations, SeaBIOS VGA BIOS interrupts
Elyes HAOUAS6dc9d032020-02-16 16:22:52 +0100146 level 4 - BIOS tables, more optionrom
Martin Roth8556db32017-01-23 14:56:55 -0700147 level 5 - Extra bootsplash, more XHCI
148 level 6 - ATA commands, extra optionrom
149 level 7 - extra ps2 commands, more OHCI & EHCI
150 level 8 - extra malloc info, more AHCI
151 level 9 - interrupts 15h, 16h, 1ah, APM, PCI, SMIs, PCIBIOS,
152 USB-HID commands, SDcard commands, Floppy commands
153 level 10 - interrupt 13h (Drives other than floppy)
154 level 20 - interrupt 10h (Display)
155
156comment "Using default SeaBIOS log level"
157 depends on SEABIOS_DEBUG_LEVEL = -1
158
159comment "SeaBIOS logging disabled"
160 depends on SEABIOS_DEBUG_LEVEL = 0
161
Stefan Reinauer1a8b7bf2015-06-30 15:58:56 -0700162endif