diff options
author | Alvin Wang <wangat@tw.ibm.com> | 2019-01-29 02:13:09 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2019-02-24 09:35:40 -0600 |
commit | 8f2fbd8180414a5dab93159b6c55974f569f358b (patch) | |
tree | 5ae6841d6c9a4bbd3664076358d286cb4b22e4db /src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/mc/exp_port.H | |
parent | 361f7d64b58fe080aa47fe55df2604583700ed58 (diff) | |
download | talos-hostboot-8f2fbd8180414a5dab93159b6c55974f569f358b.tar.gz talos-hostboot-8f2fbd8180414a5dab93159b6c55974f569f358b.zip |
Reinstates exp_draminit_mc with change_addr_mux_sel fix
Change-Id: Ief62fadce588bf65e249ae771bd03ab31ed4bddf
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71201
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Dev-Ready: Louis Stermole <stermole@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: HWSV CI <hwsv-ci+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Louis Stermole <stermole@us.ibm.com>
Reviewed-by: STEPHEN GLANCY <sglancy@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71218
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: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/mc/exp_port.H')
-rw-r--r-- | src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/mc/exp_port.H | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/mc/exp_port.H b/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/mc/exp_port.H index e144b9c6f..a65375672 100644 --- a/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/mc/exp_port.H +++ b/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/mc/exp_port.H @@ -22,3 +22,114 @@ /* permissions and limitations under the License. */ /* */ /* IBM_PROLOG_END_TAG */ + +/// +/// @file exp_port.H +/// @brief Code to support ports +/// +// *HWP HWP Owner: Stephen Glancy <sglancy@us.ibm.com> +// *HWP HWP Backup: Andre Marin <aamarin@us.ibm.com> +// *HWP Team: Memory +// *HWP Level: 3 +// *HWP Consumed by: HB:FSP + +#ifndef __MSS_EXP_PORT_H_ +#define __MSS_EXP_PORT_H_ + +#include <fapi2.H> +#include <explorer_scom_addresses.H> +#include <explorer_scom_addresses_fld.H> +#include <lib/exp_attribute_accessors_manual.H> +#include <lib/shared/exp_consts.H> +#include <generic/memory/lib/utils/mc/gen_mss_port.H> +#include <generic/memory/lib/utils/shared/mss_generic_consts.H> +#include <mss_explorer_attribute_getters.H> + +namespace mss +{ + +/// +/// @brief ATTR_MSS_MEM_MVPD_FWMS getter +/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP> +/// @param[out] uint32_t* memory to store the value +/// @note Generated by gen_accessors.pl generateParameters (G) +/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK +/// @note Mark store records from MPVD Lx +/// keyword +/// +template<> +inline fapi2::ReturnCode mvpd_fwms(const fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP>& i_target, + uint32_t (&o_array)[mss::MARK_STORE_COUNT]) +{ + return mss::attr::get_mvpd_fwms(i_target, o_array); +} + +/// +/// @class Traits and policy class for port code - specialization for Explorer. The target of registers is TARGET_TYPE_OCMB_CHIP +/// +template<> +class portTraits< mss::mc_type::EXPLORER > +{ + public: + // scom register definition + static constexpr uint64_t MBARPC0Q_REG = EXPLR_SRQ_MBARPC0Q; + + static constexpr uint64_t FARB0Q_REG = EXPLR_SRQ_MBA_FARB0Q; + static constexpr uint64_t FARB5Q_REG = EXPLR_SRQ_MBA_FARB5Q; + static constexpr uint64_t FARB6Q_REG = EXPLR_SRQ_MBA_FARB6Q; + static constexpr uint64_t FARB9Q_REG = EXPLR_SRQ_MBA_FARB9Q; + static constexpr uint64_t REFRESH_REG = EXPLR_SRQ_MBAREF0Q; + static constexpr uint64_t ECC_REG = EXPLR_RDF_RECR; + static constexpr uint64_t DSM0Q_REG = EXPLR_SRQ_MBA_DSM0Q; + static constexpr uint64_t FWMS_REG = EXPLR_RDF_FWMS0; + + static constexpr uint64_t RRQ_REG = EXPLR_SRQ_MBA_RRQ0Q; + static constexpr uint64_t WRQ_REG = EXPLR_SRQ_MBA_WRQ0Q; + + static constexpr uint64_t MAGIC_NUMBER_SIM = 765; + static constexpr uint64_t MAGIC_NUMBER_NOT_SIM = 196605; + + // scom register field definition + enum + { + CFG_MIN_MAX_DOMAINS_ENABLE = EXPLR_SRQ_MBARPC0Q_CFG_MIN_MAX_DOMAINS_ENABLE, + CFG_CCS_INST_RESET_ENABLE = EXPLR_SRQ_MBA_FARB5Q_CFG_CCS_INST_RESET_ENABLE, + CFG_DDR_RESETN = EXPLR_SRQ_MBA_FARB5Q_CFG_DDR_RESETN, + CFG_CCS_ADDR_MUX_SEL = EXPLR_SRQ_MBA_FARB5Q_CFG_CCS_ADDR_MUX_SEL, + //TODO: It's not defined in scom register header file. Change this once it's available in scom address header file + CFG_INIT_COMPLETE = 32, //EXPLR_SRQ_MBA_FARB6Q_CFG_INIT_COMPLETE, + CFG_ZQ_PER_CAL_ENABLE = EXPLR_SRQ_MBA_FARB9Q_CFG_ZQ_PER_CAL_ENABLE, + + REFRESH_ENABLE = EXPLR_SRQ_MBAREF0Q_CFG_REFRESH_ENABLE, + + ECC_CHECK_DISABLE = EXPLR_RDF_RECR_MBSECCQ_DISABLE_MEMORY_ECC_CHECK_CORRECT, + ECC_CORRECT_DISABLE = EXPLR_RDF_RECR_MBSECCQ_DISABLE_MEMORY_ECC_CORRECT, + ECC_USE_ADDR_HASH = EXPLR_RDF_RECR_MBSECCQ_USE_ADDRESS_HASH, + + PORT_FAIL_DISABLE = EXPLR_SRQ_MBA_FARB0Q_CFG_PORT_FAIL_DISABLE, + DFI_INIT_START = EXPLR_SRQ_MBA_FARB0Q_CFG_MISR_FEEDBACK_ENABLE, + RCD_RECOVERY_DISABLE = EXPLR_SRQ_MBA_FARB0Q_CFG_DISABLE_RCD_RECOVERY, + + RECR_TCE_CORRECTION = EXPLR_RDF_RECR_MBSECCQ_ENABLE_TCE_CORRECTION, + RECR_MBSECCQ_DATA_INVERSION = EXPLR_RDF_RECR_MBSECCQ_DATA_INVERSION, + RECR_MBSECCQ_DATA_INVERSION_LEN = EXPLR_RDF_RECR_MBSECCQ_DATA_INVERSION_LEN, + DSM0Q_RDTAG_DLY = EXPLR_SRQ_MBA_DSM0Q_CFG_RDTAG_DLY, + DSM0Q_RDTAG_DLY_LEN = EXPLR_SRQ_MBA_DSM0Q_CFG_RDTAG_DLY_LEN, + DSM0Q_WRDONE_DLY = EXPLR_SRQ_MBA_DSM0Q_CFG_WRDONE_DLY, + DSM0Q_WRDONE_DLY_LEN = EXPLR_SRQ_MBA_DSM0Q_CFG_WRDONE_DLY_LEN, + FARB0Q_RCD_PROTECTION_TIME = EXPLR_SRQ_MBA_FARB0Q_CFG_RCD_PROTECTION_TIME, + FARB0Q_RCD_PROTECTION_TIME_LEN = EXPLR_SRQ_MBA_FARB0Q_CFG_RCD_PROTECTION_TIME_LEN, + + FWMS0_MARK = EXPLR_RDF_FWMS0_MARK, + FWMS0_MARK_LEN = EXPLR_RDF_FWMS0_MARK_LEN, + FWMS0_EXIT_1 = EXPLR_RDF_FWMS0_EXIT_1, + + RRQ_FIFO_MODE = EXPLR_SRQ_MBA_RRQ0Q_CFG_RRQ_FIFO_MODE, + WRQ_FIFO_MODE = EXPLR_SRQ_MBA_WRQ0Q_CFG_WRQ_FIFO_MODE, + }; +}; + + +}// mss + +#endif |