diff options
author | Jay <jayashankar.padath@in.ibm.com> | 2016-11-29 02:59:33 -0600 |
---|---|---|
committer | William G. Hoffa <wghoffa@us.ibm.com> | 2017-01-12 16:17:35 -0500 |
commit | 8dca78dfaeddb87852e7c560e3e5ad2c6bf95989 (patch) | |
tree | 3436618217e9552b1e17b2095c6ddca296975de8 /src/usr/hdat/hdatmsarea.H | |
parent | 04de5bff9299162049d141192cb395116a5c6437 (diff) | |
download | talos-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-x | src/usr/hdat/hdatmsarea.H | 42 |
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; |