Add support for the tracing infastructure in coreboot.
[coreboot.git] / src / Kconfig
1 ##
2 ## This file is part of the coreboot project.
3 ##
4 ## Copyright (C) 2009-2010 coresystems GmbH
5 ##
6 ## This program is free software; you can redistribute it and/or modify
7 ## it under the terms of the GNU General Public License as published by
8 ## the Free Software Foundation; version 2 of the License.
9 ##
10 ## This program is distributed in the hope that it will be useful,
11 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 ## GNU General Public License for more details.
14 ##
15 ## You should have received a copy of the GNU General Public License
16 ## along with this program; if not, write to the Free Software
17 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
18 ##
19
20 mainmenu "Coreboot Configuration"
21
22 menu "General setup"
23
24 config EXPERT
25         bool "Expert mode"
26         help
27           This allows you to select certain advanced configuration options.
28
29           Warning: Only enable this option if you really know what you are
30           doing! You have been warned!
31
32 config LOCALVERSION
33         string "Local version string"
34         help
35           Append an extra string to the end of the coreboot version.
36
37           This can be useful if, for instance, you want to append the
38           respective board's hostname or some other identifying string to
39           the coreboot version number, so that you can easily distinguish
40           boot logs of different boards from each other.
41
42 config CBFS_PREFIX
43         string "CBFS prefix to use"
44         default "fallback"
45         help
46           Select the prefix to all files put into the image. It's "fallback"
47           by default, "normal" is a common alternative.
48
49 choice
50         prompt "Compiler"
51         default COMPILER_GCC
52         help
53           This option allows you to select the compiler used for building
54           coreboot.
55
56 config COMPILER_GCC
57         bool "GCC"
58 config COMPILER_LLVM_CLANG
59         bool "LLVM/clang"
60 endchoice
61
62 config SCANBUILD_ENABLE
63         bool "Build with scan-build for static analysis"
64         default n
65         help
66           Changes the build process to scan-build is used.
67           Requires scan-build in path.
68
69 config SCANBUILD_REPORT_LOCATION
70         string "Directory to put scan-build report in"
71         default ""
72         depends on SCANBUILD_ENABLE
73         help
74           Where the scan-build report should be stored
75
76 config CCACHE
77         bool "ccache"
78         default n
79         help
80           Enables the use of ccache for faster builds.
81           Requires ccache in path.
82
83 config SCONFIG_GENPARSER
84         bool "Generate SCONFIG parser using flex and bison"
85         default n
86         depends on EXPERT
87         help
88           Enable this option if you are working on the sconfig
89           device tree parser and made changes to sconfig.l and
90           sconfig.y.
91           Otherwise, say N.
92
93 config USE_OPTION_TABLE
94         bool "Use CMOS for configuration values"
95         default n
96         depends on HAVE_OPTION_TABLE
97         help
98           Enable this option if coreboot shall read options from the "CMOS"
99           NVRAM instead of using hard coded values.
100
101 config COMPRESS_RAMSTAGE
102         bool "Compress ramstage with LZMA"
103         default y
104         help
105           Compress ramstage to save memory in the flash image. Note
106           that decompression might slow down booting if the boot flash
107           is connected through a slow Link (i.e. SPI)
108
109 config INCLUDE_CONFIG_FILE
110   bool "Include the coreboot config file into the ROM image"
111         default y
112   help
113     Include in CBFS the coreboot config file that was used to compile the ROM image
114
115 endmenu
116
117 source src/mainboard/Kconfig
118
119 # This option is used to set the architecture of a mainboard to X86.
120 # It is usually set in mainboard/*/Kconfig.
121 config ARCH_X86
122         bool
123         default n
124
125 if ARCH_X86
126 source src/arch/x86/Kconfig
127 endif
128
129 menu "Chipset"
130
131 comment "CPU"
132 source src/cpu/Kconfig
133 comment "Northbridge"
134 source src/northbridge/Kconfig
135 comment "Southbridge"
136 source src/southbridge/Kconfig
137 comment "Super I/O"
138 source src/superio/Kconfig
139 comment "Devices"
140 source src/devices/Kconfig
141 comment "Embedded Controllers"
142 source src/ec/Kconfig
143
144 endmenu
145
146 menu "Generic Drivers"
147 source src/drivers/Kconfig
148 endmenu
149
150 config PCI_BUS_SEGN_BITS
151         int
152         default 0
153
154 config PCI_ROM_RUN
155         bool
156         default n
157
158 config HEAP_SIZE
159         hex
160         default 0x4000
161
162 config MAX_CPUS
163         int
164         default 1
165
166 config MMCONF_SUPPORT_DEFAULT
167         bool
168         default n
169
170 config MMCONF_SUPPORT
171         bool
172         default n
173
174 source src/console/Kconfig
175
176 # This should default to N and be set by SuperI/O drivers that have an UART
177 config HAVE_UART_IO_MAPPED
178         bool
179         default y
180
181 config HAVE_UART_MEMORY_MAPPED
182         bool
183         default n
184
185 config HAVE_ACPI_RESUME
186         bool
187         default n
188
189 config HAVE_ACPI_SLIC
190         bool
191         default n
192
193 config ACPI_SSDTX_NUM
194         int
195         default 0
196
197 config HAVE_HARD_RESET
198         bool
199         default y if BOARD_HAS_HARD_RESET
200         default n
201         help
202           This variable specifies whether a given board has a hard_reset
203           function, no matter if it's provided by board code or chipset code.
204
205 config HAVE_INIT_TIMER
206         bool
207         default n if UDELAY_IO
208         default y
209
210 config HAVE_MAINBOARD_RESOURCES
211         bool
212         default n
213
214 config USE_OPTION_TABLE
215         bool
216         default n
217
218 config HAVE_OPTION_TABLE
219         bool
220         default n
221         help
222           This variable specifies whether a given board has a cmos.layout
223           file containing NVRAM/CMOS bit definitions.
224           It defaults to 'n' but can be selected in mainboard/*/Kconfig.
225
226 config PIRQ_ROUTE
227         bool
228         default n
229
230 config HAVE_SMI_HANDLER
231         bool
232         default n
233
234 config PCI_IO_CFG_EXT
235         bool
236         default n
237
238 config IOAPIC
239         bool
240         default n
241
242 # TODO: Can probably be removed once all chipsets have kconfig options for it.
243 config VIDEO_MB
244         int
245         default 0
246
247 config USE_WATCHDOG_ON_BOOT
248         bool
249         default n
250
251 config VGA
252         bool
253         default n
254         help
255           Build board-specific VGA code.
256
257 config GFXUMA
258         bool
259         default n
260         help
261           Enable Unified Memory Architecture for graphics.
262
263 # TODO
264 # menu "Drivers"
265 #
266 # endmenu
267
268 config HAVE_ACPI_TABLES
269         bool
270         help
271           This variable specifies whether a given board has ACPI table support.
272           It is usually set in mainboard/*/Kconfig.
273           Whether or not the ACPI tables are actually generated by coreboot
274           is configurable by the user via GENERATE_ACPI_TABLES.
275
276 config HAVE_MP_TABLE
277         bool
278         help
279           This variable specifies whether a given board has MP table support.
280           It is usually set in mainboard/*/Kconfig.
281           Whether or not the MP table is actually generated by coreboot
282           is configurable by the user via GENERATE_MP_TABLE.
283
284 config HAVE_PIRQ_TABLE
285         bool
286         help
287           This variable specifies whether a given board has PIRQ table support.
288           It is usually set in mainboard/*/Kconfig.
289           Whether or not the PIRQ table is actually generated by coreboot
290           is configurable by the user via GENERATE_PIRQ_TABLE.
291
292 #These Options are here to avoid "undefined" warnings.
293 #The actual selection and help texts are in the following menu.
294
295 config GENERATE_ACPI_TABLES
296         bool
297         default HAVE_ACPI_TABLES
298
299 config GENERATE_MP_TABLE
300         bool
301         default HAVE_MP_TABLE
302
303 config GENERATE_PIRQ_TABLE
304         bool
305         default HAVE_PIRQ_TABLE
306
307 config GENERATE_SMBIOS_TABLES
308         bool
309         default y
310
311 menu "System tables"
312
313 config WRITE_HIGH_TABLES
314         bool "Write 'high' tables to avoid being overwritten in F segment"
315         default y
316
317 config MULTIBOOT
318         bool "Generate Multiboot tables (for GRUB2)"
319         default y
320
321 config GENERATE_ACPI_TABLES
322         depends on HAVE_ACPI_TABLES
323         bool "Generate ACPI tables"
324         default y
325         help
326           Generate ACPI tables for this board.
327
328           If unsure, say Y.
329
330 config GENERATE_MP_TABLE
331         depends on HAVE_MP_TABLE
332         bool "Generate an MP table"
333         default y
334         help
335           Generate an MP table (conforming to the Intel MultiProcessor
336           specification 1.4) for this board.
337
338           If unsure, say Y.
339
340 config GENERATE_PIRQ_TABLE
341         depends on HAVE_PIRQ_TABLE
342         bool "Generate a PIRQ table"
343         default y
344         help
345           Generate a PIRQ table for this board.
346
347           If unsure, say Y.
348
349 config GENERATE_SMBIOS_TABLES
350         depends on ARCH_X86
351         bool "Generate SMBIOS tables"
352         default y
353         help
354           Generate SMBIOS tables for this board.
355
356           If unsure, say Y.
357
358 endmenu
359
360 menu "Payload"
361
362 choice
363         prompt "Add a payload"
364         default PAYLOAD_NONE if !ARCH_X86
365         default PAYLOAD_SEABIOS if ARCH_X86
366
367 config PAYLOAD_NONE
368         bool "None"
369         help
370           Select this option if you want to create an "empty" coreboot
371           ROM image for a certain mainboard, i.e. a coreboot ROM image
372           which does not yet contain a payload.
373
374           For such an image to be useful, you have to use 'cbfstool'
375           to add a payload to the ROM image later.
376
377 config PAYLOAD_ELF
378         bool "An ELF executable payload"
379         help
380           Select this option if you have a payload image (an ELF file)
381           which coreboot should run as soon as the basic hardware
382           initialization is completed.
383
384           You will be able to specify the location and file name of the
385           payload image later.
386
387 config PAYLOAD_SEABIOS
388         bool "SeaBIOS"
389         depends on ARCH_X86
390         help
391           Select this option if you want to build a coreboot image
392           with a SeaBIOS payload. If you don't know what this is
393           about, just leave it enabled.
394
395           See http://coreboot.org/Payloads for more information.
396
397 config PAYLOAD_FILO
398         bool "FILO"
399         help
400           Select this option if you want to build a coreboot image
401           with a FILO payload. If you don't know what this is
402           about, just leave it enabled.
403
404           See http://coreboot.org/Payloads for more information.
405
406 endchoice
407
408 choice
409         prompt "SeaBIOS version"
410         default SEABIOS_STABLE
411         depends on PAYLOAD_SEABIOS
412
413 config SEABIOS_STABLE
414         bool "stable"
415         help
416           Stable SeaBIOS version
417 config SEABIOS_MASTER
418         bool "master"
419         help
420           Newest SeaBIOS version
421 endchoice
422
423 choice
424         prompt "FILO version"
425         default FILO_STABLE
426         depends on PAYLOAD_FILO
427
428 config FILO_STABLE
429         bool "0.6.0"
430         help
431           Stable FILO version
432 config FILO_MASTER
433         bool "HEAD"
434         help
435           Newest FILO version
436 endchoice
437
438 config PAYLOAD_FILE
439         string "Payload path and filename"
440         depends on PAYLOAD_ELF
441         default "payload.elf"
442         help
443           The path and filename of the ELF executable file to use as payload.
444
445 config PAYLOAD_FILE
446         depends on PAYLOAD_SEABIOS
447         default "payloads/external/SeaBIOS/seabios/out/bios.bin.elf"
448
449 config PAYLOAD_FILE
450         depends on PAYLOAD_FILO
451         default "payloads/external/FILO/filo/build/filo.elf"
452
453 # TODO: Defined if no payload? Breaks build?
454 config COMPRESSED_PAYLOAD_LZMA
455         bool "Use LZMA compression for payloads"
456         default y
457         depends on PAYLOAD_ELF || PAYLOAD_SEABIOS || PAYLOAD_FILO
458         help
459           In order to reduce the size payloads take up in the ROM chip
460           coreboot can compress them using the LZMA algorithm.
461
462 config COMPRESSED_PAYLOAD_NRV2B
463         bool
464         default n
465
466 endmenu
467
468 menu "VGA BIOS"
469
470 config VGA_BIOS
471         bool "Add a VGA BIOS image"
472         help
473           Select this option if you have a VGA BIOS image that you would
474           like to add to your ROM.
475
476           You will be able to specify the location and file name of the
477           image later.
478
479 config VGA_BIOS_FILE
480         string "VGA BIOS path and filename"
481         depends on VGA_BIOS
482         default "vgabios.bin"
483         help
484           The path and filename of the file to use as VGA BIOS.
485
486 config VGA_BIOS_ID
487         string "VGA device PCI IDs"
488         depends on VGA_BIOS
489         default "1106,3230"
490         help
491           The comma-separated PCI vendor and device ID that would associate
492           your VGA BIOS to your video card.
493
494           Example: 1106,3230
495
496           In the above example 1106 is the PCI vendor ID (in hex, but without
497           the "0x" prefix) and 3230 specifies the PCI device ID of the
498           video card (also in hex, without "0x" prefix).
499
500 config INTEL_MBI
501         bool "Add an MBI image"
502         depends on NORTHBRIDGE_INTEL_I82830
503         help
504           Select this option if you have an Intel MBI image that you would
505           like to add to your ROM.
506
507           You will be able to specify the location and file name of the
508           image later.
509
510 config MBI_FILE
511         string "Intel MBI path and filename"
512         depends on INTEL_MBI
513         default "mbi.bin"
514         help
515           The path and filename of the file to use as VGA BIOS.
516
517 endmenu
518
519 menu "Bootsplash"
520         depends on PCI_OPTION_ROM_RUN_YABEL
521
522 config BOOTSPLASH
523         prompt "Show graphical bootsplash"
524         bool
525         depends on PCI_OPTION_ROM_RUN_YABEL
526         help
527           This option shows a graphical bootsplash screen. The grapics are
528           loaded from the CBFS file bootsplash.jpg.
529
530 config BOOTSPLASH_FILE
531         string "Bootsplash path and filename"
532         depends on BOOTSPLASH
533         default "bootsplash.jpg"
534         help
535           The path and filename of the file to use as graphical bootsplash
536           screen. The file format has to be jpg.
537
538 # TODO: Turn this into a "choice".
539 config FRAMEBUFFER_VESA_MODE
540         prompt "VESA framebuffer video mode"
541         hex
542         default 0x117
543         depends on BOOTSPLASH
544         help
545           This option sets the resolution used for the coreboot framebuffer and
546           bootsplash screen. Set to 0x117 for 1024x768x16. A diligent soul will
547           some day make this a "choice".
548
549 config COREBOOT_KEEP_FRAMEBUFFER
550         prompt "Keep VESA framebuffer"
551         bool
552         depends on BOOTSPLASH
553         help
554           This option keeps the framebuffer mode set after coreboot finishes
555           execution. If this option is enabled, coreboot will pass a
556           framebuffer entry in its coreboot table and the payload will need a
557           framebuffer driver. If this option is disabled, coreboot will switch
558           back to text mode before handing control to a payload.
559
560 endmenu
561
562 menu "Debugging"
563
564 # TODO: Better help text and detailed instructions.
565 config GDB_STUB
566         bool "GDB debugging support"
567         default y
568         help
569           If enabled, you will be able to set breakpoints for gdb debugging.
570           See src/arch/x86/lib/c_start.S for details.
571
572 config HAVE_DEBUG_RAM_SETUP
573         def_bool n
574
575 config DEBUG_RAM_SETUP
576         bool "Output verbose RAM init debug messages"
577         default n
578         depends on HAVE_DEBUG_RAM_SETUP
579         help
580           This option enables additional RAM init related debug messages.
581           It is recommended to enable this when debugging issues on your
582           board which might be RAM init related.
583
584           Note: This option will increase the size of the coreboot image.
585
586           If unsure, say N.
587
588 config HAVE_DEBUG_CAR
589         def_bool n
590
591 config DEBUG_CAR
592         def_bool n
593         depends on HAVE_DEBUG_CAR
594
595 if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
596 # Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
597 # printk(BIOS_DEBUG, ...) calls.
598 config DEBUG_CAR
599         bool "Output verbose Cache-as-RAM debug messages"
600         default n
601         depends on HAVE_DEBUG_CAR
602         help
603           This option enables additional CAR related debug messages.
604 endif
605
606 config DEBUG_PIRQ
607         bool "Check PIRQ table consistency"
608         default n
609         depends on GENERATE_PIRQ_TABLE
610         help
611           If unsure, say N.
612
613 config HAVE_DEBUG_SMBUS
614         def_bool n
615
616 config DEBUG_SMBUS
617         bool "Output verbose SMBus debug messages"
618         default n
619         depends on HAVE_DEBUG_SMBUS
620         help
621           This option enables additional SMBus (and SPD) debug messages.
622
623           Note: This option will increase the size of the coreboot image.
624
625           If unsure, say N.
626
627 config DEBUG_SMI
628         bool "Output verbose SMI debug messages"
629         default n
630         depends on HAVE_SMI_HANDLER
631         help
632           This option enables additional SMI related debug messages.
633
634           Note: This option will increase the size of the coreboot image.
635
636           If unsure, say N.
637
638 config DEBUG_SMM_RELOCATION
639         bool "Debug SMM relocation code"
640         default n
641         depends on HAVE_SMI_HANDLER
642         help
643           This option enables additional SMM handler relocation related
644           debug messages.
645
646           Note: This option will increase the size of the coreboot image.
647
648           If unsure, say N.
649
650 config DEBUG_MALLOC
651         def_bool n
652
653 # Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
654 # printk(BIOS_DEBUG, ...) calls.
655 if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
656 config DEBUG_MALLOC
657         bool "Output verbose malloc debug messages"
658         default n
659         help
660           This option enables additional malloc related debug messages.
661
662           Note: This option will increase the size of the coreboot image.
663
664           If unsure, say N.
665 endif
666
667 config DEBUG_ACPI
668         def_bool n
669
670 # Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
671 # printk(BIOS_DEBUG, ...) calls.
672 if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
673 config DEBUG_ACPI
674         bool "Output verbose ACPI debug messages"
675         default n
676         help
677           This option enables additional ACPI related debug messages.
678
679           Note: This option will slightly increase the size of the coreboot image.
680
681           If unsure, say N.
682 endif
683
684 config REALMODE_DEBUG
685         def_bool n
686         depends on PCI_OPTION_ROM_RUN_REALMODE
687
688 if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
689 # Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
690 # printk(BIOS_DEBUG, ...) calls.
691 config REALMODE_DEBUG
692         bool "Enable debug messages for option ROM execution"
693         default n
694         depends on PCI_OPTION_ROM_RUN_REALMODE
695         help
696           This option enables additional x86emu related debug messages.
697
698           Note: This option will increase the time to emulate a ROM.
699
700           If unsure, say N.
701 endif
702
703 config X86EMU_DEBUG
704         bool "Output verbose x86emu debug messages"
705         default n
706         depends on PCI_OPTION_ROM_RUN_YABEL
707         help
708           This option enables additional x86emu related debug messages.
709
710           Note: This option will increase the size of the coreboot image.
711
712           If unsure, say N.
713
714 config X86EMU_DEBUG_JMP
715         bool "Trace JMP/RETF"
716         default n
717         depends on X86EMU_DEBUG
718         help
719           Print information about JMP and RETF opcodes from x86emu.
720
721           Note: This option will increase the size of the coreboot image.
722
723           If unsure, say N.
724
725 config X86EMU_DEBUG_TRACE
726         bool "Trace all opcodes"
727         default n
728         depends on X86EMU_DEBUG
729         help
730           Print _all_ opcodes that are executed by x86emu.
731
732           WARNING: This will produce a LOT of output and take a long time.
733
734           Note: This option will increase the size of the coreboot image.
735
736           If unsure, say N.
737
738 config X86EMU_DEBUG_PNP
739         bool "Log Plug&Play accesses"
740         default n
741         depends on X86EMU_DEBUG
742         help
743           Print Plug And Play accesses made by option ROMs.
744
745           Note: This option will increase the size of the coreboot image.
746
747           If unsure, say N.
748
749 config X86EMU_DEBUG_DISK
750         bool "Log Disk I/O"
751         default n
752         depends on X86EMU_DEBUG
753         help
754           Print Disk I/O related messages.
755
756           Note: This option will increase the size of the coreboot image.
757
758           If unsure, say N.
759
760 config X86EMU_DEBUG_PMM
761         bool "Log PMM"
762         default n
763         depends on X86EMU_DEBUG
764         help
765           Print messages related to POST Memory Manager (PMM).
766
767           Note: This option will increase the size of the coreboot image.
768
769           If unsure, say N.
770
771
772 config X86EMU_DEBUG_VBE
773         bool "Debug VESA BIOS Extensions"
774         default n
775         depends on X86EMU_DEBUG
776         help
777           Print messages related to VESA BIOS Extension (VBE) functions.
778
779           Note: This option will increase the size of the coreboot image.
780
781           If unsure, say N.
782
783 config X86EMU_DEBUG_INT10
784         bool "Redirect INT10 output to console"
785         default n
786         depends on X86EMU_DEBUG
787         help
788           Let INT10 (i.e. character output) calls print messages to debug output.
789
790           Note: This option will increase the size of the coreboot image.
791
792           If unsure, say N.
793
794 config X86EMU_DEBUG_INTERRUPTS
795         bool "Log intXX calls"
796         default n
797         depends on X86EMU_DEBUG
798         help
799           Print messages related to interrupt handling.
800
801           Note: This option will increase the size of the coreboot image.
802
803           If unsure, say N.
804
805 config X86EMU_DEBUG_CHECK_VMEM_ACCESS
806         bool "Log special memory accesses"
807         default n
808         depends on X86EMU_DEBUG
809         help
810           Print messages related to accesses to certain areas of the virtual
811           memory (e.g. BDA (BIOS Data Area) or interrupt vectors)
812
813           Note: This option will increase the size of the coreboot image.
814
815           If unsure, say N.
816
817 config X86EMU_DEBUG_MEM
818         bool "Log all memory accesses"
819         default n
820         depends on X86EMU_DEBUG
821         help
822           Print memory accesses made by option ROM.
823           Note: This also includes accesses to fetch instructions.
824
825           Note: This option will increase the size of the coreboot image.
826
827           If unsure, say N.
828
829 config X86EMU_DEBUG_IO
830         bool "Log IO accesses"
831         default n
832         depends on X86EMU_DEBUG
833         help
834           Print I/O accesses made by option ROM.
835
836           Note: This option will increase the size of the coreboot image.
837
838           If unsure, say N.
839
840 config LLSHELL
841         bool "Built-in low-level shell"
842         default n
843         help
844           If enabled, you will have a low level shell to examine your machine.
845           Put llshell() in your (romstage) code to start the shell.
846           See src/arch/x86/llshell/llshell.inc for details.
847
848 config TRACE
849         bool "Trace function calls"
850         default n
851         help
852           If enabled, every function will print information to console once
853           the function is entered. The syntax is ~0xaaaabbbb(0xccccdddd)
854           the 0xaaaabbbb is the actual function and 0xccccdddd is EIP
855           of calling function. Please note some printk releated functions
856           are omitted from trace to have good looking console dumps.
857 endmenu
858
859 config LIFT_BSP_APIC_ID
860         bool
861         default n
862
863 # These probably belong somewhere else, but they are needed somewhere.
864 config AP_CODE_IN_CAR
865         bool
866         default n
867
868 config RAMINIT_SYSINFO
869         bool
870         default n
871
872 config ENABLE_APIC_EXT_ID
873         bool
874         default n
875
876 config WARNINGS_ARE_ERRORS
877         bool
878         default y
879
880 config ID_SECTION_OFFSET
881         hex
882         default 0x10
883
884 # The four POWER_BUTTON_DEFAULT_ENABLE, POWER_BUTTON_DEFAULT_DISABLE,
885 # POWER_BUTTON_FORCE_ENABLE and POWER_BUTTON_FORCE_DISABLE options are
886 # mutually exclusive. One of these options must be selected in the
887 # mainboard Kconfig if the chipset supports enabling and disabling of
888 # the power button. Chipset code uses the ENABLE_POWER_BUTTON option set
889 # in mainboard/Kconfig to know if the button should be enabled or not.
890
891 config POWER_BUTTON_DEFAULT_ENABLE
892         def_bool n
893         help
894           Select when the board has a power button which can optionally be
895           disabled by the user.
896
897 config POWER_BUTTON_DEFAULT_DISABLE
898         def_bool n
899         help
900           Select when the board has a power button which can optionally be
901           enabled by the user, e.g. when the board ships with a jumper over
902           the power switch contacts.
903
904 config POWER_BUTTON_FORCE_ENABLE
905         def_bool n
906         help
907           Select when the board requires that the power button is always
908           enabled.
909
910 config POWER_BUTTON_FORCE_DISABLE
911         def_bool n
912         help
913           Select when the board requires that the power button is always
914           disabled, e.g. when it has been hardwired to ground.
915
916 config POWER_BUTTON_IS_OPTIONAL
917         bool
918         default y if POWER_BUTTON_DEFAULT_ENABLE || POWER_BUTTON_DEFAULT_DISABLE
919         default n if !(POWER_BUTTON_DEFAULT_ENABLE || POWER_BUTTON_DEFAULT_DISABLE)
920         help
921           Internal option that controls ENABLE_POWER_BUTTON visibility.
922
923 source src/Kconfig.deprecated_options