summaryrefslogtreecommitdiff
path: root/src/vendorcode/google/chromeos/Kconfig
blob: 62e60d40d4843bc13e9df903af94ce06a7400878 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
## This file is part of the coreboot project.
##
## Copyright (C) 2011 The ChromiumOS Authors.  All rights reserved.
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; version 2 of the License.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
## GNU General Public License for more details.
##

config MAINBOARD_HAS_CHROMEOS
	def_bool n

menu "ChromeOS"
	depends on MAINBOARD_HAS_CHROMEOS

config CHROMEOS
	bool "Build for ChromeOS"
	default n
	select ELOG if BOOT_DEVICE_SUPPORTS_WRITES
	select COLLECT_TIMESTAMPS
	select VBOOT
	help
	  Enable ChromeOS specific features like the GPIO sub table in
	  the coreboot table. NOTE: Enabling this option on an unsupported
	  board will most likely break your build.

if CHROMEOS

config CR50_IMMEDIATELY_COMMIT_FW_SECDATA
	bool
	default y if MAINBOARD_HAS_I2C_TPM_CR50 || MAINBOARD_HAS_SPI_TPM_CR50

config CHROMEOS_RAMOOPS
	bool "Reserve space for Chrome OS ramoops"
	default y

config CHROMEOS_RAMOOPS_DYNAMIC
	bool "Allocate RAM oops buffer in cbmem"
	default n
	depends on CHROMEOS_RAMOOPS && HAVE_ACPI_TABLES

config CHROMEOS_RAMOOPS_NON_ACPI
	bool "Allocate RAM oops buffer in cbmem passed through cb tables to payload"
	default y if !HAVE_ACPI_TABLES
	depends on CHROMEOS_RAMOOPS && !HAVE_ACPI_TABLES

config CHROMEOS_RAMOOPS_RAM_START
	hex "Physical address of preserved RAM"
	default 0x00f00000
	depends on CHROMEOS_RAMOOPS && !CHROMEOS_RAMOOPS_DYNAMIC

config CHROMEOS_RAMOOPS_RAM_SIZE
	hex "Size of preserved RAM"
	default 0x00100000
	depends on CHROMEOS_RAMOOPS

config EC_SOFTWARE_SYNC
	bool "Enable EC software sync"
	default y if EC_GOOGLE_CHROMEEC
	default n
	depends on VBOOT
	help
	  EC software sync is a mechanism where the AP helps the EC verify its
	  firmware similar to how vboot verifies the main system firmware. This
	  option selects whether depthcharge should support EC software sync.

config VBOOT_EC_SLOW_UPDATE
	bool "EC is slow to update"
	default n
	depends on EC_SOFTWARE_SYNC
	help
	  Whether the EC (or PD) is slow to update and needs to display a
	  screen that informs the user the update is happening.

config NO_TPM_RESUME
	bool
	default n
	help
	  On some boards the TPM stays powered up in S3. On those
	  boards, booting Windows will break if the TPM resume command
	  is sent during an S3 resume.

config PHYSICAL_DEV_SWITCH
	bool
	default n
	help
	  Whether this platform has a physical developer switch. Note that this
	  disables virtual dev switch functionality (through secdata). Operation
	  where both a physical pin and the virtual switch get sampled is not
	  supported by coreboot.

config PHYSICAL_REC_SWITCH
	bool
	default n
	help
	  Whether this platform has a physical recovery switch

config LID_SWITCH
	bool "Lid switch is present"
	default n
	help
	  Whether this platform has a lid switch

config WIPEOUT_SUPPORTED
	bool "User is able to request factory reset"
	default n
	help
	  When this option is enabled, the firmware provides the ability to
	  signal the application the need for factory reset (a.k.a. wipe
	  out) of the device

config HAVE_REGULATORY_DOMAIN
	bool "Add regulatory domain methods"
	default n
	help
	 This option is needed to add ACPI regulatory domain methods

config CHROMEOS_FWID_MODEL
	string "Chrome OS Firmware ID model"
	default "$(CONFIG_MAINBOARD_VENDOR)_$(CONFIG_MAINBOARD_PART_NUMBER)"
	help
	  This is the first part of the FWID written to various regions of a
	  Chrome OS firmware image to identify its version.

config CHROMEOS_FWID_VERSION
	string "Chrome OS Firmware ID version"
	default "$(KERNELVERSION)"
	help
	  This is the second part of the FWID written to various regions of a
	  Chrome OS firmware image to identify its version.

config CHROMEOS_DISABLE_PLATFORM_HIERARCHY_ON_RESUME
	bool
	default y
	depends on TPM2 && RESUME_PATH_SAME_AS_BOOT
	help
	  Disable the platform heirarchy on resume path if the firmware
	  is involved in resume. The hierarchy is disabled prior to jumping
	  to the OS.  Note that this option is sepcific to TPM2 boards.
	  This option is auto selected if CHROMEOS because it matches with
	  vboot_reference model which disables the platform hierarchy in
	  the boot loader. However, those operations need to be symmetric
	  on normal boot as well as resume and coreboot is only involved
	  in the resume piece w.r.t. the platform hierarchy.

menu "GBB configuration"

config GBB_HWID
	string "Hardware ID"
	default "NOCONF HWID"

config GBB_BMPFV_FILE
	string "Path to bmpfv image"
	default ""

config GBB_FLAG_DEV_SCREEN_SHORT_DELAY
	bool "Reduce dev screen delay"
	default n

config GBB_FLAG_LOAD_OPTION_ROMS
	bool "Load option ROMs"
	default n

config GBB_FLAG_ENABLE_ALTERNATE_OS
	bool "Allow booting a non-Chrome OS kernel if dev switch is on"
	default n

config GBB_FLAG_FORCE_DEV_SWITCH_ON
	bool "Force dev switch on"
	default n

config GBB_FLAG_FORCE_DEV_BOOT_USB
	bool "Allow booting from USB in dev mode even if dev_boot_usb=0"
	default y

config GBB_FLAG_DISABLE_FW_ROLLBACK_CHECK
	bool "Disable firmware rollback protection"
	default y

config GBB_FLAG_ENTER_TRIGGERS_TONORM
	bool "Return to normal boot with Enter"
	default n

config GBB_FLAG_FORCE_DEV_BOOT_LEGACY
	bool "Allow booting to legacy in dev mode even if dev_boot_legacy=0"
	default n

config GBB_FLAG_FAFT_KEY_OVERIDE
	bool "Allow booting using alternative keys for FAFT servo testing"
	default n

config GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC
	bool "Disable EC software sync"
	default n

config GBB_FLAG_DEFAULT_DEV_BOOT_LEGACY
	bool "Default to booting to legacy in dev mode"
	default n

config GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC
	bool "Disable PD software sync"
	default n

config GBB_FLAG_DISABLE_LID_SHUTDOWN
	bool "Disable shutdown on closed lid"
	default n

config GBB_FLAG_FORCE_DEV_BOOT_FASTBOOT_FULL_CAP
	bool "Allow fastboot even if dev_boot_fastboot_full_cap=0"
	default n

config GBB_FLAG_ENABLE_SERIAL
	bool "Tell vboot to enable serial console"
	default n

endmenu # GBB

menu "Vboot Keys"
config VBOOT_ROOT_KEY
	string "Root key (public)"
	default "$(VBOOT_SOURCE)/tests/devkeys/root_key.vbpubk"

config VBOOT_RECOVERY_KEY
	string "Recovery key (public)"
	default "$(VBOOT_SOURCE)/tests/devkeys/recovery_key.vbpubk"

config VBOOT_FIRMWARE_PRIVKEY
	string "Firmware key (private)"
	default "$(VBOOT_SOURCE)/tests/devkeys/firmware_data_key.vbprivk"

config VBOOT_KERNEL_KEY
	string "Kernel subkey (public)"
	default "$(VBOOT_SOURCE)/tests/devkeys/kernel_subkey.vbpubk"

config VBOOT_KEYBLOCK
	string "Keyblock to use for the RW regions"
	default "$(VBOOT_SOURCE)/tests/devkeys/firmware.keyblock"

config VBOOT_KEYBLOCK_VERSION
	int "Keyblock version number"
	default 1

config VBOOT_KEYBLOCK_PREAMBLE_FLAGS
	hex "Keyblock preamble flags"
	default 0x0

endmenu # Keys

endif # CHROMEOS
endmenu