summaryrefslogtreecommitdiffstats
path: root/src/import/generic/memory/lib/spd
diff options
context:
space:
mode:
authorAndre Marin <aamarin@us.ibm.com>2019-02-06 13:52:03 -0600
committerChristian R. Geddes <crgeddes@us.ibm.com>2019-02-13 11:37:27 -0600
commitb573dd73e95a1969d978bc609ac2228ea737e0e9 (patch)
tree727b2e122a5b43e7980124bc9563264213a97589 /src/import/generic/memory/lib/spd
parent6ad9d52a4bad2d8cf40263b6ec5a22068aca6210 (diff)
downloadtalos-hostboot-b573dd73e95a1969d978bc609ac2228ea737e0e9.tar.gz
talos-hostboot-b573dd73e95a1969d978bc609ac2228ea737e0e9.zip
Add DDIMM module functions into SPD facade
Change-Id: I1eec6db42134f790bb6e3dfbdba4f10cb3a7d142 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71468 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: STEPHEN GLANCY <sglancy@us.ibm.com> Tested-by: HWSV CI <hwsv-ci+hostboot@us.ibm.com> Reviewed-by: Louis Stermole <stermole@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Dev-Ready: ANDRE A. MARIN <aamarin@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71503 Tested-by: Jenkins OP Build CI <op-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>
Diffstat (limited to 'src/import/generic/memory/lib/spd')
-rw-r--r--src/import/generic/memory/lib/spd/spd_facade.H957
1 files changed, 957 insertions, 0 deletions
diff --git a/src/import/generic/memory/lib/spd/spd_facade.H b/src/import/generic/memory/lib/spd/spd_facade.H
index b8ac288d1..55d0793d1 100644
--- a/src/import/generic/memory/lib/spd/spd_facade.H
+++ b/src/import/generic/memory/lib/spd/spd_facade.H
@@ -1579,6 +1579,963 @@ class facade final
fapi_try_exit:
return fapi2::current_err;
}
+
+ ///
+ /// @brief Decodes SPD Revision for bytes 192->447 -> SPD_REVISION
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode ddimm_spd_revision(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->ddimm_spd_revision(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes DIMM attributes -> NUM_BUFFERS
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode num_buffers_used(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->num_buffers_used(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes DMB Manfacture ID code 2nd byte
+ /// @param[out] o_output encoding from SPD - multiple fields used
+ /// @return FAPI2_RC_SUCCESS if okay
+ /// @note Uses the following bytes and fields to build up the combined data:
+ /// Byte 198: CONTINUATION_CODE
+ /// Byte 199: LAST_NON_ZERO
+ ///
+ fapi2::ReturnCode dmb_manufacturer_id_code(uint16_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->dmb_manufacturer_id_code(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes DMB Revision Number -> DMB_REV
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode dmb_rev_num(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->dmb_rev_num(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes DIMM Module Oranization -> PACKAGE_RANK
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode package_ranks_per_channel(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->package_ranks_per_channel(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes DIMM Module Oranization -> DATA_WIDTH
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode dram_component_width_per_channel(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->dram_component_width_per_channel(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes Memory Channel Bus Width -> NUM_DIMM_CHANNELS
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode num_channels_per_dimm(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->num_channels_per_dimm(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes Memory Channel Bus Width -> DEVICE_WIDTH
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode memory_width_per_channel(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->memory_width_per_channel(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes Module Thermal Sensors -> MOD_THERMAL_SENSOR
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode module_thermal_sensors(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->module_thermal_sensors(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes Host Interface Protocols -> PROTOCOL_SUPPORT
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode host_protocol_support(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->host_protocol_support(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes Host Interface Speed Supported -> SPEED_SUPPORTED_LSB
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode host_speed_supported(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->host_speed_supported(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes Address Mirroring -> ADDRESS_MIRROR
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode address_mirroring(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->address_mirroring(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes Byte enables MSB
+ /// @param[out] o_output encoding from SPD - multiple fields used
+ /// @return FAPI2_RC_SUCCESS if okay
+ /// @note Uses the following bytes and fields to build up the combined data:
+ /// Byte 208: BYTE_ENABLES_LSB
+ /// Byte 209: BYTE_ENABLES_MSB
+ ///
+ fapi2::ReturnCode byte_enables(uint16_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->byte_enables(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes Nibble enables LSB1
+ /// @param[out] o_output encoding from SPD - multiple fields used
+ /// @return FAPI2_RC_SUCCESS if okay
+ /// @note Uses the following bytes and fields to build up the combined data:
+ /// Byte 210: NIBBLE_ENABLES_LSB0
+ /// Byte 211: NIBBLE_ENABLES_MSB0
+ /// Byte 212: NIBBLE_ENABLES_LSB1
+ ///
+ fapi2::ReturnCode nibble_enables(uint32_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->nibble_enables(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes Four Rank Mode - DDP Compatibility - TSV 8 High Support - MRAM Support -> DDIMM_COMPAT
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode compatabilty_modes(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->compatabilty_modes(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes Number of P-States -> NUM_P_STATES
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode num_p_states(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->num_p_states(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes Spare Device Mapping LSB1
+ /// @param[out] o_output encoding from SPD - multiple fields used
+ /// @return FAPI2_RC_SUCCESS if okay
+ /// @note Uses the following bytes and fields to build up the combined data:
+ /// Byte 216: SPARE_DEVICE_LSB0
+ /// Byte 217: SPARE_DEVICE_MSB0
+ /// Byte 218: SPARE_DEVICE_LSB1
+ ///
+ fapi2::ReturnCode spare_device_mapping(uint32_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->spare_device_mapping(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes Host Interface Speed to DDR Interface Speed Ratio -> HI_DDR_SPEED_RATIO
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode host_to_ddr_speed_ratio(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->host_to_ddr_speed_ratio(o_output) );
+
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes Voltage VIN_MTG Edge connector -> VIN_MGMT_NOMINAL
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode vin_mgmt_nominal(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->vin_mgmt_nominal(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes Voltage VIN_MTG Edge connector -> VIN_MGMT_OPERABLE
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode vin_mgmt_operable(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->vin_mgmt_operable(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes Voltage VIN_MTG Edge connector -> VIN_MGMT_ENDURANT
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode vin_mgmt_endurant(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->vin_mgmt_endurant(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes Voltage VIN_BULK Edge Connecto -> VIN_BULK_NOMINAL
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode vin_bulk_nominal(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->vin_bulk_nominal(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes Voltage VIN_BULK Edge Connecto -> VIN_BULK_OPERABLE
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode vin_bulk_operable(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->vin_bulk_operable(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes Voltage VIN_BULK Edge Connecto -> VIN_BULK_ENDURANT
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode vin_bulk_endurant(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->vin_bulk_endurant(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes VDD_Core PMIC0 -> VDD_CORE_PMIC0
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode vdd_core_pmic0(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->vdd_core_pmic0(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC0 Manfacture ID code 2nd byte
+ /// @param[out] o_output encoding from SPD - multiple fields used
+ /// @return FAPI2_RC_SUCCESS if okay
+ /// @note Uses the following bytes and fields to build up the combined data:
+ /// Byte 227: PMIC0_CONT_CODE
+ /// Byte 228: PMIC0_LAST_NON_ZERO
+ ///
+ fapi2::ReturnCode mfg_id_pmic0(uint16_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->mfg_id_pmic0(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC0 Revision Number -> PMIC0_REV
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode revision_pmic0(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->revision_pmic0(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes VDD_Core PMIC1 -> VDD_CORE_PMIC1
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode vdd_core_pmic1(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->vdd_core_pmic1(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC1 Manfacture ID code 2nd byte
+ /// @param[out] o_output encoding from SPD - multiple fields used
+ /// @return FAPI2_RC_SUCCESS if okay
+ /// @note Uses the following bytes and fields to build up the combined data:
+ /// Byte 231: PMIC1_CONT_CODE
+ /// Byte 232: PMIC1_LAST_NON_ZERO
+ ///
+ fapi2::ReturnCode mfg_id_pmic1(uint16_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->mfg_id_pmic1(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC1 Revision Number -> PMIC1_REV
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode revision_pmic1(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->revision_pmic1(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC0 SWA Voltage Setting -> PMIC0_SWA_VOLT_SET
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_setpoint_swa_pmic0(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_setpoint_swa_pmic0(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC0 SWA Voltage Setting -> PMIC0_SWA_RANGE
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_setpoint_range_swa_pmic0(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_setpoint_range_swa_pmic0(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC0 SWA Voltage Offset -> PMIC0_SWA_VOLT_OFF
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_offset_swa_pmic0(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_offset_swa_pmic0(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC0 SWA Voltage Offset -> PMIC0_SWA_OFF_RANGE
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_offset_range_swa_pmic0(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_offset_range_swa_pmic0(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC0 SWA Delay Sequence Order -> PMIC0_SWA_ORDER
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_order_swa_pmic0(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_order_swa_pmic0(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC0 SWB Voltage Setting -> PMIC0_SWB_VOLT_SET
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_setpoint_swb_pmic0(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_setpoint_swb_pmic0(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC0 SWB Voltage Setting -> PMIC0_SWB_RANGE
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_setpoint_range_swb_pmic0(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_setpoint_range_swb_pmic0(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC0 SWB Voltage Offset -> PMIC0_SWB_VOLT_OFF
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_offset_swb_pmic0(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_offset_swb_pmic0(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC0 SWB Voltage Offset -> PMIC0_SWB_OFF_RANGE
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_offset_range_swb_pmic0(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_offset_range_swb_pmic0(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC0 SWB Delay Sequence Order -> PMIC0_SWB_ORDER
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_order_swb_pmic0(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_order_swb_pmic0(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC0 SWC Voltage Setting -> PMIC0_SWC_VOLT_SET
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_setpoint_swc_pmic0(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_setpoint_swc_pmic0(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC0 SWC Voltage Setting -> PMIC0_SWC_RANGE
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_setpoint_range_swc_pmic0(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_setpoint_range_swc_pmic0(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC0 SWC Voltage Offset -> PMIC0_SWC_VOLT_OFF
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_offset_swc_pmic0(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_offset_swc_pmic0(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC0 SWC Voltage Offset -> PMIC0_SWC_OFF_RANGE
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_offset_range_swc_pmic0(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_offset_range_swc_pmic0(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC0 SWC Delay Sequence Order -> PMIC0_SWC_ORDER
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_order_swc_pmic0(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_order_swc_pmic0(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC0 SWD Voltage Setting -> PMIC0_SWD_VOLT_SET
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_setpoint_swd_pmic0(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_setpoint_swd_pmic0(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC0 SWD Voltage Setting -> PMIC0_SWD_RANGE
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_setpoint_range_swd_pmic0(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_setpoint_range_swd_pmic0(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC0 SWD Voltage Offset -> PMIC0_SWD_VOLT_OFF
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_offset_swd_pmic0(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_offset_swd_pmic0(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC0 SWD Voltage Offset -> PMIC0_SWD_OFF_RANGE
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_offset_range_swd_pmic0(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_offset_range_swd_pmic0(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC0 SWD Delay Sequence Order -> PMIC0_SWD_ORDER
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_order_swd_pmic0(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_order_swd_pmic0(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC0 Phase Combination -> PMIC0_PHASE_COMBIN
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode phase_combination_pmic0(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->phase_combination_pmic0(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC1 SWA Voltage Setting -> PMIC1_SWA_VOLT_SET
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_setpoint_swa_pmic1(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_setpoint_swa_pmic1(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC1 SWA Voltage Setting -> PMIC1_SWA_RANGE
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_setpoint_range_swa_pmic1(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_setpoint_range_swa_pmic1(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC1 SWA Voltage Offset -> PMIC1_SWA_VOLT_OFF
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_offset_swa_pmic1(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_offset_swa_pmic1(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC1 SWA Voltage Offset -> PMIC1_SWA_OFF_RANGE
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_offset_range_swa_pmic1(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_offset_range_swa_pmic1(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC1 SWA Delay Sequence Order -> PMIC1_SWA_ORDER
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_order_swa_pmic1(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_order_swa_pmic1(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC1 SWB Voltage Setting -> PMIC1_SWB_VOLT_SET
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_setpoint_swb_pmic1(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_setpoint_swb_pmic1(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC1 SWB Voltage Setting -> PMIC1_SWB_RANGE
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_setpoint_range_swb_pmic1(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_setpoint_range_swb_pmic1(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC1 SWB Voltage Offset -> PMIC1_SWB_VOLT_OFF
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_offset_swb_pmic1(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_offset_swb_pmic1(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC1 SWB Voltage Offset -> PMIC1_SWB_OFF_RANGE
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_offset_range_swb_pmic1(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_offset_range_swb_pmic1(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC1 SWB Delay Sequence Order -> PMIC1_SWB_ORDER
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_order_swb_pmic1(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_order_swb_pmic1(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC1 SWC Voltage Setting -> PMIC1_SWC_VOLT_SET
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_setpoint_swc_pmic1(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_setpoint_swc_pmic1(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC1 SWC Voltage Setting -> PMIC1_SWC_RANGE
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_setpoint_range_swc_pmic1(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_setpoint_range_swc_pmic1(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC1 SWC Voltage Offset -> PMIC1_SWC_VOLT_OFF
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_offset_swc_pmic1(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_offset_swc_pmic1(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC1 SWC Voltage Offset -> PMIC1_SWC_OFF_RANGE
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_offset_range_swc_pmic1(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_offset_range_swc_pmic1(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC1 SWC Delay Sequence Order -> PMIC1_SWC_ORDER
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_order_swc_pmic1(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_order_swc_pmic1(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC1 SWD Voltage Setting -> PMIC1_SWD_VOLT_SET
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_setpoint_swd_pmic1(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_setpoint_swd_pmic1(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC1 SWD Voltage Setting -> PMIC1_SWD_RANGE
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_setpoint_range_swd_pmic1(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_setpoint_range_swd_pmic1(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC1 SWD Voltage Offset -> PMIC1_SWD_VOLT_OFF
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_offset_swd_pmic1(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_offset_swd_pmic1(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC1 SWD Voltage Offset -> PMIC1_SWD_OFF_RANGE
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_offset_range_swd_pmic1(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_offset_range_swd_pmic1(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC1 SWD Delay Sequence Order -> PMIC1_SWD_ORDER
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode volt_order_swd_pmic1(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->volt_order_swd_pmic1(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+ ///
+ /// @brief Decodes PMIC1 Phase Combination -> PMIC1_PHASE_COMBIN
+ /// @param[out] o_output encoding from SPD
+ /// @return FAPI2_RC_SUCCESS if okay
+ ///
+ fapi2::ReturnCode phase_combination_pmic1(uint8_t& o_output) const
+ {
+ FAPI_TRY( iv_dimm_module_decoder->phase_combination_pmic1(o_output) );
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
};
///
OpenPOWER on IntegriCloud