Skip to content

Commit

Permalink
Add base support for TPM locality 2
Browse files Browse the repository at this point in the history
- Added locality 2 enum
- Updated check for localities to include locality 2
- Updated MRW generator to add locality 2
- Updated standalone config files to include locality 2
- Updated TPM_INFO to include locality 2

Change-Id: I385f331875c59568def895c1b89fcdc14dda6234
RTC: 157140
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/35916
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Reviewed-by: Marshall J. Wilks <mjwilks@us.ibm.com>
Reviewed-by: Stephen M. Cprek <smcprek@us.ibm.com>
Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com>
Reviewed-by: Timothy R. Block <block@us.ibm.com>
Reviewed-by: Christopher J. Engel <cjengel@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
  • Loading branch information
Nick Bofferding authored and dcrowell77 committed Feb 8, 2017
1 parent 2702c54 commit 14f64a7
Show file tree
Hide file tree
Showing 6 changed files with 33 additions and 11 deletions.
1 change: 1 addition & 0 deletions src/include/usr/i2c/tpmddif.H
Expand Up @@ -55,6 +55,7 @@ enum tpm_addr_size_t
enum tpm_locality_t
{
TPM_LOCALITY_0 = 0,
TPM_LOCALITY_2 = 2,
TPM_LOCALITY_4 = 4,
};

Expand Down
24 changes: 14 additions & 10 deletions src/usr/i2c/tpmdd.C
Expand Up @@ -1184,18 +1184,22 @@ errlHndl_t tpmReadAttributes ( TARGETING::Target * i_target,

// Successful reading of Attribute, so extract the data
io_tpmInfo.port = tpmData.port;
if (TPM_LOCALITY_0 == i_locality)
switch(i_locality)
{
io_tpmInfo.devAddr = tpmData.devAddrLocality0;
}
else if (TPM_LOCALITY_4 == i_locality)
{
io_tpmInfo.devAddr = tpmData.devAddrLocality4;
}
else
{
assert(false, "Unsupported locality");
case TPM_LOCALITY_0:
io_tpmInfo.devAddr = tpmData.devAddrLocality0;
break;
case TPM_LOCALITY_2:
io_tpmInfo.devAddr = tpmData.devAddrLocality2;
break;
case TPM_LOCALITY_4:
io_tpmInfo.devAddr = tpmData.devAddrLocality4;
break;
default:
assert(false, "BUG! Locality %d is not supported.",
i_locality);
}

io_tpmInfo.engine = tpmData.engine;
io_tpmInfo.i2cMasterPath = tpmData.i2cMasterPath;
io_tpmInfo.tpmEnabled = tpmData.tpmEnabled;
Expand Down
1 change: 1 addition & 0 deletions src/usr/targeting/common/genHwsvMrwXml.pl
Expand Up @@ -6368,6 +6368,7 @@ sub generate_tpm
$tpmInfo{i2cMasterPath} = "physical:sys-0/node-${node}/proc-${proc}";
$tpmInfo{port} = "$I2Cdevices[$i]{i2c_port}";
$tpmInfo{devAddrLocality0} = "0x$I2Cdevices[$i]{i2c_devAddr}";
$tpmInfo{devAddrLocality2} = "0xAA"; # Fixed, not in MRW
$tpmInfo{devAddrLocality4} = "0xA6"; # Fixed, not in MRW
$tpmInfo{engine} = "$I2Cdevices[$i]{i2c_engine}";
$tpmInfo{byteAddrOffset} = "0x01"; # Fixed, not in MRW
Expand Down
10 changes: 9 additions & 1 deletion src/usr/targeting/common/xmltohb/attribute_types.xml
Expand Up @@ -1962,13 +1962,21 @@
<type>uint8_t</type>
<default>0xAE</default>
</field>
<field>
<name>devAddrLocality2</name>
<description>Device address on the I2C bus for Locality 2.
This is a 7-bit value, but then shifted 1
bit left.</description>
<type>uint8_t</type>
<default>0xAA</default>
</field>
<field>
<name>devAddrLocality4</name>
<description>Device address on the I2C bus for Locality 4.
This is a 7-bit value, but then shifted 1
bit left.</description>
<type>uint8_t</type>
<default>0xFF</default>
<default>0xA6</default>
</field>
<field>
<name>engine</name>
Expand Down
4 changes: 4 additions & 0 deletions src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml
Expand Up @@ -221,6 +221,10 @@
<id>devAddrLocality0</id>
<value>0xAE</value>
</field>
<field>
<id>devAddrLocality2</id>
<value>0xAA</value>
</field>
<field>
<id>devAddrLocality4</id>
<value>0xA6</value>
Expand Down
4 changes: 4 additions & 0 deletions src/usr/targeting/common/xmltohb/vbu_NIMBUS.system.xml
Expand Up @@ -221,6 +221,10 @@
<id>devAddrLocality0</id>
<value>0xAE</value>
</field>
<field>
<id>devAddrLocality2</id>
<value>0xAA</value>
</field>
<field>
<id>devAddrLocality4</id>
<value>0xA6</value>
Expand Down

0 comments on commit 14f64a7

Please sign in to comment.