Philipp Deppenwiese (zaolin@das-labor.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/10411
-gerrit
commit 26f59d968c5afdc0d242fbbc003b6e6e226a5465 Author: Philipp Deppenwiese zaolin@das-labor.org Date: Wed Jun 3 23:09:36 2015 +0200
mainboard/lenovo/{t430s,t420s,t520,t530,x220}: Add TPM 1.2 mainboard support
Every Lenovo Thinkpad includes a Trusted Platform Module, so we can enable it for the sandy-/ivybridge platforms.
Change-Id: Icda443ba88c2a49a0033014ce7710dd607fa15dc Signed-off-by: Philipp Deppenwiese zaolin@das-labor.org --- src/mainboard/lenovo/t420s/Kconfig | 1 + src/mainboard/lenovo/t420s/devicetree.cb | 4 ++++ src/mainboard/lenovo/t420s/dsdt.asl | 8 ++++++++ src/mainboard/lenovo/t430s/Kconfig | 1 + src/mainboard/lenovo/t430s/devicetree.cb | 4 ++++ src/mainboard/lenovo/t430s/dsdt.asl | 8 ++++++++ src/mainboard/lenovo/t520/Kconfig | 1 + src/mainboard/lenovo/t520/devicetree.cb | 4 ++++ src/mainboard/lenovo/t520/dsdt.asl | 8 ++++++++ src/mainboard/lenovo/t530/Kconfig | 1 + src/mainboard/lenovo/t530/devicetree.cb | 4 ++++ src/mainboard/lenovo/t530/dsdt.asl | 8 ++++++++ src/mainboard/lenovo/x220/Kconfig | 1 + src/mainboard/lenovo/x220/devicetree.cb | 4 ++++ src/mainboard/lenovo/x220/dsdt.asl | 8 ++++++++ 15 files changed, 65 insertions(+)
diff --git a/src/mainboard/lenovo/t420s/Kconfig b/src/mainboard/lenovo/t420s/Kconfig index be18eb0a..47e70d6 100644 --- a/src/mainboard/lenovo/t420s/Kconfig +++ b/src/mainboard/lenovo/t420s/Kconfig @@ -20,6 +20,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy select MAINBOARD_HAS_NATIVE_VGA_INIT select MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG select SANDYBRIDGE_LVDS + select MAINBOARD_HAS_LPC_TPM
# Workaround for EC/KBC IRQ1. select SERIRQ_CONTINUOUS_MODE diff --git a/src/mainboard/lenovo/t420s/devicetree.cb b/src/mainboard/lenovo/t420s/devicetree.cb index 0385e83..cd70228 100644 --- a/src/mainboard/lenovo/t420s/devicetree.cb +++ b/src/mainboard/lenovo/t420s/devicetree.cb @@ -112,6 +112,10 @@ chip northbridge/intel/sandybridge register "dock_event_enable" = "0x01" end
+ chip drivers/pc80/tpm + device pnp 0c31.0 on end + end + chip ec/lenovo/h8 device pnp ff.2 on # dummy io 0x60 = 0x62 diff --git a/src/mainboard/lenovo/t420s/dsdt.asl b/src/mainboard/lenovo/t420s/dsdt.asl index b40b6db..27dcf54 100644 --- a/src/mainboard/lenovo/t420s/dsdt.asl +++ b/src/mainboard/lenovo/t420s/dsdt.asl @@ -53,6 +53,14 @@ DefinitionBlock( } }
+ /* + * LPC Trusted Platform Module + */ + Scope (_SB.PCI0.LPCB) + { + #include <drivers/pc80/tpm/acpi/tpm.asl> + } + /* Chipset specific sleep states */ #include <southbridge/intel/bd82x6x/acpi/sleepstates.asl> } diff --git a/src/mainboard/lenovo/t430s/Kconfig b/src/mainboard/lenovo/t430s/Kconfig index dbe08b5..0769466 100644 --- a/src/mainboard/lenovo/t430s/Kconfig +++ b/src/mainboard/lenovo/t430s/Kconfig @@ -21,6 +21,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy select MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG select IVYBRIDGE_LVDS select ENABLE_VMX + select MAINBOARD_HAS_LPC_TPM
# Workaround for EC/KBC IRQ1. select SERIRQ_CONTINUOUS_MODE diff --git a/src/mainboard/lenovo/t430s/devicetree.cb b/src/mainboard/lenovo/t430s/devicetree.cb index 54e763e..f3e453e 100644 --- a/src/mainboard/lenovo/t430s/devicetree.cb +++ b/src/mainboard/lenovo/t430s/devicetree.cb @@ -116,6 +116,10 @@ chip northbridge/intel/sandybridge register "dock_event_enable" = "0x01" end
+ chip drivers/pc80/tpm + device pnp 0c31.0 on end + end + chip ec/lenovo/h8 device pnp ff.2 on # dummy io 0x60 = 0x62 diff --git a/src/mainboard/lenovo/t430s/dsdt.asl b/src/mainboard/lenovo/t430s/dsdt.asl index b40b6db..27dcf54 100644 --- a/src/mainboard/lenovo/t430s/dsdt.asl +++ b/src/mainboard/lenovo/t430s/dsdt.asl @@ -53,6 +53,14 @@ DefinitionBlock( } }
+ /* + * LPC Trusted Platform Module + */ + Scope (_SB.PCI0.LPCB) + { + #include <drivers/pc80/tpm/acpi/tpm.asl> + } + /* Chipset specific sleep states */ #include <southbridge/intel/bd82x6x/acpi/sleepstates.asl> } diff --git a/src/mainboard/lenovo/t520/Kconfig b/src/mainboard/lenovo/t520/Kconfig index 98355d4..56fa395 100644 --- a/src/mainboard/lenovo/t520/Kconfig +++ b/src/mainboard/lenovo/t520/Kconfig @@ -20,6 +20,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy select MAINBOARD_HAS_NATIVE_VGA_INIT select MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG select SANDYBRIDGE_LVDS + select MAINBOARD_HAS_LPC_TPM
# Workaround for EC/KBC IRQ1. select SERIRQ_CONTINUOUS_MODE diff --git a/src/mainboard/lenovo/t520/devicetree.cb b/src/mainboard/lenovo/t520/devicetree.cb index 4c396e2..ff9745e 100644 --- a/src/mainboard/lenovo/t520/devicetree.cb +++ b/src/mainboard/lenovo/t520/devicetree.cb @@ -93,6 +93,10 @@ chip northbridge/intel/sandybridge register "dock_event_enable" = "0x01" end
+ chip drivers/pc80/tpm + device pnp 0c31.0 on end + end + chip ec/lenovo/h8 device pnp ff.2 on # dummy io 0x60 = 0x62 diff --git a/src/mainboard/lenovo/t520/dsdt.asl b/src/mainboard/lenovo/t520/dsdt.asl index 42165a1..c8591a4 100644 --- a/src/mainboard/lenovo/t520/dsdt.asl +++ b/src/mainboard/lenovo/t520/dsdt.asl @@ -52,6 +52,14 @@ DefinitionBlock( } }
+ /* + * LPC Trusted Platform Module + */ + Scope (_SB.PCI0.LPCB) + { + #include <drivers/pc80/tpm/acpi/tpm.asl> + } + /* Chipset specific sleep states */ #include <southbridge/intel/bd82x6x/acpi/sleepstates.asl> } diff --git a/src/mainboard/lenovo/t530/Kconfig b/src/mainboard/lenovo/t530/Kconfig index 2dcfa90..f144afb 100644 --- a/src/mainboard/lenovo/t530/Kconfig +++ b/src/mainboard/lenovo/t530/Kconfig @@ -22,6 +22,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy select IVYBRIDGE_LVDS select MAINBOARD_DO_NATIVE_VGA_INIT # default to native vga init select ENABLE_VMX + select MAINBOARD_HAS_LPC_TPM
# Workaround for EC/KBC IRQ1. select SERIRQ_CONTINUOUS_MODE diff --git a/src/mainboard/lenovo/t530/devicetree.cb b/src/mainboard/lenovo/t530/devicetree.cb index 09c8b43..e1b22fd 100644 --- a/src/mainboard/lenovo/t530/devicetree.cb +++ b/src/mainboard/lenovo/t530/devicetree.cb @@ -98,6 +98,10 @@ chip northbridge/intel/sandybridge register "dock_event_enable" = "0x01" end
+ chip drivers/pc80/tpm + device pnp 0c31.0 on end + end + chip ec/lenovo/h8 device pnp ff.2 on # dummy io 0x60 = 0x62 diff --git a/src/mainboard/lenovo/t530/dsdt.asl b/src/mainboard/lenovo/t530/dsdt.asl index 42165a1..c8591a4 100644 --- a/src/mainboard/lenovo/t530/dsdt.asl +++ b/src/mainboard/lenovo/t530/dsdt.asl @@ -52,6 +52,14 @@ DefinitionBlock( } }
+ /* + * LPC Trusted Platform Module + */ + Scope (_SB.PCI0.LPCB) + { + #include <drivers/pc80/tpm/acpi/tpm.asl> + } + /* Chipset specific sleep states */ #include <southbridge/intel/bd82x6x/acpi/sleepstates.asl> } diff --git a/src/mainboard/lenovo/x220/Kconfig b/src/mainboard/lenovo/x220/Kconfig index 006388f..9fa95b9 100644 --- a/src/mainboard/lenovo/x220/Kconfig +++ b/src/mainboard/lenovo/x220/Kconfig @@ -21,6 +21,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy select MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG select SANDYBRIDGE_LVDS select DRIVERS_RICOH_RCE822 + select MAINBOARD_HAS_LPC_TPM
# Workaround for EC/KBC IRQ1. select SERIRQ_CONTINUOUS_MODE diff --git a/src/mainboard/lenovo/x220/devicetree.cb b/src/mainboard/lenovo/x220/devicetree.cb index e9a4178..9c3aac6 100644 --- a/src/mainboard/lenovo/x220/devicetree.cb +++ b/src/mainboard/lenovo/x220/devicetree.cb @@ -126,6 +126,10 @@ chip northbridge/intel/sandybridge register "dock_event_enable" = "0x01" end
+ chip drivers/pc80/tpm + device pnp 0c31.0 on end + end + chip ec/lenovo/h8 device pnp ff.2 on # dummy io 0x60 = 0x62 diff --git a/src/mainboard/lenovo/x220/dsdt.asl b/src/mainboard/lenovo/x220/dsdt.asl index 42165a1..c8591a4 100644 --- a/src/mainboard/lenovo/x220/dsdt.asl +++ b/src/mainboard/lenovo/x220/dsdt.asl @@ -52,6 +52,14 @@ DefinitionBlock( } }
+ /* + * LPC Trusted Platform Module + */ + Scope (_SB.PCI0.LPCB) + { + #include <drivers/pc80/tpm/acpi/tpm.asl> + } + /* Chipset specific sleep states */ #include <southbridge/intel/bd82x6x/acpi/sleepstates.asl> }