added a config option for ACPI debugging
[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 menu "System tables"
308
309 config WRITE_HIGH_TABLES
310         bool "Write 'high' tables to avoid being overwritten in F segment"
311         default y
312
313 config MULTIBOOT
314         bool "Generate Multiboot tables (for GRUB2)"
315         default y
316
317 config GENERATE_ACPI_TABLES
318         depends on HAVE_ACPI_TABLES
319         bool "Generate ACPI tables"
320         default y
321         help
322           Generate ACPI tables for this board.
323
324           If unsure, say Y.
325
326 config GENERATE_MP_TABLE
327         depends on HAVE_MP_TABLE
328         bool "Generate an MP table"
329         default y
330         help
331           Generate an MP table (conforming to the Intel MultiProcessor
332           specification 1.4) for this board.
333
334           If unsure, say Y.
335
336 config GENERATE_PIRQ_TABLE
337         depends on HAVE_PIRQ_TABLE
338         bool "Generate a PIRQ table"
339         default y
340         help
341           Generate a PIRQ table for this board.
342
343           If unsure, say Y.
344
345 endmenu
346
347 menu "Payload"
348
349 choice
350         prompt "Add a payload"
351         default PAYLOAD_NONE if !ARCH_X86
352         default PAYLOAD_SEABIOS if ARCH_X86
353
354 config PAYLOAD_NONE
355         bool "None"
356         help
357           Select this option if you want to create an "empty" coreboot
358           ROM image for a certain mainboard, i.e. a coreboot ROM image
359           which does not yet contain a payload.
360
361           For such an image to be useful, you have to use 'cbfstool'
362           to add a payload to the ROM image later.
363
364 config PAYLOAD_ELF
365         bool "An ELF executable payload"
366         help
367           Select this option if you have a payload image (an ELF file)
368           which coreboot should run as soon as the basic hardware
369           initialization is completed.
370
371           You will be able to specify the location and file name of the
372           payload image later.
373
374 config PAYLOAD_SEABIOS
375         bool "SeaBIOS"
376         depends on ARCH_X86
377         help
378           Select this option if you want to build a coreboot image
379           with a SeaBIOS payload. If you don't know what this is
380           about, just leave it enabled.
381
382           See http://coreboot.org/Payloads for more information.
383
384 config PAYLOAD_FILO
385         bool "FILO"
386         help
387           Select this option if you want to build a coreboot image
388           with a FILO payload. If you don't know what this is
389           about, just leave it enabled.
390
391           See http://coreboot.org/Payloads for more information.
392
393 endchoice
394
395 choice
396         prompt "SeaBIOS version"
397         default SEABIOS_STABLE
398         depends on PAYLOAD_SEABIOS
399
400 config SEABIOS_STABLE
401         bool "stable"
402         help
403           Stable SeaBIOS version
404 config SEABIOS_MASTER
405         bool "master"
406         help
407           Newest SeaBIOS version
408 endchoice
409
410 choice
411         prompt "FILO version"
412         default FILO_STABLE
413         depends on PAYLOAD_FILO
414
415 config FILO_STABLE
416         bool "0.6.0"
417         help
418           Stable FILO version
419 config FILO_MASTER
420         bool "HEAD"
421         help
422           Newest FILO version
423 endchoice
424
425 config PAYLOAD_FILE
426         string "Payload path and filename"
427         depends on PAYLOAD_ELF
428         default "payload.elf"
429         help
430           The path and filename of the ELF executable file to use as payload.
431
432 config PAYLOAD_FILE
433         depends on PAYLOAD_SEABIOS
434         default "payloads/external/SeaBIOS/seabios/out/bios.bin.elf"
435
436 config PAYLOAD_FILE
437         depends on PAYLOAD_FILO
438         default "payloads/external/FILO/filo/build/filo.elf"
439
440 # TODO: Defined if no payload? Breaks build?
441 config COMPRESSED_PAYLOAD_LZMA
442         bool "Use LZMA compression for payloads"
443         default y
444         depends on PAYLOAD_ELF || PAYLOAD_SEABIOS || PAYLOAD_FILO
445         help
446           In order to reduce the size payloads take up in the ROM chip
447           coreboot can compress them using the LZMA algorithm.
448
449 config COMPRESSED_PAYLOAD_NRV2B
450         bool
451         default n
452
453 endmenu
454
455 menu "VGA BIOS"
456
457 config VGA_BIOS
458         bool "Add a VGA BIOS image"
459         help
460           Select this option if you have a VGA BIOS image that you would
461           like to add to your ROM.
462
463           You will be able to specify the location and file name of the
464           image later.
465
466 config VGA_BIOS_FILE
467         string "VGA BIOS path and filename"
468         depends on VGA_BIOS
469         default "vgabios.bin"
470         help
471           The path and filename of the file to use as VGA BIOS.
472
473 config VGA_BIOS_ID
474         string "VGA device PCI IDs"
475         depends on VGA_BIOS
476         default "1106,3230"
477         help
478           The comma-separated PCI vendor and device ID that would associate
479           your VGA BIOS to your video card.
480
481           Example: 1106,3230
482
483           In the above example 1106 is the PCI vendor ID (in hex, but without
484           the "0x" prefix) and 3230 specifies the PCI device ID of the
485           video card (also in hex, without "0x" prefix).
486
487 config INTEL_MBI
488         bool "Add an MBI image"
489         depends on NORTHBRIDGE_INTEL_I82830
490         help
491           Select this option if you have an Intel MBI image that you would
492           like to add to your ROM.
493
494           You will be able to specify the location and file name of the
495           image later.
496
497 config MBI_FILE
498         string "Intel MBI path and filename"
499         depends on INTEL_MBI
500         default "mbi.bin"
501         help
502           The path and filename of the file to use as VGA BIOS.
503
504 endmenu
505
506 menu "Bootsplash"
507         depends on PCI_OPTION_ROM_RUN_YABEL
508
509 config BOOTSPLASH
510         prompt "Show graphical bootsplash"
511         bool
512         depends on PCI_OPTION_ROM_RUN_YABEL
513         help
514           This option shows a graphical bootsplash screen. The grapics are
515           loaded from the CBFS file bootsplash.jpg.
516
517 config BOOTSPLASH_FILE
518         string "Bootsplash path and filename"
519         depends on BOOTSPLASH
520         default "bootsplash.jpg"
521         help
522           The path and filename of the file to use as graphical bootsplash
523           screen. The file format has to be jpg.
524
525 # TODO: Turn this into a "choice".
526 config FRAMEBUFFER_VESA_MODE
527         prompt "VESA framebuffer video mode"
528         hex
529         default 0x117
530         depends on BOOTSPLASH
531         help
532           This option sets the resolution used for the coreboot framebuffer and
533           bootsplash screen. Set to 0x117 for 1024x768x16. A diligent soul will
534           some day make this a "choice".
535
536 config COREBOOT_KEEP_FRAMEBUFFER
537         prompt "Keep VESA framebuffer"
538         bool
539         depends on BOOTSPLASH
540         help
541           This option keeps the framebuffer mode set after coreboot finishes
542           execution. If this option is enabled, coreboot will pass a
543           framebuffer entry in its coreboot table and the payload will need a
544           framebuffer driver. If this option is disabled, coreboot will switch
545           back to text mode before handing control to a payload.
546
547 endmenu
548
549 menu "Debugging"
550
551 # TODO: Better help text and detailed instructions.
552 config GDB_STUB
553         bool "GDB debugging support"
554         default y
555         help
556           If enabled, you will be able to set breakpoints for gdb debugging.
557           See src/arch/x86/lib/c_start.S for details.
558
559 config HAVE_DEBUG_RAM_SETUP
560         def_bool n
561
562 config DEBUG_RAM_SETUP
563         bool "Output verbose RAM init debug messages"
564         default n
565         depends on HAVE_DEBUG_RAM_SETUP
566         help
567           This option enables additional RAM init related debug messages.
568           It is recommended to enable this when debugging issues on your
569           board which might be RAM init related.
570
571           Note: This option will increase the size of the coreboot image.
572
573           If unsure, say N.
574
575 config HAVE_DEBUG_CAR
576         def_bool n
577
578 config DEBUG_CAR
579         def_bool n
580         depends on HAVE_DEBUG_CAR
581
582 if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
583 # Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
584 # printk(BIOS_DEBUG, ...) calls.
585 config DEBUG_CAR
586         bool "Output verbose Cache-as-RAM debug messages"
587         default n
588         depends on HAVE_DEBUG_CAR
589         help
590           This option enables additional CAR related debug messages.
591 endif
592
593 config DEBUG_PIRQ
594         bool "Check PIRQ table consistency"
595         default n
596         depends on GENERATE_PIRQ_TABLE
597         help
598           If unsure, say N.
599
600 config HAVE_DEBUG_SMBUS
601         def_bool n
602
603 config DEBUG_SMBUS
604         bool "Output verbose SMBus debug messages"
605         default n
606         depends on HAVE_DEBUG_SMBUS
607         help
608           This option enables additional SMBus (and SPD) debug messages.
609
610           Note: This option will increase the size of the coreboot image.
611
612           If unsure, say N.
613
614 config DEBUG_SMI
615         bool "Output verbose SMI debug messages"
616         default n
617         depends on HAVE_SMI_HANDLER
618         help
619           This option enables additional SMI related debug messages.
620
621           Note: This option will increase the size of the coreboot image.
622
623           If unsure, say N.
624
625 config DEBUG_SMM_RELOCATION
626         bool "Debug SMM relocation code"
627         default n
628         depends on HAVE_SMI_HANDLER
629         help
630           This option enables additional SMM handler relocation related
631           debug messages.
632
633           Note: This option will increase the size of the coreboot image.
634
635           If unsure, say N.
636
637 config DEBUG_MALLOC
638         def_bool n
639
640 # Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
641 # printk(BIOS_DEBUG, ...) calls.
642 if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
643 config DEBUG_MALLOC
644         bool "Output verbose malloc debug messages"
645         default n
646         help
647           This option enables additional malloc related debug messages.
648
649           Note: This option will increase the size of the coreboot image.
650
651           If unsure, say N.
652 endif
653
654 config DEBUG_ACPI
655         def_bool n
656
657 # Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
658 # printk(BIOS_DEBUG, ...) calls.
659 if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
660 config DEBUG_ACPI
661         bool "Output verbose ACPI debug messages"
662         default n
663         help
664           This option enables additional ACPI related debug messages.
665
666           Note: This option will slightly increase the size of the coreboot image.
667
668           If unsure, say N.
669 endif
670
671 config REALMODE_DEBUG
672         def_bool n
673         depends on PCI_OPTION_ROM_RUN_REALMODE
674
675 if DEFAULT_CONSOLE_LOGLEVEL_7 || DEFAULT_CONSOLE_LOGLEVEL_8
676 # Only visible if debug level is DEBUG (7) or SPEW (8) as it does additional
677 # printk(BIOS_DEBUG, ...) calls.
678 config REALMODE_DEBUG
679         bool "Enable debug messages for option ROM execution"
680         default n
681         depends on PCI_OPTION_ROM_RUN_REALMODE
682         help
683           This option enables additional x86emu related debug messages.
684
685           Note: This option will increase the time to emulate a ROM.
686
687           If unsure, say N.
688 endif
689
690 config X86EMU_DEBUG
691         bool "Output verbose x86emu debug messages"
692         default n
693         depends on PCI_OPTION_ROM_RUN_YABEL
694         help
695           This option enables additional x86emu related debug messages.
696
697           Note: This option will increase the size of the coreboot image.
698
699           If unsure, say N.
700
701 config X86EMU_DEBUG_JMP
702         bool "Trace JMP/RETF"
703         default n
704         depends on X86EMU_DEBUG
705         help
706           Print information about JMP and RETF opcodes from x86emu.
707
708           Note: This option will increase the size of the coreboot image.
709
710           If unsure, say N.
711
712 config X86EMU_DEBUG_TRACE
713         bool "Trace all opcodes"
714         default n
715         depends on X86EMU_DEBUG
716         help
717           Print _all_ opcodes that are executed by x86emu.
718
719           WARNING: This will produce a LOT of output and take a long time.
720
721           Note: This option will increase the size of the coreboot image.
722
723           If unsure, say N.
724
725 config X86EMU_DEBUG_PNP
726         bool "Log Plug&Play accesses"
727         default n
728         depends on X86EMU_DEBUG
729         help
730           Print Plug And Play accesses made by option ROMs.
731
732           Note: This option will increase the size of the coreboot image.
733
734           If unsure, say N.
735
736 config X86EMU_DEBUG_DISK
737         bool "Log Disk I/O"
738         default n
739         depends on X86EMU_DEBUG
740         help
741           Print Disk I/O related messages.
742
743           Note: This option will increase the size of the coreboot image.
744
745           If unsure, say N.
746
747 config X86EMU_DEBUG_PMM
748         bool "Log PMM"
749         default n
750         depends on X86EMU_DEBUG
751         help
752           Print messages related to POST Memory Manager (PMM).
753
754           Note: This option will increase the size of the coreboot image.
755
756           If unsure, say N.
757
758
759 config X86EMU_DEBUG_VBE
760         bool "Debug VESA BIOS Extensions"
761         default n
762         depends on X86EMU_DEBUG
763         help
764           Print messages related to VESA BIOS Extension (VBE) functions.
765
766           Note: This option will increase the size of the coreboot image.
767
768           If unsure, say N.
769
770 config X86EMU_DEBUG_INT10
771         bool "Redirect INT10 output to console"
772         default n
773         depends on X86EMU_DEBUG
774         help
775           Let INT10 (i.e. character output) calls print messages to debug output.
776
777           Note: This option will increase the size of the coreboot image.
778
779           If unsure, say N.
780
781 config X86EMU_DEBUG_INTERRUPTS
782         bool "Log intXX calls"
783         default n
784         depends on X86EMU_DEBUG
785         help
786           Print messages related to interrupt handling.
787
788           Note: This option will increase the size of the coreboot image.
789
790           If unsure, say N.
791
792 config X86EMU_DEBUG_CHECK_VMEM_ACCESS
793         bool "Log special memory accesses"
794         default n
795         depends on X86EMU_DEBUG
796         help
797           Print messages related to accesses to certain areas of the virtual
798           memory (e.g. BDA (BIOS Data Area) or interrupt vectors)
799
800           Note: This option will increase the size of the coreboot image.
801
802           If unsure, say N.
803
804 config X86EMU_DEBUG_MEM
805         bool "Log all memory accesses"
806         default n
807         depends on X86EMU_DEBUG
808         help
809           Print memory accesses made by option ROM.
810           Note: This also includes accesses to fetch instructions.
811
812           Note: This option will increase the size of the coreboot image.
813
814           If unsure, say N.
815
816 config X86EMU_DEBUG_IO
817         bool "Log IO accesses"
818         default n
819         depends on X86EMU_DEBUG
820         help
821           Print I/O accesses made by option ROM.
822
823           Note: This option will increase the size of the coreboot image.
824
825           If unsure, say N.
826
827 config LLSHELL
828         bool "Built-in low-level shell"
829         default n
830         help
831           If enabled, you will have a low level shell to examine your machine.
832           Put llshell() in your (romstage) code to start the shell.
833           See src/arch/x86/llshell/llshell.inc for details.
834
835 endmenu
836
837 config LIFT_BSP_APIC_ID
838         bool
839         default n
840
841 # These probably belong somewhere else, but they are needed somewhere.
842 config AP_CODE_IN_CAR
843         bool
844         default n
845
846 config RAMINIT_SYSINFO
847         bool
848         default n
849
850 config ENABLE_APIC_EXT_ID
851         bool
852         default n
853
854 config WARNINGS_ARE_ERRORS
855         bool
856         default y
857
858 config ID_SECTION_OFFSET
859         hex
860         default 0x10
861
862 # The four POWER_BUTTON_DEFAULT_ENABLE, POWER_BUTTON_DEFAULT_DISABLE,
863 # POWER_BUTTON_FORCE_ENABLE and POWER_BUTTON_FORCE_DISABLE options are
864 # mutually exclusive. One of these options must be selected in the
865 # mainboard Kconfig if the chipset supports enabling and disabling of
866 # the power button. Chipset code uses the ENABLE_POWER_BUTTON option set
867 # in mainboard/Kconfig to know if the button should be enabled or not.
868
869 config POWER_BUTTON_DEFAULT_ENABLE
870         def_bool n
871         help
872           Select when the board has a power button which can optionally be
873           disabled by the user.
874
875 config POWER_BUTTON_DEFAULT_DISABLE
876         def_bool n
877         help
878           Select when the board has a power button which can optionally be
879           enabled by the user, e.g. when the board ships with a jumper over
880           the power switch contacts.
881
882 config POWER_BUTTON_FORCE_ENABLE
883         def_bool n
884         help
885           Select when the board requires that the power button is always
886           enabled.
887
888 config POWER_BUTTON_FORCE_DISABLE
889         def_bool n
890         help
891           Select when the board requires that the power button is always
892           disabled, e.g. when it has been hardwired to ground.
893
894 config POWER_BUTTON_IS_OPTIONAL
895         bool
896         default y if POWER_BUTTON_DEFAULT_ENABLE || POWER_BUTTON_DEFAULT_DISABLE
897         default n if !(POWER_BUTTON_DEFAULT_ENABLE || POWER_BUTTON_DEFAULT_DISABLE)
898         help
899           Internal option that controls ENABLE_POWER_BUTTON visibility.
900
901 source src/Kconfig.deprecated_options