soc/intel/alderlake/Kconfig: Sort defaults alphabetically
[coreboot.git] / payloads / Kconfig
blob2a2773a2188fe755a99fd9dcc06eec0763d1cc69
1 menu "Payload"
3 config PAYLOAD_NONE
4         bool "Don't add a payload"
5         default y if !ARCH_X86
6         help
7           Select this option if you want to create an "empty" coreboot
8           ROM image for a certain mainboard, i.e. a coreboot ROM image
9           which does not yet contain a payload.
11           For such an image to be useful, you have to use 'cbfstool'
12           to add a payload to the ROM image later.
14 if !PAYLOAD_NONE
15 choice
16         prompt "Payload to add"
17         default PAYLOAD_SEABIOS if ARCH_X86
19 config PAYLOAD_ELF
20         bool "An ELF executable payload"
21         help
22           Select this option if you have a payload image (an ELF file)
23           which coreboot should run as soon as the basic hardware
24           initialization is completed.
26           You will be able to specify the location and file name of the
27           payload image later.
29 config PAYLOAD_FIT
30         bool "A FIT payload"
31         depends on ARCH_ARM64 || ARCH_RISCV || ARCH_ARM
32         select PAYLOAD_FIT_SUPPORT
33         help
34           Select this option if you have a payload image (a FIT file) which
35           coreboot should run as soon as the basic hardware initialization
36           is completed.
38           You will be able to specify the location and file name of the
39           payload image later.
41 source "payloads/external/*/Kconfig.name"
43 endchoice
45 source "payloads/external/*/Kconfig"
47 config PAYLOAD_FILE
48         string "Payload path and filename"
49         depends on PAYLOAD_ELF || PAYLOAD_FIT
50         default "payload.elf" if PAYLOAD_ELF
51         default "uImage" if PAYLOAD_FIT
52         help
53           The path and filename of the ELF executable file to use as payload.
55 choice
56         prompt "Payload compression algorithm"
57         default COMPRESSED_PAYLOAD_LZMA
58         default COMPRESSED_PAYLOAD_NONE if PAYLOAD_LINUX || PAYLOAD_LINUXBOOT || PAYLOAD_FIT
59         depends on !PAYLOAD_LINUX && !PAYLOAD_LINUXBOOT && !PAYLOAD_FIT
60         help
61           Choose the compression algorithm for the chosen payloads.
62           You can choose between None, LZMA, or LZ4.
64 config COMPRESSED_PAYLOAD_NONE
65         bool "Use no compression for payloads"
66         help
67           Do not compress the payload.
69 config COMPRESSED_PAYLOAD_LZMA
70         bool "Use LZMA compression for payloads"
71         help
72           In order to reduce the size payloads take up in the ROM chip
73           coreboot can compress them using the LZMA algorithm.
75 config COMPRESSED_PAYLOAD_LZ4
76         bool "Use LZ4 compression for payloads"
77         help
78           In order to reduce the size payloads take up in the ROM chip
79           coreboot can compress them using the LZ4 algorithm.
80 endchoice
82 config PAYLOAD_OPTIONS
83         string
84         default ""
85         help
86           Additional cbfstool options for the payload
88 config PAYLOAD_IS_FLAT_BINARY
89         def_bool n
90         help
91           Add the payload to cbfs as a flat binary type instead of as an
92           elf payload
94 config PAYLOAD_FIT_SUPPORT
95         bool "FIT support"
96         default n
97         default y if PAYLOAD_LINUX && (ARCH_ARM || ARCH_ARM64 || ARCH_RISCV)
98         depends on ARCH_ARM64 || ARCH_RISCV || ARCH_ARM
99         select FLATTENED_DEVICE_TREE
100         help
101           Select this option if your payload is of type FIT.
102           Enables FIT parser and devicetree patching. The FIT is non
103           self-extracting and needs to have a compatible compression format.
105 config COMPRESS_SECONDARY_PAYLOAD
106         bool "Use LZMA compression for secondary payloads"
107         default y
108         help
109           In order to reduce the size secondary payloads take up in the
110           ROM chip they can be compressed using the LZMA algorithm.
112 menu "Secondary Payloads"
114 config COREINFO_SECONDARY_PAYLOAD
115         bool "Load coreinfo as a secondary payload"
116         default n
117         depends on ARCH_X86
118         help
119           coreinfo can be loaded as a secondary payload under SeaBIOS, GRUB,
120           or any other payload that can load additional payloads.
122 config GRUB2_SECONDARY_PAYLOAD
123         bool "Load GRUB2 as a secondary payload"
124         default n
125         depends on !PAYLOAD_GRUB2
126         select PAYLOAD_BUILD_GRUB2
127         help
128           GRUB2 can be loaded as a secondary payload under SeaBIOS or any
129           other payload that can load additional payloads.
131 config MEMTEST_SECONDARY_PAYLOAD
132         bool "Load Memtest86+ as a secondary payload"
133         default n
134         depends on ARCH_X86
135         help
136           Memtest86+ can be loaded as a secondary payload under SeaBIOS, GRUB,
137           or any other payload that can load additional payloads.
139 config NVRAMCUI_SECONDARY_PAYLOAD
140         bool "Load nvramcui as a secondary payload"
141         default n
142         depends on ARCH_X86 && HAVE_OPTION_TABLE
143         help
144           nvramcui can be loaded as a secondary payload under SeaBIOS, GRUB,
145           or any other payload that can load additional payloads.
147 config SEABIOS_SECONDARY_PAYLOAD
148         bool "Load SeaBIOS as a secondary payload"
149         default n
150         depends on ARCH_X86
151         depends on !PAYLOAD_SEABIOS
152         depends on !PAYLOAD_SEAGRUB
153         select PAYLOAD_BUILD_SEABIOS
154         help
155           SeaBIOS can be loaded as a secondary payload under GRUB or any
156           other payload that can load additional payloads.
158 config TINT_SECONDARY_PAYLOAD
159         bool "Load tint as a secondary payload"
160         default n
161         depends on ARCH_X86
162         help
163           tint can be loaded as a secondary payload under SeaBIOS, GRUB,
164           or any other payload that can load additional payloads.
166 config COREDOOM_SECONDARY_PAYLOAD
167         bool "Load coreDOOM as a secondary payload"
168         default n
169         depends on ARCH_X86
170         help
171           coreDOOM can be loaded as a secondary payload under SeaBIOS, GRUB,
172           or any other payload that can load additional payloads. Requires a
173           linear framebuffer. If built as a secondary payload for SeaBIOS, the
174           generated VGA BIOS option rom is also required.
176 source "payloads/external/*/Kconfig.secondary"
178 endmenu # "Secondary Payloads"
180 endif # !PAYLOAD_NONE
182 endmenu