summaryrefslogtreecommitdiffstats
path: root/src/usr/targeting/common
diff options
context:
space:
mode:
authorMike Baiocchi <mbaiocch@us.ibm.com>2019-06-25 16:17:46 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2019-06-28 15:18:44 -0500
commitca9007fb2efce09d6bdaf85615e585c524414fab (patch)
treea80192e2c98fd84cef58be5a5398d38d31c36d7f /src/usr/targeting/common
parent20423884e4869fd45dd17e5ceca6d4ebe2d84f7d (diff)
downloadtalos-hostboot-ca9007fb2efce09d6bdaf85615e585c524414fab.tar.gz
talos-hostboot-ca9007fb2efce09d6bdaf85615e585c524414fab.zip
Add Support for new HDAT Slave Device Type for Nuvoton 75x
The new HDAT spec added a new 'TCG_i2c_TPM' Slave Device Type for the Host I2C Device Entry Structure. This commit adds the use of it for Nuvoton 75x support. Change-Id: I01f75c919f255786e5b32dcde9b86b2e15d33986 RTC:204133 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/79527 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: Ilya Smirnov <ismirno@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/targeting/common')
-rwxr-xr-xsrc/usr/targeting/common/processMrw.pl17
-rw-r--r--src/usr/targeting/common/xmltohb/attribute_types.xml40
2 files changed, 57 insertions, 0 deletions
diff --git a/src/usr/targeting/common/processMrw.pl b/src/usr/targeting/common/processMrw.pl
index 744eda2ef..24759589c 100755
--- a/src/usr/targeting/common/processMrw.pl
+++ b/src/usr/targeting/common/processMrw.pl
@@ -2952,6 +2952,23 @@ sub processI2C
{
$type = "0xFF";
}
+ # TPM types can vary by MODEL number
+ elsif ($type_str eq "NUVOTON_TPM")
+ {
+ # Model values can be found in tpmddif.H and are kept in
+ # sync with TPM_MODEL attribute in attribute_types_hb.xml
+ my $tpm_model = $targetObj->getAttribute($i2c->{DEST_PARENT},"TPM_MODEL");
+ if ($tpm_model eq 1)
+ {
+ $type = $targetObj->getEnumValue("HDAT_I2C_DEVICE_TYPE",$type_str);
+ }
+ if ($tpm_model eq 2)
+ {
+ # @TODO RTC 212201 use proper enum when <system>.xml supports it
+ #$type = $targetObj->getEnumValue("HDAT_I2C_DEVICE_TYPE","TCG_I2C_TPM");
+ $type = 0x15;
+ }
+ }
else
{
$type = $targetObj->getEnumValue("HDAT_I2C_DEVICE_TYPE",$type_str);
diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml
index cce773a1e..ff9abf83b 100644
--- a/src/usr/targeting/common/xmltohb/attribute_types.xml
+++ b/src/usr/targeting/common/xmltohb/attribute_types.xml
@@ -2270,6 +2270,46 @@
<value>0xB</value>
</enumerator>
<enumerator>
+ <name>THERMAL_SENSOR</name>
+ <value>0x0C</value>
+ </enumerator>
+ <enumerator>
+ <name>SEEPROM_Atmel24c04</name>
+ <value>0x0D</value>
+ </enumerator>
+ <enumerator>
+ <name>SEEPROM_Atmel24c412</name>
+ <value>0x0E</value>
+ </enumerator>
+ <enumerator>
+ <name>SEEPROM_Atmel24c32</name>
+ <value>0x0F</value>
+ </enumerator>
+ <enumerator>
+ <name>SEEPROM_Atmel24c64</name>
+ <value>0x10</value>
+ </enumerator>
+ <enumerator>
+ <name>SEEPROM_Atmel24c16</name>
+ <value>0x11</value>
+ </enumerator>
+ <enumerator>
+ <name>NVDIA_GPU</name>
+ <value>0x12</value>
+ </enumerator>
+ <enumerator>
+ <name>NXP_LPC_Microcontroller_LPC11U35</name>
+ <value>0x13</value>
+ </enumerator>
+ <enumerator>
+ <name>9550</name>
+ <value>0x14</value>
+ </enumerator>
+ <enumerator>
+ <name>TCG_I2C_TPM</name>
+ <value>0x15</value>
+ </enumerator>
+ <enumerator>
<name>UNKNOWN</name>
<value>0xFF</value>
</enumerator>
OpenPOWER on IntegriCloud