[coreboot-gerrit] Patch set updated for coreboot: google/reef: Enable I2C TPM

Duncan Laurie (dlaurie@chromium.org) gerrit at coreboot.org
Fri Sep 2 01:22:15 CEST 2016


Duncan Laurie (dlaurie at chromium.org) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/16398

-gerrit

commit f4d59ee5a34dd55d75aefdcccf9b605e8ac07f98
Author: Duncan Laurie <dlaurie at chromium.org>
Date:   Thu Sep 1 16:00:05 2016 -0700

    google/reef: Enable I2C TPM
    
    Enable the I2C based TPM on the reef board at
    bus 2 and address 0x50.
    
    This makes vboot functional without needing MOCK_TPM and
    results in the following in the SSDT:
    
    Device (TPMI)
    {
      Name (_HID, "GOOG0005")  // _HID: Hardware ID
      Name (_UID, Zero)  // _UID: Unique ID
      Name (_DDN, "I2C TPM")  // _DDN: DOS Device Name
      Method (_STA, 0, NotSerialized)  // _STA: Status
      {
        Return (0x0F)
      }
    
      Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
      {
        I2cSerialBus (0x0050, ControllerInitiated, 0x00061A80,
                      AddressingMode7Bit, "\\_SB.PCI0.I2C2",
                      0x00, ResourceConsumer)
        Interrupt (ResourceConsumer, Edge, ActiveLow, Exclusive)
        {
          0x00000039
        }
      })
    }
    
    Change-Id: Ia9775caabeac3e6a3bd72de38f9611b4cea7cea4
    Signed-off-by: Duncan Laurie <dlaurie at chromium.org>
---
 src/mainboard/google/reef/Kconfig       | 10 +++++++++-
 src/mainboard/google/reef/devicetree.cb |  8 +++++++-
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/src/mainboard/google/reef/Kconfig b/src/mainboard/google/reef/Kconfig
index 0464e2d..08a5c6a 100644
--- a/src/mainboard/google/reef/Kconfig
+++ b/src/mainboard/google/reef/Kconfig
@@ -9,8 +9,16 @@ config BOARD_SPECIFIC_OPTIONS
 	select HAVE_ACPI_RESUME
 	select HAVE_ACPI_TABLES
 	select MAINBOARD_HAS_CHROMEOS
-	select MAINBOARD_HAS_LPC_TPM
+	select MAINBOARD_HAS_TPM2
 	select SYSTEM_TYPE_LAPTOP
+	select TPM2
+	select I2C_TPM
+
+config DRIVER_TPM_I2C_BUS
+	hex "0x2"
+
+config DRIVER_TPM_I2C_ADDR
+	hex "0x50"
 
 config CHROMEOS
 	select LID_SWITCH
diff --git a/src/mainboard/google/reef/devicetree.cb b/src/mainboard/google/reef/devicetree.cb
index 4d08fae..ac69406 100644
--- a/src/mainboard/google/reef/devicetree.cb
+++ b/src/mainboard/google/reef/devicetree.cb
@@ -99,7 +99,13 @@ chip soc/intel/apollolake
 			end
 		end
 		device pci 16.1 on  end	# - I2C 1
-		device pci 16.2 on  end	# - I2C 2
+		device pci 16.2 on
+			chip drivers/i2c/tpm
+				register "hid" = ""GOOG0005""
+				register "irq" = "IRQ_EDGE_LOW(GPIO_28_IRQ)"
+				device i2c 50 on end
+			end
+		end	# - I2C 2
 		device pci 16.3 on
 			chip drivers/i2c/generic
 			     register "hid" = ""ELAN0001""



More information about the coreboot-gerrit mailing list