summaryrefslogtreecommitdiffstats
path: root/src/usr/hdat
diff options
context:
space:
mode:
authorNick Bofferding <bofferdn@us.ibm.com>2017-03-31 20:12:01 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-04-10 13:48:56 -0400
commit3dadb3762be5dba9b74beca9b88c4c07f77d898e (patch)
treec6514eb4c0bbef5eb59c3350acb1e8c639e734a0 /src/usr/hdat
parent5bdb1f8ec34124c68db869dbb46b27e5a5fc24b5 (diff)
downloadtalos-hostboot-3dadb3762be5dba9b74beca9b88c4c07f77d898e.tar.gz
talos-hostboot-3dadb3762be5dba9b74beca9b88c4c07f77d898e.zip
Synchronize HDAT physical interaction mechanism handling to HDAT spec
Change-Id: I8caa49149db6964b9d8575d634f835de86c49e0f RTC:166834 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/38723 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Stephen M. Cprek <smcprek@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Marshall J. Wilks <mjwilks@us.ibm.com> Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/hdat')
-rw-r--r--src/usr/hdat/hdatcommonutil.C3
-rw-r--r--src/usr/hdat/hdattpmdata.H30
2 files changed, 20 insertions, 13 deletions
diff --git a/src/usr/hdat/hdatcommonutil.C b/src/usr/hdat/hdatcommonutil.C
index 350b5b727..09d377d96 100644
--- a/src/usr/hdat/hdatcommonutil.C
+++ b/src/usr/hdat/hdatcommonutil.C
@@ -96,8 +96,7 @@ uint32_t hdatTpmDataCalcMaxSize()
// account for User physical interaction mechanism info struct
// and Host I2C device information pointers
- l_size += (sizeof(hdatPhysInterMechInfo_t) + sizeof(hdatI2cDevInfoPtrs_t) *
- NUM_I2C_PHYS_PRESENCE_DEVICES);
+ l_size += sizeof(hdatPhysInterMechInfo_t);
// Align size value to match actual allocated size, because we also want to
// zero the padded part, and thus simplify multinode support going forward.
diff --git a/src/usr/hdat/hdattpmdata.H b/src/usr/hdat/hdattpmdata.H
index ec7ccb3e5..369e30f28 100644
--- a/src/usr/hdat/hdattpmdata.H
+++ b/src/usr/hdat/hdattpmdata.H
@@ -113,24 +113,32 @@ struct hdatSbTpmInstInfo_t
uint32_t hdatTpmDrtmEventLogEntrySize;
} __attribute__ ((packed));
+
/**
- * @brief Structure definition for HDAT physical interaction mechanism info
+ * @brief Type used to specify I2C link IDs
*/
-struct hdatPhysInterMechInfo_t
+typedef uint32_t i2cLinkId_t;
+
+/**
+ * @brief Special/sentinel i2cLinkId_t values
+ */
+enum I2C_LINK_ID : i2cLinkId_t
{
- uint32_t hdatOffsetI2cDevInfoPtrs;
- uint32_t hdatNumEntries;
- uint32_t hdatSizeOfI2cDevInfoPtrs;
-} __attribute__ ((packed));
+ NOT_APPLICABLE = 0xFFFFFFFF,
+};
/**
- * @brief Structure definition for HDAT Host I2C Device Info pointers
+ * @brief Structure definition for HDAT physical interaction mechanism info
*/
-struct hdatI2cDevInfoPtrs_t
+struct hdatPhysInterMechInfo_t
{
- uint32_t hdatChipId;
- uint32_t hdatDbobId; // Drawer/Book/Octant/Blade ID
- uint32_t hdatHostI2cLinkId;
+ // ID of I2C device in the PCRD that supports the "window open" function
+ i2cLinkId_t i2cLinkIdWindowOpen;
+
+ // ID of I2C device in the PCRD that supports the "physical presence"
+ // function
+ i2cLinkId_t i2cLinkIdPhysicalPresence;
+
} __attribute__ ((packed));
extern const char g_hdatTpmDataEyeCatch[];
OpenPOWER on IntegriCloud