## This file is part of the coreboot project.
##
## Copyright (C) 2017 Philipp Deppenwiese, Facebook, 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.
##

menu "Trusted Platform Module"

config TPM
	bool
	default n
	select LPC_TPM if MAINBOARD_HAS_LPC_TPM
	select I2C_TPM if !MAINBOARD_HAS_LPC_TPM && !SPI_TPM
	help
	  Enable this option to enable TPM support in coreboot.

	  If unsure, say N.

config TPM2
	bool
	select LPC_TPM if MAINBOARD_HAS_LPC_TPM
	select I2C_TPM if !MAINBOARD_HAS_LPC_TPM && !SPI_TPM
	help
	  Enable this option to enable TPM2 support in coreboot.

	  If unsure, say N.

config DEBUG_TPM
	bool "Output verbose TPM debug messages"
	default n
	depends on TPM || TPM2
	help
	  This option enables additional TPM related debug messages.

config MAINBOARD_HAS_TPM_CR50
	bool
	default y if MAINBOARD_HAS_SPI_TPM_CR50 || MAINBOARD_HAS_I2C_TPM_CR50
	default n
	select MAINBOARD_HAS_TPM2
	select POWER_OFF_ON_CR50_UPDATE if ARCH_X86

config POWER_OFF_ON_CR50_UPDATE
	bool
	help
	  Power off machine while waiting for CR50 update to take effect.

config MAINBOARD_HAS_LPC_TPM
	bool
	default n
	help
	  Board has TPM support

config MAINBOARD_HAS_TPM2
	bool
	default n
	help
	  There is a TPM device installed on the mainboard, and it is
	  compliant with version 2 TCG TPM specification. Could be connected
	  over LPC, SPI or I2C.

endmenu # Trusted Platform Module (tpm)