summaryrefslogtreecommitdiffstats
path: root/src/include/usr/i2c/i2creasoncodes.H
diff options
context:
space:
mode:
authorChristian Geddes <crgeddes@us.ibm.com>2019-01-15 09:47:31 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2019-02-13 14:41:48 -0600
commitaa18e987116a8e03391473c488d0ddb1d5ea8eb5 (patch)
treec03228ca69f31fcdf26a84f4cf15e1eb736b5164 /src/include/usr/i2c/i2creasoncodes.H
parentb9678e8f9164c44361614e50cf02b6e31c860303 (diff)
downloadtalos-hostboot-aa18e987116a8e03391473c488d0ddb1d5ea8eb5.tar.gz
talos-hostboot-aa18e987116a8e03391473c488d0ddb1d5ea8eb5.zip
Add EEPROM caching device op
This commit introduces a new EEPROM_CACHE deviceOp and registers the OCMB_CHIP, PROC, and DIMM targets to it. This is part of the larger effort to transition for a "VPD" cache to an "EEPROM" cache in pnor. The deviceOp is currently called in hwasPlat's platPresenceDetect if the target in question has a ATTR_EEPROM_VPD_PRIMARY_INFO associated with it. The layout for the new EECACHE section in pnor is defined in eepromCache_const.H. Essentially it is a header that contains an array of record headers that tell where in the EECACHE pnor section a given cached EEPROM can be found. All EEPROM targets will be allocated space in the EECACHE section but only present targets will have their cache filled in. RTC: 196805 Change-Id: I49c341c9784be04ddf0259bd444f06c9baf8c6f1 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/70520 Tested-by: Jenkins Server <pfd-jenkins+hostboot@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> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Roland Veloz <rveloz@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/include/usr/i2c/i2creasoncodes.H')
-rw-r--r--src/include/usr/i2c/i2creasoncodes.H8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/include/usr/i2c/i2creasoncodes.H b/src/include/usr/i2c/i2creasoncodes.H
index 6b08aefc2..a723e4ec8 100644
--- a/src/include/usr/i2c/i2creasoncodes.H
+++ b/src/include/usr/i2c/i2creasoncodes.H
@@ -66,6 +66,8 @@ enum i2cModuleId
READ_I2C_ATTRIBUTES = 0x10,
I2C_ACCESS_MUX = 0x11,
I2C_GENERIC_PRES_DETECT = 0x12,
+ I2C_CACHE_EEPROM = 0x13,
+ I2C_CLEAR_EECACHE = 0x14,
};
@@ -101,7 +103,11 @@ enum i2cReasonCode
I2C_MUX_TARGET_NON_FUNCTIONAL = I2C_COMP_ID | 0x15, // The MUX target is non functional
I2C_INVALID_LENGTH = I2C_COMP_ID | 0x16, // Invalid data buffer length passed to function
I2C_NULL_MASTER_TARGET = I2C_COMP_ID | 0x17, // Target Service's toPath() returned nullptr for target
-};
+ I2C_FAILED_TO_FLUSH_CONTENTS = I2C_COMP_ID | 0x18, // Error occured while trying to flush the mmio pages out
+ // containing contents of an EEPROM's cached data in the EECACHE
+ // PNOR section
+ I2C_FAILED_TO_FLUSH_HEADER = I2C_COMP_ID | 0x19, // Error occured while trying to flush the mmio page out
+}; // containing EECACHE header the to pnor
enum UserDetailsTypes
OpenPOWER on IntegriCloud