summaryrefslogtreecommitdiffstats
path: root/src/include/usr
diff options
context:
space:
mode:
authorDan Crowell <dcrowell@us.ibm.com>2018-11-06 15:52:36 -0600
committerNicholas E. Bofferding <bofferdn@us.ibm.com>2018-12-13 18:18:52 -0600
commit552d96423109ce112513f493edd286f708d9df19 (patch)
treec9a36b2a725d638fbe8a2128f374a9455b99b878 /src/include/usr
parent1851aa0056c54576d3b328f7b1c9070262857eb0 (diff)
downloadtalos-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.H46
-rw-r--r--src/include/usr/vpd/vpdreasoncodes.H10
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,
};
OpenPOWER on IntegriCloud