blob: 0b0b86222d73096811ea616e88140fcef3af47f7 [file] [log] [blame]
Stefan Reinauerb89a7612012-03-30 01:01:51 +02001## 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.
13##
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
Patrick Georgib890a122015-03-26 15:17:45 +010016## Foundation, Inc.
Stefan Reinauerb89a7612012-03-30 01:01:51 +020017##
18
Kyösti Mälkkib1b9c932013-10-17 16:38:25 +030019config MAINBOARD_HAS_CHROMEOS
20 def_bool n
21
22menu "ChromeOS"
23 depends on MAINBOARD_HAS_CHROMEOS
24
Stefan Reinauerb89a7612012-03-30 01:01:51 +020025config CHROMEOS
Kyösti Mälkkib1b9c932013-10-17 16:38:25 +030026 bool "Build for ChromeOS"
Kyösti Mälkki04f5c4e2013-10-17 16:38:56 +030027 default n
Stefan Reinauerb89a7612012-03-30 01:01:51 +020028 select TPM
Vladimir Serbinenko0e90dae2015-05-18 10:29:06 +020029 select TPM_INIT_FAILURE_IS_FATAL
30 select SKIP_TPM_STARTUP_ON_NORMAL_BOOT
Kyösti Mälkki5687fc92013-11-28 18:11:49 +020031 select BOOTMODE_STRAPS
Patrick Georgicfba6092015-04-22 18:25:37 +020032 select ELOG
Stefan Reinauerb89a7612012-03-30 01:01:51 +020033 help
Stefan Reinauer9aea04a2012-03-30 12:01:06 -070034 Enable ChromeOS specific features like the GPIO sub table in
35 the coreboot table. NOTE: Enabling this option on an unsupported
36 board will most likely break your build.
Stefan Reinauerb89a7612012-03-30 01:01:51 +020037
Kyösti Mälkkib1b9c932013-10-17 16:38:25 +030038if CHROMEOS
Stefan Reinauerf17789c2012-04-03 11:22:15 -070039
Stefan Reinauer9aea04a2012-03-30 12:01:06 -070040config VBNV_OFFSET
41 hex
42 default 0x26
Stefan Reinauer3e4e3032013-03-20 14:08:04 -070043 depends on PC80_SYSTEM
Stefan Reinauer9aea04a2012-03-30 12:01:06 -070044 help
45 CMOS offset for VbNv data. This value must match cmos.layout
46 in the mainboard directory, minus 14 bytes for the RTC.
Stefan Reinauerb89a7612012-03-30 01:01:51 +020047
Stefan Reinauer9aea04a2012-03-30 12:01:06 -070048config VBNV_SIZE
49 hex
50 default 0x10
Stefan Reinauer3e4e3032013-03-20 14:08:04 -070051 depends on PC80_SYSTEM
Stefan Reinauer9aea04a2012-03-30 12:01:06 -070052 help
53 CMOS storage size for VbNv data. This value must match cmos.layout
54 in the mainboard directory.
Stefan Reinauerb89a7612012-03-30 01:01:51 +020055
David Hendricksdad16b12014-08-22 15:40:15 -070056config CHROMEOS_VBNV_CMOS
57 bool "Vboot non-volatile storage in CMOS."
58 default n
59 help
60 VBNV is stored in CMOS
61
62config CHROMEOS_VBNV_EC
63 bool "Vboot non-volatile storage in EC."
64 default n
65 help
66 VBNV is stored in EC
67
Daisuke Nojiri477dd182014-10-08 11:32:23 -070068config CHROMEOS_VBNV_FLASH
69 def_bool n
70 help
71 VBNV is stored in flash storage
72
Stefan Reinauer9aea04a2012-03-30 12:01:06 -070073config CHROMEOS_RAMOOPS
74 bool "Reserve space for Chrome OS ramoops"
75 default y
76
Aaron Durbin06ece7d2014-02-14 00:30:04 -060077config CHROMEOS_RAMOOPS_DYNAMIC
78 bool "Allocate RAM oops buffer in cbmem"
79 default n
Furquan Shaikhaed887f2014-11-08 17:32:38 -080080 depends on CHROMEOS_RAMOOPS && HAVE_ACPI_TABLES
Aaron Durbin06ece7d2014-02-14 00:30:04 -060081
Furquan Shaikhefb546d2014-11-08 17:34:27 -080082config CHROMEOS_RAMOOPS_NON_ACPI
83 bool "Allocate RAM oops buffer in cbmem passed through cb tables to payload"
84 default n
85 depends on CHROMEOS_RAMOOPS && !HAVE_ACPI_TABLES
86
Stefan Reinauer9aea04a2012-03-30 12:01:06 -070087config CHROMEOS_RAMOOPS_RAM_START
88 hex "Physical address of preserved RAM"
89 default 0x00f00000
Aaron Durbin06ece7d2014-02-14 00:30:04 -060090 depends on CHROMEOS_RAMOOPS && !CHROMEOS_RAMOOPS_DYNAMIC
Stefan Reinauer9aea04a2012-03-30 12:01:06 -070091
92config CHROMEOS_RAMOOPS_RAM_SIZE
93 hex "Size of preserved RAM"
94 default 0x00100000
95 depends on CHROMEOS_RAMOOPS
Stefan Reinauerf17789c2012-04-03 11:22:15 -070096
Aaron Durbinfd795622013-03-01 17:12:26 -060097config EC_SOFTWARE_SYNC
98 bool "Enable EC software sync"
99 default n
Aaron Durbin1124cec2015-04-22 10:41:42 -0500100 depends on VBOOT_VERIFY_FIRMWARE
Aaron Durbinfd795622013-03-01 17:12:26 -0600101 help
102 EC software sync is a mechanism where the AP helps the EC verify its
103 firmware similar to how vboot verifies the main system firmware. This
104 option selects whether depthcharge should support EC software sync.
105
Duncan Laurie338c6172014-10-16 17:00:23 -0700106config VBOOT_EC_SLOW_UPDATE
107 bool "EC is slow to update"
108 default n
109 depends on EC_SOFTWARE_SYNC
110 help
111 Whether the EC (or PD) is slow to update and needs to display a
112 screen that informs the user the update is happening.
113
114config VBOOT_OPROM_MATTERS
115 bool "Video option ROM matters"
116 default n
117 depends on VBOOT_VERIFY_FIRMWARE
118 help
119 Whether the video option ROM has run matters on this platform.
120
Aaron Durbinfd795622013-03-01 17:12:26 -0600121config VIRTUAL_DEV_SWITCH
122 bool "Virtual developer switch support"
123 default n
Aaron Durbin1124cec2015-04-22 10:41:42 -0500124 depends on VBOOT_VERIFY_FIRMWARE
Aaron Durbinfd795622013-03-01 17:12:26 -0600125 help
126 Whether this platform has a virtual developer switch.
127
Aaron Durbin6d65f792015-04-21 15:33:01 -0500128config VBOOT_VERIFY_FIRMWARE
129 bool "Verify firmware with vboot."
130 default n
Aaron Durbin1124cec2015-04-22 10:41:42 -0500131 depends on CHROMEOS && HAVE_HARD_RESET
Aaron Durbin6d65f792015-04-21 15:33:01 -0500132 help
133 Enabling VBOOT_VERIFY_FIRMWARE will use vboot to verify the components
134 of the firmware (stages, payload, etc).
135
Stefan Reinauerc7fe2802012-09-19 11:10:15 -0700136config NO_TPM_RESUME
137 bool
138 default n
Stefan Reinauerc7fe2802012-09-19 11:10:15 -0700139 help
140 On some boards the TPM stays powered up in S3. On those
141 boards, booting Windows will break if the TPM resume command
142 is sent during an S3 resume.
Kyösti Mälkkib1b9c932013-10-17 16:38:25 +0300143
Daisuke Nojiri2624c8d2014-11-13 11:35:52 -0800144config PHYSICAL_REC_SWITCH
145 bool "Physical recovery switch is present"
146 default n
147 help
148 Whether this platform has a physical recovery switch
149
Vadim Bendeburyfe4253c2015-03-12 19:22:51 -0700150config WIPEOUT_SUPPORTED
151 bool "User is able to request factory reset"
152 default n
153 help
154 When this option is enabled, the firmware provides the ability to
155 signal the application the need for factory reset (a.k.a. wipe
156 out) of the device
157
Daisuke Nojiri742fc8d2014-10-10 10:51:06 -0700158source src/vendorcode/google/chromeos/vboot2/Kconfig
159
160endif # CHROMEOS
Stefan Reinauer3d284792015-04-04 03:05:17 +0200161if !CHROMEOS
162config VIRTUAL_DEV_SWITCH
163 bool
164 default n
165 depends on MAINBOARD_HAS_CHROMEOS
166 help
167 Whether this platform has a virtual developer switch.
168endif
Kyösti Mälkkib1b9c932013-10-17 16:38:25 +0300169endmenu