summaryrefslogtreecommitdiff
path: root/meta-openbmc-mods/meta-common/recipes-bsp/u-boot/files/0008-AST2600-Add-TPM-pulse-trigger.patch
blob: 9af713c996bda0437e907056988663e53d323d2e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
From 9d2d9b9db7796a49d03ac8b19dfbdefbe840c506 Mon Sep 17 00:00:00 2001
From: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
Date: Wed, 25 Mar 2020 15:04:26 -0700
Subject: [PATCH] AST2600: Add TPM pulse trigger

This commit adds TPM pulse trigger into u-boot booting.

Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
---
 board/aspeed/ast2600_intel/intel.c | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/board/aspeed/ast2600_intel/intel.c b/board/aspeed/ast2600_intel/intel.c
index 04fd450d14fc..34b37cc24f91 100644
--- a/board/aspeed/ast2600_intel/intel.c
+++ b/board/aspeed/ast2600_intel/intel.c
@@ -35,6 +35,31 @@ int gpio_abort(void)
 	return value <= 0 ? 0 : 1;
 }
 
+/* use GPIOC2 on intel boards */
+#define TPM_EN_GPIO "gpio@1e78000018"
+
+int enable_onboard_tpm(void)
+{
+	struct gpio_desc desc;
+	int ret;
+
+	ret = dm_gpio_lookup_name(TPM_EN_GPIO, &desc);
+	if (ret)
+		return ret;
+	ret = dm_gpio_request(&desc, "tpm_en_pulse");
+	if (ret)
+		return ret;
+	if (dm_gpio_is_valid(&desc)) {
+		dm_gpio_set_value(&desc, 1);
+		mdelay(50);
+		dm_gpio_set_value(&desc, 0);
+		printf("TPM: Pulse triggered\n");
+	}
+	dm_gpio_free(desc.dev, &desc);
+
+	return ret;
+}
+
 #define SCU_BASE 0x1E6E2000
 #define SCU_338 0x338 //Generate UART 24 MHz Reference from UXCLK
 #define SCU_33C 0x33c //Generate UART 24 MHz Reference from HUXCLK
@@ -234,6 +259,8 @@ int board_early_init_r(void)
 
 	espi_init();
 
+	(void) enable_onboard_tpm();
+
 	return 0;
 }
 
-- 
2.7.4