summaryrefslogtreecommitdiffstats
path: root/src/include/usr/devicefw
diff options
context:
space:
mode:
authorChristian Geddes <crgeddes@us.ibm.com>2019-01-23 14:43:37 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2019-02-16 09:10:13 -0600
commite6832f74ac222be90b6719a33613863698239ce4 (patch)
tree58f0f0010bd984b11c8ce200e3dabae2b0bbd91a /src/include/usr/devicefw
parentbc80fc6b84359fa03c4212162e3e548dadcd8a9c (diff)
downloadtalos-hostboot-e6832f74ac222be90b6719a33613863698239ce4.tar.gz
talos-hostboot-e6832f74ac222be90b6719a33613863698239ce4.zip
Add new path in EEPROM device op to allow reading from new EECACHE
Recently a new EECACHE section was introduced to Hostboot. This section gets populated with a copy of every PRIMARY_VPD eeprom (someday could contain other eeprom roles also) during host_discover_targets. This commit add support to allow users to select where they want to perform their EEPROM device operation. If they pass CACHE to the deviceOp macro then a read will come from the pnor cache, writes will write to pnor cache and then also write to the eeprom HW. If HARDWARE is passed in then reads and writes will be directly done on the eeprom hardware. If AUTOSELECT is passed the code will check our cache to see if we have a copy of the eeprom in question, if we have a copy we will go the CACHE path, if no copy exists we will go the HARDWARE path. Along with this change some reorganization was done w/ the eeprom related files. RTC: 196805 Change-Id: If2c4e5d3e338a1a10780740c1a019eb4af003b73 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/70822 Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> 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> Reviewed-by: Roland Veloz <rveloz@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/include/usr/devicefw')
-rw-r--r--src/include/usr/devicefw/userif.H8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/include/usr/devicefw/userif.H b/src/include/usr/devicefw/userif.H
index 523537cfb..d626d49c0 100644
--- a/src/include/usr/devicefw/userif.H
+++ b/src/include/usr/devicefw/userif.H
@@ -326,12 +326,14 @@ namespace DeviceFW
/**
* Construct the device addressing parameters for the EEPROM device ops.
* @param[in] i_eeprom_enum - The chip number of the EEPROM to access. See
- * eeprom_chip_types_t in eepromif.H
+ * EEPROM_ROLE in eeprom_const.H
* @param[in] i_offset - The internal offset of the EEPROM slave device.
+ * @param[in] i_deviceSelect - Choose which device you want to perform op on:
+ * AUTOSELECT , CACHE, or HARDWARE
*/
- #define DEVICE_EEPROM_ADDRESS( i_eeprom_enum, i_offset )\
+ #define DEVICE_EEPROM_ADDRESS( i_eeprom_enum, i_offset, i_deviceSelect )\
DeviceFW::EEPROM, static_cast<uint64_t>(( i_eeprom_enum )),\
- static_cast<uint64_t>(( i_offset ))
+ static_cast<uint64_t>(( i_offset )), static_cast<uint64_t>((i_deviceSelect))
/**
* Construct the device addressing parameters for the TPM device ops.
OpenPOWER on IntegriCloud