summaryrefslogtreecommitdiffstats
path: root/src/usr/hdat/hdatmsarea.H
diff options
context:
space:
mode:
authorJay <jayashankar.padath@in.ibm.com>2016-11-29 02:59:33 -0600
committerWilliam G. Hoffa <wghoffa@us.ibm.com>2017-01-12 16:17:35 -0500
commit8dca78dfaeddb87852e7c560e3e5ad2c6bf95989 (patch)
tree3436618217e9552b1e17b2095c6ddca296975de8 /src/usr/hdat/hdatmsarea.H
parent04de5bff9299162049d141192cb395116a5c6437 (diff)
downloadtalos-hostboot-8dca78dfaeddb87852e7c560e3e5ad2c6bf95989.tar.gz
talos-hostboot-8dca78dfaeddb87852e7c560e3e5ad2c6bf95989.zip
HDAT: Host I2C changes for PCRD and MS Area
Change-Id: Ie138a86f19e23374f10479af43e0d1b467ceec9e Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/33096 Reviewed-by: VENKATESH SAINATH <venkatesh.sainath@in.ibm.com> Reviewed-by: NAGENDRA K. GURRAM <nagendra.g@in.ibm.com> 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: William G. Hoffa <wghoffa@us.ibm.com>
Diffstat (limited to 'src/usr/hdat/hdatmsarea.H')
-rwxr-xr-xsrc/usr/hdat/hdatmsarea.H42
1 files changed, 37 insertions, 5 deletions
diff --git a/src/usr/hdat/hdatmsarea.H b/src/usr/hdat/hdatmsarea.H
index 79fa04a10..6d33a2893 100755
--- a/src/usr/hdat/hdatmsarea.H
+++ b/src/usr/hdat/hdatmsarea.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2016 */
+/* Contributors Listed Below - COPYRIGHT 2016,2017 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -76,10 +76,11 @@ enum hdatMsAreaDataPtrs
HDAT_MS_AREA_ADDR_RNG = 4,
HDAT_MS_AREA_AFF = 5,
HDAT_MS_AREA_EC_ARRAY = 6,
- HDAT_MS_AREA_RESERVED1 = 7,
- HDAT_MS_AREA_RESERVED2 = 8,
- HDAT_MS_AREA_RESERVED3 = 9,
- HDAT_MS_AREA_LAST = 10
+ HDAT_MS_AREA_HOST_I2C = 7,
+ HDAT_MS_AREA_RESERVED1 = 8,
+ HDAT_MS_AREA_RESERVED2 = 9,
+ HDAT_MS_AREA_RESERVED3 = 10,
+ HDAT_MS_AREA_LAST = 11
};
@@ -155,6 +156,14 @@ struct hdatMsAreaEcLvl_t
uint32_t hdatChipEcLvl; // 0x0004 Memory interface chip EC level
} __attribute__ ((packed));
+/** @brief Structure definition for the host I2C devices header
+ */
+struct hdatMsAreaHI2cData_t
+{
+ uint32_t hdatMsaI2cMasterInfo; // 0x0000 Host I2C device info
+ uint32_t hdatMsaI2cSlaveDevType; // 0x0004 Host I2C slave device type
+ uint32_t hdatMsaI2cPurpose; // 0x0008 Host I2C purpose
+} __attribute__ ((packed));
/*----------------------------------------------------------------------------*/
@@ -456,6 +465,20 @@ public:
errlHndl_t addEcEntry(uint32_t i_manfId,
uint32_t i_ecLvl);
+ /**
+ * @brief Update the Host I2C device info
+ *
+ * @pre None
+ *
+ * @post None
+ *
+ * @param i_I2cDevEntries - input parameter - This contains I2C master infoi,
+ * I2C slave device type and I2C device purpose
+ *
+ * @retval void
+ */
+ void setMsaI2cInfo (
+ std::vector<hdatMsAreaHI2cData_t>& i_I2cDevEntries );
/**
* @brief This routine returns the length of all RAM objects associated
@@ -558,6 +581,9 @@ private:
* @li iv_maxAddrRngCnt - maximum number of address range entries that
* can be added
* @li iv_maxEcCnt - maximum number of EC entries that can be added
+ * @li iv_msaHostI2cCnt - actual number of host I2C entries that can be
+ * added
+ * @li iv_msaHostI2cSize - total size of host i2c data
* @li iv_maxRamCnt - maximum number of RAM objects that can be added
* @li iv_actRamCnt - actual number of RAM objects that were added
* @li iv_maxRamObjSize - maximum size of any RAM object associated with
@@ -573,12 +599,16 @@ private:
* @li iv_aff - CPU affinity information
* @li iv_ecArrayHdr - data array header
* @li iv_ecLvl - EC level array
+ * @li iv_msaI2cHdr - Host I2C info header
+ * @li iv_msaI2cEntryPtr - Host I2C info entries
* @li iv_ramPtrs - ptr to storage which contains one of more ptrs
* to RAM objects
*/
uint32_t iv_kwdSize;
uint32_t iv_maxAddrRngCnt;
uint32_t iv_maxEcCnt;
+ uint32_t iv_msaHostI2cCnt;
+ uint32_t iv_msaHostI2cSize;
uint32_t iv_maxRamCnt;
uint32_t iv_actRamCnt;
uint32_t iv_maxRamObjSize;
@@ -592,6 +622,8 @@ private:
hdatMsAreaAffinity_t iv_aff;
hdatHDIFDataArray_t iv_ecArrayHdr;
hdatMsAreaEcLvl_t *iv_ecLvl;
+ hdatHDIFDataArray_t iv_msaI2cHdr;
+ hdatMsAreaHI2cData_t *iv_msaI2cDataPtr;
HdatRam **iv_ramPtrs;
OpenPOWER on IntegriCloud