mirror of
https://github.com/fail0verflow/switch-coreboot.git
synced 2025-05-04 01:39:18 -04:00
Coming Kevin revisions will switch back to an I2C TPM. This patch adds
the required configuration options and code to support that. Since the
TPM type can currently only be changed at compile time, we can no longer
support older Kevins with the same image. In order to build for Kevin
revisions < 5, you have to explicitly override the CONFIG_GRU_HAS_TPM2.
BRANCH=None
BUG=chrome-os-partner:55523
TEST=Compiled both Kevin and Gru, confirmed that bootblock and verstage
binary had the appropriate code differences.
Change-Id: I1b2abe0f331eb103eb0a84f773ee7521d31ae5d8
Signed-off-by: Martin Roth <martinroth@chromium.org>
Original-Commit-Id: 3245bff937
Original-Change-Id: I81a15c9fb037a7ca2d69818e46cbb4f9a5ae1989
Original-Signed-off-by: Julius Werner <jwerner@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/364222
Original-Reviewed-by: Douglas Anderson <dianders@chromium.org>
Reviewed-on: https://review.coreboot.org/16029
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Tested-by: build bot (Jenkins)
101 lines
2.4 KiB
Text
101 lines
2.4 KiB
Text
##
|
|
## This file is part of the coreboot project.
|
|
##
|
|
## Copyright 2016 Rockchip Inc.
|
|
##
|
|
## 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 BOARD_GOOGLE_GRU_COMMON # Umbrella option to be selected by variant boards.
|
|
def_bool n
|
|
|
|
if BOARD_GOOGLE_GRU_COMMON
|
|
|
|
# Most Grus have TPM2 but later Kevins don't... decide this in one place for
|
|
# convenience. Explicitly override it when building for earlier Kevins.
|
|
config GRU_HAS_TPM2
|
|
bool "Build for a board revision with a SPI TPM 2.0"
|
|
default n if BOARD_GOOGLE_KEVIN
|
|
default y
|
|
|
|
config BOARD_SPECIFIC_OPTIONS
|
|
def_bool y
|
|
select BOARD_ID_AUTO
|
|
select BOARD_ROMSIZE_KB_8192
|
|
select COMMON_CBFS_SPI_WRAPPER
|
|
select EC_GOOGLE_CHROMEEC
|
|
select EC_GOOGLE_CHROMEEC_RTC
|
|
select EC_GOOGLE_CHROMEEC_SPI
|
|
select HAVE_HARD_RESET
|
|
select MAINBOARD_DO_NATIVE_VGA_INIT
|
|
select MAINBOARD_HAS_CHROMEOS
|
|
select MAINBOARD_HAS_NATIVE_VGA_INIT
|
|
select MAINBOARD_HAS_TPM2 if GRU_HAS_TPM2
|
|
select RAM_CODE_SUPPORT
|
|
select RTC
|
|
select SOC_ROCKCHIP_RK3399
|
|
select SPI_FLASH
|
|
select SPI_FLASH_GIGADEVICE
|
|
select SPI_FLASH_WINBOND
|
|
|
|
config CHROMEOS
|
|
select EC_SOFTWARE_SYNC
|
|
select SPI_TPM if GRU_HAS_TPM2
|
|
select VBOOT_VBNV_FLASH
|
|
select VIRTUAL_DEV_SWITCH
|
|
|
|
config MAINBOARD_DIR
|
|
string
|
|
default google/gru
|
|
|
|
config MAINBOARD_VENDOR
|
|
string
|
|
default "Google"
|
|
|
|
config DRAM_SIZE_MB
|
|
int
|
|
default 4096
|
|
|
|
config EC_GOOGLE_CHROMEEC_SPI_BUS
|
|
hex
|
|
default 5
|
|
|
|
config BOOT_MEDIA_SPI_BUS
|
|
int
|
|
default 1
|
|
|
|
config DRIVER_TPM_I2C_BUS
|
|
hex
|
|
default 0
|
|
|
|
config DRIVER_TPM_I2C_ADDR
|
|
hex
|
|
default 0x20
|
|
|
|
config CONSOLE_SERIAL_UART_ADDRESS
|
|
hex
|
|
depends on DRIVERS_UART
|
|
default 0xFF1A0000
|
|
|
|
##########################################################
|
|
#### Update below when adding a new derivative board. ####
|
|
##########################################################
|
|
config MAINBOARD_PART_NUMBER
|
|
string
|
|
default "Gru" if BOARD_GOOGLE_GRU
|
|
default "Kevin" if BOARD_GOOGLE_KEVIN
|
|
|
|
config GBB_HWID
|
|
string
|
|
depends on CHROMEOS
|
|
default "GRU TEST 5431" if BOARD_GOOGLE_GRU
|
|
default "KEVIN TEST 1422" if BOARD_GOOGLE_KEVIN
|
|
|
|
endif # BOARD_GOOGLE_GRU_COMMON
|