~omasanori/coreboot

3d02b9c79e8dbe661c9e784519c486b8897b6af5 — Philipp Deppenwiese 6 years ago 09705ab
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>
M src/mainboard/lenovo/t420s/Kconfig => src/mainboard/lenovo/t420s/Kconfig +1 -0
@@ 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

M src/mainboard/lenovo/t420s/devicetree.cb => src/mainboard/lenovo/t420s/devicetree.cb +4 -0
@@ 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

M src/mainboard/lenovo/t420s/dsdt.asl => src/mainboard/lenovo/t420s/dsdt.asl +8 -0
@@ 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>
}

M src/mainboard/lenovo/t430s/Kconfig => src/mainboard/lenovo/t430s/Kconfig +1 -0
@@ 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

M src/mainboard/lenovo/t430s/devicetree.cb => src/mainboard/lenovo/t430s/devicetree.cb +4 -0
@@ 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

M src/mainboard/lenovo/t430s/dsdt.asl => src/mainboard/lenovo/t430s/dsdt.asl +8 -0
@@ 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>
}

M src/mainboard/lenovo/t520/Kconfig => src/mainboard/lenovo/t520/Kconfig +1 -0
@@ 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

M src/mainboard/lenovo/t520/devicetree.cb => src/mainboard/lenovo/t520/devicetree.cb +4 -0
@@ 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

M src/mainboard/lenovo/t520/dsdt.asl => src/mainboard/lenovo/t520/dsdt.asl +8 -0
@@ 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>
}

M src/mainboard/lenovo/t530/Kconfig => src/mainboard/lenovo/t530/Kconfig +1 -0
@@ 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

M src/mainboard/lenovo/t530/devicetree.cb => src/mainboard/lenovo/t530/devicetree.cb +4 -0
@@ 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

M src/mainboard/lenovo/t530/dsdt.asl => src/mainboard/lenovo/t530/dsdt.asl +8 -0
@@ 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>
}

M src/mainboard/lenovo/x220/Kconfig => src/mainboard/lenovo/x220/Kconfig +1 -0
@@ 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

M src/mainboard/lenovo/x220/devicetree.cb => src/mainboard/lenovo/x220/devicetree.cb +4 -0
@@ 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

M src/mainboard/lenovo/x220/dsdt.asl => src/mainboard/lenovo/x220/dsdt.asl +8 -0
@@ 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>
}