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>
Reviewed-on: http://review.coreboot.org/10411
Tested-by: build bot (Jenkins)
Reviewed-by: Nicolas Reinecke <nr@das-labor.org>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
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 @@
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 @@
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 @@
}
}
+ /*
+ * 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 @@
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 @@
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 @@
}
}
+ /*
+ * 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 @@
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 @@
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 @@
}
}
+ /*
+ * 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 @@
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 @@
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 @@
}
}
+ /*
+ * 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 @@
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 @@
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 @@
}
}
+ /*
+ * 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>
}