diff options
Diffstat (limited to 'src/usr/hwpf/hwp/dram_training/mss_draminit_trainadv/mss_generic_shmoo.H')
-rw-r--r-- | src/usr/hwpf/hwp/dram_training/mss_draminit_trainadv/mss_generic_shmoo.H | 48 |
1 files changed, 39 insertions, 9 deletions
diff --git a/src/usr/hwpf/hwp/dram_training/mss_draminit_trainadv/mss_generic_shmoo.H b/src/usr/hwpf/hwp/dram_training/mss_draminit_trainadv/mss_generic_shmoo.H index df73008ee..009f7d5f1 100644 --- a/src/usr/hwpf/hwp/dram_training/mss_draminit_trainadv/mss_generic_shmoo.H +++ b/src/usr/hwpf/hwp/dram_training/mss_draminit_trainadv/mss_generic_shmoo.H @@ -20,7 +20,7 @@ /* Origin: 30 */ /* */ /* IBM_PROLOG_END_TAG */ -// $Id: mss_generic_shmoo.H,v 1.13 2013/04/09 12:18:47 lapietra Exp $ +// $Id: mss_generic_shmoo.H,v 1.22 2013/08/08 11:08:58 sasethur Exp $ // *!*************************************************************************** // *! (C) Copyright International Business Machines Corp. 1997, 1998 // *! All Rights Reserved -- Property of IBM @@ -31,14 +31,16 @@ // *! DESCRIPTION : Memory Subsystem Generic Shmoo -- abstraction for HB // *! CONTEXT : To make all shmoos share a common abstraction layer // *! -// *! OWNER NAME : Varkey Varghese Email: varkey.kv@in.ibm.com -// *! BACKUP NAME : Abhijit Saurabh Email: abhijit.saurabh@in.ibm.com +// *! OWNER NAME : Abhijit Saurabh Email: abhijit.saurabh@in.ibm.com +// *! BACKUP NAME : // *! // *!*************************************************************************** // CHANGE HISTORY: //------------------------------------------------------------------------------ // Version:|Author: | Date: | Comment: // --------|--------|--------|-------------------------------------------------- +// 1.22 |abhijit |8/08/13 |added binary schmoo functions +// 1.20 |abhijit |7/17/13 |added functions for read dqs // 1.11 |abhijit |1/21/13 |fixed constructor definition // 1.9 |abhijit |06/12/12|fixed fw review comments // 1.4 |abhijit |09/27/11|made changes according to new design @@ -57,6 +59,9 @@ using namespace fapi; #define SHMOO_DEBUG2 0 #include "mss_shmoo_common.H" #include "mss_mcbist.H" +//#include "mss_draminit_training.H" +// #include <cen_scom_addresses.H> +// #include "mss_funcs.H" @@ -85,16 +90,19 @@ class generic_shmoo shmoo_mode mcbist_mode; uint8_t mcbist_error_map[MAX_PORT][MAX_RANK][MAX_BYTE][MAX_NIBBLES]; uint8_t schmoo_error_map[MAX_PORT][MAX_RANK][20]; + uint8_t binary_done_map[MAX_PORT][MAX_RANK][20]; shmoo_type_t shmoo_mask; uint8_t iv_addr; uint8_t iv_MAX_RANKS[MAX_PORT]; uint8_t iv_MAX_BYTES; - uint8_t iv_pattern; - uint8_t iv_test_type; + uint32_t iv_pattern; + uint32_t iv_test_type; uint8_t iv_dmm_type; uint8_t iv_DQS_ON; uint8_t iv_shmoo_type; uint32_t iv_shmoo_param; + uint32_t iv_binary_diff; + uint32_t iv_vref_mul; uint8_t valid_rank[MAX_RANK]; @@ -111,17 +119,39 @@ class generic_shmoo void init_multi_array(uint32_t (&array)[MAX_DQ][MAX_RPS],uint32_t init_val); //initialize multi dim arrays to known value fapi::ReturnCode init_multi_array_dqs(uint32_t (&array)[MAX_DQ][MAX_RPS],uint32_t init_val); fapi::ReturnCode get_all_noms(const fapi::Target & i_target); //! Read in all the Nominal values of the relevant knobs + fapi::ReturnCode set_all_binary(const fapi::Target & i_target,bound_t bound); + fapi::ReturnCode get_all_noms_dqs(const fapi::Target & i_target); //! Read in all the Nominal values of the relevant knobs + fapi::ReturnCode get_all_noms_gate(const fapi::Target & i_target); //! Read in all the Nominal values of the relevant knobs + fapi::ReturnCode get_all_noms_data_disable(const fapi::Target & i_target); + fapi::ReturnCode put_all_noms_data_disable(const fapi::Target & i_target,uint8_t flag); + //fapi::ReturnCode put_all_zero_data_disable(const fapi::Target & i_target); fapi::ReturnCode find_bound(const fapi::Target & i_target,bound_t); // generic Right bound fapi::ReturnCode knob_update(const fapi::Target & i_target,bound_t bound,uint8_t scenario,uint8_t bit,uint8_t pass,bool &flag); // Increment or decrement the knob - fapi::ReturnCode knob_update_dqs(const fapi::Target & i_target,bound_t bound,uint8_t scenario,uint8_t rank,uint8_t byte,uint8_t nibble,uint8_t bit,uint8_t pass); - fapi::ReturnCode print_report(const fapi::Target & i_target); // Print Shmoo report to file or STDOUT - fapi::ReturnCode print_shmoo_parms(); + fapi::ReturnCode knob_update_bin(const fapi::Target & i_target,bound_t bound,uint8_t scenario,uint8_t bit,uint8_t pass,bool &flag); + fapi::ReturnCode knob_update_gate(const fapi::Target & i_target,bound_t bound,uint8_t scenario,uint8_t pass,bool &flag); // Increment or decrement the knob + //fapi::ReturnCode knob_update_gate(const fapi::Target & i_target,bound_t bound,uint8_t scenario,uint8_t bit,uint8_t pass,bool &flag); + fapi::ReturnCode knob_update_gate_train(const fapi::Target & i_target,bound_t bound,uint8_t scenario,uint8_t pass); + fapi::ReturnCode knob_update_dqs_by8(const fapi::Target & i_target,bound_t bound,uint8_t scenario,uint8_t bit,uint8_t pass,bool &flag); + fapi::ReturnCode knob_update_dqs_by4(const fapi::Target & i_target,bound_t bound,uint8_t scenario,uint8_t bit,uint8_t pass,bool &flag); + fapi::ReturnCode print_report(const fapi::Target & i_target); // Print Shmoo report to STDOUT + fapi::ReturnCode print_report_dqs(const fapi::Target & i_target); + fapi::ReturnCode print_report_gate(const fapi::Target & i_target); + //fapi::ReturnCode print_shmoo_parms(); fapi::ReturnCode get_margin(const fapi::Target & i_target); + fapi::ReturnCode get_margin_dqs_by8(const fapi::Target & i_target); + fapi::ReturnCode get_margin_dqs_by4(const fapi::Target & i_target); fapi::ReturnCode get_min_margin(const fapi::Target & i_target,uint32_t *o_right_min_margin,uint32_t *o_left_min_margin); + fapi::ReturnCode get_min_margin_dqs(const fapi::Target & i_target,uint32_t *o_right_min_margin,uint32_t *o_left_min_margin); fapi::ReturnCode do_mcbist_test(const fapi::Target & i_target); + fapi::ReturnCode do_mcbist_reset(const fapi::Target & i_target); fapi::ReturnCode check_error_map(const fapi::Target & i_target,uint8_t port,uint8_t &pass); fapi::ReturnCode sanity_check(const fapi::Target & i_target); fapi::ReturnCode schmoo_setup_mcb( const fapi::Target & i_target); - fapi::ReturnCode run(const fapi::Target & i_target,uint32_t *right_min_margin,uint32_t *left_min_margin,uint8_t i_pattern,uint8_t i_test_type,uint32_t i_shmoo_param); + fapi::ReturnCode get_error_cnt(const fapi::Target & i_target,uint8_t port,uint8_t rank,uint8_t rank_pair,uint8_t bit,bound_t bound); + fapi::ReturnCode knob_update_dqs_by8_isdimm(const fapi::Target & i_target,bound_t bound,uint8_t scenario,uint8_t bit,uint8_t pass,bool &flag); + fapi::ReturnCode knob_update_dqs_by4_isdimm(const fapi::Target & i_target,bound_t bound,uint8_t scenario,uint8_t bit,uint8_t pass,bool &flag); + fapi::ReturnCode run(const fapi::Target & i_target,uint32_t *right_min_margin,uint32_t *left_min_margin,uint32_t i_vref_mul); + fapi::ReturnCode shmoo_save_rest(const fapi::Target & i_target,uint64_t i_content_array[],uint8_t i_mode); + }; #endif |