mb/google/dedede: add discrete TPM 2.0 configuration

There are forthcoming designs that will be utilizing
a discrete TPM 2.0 solution. Split the existing dedede
configuration options so future mainboard variants can
easily select the appropriate Kconfig option using the
newly introduced options:
- BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
- BOARD_GOOGLE_BASEBOARD_DEDEDE_TPM2
The existing variants all select the former option,
BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50 since all those
designs currently utilize Cr50.

BUG=b:184151664

Change-Id: I2bdb1ca4fd78cc0628256d49678ea042c55f6fba
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/52030
Reviewed-by: Furquan Shaikh <furquan@google.com>
Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Aseda Aboagye <aaboagye@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Aaron Durbin 2021-03-31 14:35:26 -06:00
parent f7f715dff3
commit 7164ad74bf
4 changed files with 62 additions and 30 deletions

View File

@ -1,7 +1,6 @@
config BOARD_GOOGLE_BASEBOARD_DEDEDE config BOARD_GOOGLE_BASEBOARD_DEDEDE
def_bool n def_bool n
select BOARD_ROMSIZE_KB_16384 if !BOARD_ROMSIZE_KB_32768 select BOARD_ROMSIZE_KB_16384 if !BOARD_ROMSIZE_KB_32768
select CR50_USE_LONG_INTERRUPT_PULSES
select DPTF_USE_EISA_HID select DPTF_USE_EISA_HID
select DRIVERS_GENERIC_GPIO_KEYS select DRIVERS_GENERIC_GPIO_KEYS
select DRIVERS_I2C_GENERIC select DRIVERS_I2C_GENERIC
@ -22,7 +21,6 @@ config BOARD_GOOGLE_BASEBOARD_DEDEDE
select HAVE_ACPI_TABLES select HAVE_ACPI_TABLES
select INTEL_LPSS_UART_FOR_CONSOLE select INTEL_LPSS_UART_FOR_CONSOLE
select MAINBOARD_HAS_CHROMEOS select MAINBOARD_HAS_CHROMEOS
select MAINBOARD_HAS_SPI_TPM_CR50
select MAINBOARD_HAS_TPM2 select MAINBOARD_HAS_TPM2
select SOC_INTEL_JASPERLAKE select SOC_INTEL_JASPERLAKE
select SOC_INTEL_COMMON_BLOCK_DTT select SOC_INTEL_COMMON_BLOCK_DTT
@ -32,6 +30,17 @@ config BOARD_GOOGLE_BASEBOARD_DEDEDE
select SOC_INTEL_COMMON_BLOCK_IPU select SOC_INTEL_COMMON_BLOCK_IPU
select DRIVERS_GENERIC_ALC1015 select DRIVERS_GENERIC_ALC1015
config BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
def_bool n
select CR50_USE_LONG_INTERRUPT_PULSES
select MAINBOARD_HAS_SPI_TPM_CR50
select BOARD_GOOGLE_BASEBOARD_DEDEDE
config BOARD_GOOGLE_BASEBOARD_DEDEDE_TPM2
def_bool n
select MAINBOARD_HAS_LPC_TPM
select BOARD_GOOGLE_BASEBOARD_DEDEDE
if BOARD_GOOGLE_BASEBOARD_DEDEDE if BOARD_GOOGLE_BASEBOARD_DEDEDE
config BASEBOARD_DEDEDE_LAPTOP config BASEBOARD_DEDEDE_LAPTOP
@ -39,7 +48,7 @@ config BASEBOARD_DEDEDE_LAPTOP
select SYSTEM_TYPE_LAPTOP select SYSTEM_TYPE_LAPTOP
config CHROMEOS config CHROMEOS
select CHROMEOS_CSE_BOARD_RESET_OVERRIDE select CHROMEOS_CSE_BOARD_RESET_OVERRIDE if BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
select CHROMEOS_DRAM_PART_NUMBER_IN_CBI select CHROMEOS_DRAM_PART_NUMBER_IN_CBI
select EC_GOOGLE_CHROMEEC_SWITCHES select EC_GOOGLE_CHROMEEC_SWITCHES
select GBB_FLAG_FORCE_DEV_SWITCH_ON select GBB_FLAG_FORCE_DEV_SWITCH_ON
@ -65,9 +74,6 @@ config DIMM_SPD_SIZE
int int
default 512 default 512
config DRIVER_TPM_SPI_BUS
default 0x1
config FMDFILE config FMDFILE
string string
default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos-dedede-16MiB.fmd" if BOARD_ROMSIZE_KB_16384 default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos-dedede-16MiB.fmd" if BOARD_ROMSIZE_KB_16384
@ -111,10 +117,6 @@ config OVERRIDE_DEVICETREE
string string
default "variants/\$(CONFIG_VARIANT_DIR)/overridetree.cb" if !BOARD_GOOGLE_DEDEDE default "variants/\$(CONFIG_VARIANT_DIR)/overridetree.cb" if !BOARD_GOOGLE_DEDEDE
config TPM_TIS_ACPI_INTERRUPT
int
default 4 # GPE0_DW0_4 (GPP_B4)
config UART_FOR_CONSOLE config UART_FOR_CONSOLE
int int
default 2 default 2
@ -142,3 +144,22 @@ config VARIANT_DIR
default "cret" if BOARD_GOOGLE_CRET default "cret" if BOARD_GOOGLE_CRET
endif #BOARD_GOOGLE_BASEBOARD_DEDEDE endif #BOARD_GOOGLE_BASEBOARD_DEDEDE
if BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
config DRIVER_TPM_SPI_BUS
default 0x1
config TPM_TIS_ACPI_INTERRUPT
int
default 4 # GPE0_DW0_4 (GPP_B4)
endif #BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
if BOARD_GOOGLE_BASEBOARD_DEDEDE_TPM2
config TPM_PIRQ
hex
default 0x24 # GPP_B4_IRQ
endif #BOARD_GOOGLE_BASEBOARD_DEDEDE_TPM2

View File

@ -1,24 +1,24 @@
config BOARD_GOOGLE_BOTEN config BOARD_GOOGLE_BOTEN
bool "Boten" bool "Boten"
select BOARD_GOOGLE_BASEBOARD_DEDEDE select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
select BASEBOARD_DEDEDE_LAPTOP select BASEBOARD_DEDEDE_LAPTOP
select GEO_SAR_ENABLE if CHROMEOS_WIFI_SAR select GEO_SAR_ENABLE if CHROMEOS_WIFI_SAR
config BOARD_GOOGLE_BOTEN_LEGACY config BOARD_GOOGLE_BOTEN_LEGACY
bool "Boten (Legacy)" bool "Boten (Legacy)"
select BOARD_GOOGLE_BASEBOARD_DEDEDE select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
select BASEBOARD_DEDEDE_LAPTOP select BASEBOARD_DEDEDE_LAPTOP
select BOARD_ROMSIZE_KB_32768 select BOARD_ROMSIZE_KB_32768
config BOARD_GOOGLE_DEDEDE config BOARD_GOOGLE_DEDEDE
bool "Dedede" bool "Dedede"
select BOARD_GOOGLE_BASEBOARD_DEDEDE select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
select BASEBOARD_DEDEDE_LAPTOP select BASEBOARD_DEDEDE_LAPTOP
select BOARD_ROMSIZE_KB_32768 select BOARD_ROMSIZE_KB_32768
config BOARD_GOOGLE_DRAWCIA config BOARD_GOOGLE_DRAWCIA
bool "Drawcia" bool "Drawcia"
select BOARD_GOOGLE_BASEBOARD_DEDEDE select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
select BASEBOARD_DEDEDE_LAPTOP select BASEBOARD_DEDEDE_LAPTOP
select DRIVERS_GENERIC_MAX98357A select DRIVERS_GENERIC_MAX98357A
select GEO_SAR_ENABLE if CHROMEOS_WIFI_SAR select GEO_SAR_ENABLE if CHROMEOS_WIFI_SAR
@ -27,7 +27,7 @@ config BOARD_GOOGLE_DRAWCIA
config BOARD_GOOGLE_DRAWCIA_LEGACY config BOARD_GOOGLE_DRAWCIA_LEGACY
bool "Drawcia (Legacy)" bool "Drawcia (Legacy)"
select BOARD_GOOGLE_BASEBOARD_DEDEDE select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
select BASEBOARD_DEDEDE_LAPTOP select BASEBOARD_DEDEDE_LAPTOP
select BOARD_ROMSIZE_KB_32768 select BOARD_ROMSIZE_KB_32768
select DRIVERS_GENERIC_MAX98357A select DRIVERS_GENERIC_MAX98357A
@ -36,14 +36,14 @@ config BOARD_GOOGLE_DRAWCIA_LEGACY
config BOARD_GOOGLE_MADOO config BOARD_GOOGLE_MADOO
bool "-> Madoo" bool "-> Madoo"
select BOARD_GOOGLE_BASEBOARD_DEDEDE select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
select BASEBOARD_DEDEDE_LAPTOP select BASEBOARD_DEDEDE_LAPTOP
select DRIVERS_GENERIC_MAX98357A select DRIVERS_GENERIC_MAX98357A
select GEO_SAR_ENABLE if CHROMEOS_WIFI_SAR select GEO_SAR_ENABLE if CHROMEOS_WIFI_SAR
config BOARD_GOOGLE_WADDLEDOO config BOARD_GOOGLE_WADDLEDOO
bool "Waddledoo" bool "Waddledoo"
select BOARD_GOOGLE_BASEBOARD_DEDEDE select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
select BASEBOARD_DEDEDE_LAPTOP select BASEBOARD_DEDEDE_LAPTOP
select BOARD_ROMSIZE_KB_32768 select BOARD_ROMSIZE_KB_32768
select DRIVERS_GENERIC_MAX98357A select DRIVERS_GENERIC_MAX98357A
@ -53,18 +53,18 @@ config BOARD_GOOGLE_WADDLEDOO
config BOARD_GOOGLE_WADDLEDEE config BOARD_GOOGLE_WADDLEDEE
bool "Waddledee" bool "Waddledee"
select BOARD_GOOGLE_BASEBOARD_DEDEDE select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
select BASEBOARD_DEDEDE_LAPTOP select BASEBOARD_DEDEDE_LAPTOP
select BOARD_ROMSIZE_KB_32768 select BOARD_ROMSIZE_KB_32768
config BOARD_GOOGLE_WHEELIE config BOARD_GOOGLE_WHEELIE
bool "Wheelie" bool "Wheelie"
select BOARD_GOOGLE_BASEBOARD_DEDEDE select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
select BASEBOARD_DEDEDE_LAPTOP select BASEBOARD_DEDEDE_LAPTOP
config BOARD_GOOGLE_MAGOLOR config BOARD_GOOGLE_MAGOLOR
bool "-> Magolor" bool "-> Magolor"
select BOARD_GOOGLE_BASEBOARD_DEDEDE select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
select BASEBOARD_DEDEDE_LAPTOP select BASEBOARD_DEDEDE_LAPTOP
select DRIVERS_INTEL_MIPI_CAMERA select DRIVERS_INTEL_MIPI_CAMERA
select GEO_SAR_ENABLE if CHROMEOS_WIFI_SAR select GEO_SAR_ENABLE if CHROMEOS_WIFI_SAR
@ -72,24 +72,24 @@ config BOARD_GOOGLE_MAGOLOR
config BOARD_GOOGLE_METAKNIGHT config BOARD_GOOGLE_METAKNIGHT
bool "-> Metaknight" bool "-> Metaknight"
select BOARD_GOOGLE_BASEBOARD_DEDEDE select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
select BASEBOARD_DEDEDE_LAPTOP select BASEBOARD_DEDEDE_LAPTOP
config BOARD_GOOGLE_LANTIS config BOARD_GOOGLE_LANTIS
bool "-> Lantis" bool "-> Lantis"
select BOARD_GOOGLE_BASEBOARD_DEDEDE select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
select BASEBOARD_DEDEDE_LAPTOP select BASEBOARD_DEDEDE_LAPTOP
select DRIVERS_GENERIC_MAX98357A select DRIVERS_GENERIC_MAX98357A
config BOARD_GOOGLE_GALTIC config BOARD_GOOGLE_GALTIC
bool "-> Galtic" bool "-> Galtic"
select BOARD_GOOGLE_BASEBOARD_DEDEDE select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
select BASEBOARD_DEDEDE_LAPTOP select BASEBOARD_DEDEDE_LAPTOP
select GEO_SAR_ENABLE if CHROMEOS_WIFI_SAR select GEO_SAR_ENABLE if CHROMEOS_WIFI_SAR
config BOARD_GOOGLE_SASUKE config BOARD_GOOGLE_SASUKE
bool "-> Sasuke" bool "-> Sasuke"
select BOARD_GOOGLE_BASEBOARD_DEDEDE select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
select BASEBOARD_DEDEDE_LAPTOP select BASEBOARD_DEDEDE_LAPTOP
select DRIVERS_GENERIC_MAX98357A select DRIVERS_GENERIC_MAX98357A
select DRIVERS_I2C_DA7219 select DRIVERS_I2C_DA7219
@ -97,30 +97,30 @@ config BOARD_GOOGLE_SASUKE
config BOARD_GOOGLE_STORO config BOARD_GOOGLE_STORO
bool "-> Storo" bool "-> Storo"
select BOARD_GOOGLE_BASEBOARD_DEDEDE select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
select BASEBOARD_DEDEDE_LAPTOP select BASEBOARD_DEDEDE_LAPTOP
select DRIVERS_INTEL_MIPI_CAMERA select DRIVERS_INTEL_MIPI_CAMERA
select SOC_INTEL_COMMON_BLOCK_IPU select SOC_INTEL_COMMON_BLOCK_IPU
config BOARD_GOOGLE_SASUKETTE config BOARD_GOOGLE_SASUKETTE
bool "-> Sasukette" bool "-> Sasukette"
select BOARD_GOOGLE_BASEBOARD_DEDEDE select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
select BASEBOARD_DEDEDE_LAPTOP select BASEBOARD_DEDEDE_LAPTOP
config BOARD_GOOGLE_KRACKO config BOARD_GOOGLE_KRACKO
bool "-> Kracko" bool "-> Kracko"
select BOARD_GOOGLE_BASEBOARD_DEDEDE select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
select BASEBOARD_DEDEDE_LAPTOP select BASEBOARD_DEDEDE_LAPTOP
select DRIVERS_GENERIC_MAX98357A select DRIVERS_GENERIC_MAX98357A
config BOARD_GOOGLE_BLIPPER config BOARD_GOOGLE_BLIPPER
bool "-> Blipper" bool "-> Blipper"
select BOARD_GOOGLE_BASEBOARD_DEDEDE select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
select BASEBOARD_DEDEDE_LAPTOP select BASEBOARD_DEDEDE_LAPTOP
config BOARD_GOOGLE_CRET config BOARD_GOOGLE_CRET
bool "-> Cret" bool "-> Cret"
select BOARD_GOOGLE_BASEBOARD_DEDEDE select BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50
select BASEBOARD_DEDEDE_LAPTOP select BASEBOARD_DEDEDE_LAPTOP
select DRIVERS_GENERIC_MAX98357A select DRIVERS_GENERIC_MAX98357A
select DRIVERS_I2C_DA7219 select DRIVERS_I2C_DA7219

View File

@ -40,7 +40,8 @@ static void mainboard_init(void *chip_info)
gpio_configure_pads_with_override(base_pads, base_num, gpio_configure_pads_with_override(base_pads, base_num,
override_pads, override_num); override_pads, override_num);
mainboard_update_soc_chip_config(); if (CONFIG(BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50))
mainboard_update_soc_chip_config();
} }
static void mainboard_dev_init(struct device *dev) static void mainboard_dev_init(struct device *dev)

View File

@ -72,6 +72,7 @@ static const struct pad_config gpio_table[] = {
PAD_CFG_NF(GPP_B13, NONE, DEEP, NF1), PAD_CFG_NF(GPP_B13, NONE, DEEP, NF1),
/* B14 : SPKR/GSPI0_CS1_N */ /* B14 : SPKR/GSPI0_CS1_N */
PAD_NC(GPP_B14, NONE), PAD_NC(GPP_B14, NONE),
#if CONFIG(BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50)
/* B15 : H1_SLAVE_SPI_CS_L */ /* B15 : H1_SLAVE_SPI_CS_L */
PAD_CFG_NF(GPP_B15, NONE, DEEP, NF1), PAD_CFG_NF(GPP_B15, NONE, DEEP, NF1),
/* B16 : H1_SLAVE_SPI_CLK */ /* B16 : H1_SLAVE_SPI_CLK */
@ -80,6 +81,13 @@ static const struct pad_config gpio_table[] = {
PAD_CFG_NF(GPP_B17, NONE, DEEP, NF1), PAD_CFG_NF(GPP_B17, NONE, DEEP, NF1),
/* B18 : H1_SLAVE_SPI_MOSI_R */ /* B18 : H1_SLAVE_SPI_MOSI_R */
PAD_CFG_NF(GPP_B18, NONE, DEEP, NF1), PAD_CFG_NF(GPP_B18, NONE, DEEP, NF1),
#else /* BOARD_GOOGLE_BASEBOARD_DEDEDE_TPM2 */
/* Nothing connected on GSPI1 */
PAD_NC(GPP_B15, NONE),
PAD_NC(GPP_B16, NONE),
PAD_NC(GPP_B17, NONE),
PAD_NC(GPP_B18, NONE),
#endif
/* B19 : GSPI1_CS0_N */ /* B19 : GSPI1_CS0_N */
PAD_NC(GPP_B19, NONE), PAD_NC(GPP_B19, NONE),
/* B20 : GSPI1_CLK */ /* B20 : GSPI1_CLK */
@ -389,6 +397,7 @@ static const struct pad_config gpio_table[] = {
static const struct pad_config early_gpio_table[] = { static const struct pad_config early_gpio_table[] = {
/* B4 : H1_PCH_INT_ODL */ /* B4 : H1_PCH_INT_ODL */
PAD_CFG_GPI_APIC(GPP_B4, NONE, PLTRST, LEVEL, INVERT), PAD_CFG_GPI_APIC(GPP_B4, NONE, PLTRST, LEVEL, INVERT),
#if CONFIG(BOARD_GOOGLE_BASEBOARD_DEDEDE_CR50)
/* B15 : H1_SLAVE_SPI_CS_L */ /* B15 : H1_SLAVE_SPI_CS_L */
PAD_CFG_NF(GPP_B15, NONE, DEEP, NF1), PAD_CFG_NF(GPP_B15, NONE, DEEP, NF1),
/* B16 : H1_SLAVE_SPI_CLK */ /* B16 : H1_SLAVE_SPI_CLK */
@ -397,6 +406,7 @@ static const struct pad_config early_gpio_table[] = {
PAD_CFG_NF(GPP_B17, NONE, DEEP, NF1), PAD_CFG_NF(GPP_B17, NONE, DEEP, NF1),
/* B18 : H1_SLAVE_SPI_MOSI_R */ /* B18 : H1_SLAVE_SPI_MOSI_R */
PAD_CFG_NF(GPP_B18, NONE, DEEP, NF1), PAD_CFG_NF(GPP_B18, NONE, DEEP, NF1),
#endif
/* C0 : RAM_STRAP_0 */ /* C0 : RAM_STRAP_0 */
PAD_CFG_GPI(GPP_C0, NONE, DEEP), PAD_CFG_GPI(GPP_C0, NONE, DEEP),