From 1bfcc843ff18653fc42fff06c22869406ff52677 Mon Sep 17 00:00:00 2001 From: Kan Yan Date: Mon, 9 May 2016 19:03:17 -0700 Subject: Gale board: Move TPM setup function to verstage.c TPM should be only be reset once in verstage. BUG=chrome-os-partner:51096 TEST=Depthcharge no longer shows TPM error. BRANCH=None Original-Signed-off-by: Kan Yan Original-Commit-Id: 911bdaa83a05fa5c8ea82656be0ddc74e19064c3 Original-Change-Id: I52ee6f2c2953e95d617d16f75c8831ecf4f014f9 Original-Reviewed-on: https://chromium-review.googlesource.com/343537 Original-Commit-Ready: Kan Yan Original-Tested-by: Kan Yan Original-Reviewed-by: David Hendricks Change-Id: I8047b7ba44c604d97a662dbf400efc9eea2c7719 Signed-off-by: Martin Roth Reviewed-on: https://review.coreboot.org/14845 Tested-by: build bot (Jenkins) Reviewed-by: David Hendricks --- src/mainboard/google/gale/mainboard.c | 34 ---------------------------------- 1 file changed, 34 deletions(-) (limited to 'src/mainboard/google/gale/mainboard.c') diff --git a/src/mainboard/google/gale/mainboard.c b/src/mainboard/google/gale/mainboard.c index f0e704a4b4..f27421b87c 100644 --- a/src/mainboard/google/gale/mainboard.c +++ b/src/mainboard/google/gale/mainboard.c @@ -37,39 +37,6 @@ static void setup_usb(void) setup_usb_host1(); } -#define TPM_RESET_GPIO 19 -void ipq_setup_tpm(void) -{ - if (!IS_ENABLED(CONFIG_I2C_TPM)) - return; - - gpio_tlmm_config_set(TPM_RESET_GPIO, FUNC_SEL_GPIO, - GPIO_PULL_UP, GPIO_6MA, 1); - gpio_set(TPM_RESET_GPIO, 0); - udelay(100); - gpio_set(TPM_RESET_GPIO, 1); - - /* - * ----- Per the SLB 9615XQ1.2 spec ----- - * - * 4.7.1 Reset Timing - * - * The TPM_ACCESS_x.tpmEstablishment bit has the correct value - * and the TPM_ACCESS_x.tpmRegValidSts bit is typically set - * within 8ms after RESET# is deasserted. - * - * The TPM is ready to receive a command after less than 30 ms. - * - * -------------------------------------- - * - * I'm assuming this means "wait for 30ms" - * - * If we don't wait here, subsequent QUP I2C accesses - * to the TPM either fail or timeout. - */ - mdelay(30); -} - static void mainboard_init(device_t dev) { /* disable mmu and d-cache before setting up secure world.*/ @@ -78,7 +45,6 @@ static void mainboard_init(device_t dev) /* Setup mmu and d-cache again as non secure entries. */ setup_mmu(DRAM_INITIALIZED); setup_usb(); - ipq_setup_tpm(); if (IS_ENABLED(CONFIG_CHROMEOS)) { /* Copy WIFI calibration data into CBMEM. */ -- cgit v1.2.3