diff options
author | Dan Crowell <dcrowell@us.ibm.com> | 2018-11-06 15:52:36 -0600 |
---|---|---|
committer | Nicholas E. Bofferding <bofferdn@us.ibm.com> | 2018-12-13 18:18:52 -0600 |
commit | 552d96423109ce112513f493edd286f708d9df19 (patch) | |
tree | c9a36b2a725d638fbe8a2128f374a9455b99b878 /src/include/usr | |
parent | 1851aa0056c54576d3b328f7b1c9070262857eb0 (diff) | |
download | talos-hostboot-552d96423109ce112513f493edd286f708d9df19.tar.gz talos-hostboot-552d96423109ce112513f493edd286f708d9df19.zip |
Hack to force OCMB presence detection
Temporary code that assumes the OCMB is present if the target is
in the model. Also adds a check to throw an error instead of
crashing if VPD_REC_NUM isn't set.
Change-Id: Iba87d13093f0044bdf28a10621561e02d10faaf6
RTC: 196805
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/68488
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: Christian R. Geddes <crgeddes@us.ibm.com>
Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com>
Diffstat (limited to 'src/include/usr')
-rw-r--r-- | src/include/usr/devicefw/userif.H | 46 | ||||
-rw-r--r-- | src/include/usr/vpd/vpdreasoncodes.H | 10 |
2 files changed, 35 insertions, 21 deletions
diff --git a/src/include/usr/devicefw/userif.H b/src/include/usr/devicefw/userif.H index a6c7f26b0..cf00cfee1 100644 --- a/src/include/usr/devicefw/userif.H +++ b/src/include/usr/devicefw/userif.H @@ -49,29 +49,29 @@ namespace DeviceFW enum AccessType { - SCOM = 0, - PNOR, - MAILBOX, - PRESENT, - FSI, - SPD, + SCOM = 0, // SCOM registers + PNOR, // PNOR flash + MAILBOX, // FSP mailbox + PRESENT, // Presence detection + FSI, // FSI/CFAM registers + SPD, // Serial Presence Detect Data for JEDEC DIMMs MVPD, // Module (processor) VPD CVPD, // Centaur (memory buffer) VPD - SCAN, - EEPROM, - GPIO, - LPC, + SCAN, // Scan rings + EEPROM, // Standard EEPROM/SEEPROM over i2c + GPIO, // GPIO registers + LPC, // Low Pin Count bus IPMIBT, // As opposed to other phy's - PVPD, - TPM, - SIO, - AHB_SIO, + PVPD, // Planar VPD + TPM, // Trusted Platform Module + SIO, // BMC Super I/O registers + AHB_SIO, // AST Hostbridge via SIO DVPD, // Direct access memory VPD - DEPRECATED_MEMD_VPD, - NODECOMM, - NVDIMM, - FAPI_I2C, - MMIO, + NODECOMM, // Internode communication + NVDIMM, // Non-volatile DIMM controller access + FAPI_I2C, // FAPI2-triggered i2c accesses + MMIO, // Memory Mapped I/O + IDEC, // Read and set EC and CHIPID values LAST_ACCESS_TYPE, }; @@ -406,6 +406,14 @@ namespace DeviceFW static_cast<uint64_t>((i_accessLimit)) /** + * @brief Additional device addressing parameters for MMIO ops. + * Construct the device addressing parameters for the IDEC operation + * (no parameters) + */ + #define DEVICE_IDEC_ADDRESS()\ + DeviceFW::IDEC + + /** * @brief Perform a hardware read operation. * * @param[in] i_target Device target to operate on. diff --git a/src/include/usr/vpd/vpdreasoncodes.H b/src/include/usr/vpd/vpdreasoncodes.H index a0c552b29..92aea3196 100644 --- a/src/include/usr/vpd/vpdreasoncodes.H +++ b/src/include/usr/vpd/vpdreasoncodes.H @@ -49,6 +49,7 @@ enum vpdModuleId VPD_WRITE_PNOR = 0x10, VPD_ENSURE_CACHE_IS_IN_SYNC = 0x11, VPD_GET_PN_AND_SN = 0x12, + VPD_GET_VPD_LOCATION = 0x13, // IPVPD VPD_IPVPD_TRANSLATE_RECORD = 0x20, @@ -85,8 +86,6 @@ enum vpdModuleId VPD_SPD_GET_MOD_TYPE = 0x6E, VPD_SPD_FETCH_DATA = 0x6F, - // Centaur FRU VPD - // Runtime VPD VPD_RT_GET_ADDR = 0x80, VPD_RT_WRITE_PNOR = 0x81, @@ -96,6 +95,12 @@ enum vpdModuleId VPD_SEND_I2C_LOCK_MSG = 0x85, VPD_FILL_I2C_LOCK_MSG = 0x86, + // DDIMM VPD + MOD_OCMBPRESENCEDETECT = 0x90, + + // Centaur FRU VPD + + }; /** @@ -149,6 +154,7 @@ enum vpdReasonCode VPD_RT_NODE_TOO_LARGE = VPD_COMP_ID | 0x3b, VPD_CANNOT_WRITE_OVERRIDDEN_VPD = VPD_COMP_ID | 0x3c, VPD_FAILED_TO_RESOLVE_NODE_TARGET = VPD_COMP_ID | 0x3d, + VPD_BAD_REC_NUM = VPD_COMP_ID | 0x3e, }; |