From 3fcc4b656aeafc30221927806e9a3f641b9377f3 Mon Sep 17 00:00:00 2001 From: Chris Blake Date: Sun, 26 Feb 2017 04:04:51 -0600 Subject: [PATCH] kernel: Add TPM Module support The following will enable the TPM kernel module, as well as support for the atmel i2c TPM driver. Tested and confirmed working on an Aerohive AP-121 Signed-off-by: Chris Blake --- package/kernel/linux/modules/other.mk | 47 +++++++++++++++++++++++++++ target/linux/generic/config-3.18 | 6 ++++ target/linux/generic/config-4.4 | 6 ++++ target/linux/generic/config-4.9 | 6 ++++ 4 files changed, 65 insertions(+) diff --git a/package/kernel/linux/modules/other.mk b/package/kernel/linux/modules/other.mk index b39a88be4d..3b2d2e9667 100644 --- a/package/kernel/linux/modules/other.mk +++ b/package/kernel/linux/modules/other.mk @@ -954,3 +954,50 @@ define KernelPackage/bmp085-spi/description endef $(eval $(call KernelPackage,bmp085-spi)) + +define KernelPackage/tpm + SUBMENU:=$(OTHER_MENU) + TITLE:=TPM Hardware Support + KCONFIG:= CONFIG_TCG_TPM + FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm.ko + AUTOLOAD:=$(call AutoLoad,10,tpm,1) +endef + +define KernelPackage/tpm/description + This enables TPM Hardware Support. +endef + +$(eval $(call KernelPackage,tpm)) + +define KernelPackage/tpm-tis + SUBMENU:=$(OTHER_MENU) + TITLE:=TPM TIS 1.2 Interface / TPM 2.0 FIFO Interface + DEPENDS:= @TARGET_x86 +kmod-tpm + KCONFIG:= CONFIG_TCG_TIS + FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_tis.ko + AUTOLOAD:=$(call AutoLoad,20,tpm_tis,1) +endef + +define KernelPackage/tpm-tis/description + If you have a TPM security chip that is compliant with the + TCG TIS 1.2 TPM specification (TPM1.2) or the TCG PTP FIFO + specification (TPM2.0) say Yes and it will be accessible from + within Linux. +endef + +$(eval $(call KernelPackage,tpm-tis)) + +define KernelPackage/tpm-i2c-atmel + SUBMENU:=$(OTHER_MENU) + TITLE:=TPM I2C Atmel Support + DEPENDS:= +kmod-tpm +kmod-i2c-core + KCONFIG:= CONFIG_TCG_TIS_I2C_ATMEL + FILES:= $(LINUX_DIR)/drivers/char/tpm/tpm_i2c_atmel.ko + AUTOLOAD:=$(call AutoLoad,40,tpm_i2c_atmel,1) +endef + +define KernelPackage/tpm-i2c-atmel/description + This enables the TPM Interface Specification 1.2 Interface (I2C - Atmel) +endef + +$(eval $(call KernelPackage,tpm-i2c-atmel)) diff --git a/target/linux/generic/config-3.18 b/target/linux/generic/config-3.18 index 8103cabce0..fd24004991 100644 --- a/target/linux/generic/config-3.18 +++ b/target/linux/generic/config-3.18 @@ -3884,6 +3884,12 @@ CONFIG_SYSVIPC_SYSCTL=y # CONFIG_TASKS_RCU is not set # CONFIG_TC35815 is not set # CONFIG_TCG_TPM is not set +# CONFIG_TCG_TIS is not set +# CONFIG_TCG_TIS_I2C_ATMEL is not set +# CONFIG_TCG_TIS_I2C_INFINEON is not set +# CONFIG_TCG_TIS_I2C_NUVOTON is not set +# CONFIG_TCG_ATMEL is not set +# CONFIG_TCG_TIS_ST33ZP24 is not set # CONFIG_TCIC is not set CONFIG_TCP_CONG_ADVANCED=y # CONFIG_TCP_CONG_BIC is not set diff --git a/target/linux/generic/config-4.4 b/target/linux/generic/config-4.4 index e76359a8ae..021d8171c1 100644 --- a/target/linux/generic/config-4.4 +++ b/target/linux/generic/config-4.4 @@ -4077,6 +4077,12 @@ CONFIG_SYSVIPC_SYSCTL=y # CONFIG_TASKS_RCU is not set # CONFIG_TC35815 is not set # CONFIG_TCG_TPM is not set +# CONFIG_TCG_TIS is not set +# CONFIG_TCG_TIS_I2C_ATMEL is not set +# CONFIG_TCG_TIS_I2C_INFINEON is not set +# CONFIG_TCG_TIS_I2C_NUVOTON is not set +# CONFIG_TCG_ATMEL is not set +# CONFIG_TCG_TIS_ST33ZP24 is not set # CONFIG_TCIC is not set CONFIG_TCP_CONG_ADVANCED=y # CONFIG_TCP_CONG_BIC is not set diff --git a/target/linux/generic/config-4.9 b/target/linux/generic/config-4.9 index e36d77c207..da9408b644 100644 --- a/target/linux/generic/config-4.9 +++ b/target/linux/generic/config-4.9 @@ -4394,6 +4394,12 @@ CONFIG_SYSVIPC_SYSCTL=y # CONFIG_TASK_XACCT is not set # CONFIG_TC35815 is not set # CONFIG_TCG_TPM is not set +# CONFIG_TCG_TIS is not set +# CONFIG_TCG_TIS_I2C_ATMEL is not set +# CONFIG_TCG_TIS_I2C_INFINEON is not set +# CONFIG_TCG_TIS_I2C_NUVOTON is not set +# CONFIG_TCG_ATMEL is not set +# CONFIG_TCG_TIS_ST33ZP24 is not set # CONFIG_TCIC is not set CONFIG_TCP_CONG_ADVANCED=y # CONFIG_TCP_CONG_BBR is not set