blob: 46cfaf5ad0ea2a8264f4f36868c3155a93fc6e05 [file] [log] [blame]
Martin Roth21c06502016-02-04 19:52:27 -07001menu "Payload"
2
Nico Huber9121a362017-05-20 21:04:15 +02003config NO_DEFAULT_PAYLOAD
4 bool
5
Martin Roth21c06502016-02-04 19:52:27 -07006choice
7 prompt "Add a payload"
Nico Huber9121a362017-05-20 21:04:15 +02008 default PAYLOAD_NONE if NO_DEFAULT_PAYLOAD || !ARCH_X86
Martin Roth21c06502016-02-04 19:52:27 -07009 default PAYLOAD_SEABIOS if ARCH_X86
10
11config PAYLOAD_NONE
12 bool "None"
13 help
14 Select this option if you want to create an "empty" coreboot
15 ROM image for a certain mainboard, i.e. a coreboot ROM image
16 which does not yet contain a payload.
17
18 For such an image to be useful, you have to use 'cbfstool'
19 to add a payload to the ROM image later.
20
21config PAYLOAD_ELF
22 bool "An ELF executable payload"
23 help
24 Select this option if you have a payload image (an ELF file)
25 which coreboot should run as soon as the basic hardware
26 initialization is completed.
27
28 You will be able to specify the location and file name of the
29 payload image later.
30
Paul Menzel209a1bf2018-07-09 10:42:41 +020031config PAYLOAD_FIT
32 bool "A FIT payload"
Jonathan Neuschäfer3a4511e2018-12-12 01:08:24 +010033 depends on ARCH_ARM64 || ARCH_RISCV
Paul Menzel209a1bf2018-07-09 10:42:41 +020034 select PAYLOAD_FIT_SUPPORT
35 help
36 Select this option if you have a payload image (a FIT file) which
37 coreboot should run as soon as the basic hardware initialization
38 is completed.
39
40 You will be able to specify the location and file name of the
41 payload image later.
42
Antonello Dettori3d609322016-07-25 14:23:46 +020043config PAYLOAD_BAYOU
44 bool "Bayou"
Philipp Hug56dceb22018-09-27 17:25:22 +020045 depends on ARCH_X86
Antonello Dettori3d609322016-07-25 14:23:46 +020046 help
47 Select this option if you want to set bayou as your primary
48 payload.
49
Martin Roth21c06502016-02-04 19:52:27 -070050source "payloads/external/*/Kconfig.name"
51
52endchoice
53
54source "payloads/external/*/Kconfig"
55
Antonello Dettori3d609322016-07-25 14:23:46 +020056source "payloads/bayou/Kconfig"
57
Martin Roth21c06502016-02-04 19:52:27 -070058config PAYLOAD_FILE
59 string "Payload path and filename"
Patrick Rudolpha892cde2018-04-19 14:39:07 +020060 depends on PAYLOAD_ELF || PAYLOAD_FIT
61 default "payload.elf" if PAYLOAD_ELF
62 default "uImage" if PAYLOAD_FIT
Martin Roth21c06502016-02-04 19:52:27 -070063 help
64 The path and filename of the ELF executable file to use as payload.
65
Antonello Dettorifbcfdaf2016-07-23 17:11:44 +020066choice
67 prompt "Payload compression algorithm"
Arthur Heymans30a6b742018-01-20 12:21:03 +010068 default COMPRESSED_PAYLOAD_LZMA
Andrea Barberio256dd112018-09-25 14:22:01 +010069 depends on !PAYLOAD_NONE && !PAYLOAD_LINUX && !PAYLOAD_LINUXBOOT && !PAYLOAD_FIT
Antonello Dettorifbcfdaf2016-07-23 17:11:44 +020070 help
71 Choose the compression algorithm for the chosen payloads.
72 You can choose between LZMA and LZ4.
73
Martin Roth21c06502016-02-04 19:52:27 -070074config COMPRESSED_PAYLOAD_LZMA
75 bool "Use LZMA compression for payloads"
Martin Roth21c06502016-02-04 19:52:27 -070076 help
77 In order to reduce the size payloads take up in the ROM chip
78 coreboot can compress them using the LZMA algorithm.
79
Antonello Dettorifbcfdaf2016-07-23 17:11:44 +020080config COMPRESSED_PAYLOAD_LZ4
81 bool "Use LZ4 compression for payloads"
82 help
83 In order to reduce the size payloads take up in the ROM chip
84 coreboot can compress them using the LZ4 algorithm.
85endchoice
86
Martin Rothdbae4d02015-12-11 12:24:33 -070087config PAYLOAD_OPTIONS
88 string
89 default ""
90 help
91 Additional cbfstool options for the payload
92
93config PAYLOAD_IS_FLAT_BINARY
94 def_bool n
95 help
96 Add the payload to cbfs as a flat binary type instead of as an
97 elf payload
98
Patrick Rudolpha892cde2018-04-19 14:39:07 +020099config PAYLOAD_FIT_SUPPORT
100 bool "FIT support"
101 default n
Jonathan Neuschäfer3a4511e2018-12-12 01:08:24 +0100102 default y if PAYLOAD_LINUX && (ARCH_ARM || ARCH_ARM64 || ARCH_RISCV)
103 depends on ARCH_ARM64 || ARCH_RISCV
Patrick Rudolpha892cde2018-04-19 14:39:07 +0200104 select FLATTENED_DEVICE_TREE
105 help
106 Select this option if your payload is of type FIT.
107 Enables FIT parser and devicetree patching. The FIT is non
Paul Menzelab6583e2018-07-02 08:37:09 +0200108 self-extracting and needs to have a compatible compression format.
Patrick Rudolpha892cde2018-04-19 14:39:07 +0200109
Arthur Heymans47dd96d2018-02-07 13:01:43 +0100110config COMPRESS_SECONDARY_PAYLOAD
111 bool "Use LZMA compression for secondary payloads"
112 default y
113 help
114 In order to reduce the size secondary payloads take up in the
115 ROM chip they can be compressed using the LZMA algorithm.
116
Martin Roth5ad9aca2016-03-07 19:21:45 -0700117menu "Secondary Payloads"
118
Martin Roth4351ace2016-02-16 19:40:47 -0700119config COREINFO_SECONDARY_PAYLOAD
120 bool "Load coreinfo as a secondary payload"
121 default n
122 depends on ARCH_X86
123 help
124 coreinfo can be loaded as a secondary payload under SeaBIOS, GRUB,
125 or any other payload that can load additional payloads.
Martin Roth21c06502016-02-04 19:52:27 -0700126
Martin Rothbe63a242016-02-28 15:56:27 -0800127config MEMTEST_SECONDARY_PAYLOAD
128 bool "Load Memtest86+ as a secondary payload"
129 default n
Martin Roth5ad9aca2016-03-07 19:21:45 -0700130 depends on ARCH_X86
Martin Rothbe63a242016-02-28 15:56:27 -0800131 help
132 Memtest86+ can be loaded as a secondary payload under SeaBIOS, GRUB,
133 or any other payload that can load additional payloads.
134
Iru Cai736aa742016-04-15 15:48:14 +0800135config NVRAMCUI_SECONDARY_PAYLOAD
136 bool "Load nvramcui as a secondary payload"
137 default n
138 depends on ARCH_X86
139 help
140 nvramcui can be loaded as a secondary payload under SeaBIOS, GRUB,
141 or any other payload that can load additional payloads.
142
Antonello Dettori4f7d3292016-05-27 23:44:47 +0200143config TINT_SECONDARY_PAYLOAD
144 bool "Load tint as a secondary payload"
145 default n
146 depends on ARCH_X86
147 help
148 tint can be loaded as a secondary payload under SeaBIOS, GRUB,
149 or any other payload that can load additional payloads.
150
Stefan Taunera07366c2018-08-19 17:48:53 +0200151source "payloads/external/*/Kconfig.secondary"
152
Martin Roth5ad9aca2016-03-07 19:21:45 -0700153endmenu # "Secondary Payloads"
Martin Roth4351ace2016-02-16 19:40:47 -0700154endmenu