diff options
Diffstat (limited to 'src/usr/hwpf/hwp/dram_training/mss_draminit_trainadv/mss_ddr4_pda.H')
-rw-r--r-- | src/usr/hwpf/hwp/dram_training/mss_draminit_trainadv/mss_ddr4_pda.H | 177 |
1 files changed, 0 insertions, 177 deletions
diff --git a/src/usr/hwpf/hwp/dram_training/mss_draminit_trainadv/mss_ddr4_pda.H b/src/usr/hwpf/hwp/dram_training/mss_draminit_trainadv/mss_ddr4_pda.H deleted file mode 100644 index ac136bdfb..000000000 --- a/src/usr/hwpf/hwp/dram_training/mss_draminit_trainadv/mss_ddr4_pda.H +++ /dev/null @@ -1,177 +0,0 @@ -/* IBM_PROLOG_BEGIN_TAG */ -/* This is an automatically generated prolog. */ -/* */ -/* $Source: src/usr/hwpf/hwp/dram_training/mss_draminit_trainadv/mss_ddr4_pda.H $ */ -/* */ -/* OpenPOWER HostBoot Project */ -/* */ -/* Contributors Listed Below - COPYRIGHT 2015 */ -/* [+] International Business Machines Corp. */ -/* */ -/* */ -/* Licensed under the Apache License, Version 2.0 (the "License"); */ -/* you may not use this file except in compliance with the License. */ -/* You may obtain a copy of the License at */ -/* */ -/* http://www.apache.org/licenses/LICENSE-2.0 */ -/* */ -/* Unless required by applicable law or agreed to in writing, software */ -/* distributed under the License is distributed on an "AS IS" BASIS, */ -/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */ -/* implied. See the License for the specific language governing */ -/* permissions and limitations under the License. */ -/* */ -/* IBM_PROLOG_END_TAG */ -// $Id: mss_ddr4_pda.H,v 1.38 2015/07/27 14:49:59 sglancy Exp $ -//------------------------------------------------------------------------------ -// *! (C) Copyright International Business Machines Corp. 2013 -// *! All Rights Reserved -- Property of IBM -// *! *** *** -//------------------------------------------------------------------------------ -// *! TITLE : mss_ddr4_pda.H -// *! DESCRIPTION : Tools for DDR4 DIMMs centaur procedures -// *! OWNER NAME : Stephen Glancy Email: sglancy@us.ibm.com -// *! BACKUP NAME : Andre Marin Email: aamarin@us.ibm.com -// #! ADDITIONAL COMMENTS : -// - -//------------------------------------------------------------------------------ -// Don't forget to create CVS comments when you check in your changes! -//------------------------------------------------------------------------------ -// CHANGE HISTORY: -//------------------------------------------------------------------------------ -// Version:| Author: | Date: | Comment: -//---------|----------|---------|----------------------------------------------- -// 1.5 | 05/13/15 | sglancy | Added dox and updated functions for better FFDC -// 1.4 | 05/11/15 | sglancy | Addressed FW comments -// 1.3 | 05/07/15 | sglancy | Updated Doxygen header -// 1.2 | 02/13/15 | sglancy | Updated to allow for file inputs -// 1.1 | 10/27/14 | sglancy | First revision - -#ifndef _MSS_DDR4_PDA_H -#define _MSS_DDR4_PDA_H -#include <fapi.H> -using namespace fapi; -using namespace std; -class PDA_MRS_Storage { -private: - char pda_string[MAX_ECMD_STRING_LEN]; //aware that this isn't threadsafe but should be called w/in each thread -public: - uint8_t attribute_data; - uint32_t attribute_name; - uint8_t MRS; - uint8_t dimm; - uint8_t dram; - uint8_t rank; - uint8_t port; - PDA_MRS_Storage(uint8_t ad,uint32_t an,uint8_t dr,uint8_t di,uint8_t r,uint8_t p); - ~PDA_MRS_Storage(); - bool operator> (const PDA_MRS_Storage &PDA2) const; - bool operator< (const PDA_MRS_Storage &PDA2) const; - void copy(PDA_MRS_Storage &temp); - ReturnCode setMRSbyAttr(Target& i_target); - ReturnCode checkPDAValid(Target& i_target); - char * c_str(); - void generatePDAString(); -}; - -class PDA_Scom_Storage { -public: - uint64_t scom_addr; - uint32_t start_bit; - uint32_t num_bits; - PDA_Scom_Storage(uint64_t sa, uint32_t sb, uint32_t nb); - ~PDA_Scom_Storage(); -}; - -typedef ReturnCode (*mss_ddr4_pda_FP_t)(Target& i_target, vector<PDA_MRS_Storage> pda); - -extern "C" -{ - -/** - * @runs through the vector of given PDA values and issues the PDA commands to the requested DRAMs - * - * @param[in] target: Reference to centaur.mba target, - * @param[in] vector: Vector of PDA_MRS_Storage class elements - initialized by the user and contains DRAM information and attribute override information - * - * @return ReturnCode - */ -ReturnCode mss_ddr4_run_pda(Target& i_target,vector<PDA_MRS_Storage> pda); -/** - * @Puts the DRAM in per-DRAM addressability mode (PDA mode) - * - * @param[in] target: Reference to centaur.mba target, - * @param[in/out] io_ccs_inst_cnt: starting point of CCS array - needed to properly setup CCS - * - * @return ReturnCode - */ -ReturnCode mss_ddr4_setup_pda(Target& i_target,uint32_t& io_ccs_inst_cnt); -/** - * @Takes the DRAM out of per-DRAM addressability mode (PDA mode) - * - * @param[in] target: Reference to centaur.mba target, - * @param[in/out] io_ccs_inst_cnt: starting point of CCS array - needed to properly setup CCS - * - * @return ReturnCode - */ -ReturnCode mss_ddr4_disable_pda(Target& i_target,uint32_t& io_ccs_inst_cnt); -/** - * @called by wrapper - sets up a PDA vector if it's not already configured - * - * @param[in] target: Reference to centaur.mba target, - * @param[in] vector: Vector of PDA_MRS_Storage class elements - initialized by the user and contains DRAM information and attribute override information - * - * @return ReturnCode - */ -ReturnCode mss_ddr4_pda(Target& i_target,vector<PDA_MRS_Storage> pda); -/** - * @Checks the passed in PDA vector to ensure that all entries are good. then sorts the vector to ensure more efficient command stream - * - * @param[in] target: Reference to centaur.mba target, - * @param[in/out] vector: Vector of PDA_MRS_Storage class elements - initialized by the user and contains DRAM information and attribute override information - * - * @return ReturnCode - */ -ReturnCode mss_ddr4_checksort_pda(Target& i_target, vector<PDA_MRS_Storage>& pda); -/** - * @Modifies the passed in address_16 buffer based upon the given attribute and data - * - * @param[in] target: Reference to centaur.mba target, - * @param[in/out] ecmdDataBufferBase& address_16: MRS values - this is modified by the given attribute name and data - * @param[in] uint32_t attribute_name: enumerated value containing the attribute name to be modified - attr_name tells the function which bits to modify - * @param[in] uint8_t attribute_data: data telss the function what values to set to the modified bits - * - * @return ReturnCode - */ -ReturnCode mss_ddr4_modify_mrs_pda(Target& i_target,ecmdDataBufferBase& address_16,uint32_t attribute_name,uint8_t attribute_data); -/** - * @Adds a given DRAM into the scom_storage vector - * - * @param[in] target: Reference to centaur.mba target, - * @param[in] uint8_t port: identifies which port the given DRAM is on - * @param[in] uint8_t dram: identifies which DRAM identifier is to be added - * @param[in/out] vector: list of all DRAMs being modified by PDA. contains address, bit, and length - * - * @return ReturnCode - */ -ReturnCode mss_ddr4_add_dram_pda(Target& i_target,uint8_t port,uint8_t dram,vector<PDA_Scom_Storage> & scom_storage); -/** - * @loads in a nominal MRS value into the address_16 and bank_3 - * - * @param[in] target: Reference to centaur.mba target, - * @param[out] ecmdDataBufferBase& bank_3: bank bits to be issued during MRS - * @param[out] ecmdDataBufferBase& address_16: 16 address lanes to be issued during MRS - setup during function - * @param[in] uint8_t MRS: which MRS to configure - * @param[in] uint8_t i_port_number: the port on which to configure the MRS - used for ID'ing which attributes to use - * @param[in] uint8_t dimm_number: the DIMM on which to configure the MRS - used for ID'ing which attributes to use - * @param[in] uint8_t rank_number: the rank on which to configure the MRS - used for ID'ing which attributes to use - * - * @return ReturnCode - */ -ReturnCode mss_ddr4_load_nominal_mrs_pda(Target& i_target,ecmdDataBufferBase& bank_3,ecmdDataBufferBase& address_16,uint8_t MRS,uint8_t i_port_number, uint8_t dimm_number, uint8_t rank_number); -} // extern "C" - -#endif /* _MSS_DDR4_PDA_H */ - - |