Add Kconfig flag to specify if there's a lid switch
[coreboot.git] / src / vendorcode / google / chromeos / Kconfig
blob2f04f24837dd5f4d43a9089e36917df0c7b39f9f
1 ## This file is part of the coreboot project.
2 ##
3 ## Copyright (C) 2011 The ChromiumOS Authors.  All rights reserved.
4 ##
5 ## This program is free software; you can redistribute it and/or modify
6 ## it under the terms of the GNU General Public License as published by
7 ## the Free Software Foundation; version 2 of the License.
8 ##
9 ## This program is distributed in the hope that it will be useful,
10 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
11 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 ## GNU General Public License for more details.
14 ## You should have received a copy of the GNU General Public License
15 ## along with this program; if not, write to the Free Software
16 ## Foundation, Inc.
19 config MAINBOARD_HAS_CHROMEOS
20         def_bool n
22 menu "ChromeOS"
23         depends on MAINBOARD_HAS_CHROMEOS
25 config CHROMEOS
26         bool "Build for ChromeOS"
27         default n
28         select TPM
29         select TPM_INIT_FAILURE_IS_FATAL
30         select SKIP_TPM_STARTUP_ON_NORMAL_BOOT
31         select BOOTMODE_STRAPS
32         select ELOG
33         select COLLECT_TIMESTAMPS
34         select VBOOT_VERIFY_FIRMWARE
35         help
36           Enable ChromeOS specific features like the GPIO sub table in
37           the coreboot table. NOTE: Enabling this option on an unsupported
38           board will most likely break your build.
40 if CHROMEOS
42 config VBNV_OFFSET
43         hex
44         default 0x26
45         depends on PC80_SYSTEM
46         help
47           CMOS offset for VbNv data. This value must match cmos.layout
48           in the mainboard directory, minus 14 bytes for the RTC.
50 config VBNV_SIZE
51         hex
52         default 0x10
53         depends on PC80_SYSTEM
54         help
55           CMOS storage size for VbNv data. This value must match cmos.layout
56           in the mainboard directory.
58 config CHROMEOS_VBNV_CMOS
59         bool "Vboot non-volatile storage in CMOS."
60         default n
61         help
62           VBNV is stored in CMOS
64 config CHROMEOS_VBNV_EC
65         bool "Vboot non-volatile storage in EC."
66         default n
67         help
68           VBNV is stored in EC
70 config CHROMEOS_VBNV_FLASH
71         def_bool n
72         help
73           VBNV is stored in flash storage
75 config CHROMEOS_RAMOOPS
76         bool "Reserve space for Chrome OS ramoops"
77         default y
79 config CHROMEOS_RAMOOPS_DYNAMIC
80         bool "Allocate RAM oops buffer in cbmem"
81         default n
82         depends on CHROMEOS_RAMOOPS && HAVE_ACPI_TABLES
84 config CHROMEOS_RAMOOPS_NON_ACPI
85         bool "Allocate RAM oops buffer in cbmem passed through cb tables to payload"
86         default n
87         depends on CHROMEOS_RAMOOPS && !HAVE_ACPI_TABLES
89 config CHROMEOS_RAMOOPS_RAM_START
90         hex "Physical address of preserved RAM"
91         default 0x00f00000
92         depends on CHROMEOS_RAMOOPS && !CHROMEOS_RAMOOPS_DYNAMIC
94 config CHROMEOS_RAMOOPS_RAM_SIZE
95         hex "Size of preserved RAM"
96         default 0x00100000
97         depends on CHROMEOS_RAMOOPS
99 config EC_SOFTWARE_SYNC
100         bool "Enable EC software sync"
101         default n
102         depends on VBOOT_VERIFY_FIRMWARE
103         help
104           EC software sync is a mechanism where the AP helps the EC verify its
105           firmware similar to how vboot verifies the main system firmware. This
106           option selects whether depthcharge should support EC software sync.
108 config VBOOT_EC_SLOW_UPDATE
109         bool "EC is slow to update"
110         default n
111         depends on EC_SOFTWARE_SYNC
112         help
113           Whether the EC (or PD) is slow to update and needs to display a
114           screen that informs the user the update is happening.
116 config VBOOT_OPROM_MATTERS
117         bool "Video option ROM matters"
118         default n
119         depends on VBOOT_VERIFY_FIRMWARE
120         help
121           Whether the video option ROM has run matters on this platform.
123 config VIRTUAL_DEV_SWITCH
124         bool "Virtual developer switch support"
125         default n
126         depends on VBOOT_VERIFY_FIRMWARE
127         help
128           Whether this platform has a virtual developer switch.
130 config VBOOT_VERIFY_FIRMWARE
131         bool "Verify firmware with vboot."
132         default n
133         depends on HAVE_HARD_RESET
134         help
135           Enabling VBOOT_VERIFY_FIRMWARE will use vboot to verify the components
136           of the firmware (stages, payload, etc).
138 config NO_TPM_RESUME
139         bool
140         default n
141         help
142           On some boards the TPM stays powered up in S3. On those
143           boards, booting Windows will break if the TPM resume command
144           is sent during an S3 resume.
146 config PHYSICAL_REC_SWITCH
147         bool "Physical recovery switch is present"
148         default n
149         help
150           Whether this platform has a physical recovery switch
152 config LID_SWITCH
153         bool "Lid switch is present"
154         default n
155         help
156           Whether this platform has a lid switch
158 config WIPEOUT_SUPPORTED
159         bool "User is able to request factory reset"
160         default n
161         help
162           When this option is enabled, the firmware provides the ability to
163           signal the application the need for factory reset (a.k.a. wipe
164           out) of the device
166 source src/vendorcode/google/chromeos/vboot2/Kconfig
168 endif # CHROMEOS
169 if !CHROMEOS
170 config VIRTUAL_DEV_SWITCH
171         bool
172         default n
173         depends on MAINBOARD_HAS_CHROMEOS
174         help
175           Whether this platform has a virtual developer switch.
176 endif
177 endmenu