diff options
author | Nick Bofferding <bofferdn@us.ibm.com> | 2017-03-31 20:12:01 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-04-10 13:48:56 -0400 |
commit | 3dadb3762be5dba9b74beca9b88c4c07f77d898e (patch) | |
tree | c6514eb4c0bbef5eb59c3350acb1e8c639e734a0 /src/usr/hdat | |
parent | 5bdb1f8ec34124c68db869dbb46b27e5a5fc24b5 (diff) | |
download | talos-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.C | 3 | ||||
-rw-r--r-- | src/usr/hdat/hdattpmdata.H | 30 |
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[]; |