summaryrefslogtreecommitdiffstats
path: root/src/usr/hwpf/hwp/dram_training/mss_termination_control.H
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/hwpf/hwp/dram_training/mss_termination_control.H')
-rw-r--r--src/usr/hwpf/hwp/dram_training/mss_termination_control.H344
1 files changed, 0 insertions, 344 deletions
diff --git a/src/usr/hwpf/hwp/dram_training/mss_termination_control.H b/src/usr/hwpf/hwp/dram_training/mss_termination_control.H
deleted file mode 100644
index cbebdda94..000000000
--- a/src/usr/hwpf/hwp/dram_training/mss_termination_control.H
+++ /dev/null
@@ -1,344 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/usr/hwpf/hwp/dram_training/mss_termination_control.H $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2014 */
-/* [+] 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_termination_control.H,v 1.12 2014/01/22 15:39:22 mjjones Exp $
-/* File is created by SARAVANAN SETHURAMAN on Thur Sept 28 2011. */
-
-//------------------------------------------------------------------------------
-// *! (C) Copyright International Business Machines Corp. 2007
-// *! All Rights Reserved -- Property of IBM
-// *! *** ***
-//------------------------------------------------------------------------------
-// *! TITLE :mss_draminit_training_advanced.H
-// *! DESCRIPTION : Tools for centaur procedures
-// *! OWNER NAME : Saravanan sethuraman Email ID: saravanans@in.ibm.com
-// *! BACKUP NAME : Menlo Wuu Email ID: menlowuu@us.ibm.com
-// #! ADDITIONAL COMMENTS :
-//
-// General purpose funcs
-
-//------------------------------------------------------------------------------
-// Don't forget to create CVS comments when you check in your changes!
-//------------------------------------------------------------------------------
-// CHANGE HISTORY:
-//------------------------------------------------------------------------------
-// Version:| Author: | Date: | Comment:
-//---------|---------- |--------- |---------------------------------------------
-// 1.12 | 22-Jan-14 | mjjones | Removed FW header
-// 1.11 | 21-Jan-14 | abhijsau | mike and menlo fixed ras review comments
-// 1.10 | 14-Dec-12 | sasethur | Updated for fw review comments
-// 1.9 | 07-Dec-12 | sasethur | Updated for fw review comments
-// 1.8 | 16-Nov-12 | mwuu | Added typedef for external call of
-// mss_slew_cal F
-// 1.7 | 14-Nov-12 | mwuu | Changed "l_" variables to "i_" in
-// config_slew_rate FN
-// 1.6 | 14-Nov-12 | mwuu | Fixed revision numbering in comments
-// 1.5 | 14-Nov-12 | mwuu | Added additional slew rates, and new const
-// 1.4 | 26-Oct-12 | mwuu | Added additional slew types enums, need to
-// change MAX_NUM_SLEW_TYPES when attributes
-// updated.
-// 1.3 | 26-Oct-12 | sasethur | Updated FW review comments fapi::,
-// const fapi::Target
-// 1.2 | 17-Oct-12 | mwuu | updates to enum and consts
-// 1.1 | 28-Sep-12 | sasethur | First draft
-
-
-#ifndef MSS_TERMINATION_CONTROL_H
-#define MSS_TERMINATION_CONTROL_H
-//----------------------------------------------------------------------
-// Includes
-//----------------------------------------------------------------------
-#include <fapi.H>
-
-enum {
- SLEW_TYPE_DATA = 0,
- SLEW_TYPE_ADR_ADDR = 1,
- SLEW_TYPE_ADR_CNTL = 2,
- SLEW_TYPE_ADR_CLK = 3,
- SLEW_TYPE_ADR_SPCKE = 4,
-
- OHM15 = 15,
- OHM20 = 20,
- OHM24 = 24,
- OHM30 = 30,
- OHM34 = 34,
- OHM40 = 40,
-
- SLEW_3V_NS = 3,
- SLEW_4V_NS = 4,
- SLEW_5V_NS = 5,
- SLEW_6V_NS = 6,
- SLEW_MAXV_NS = 7,
-};
-
-const uint8_t MAX_NUM_PORTS = 2; // max number of ports
-const uint8_t MAX_NUM_SLEW_TYPES = 5; // data(dq/dqs), adr_cmd, adr_cntl, clk, spcke, used by slew_cal FN only
-const uint8_t MAX_NUM_IMP = 4; // number of impedances valid per slew type
-
-//Address shmoo is not done as a part of Training advanced, so the order matches
-//attribute enum
-const uint8_t adr_imp_array[] = {
- 15,
- 20,
- 30,
- 40,
-};
-
-// bypass slew (MAX slew rate) not included since it is not calibrated.
-const uint8_t MAX_NUM_CAL_SLEW_RATES = 4 ; // 3V/ns, 4V/ns, 5V/ns, 6V/n
-const uint8_t MAX_NUM_SLEW_RATES = 4; // 3V/ns, 4V/ns, 5V/ns, 6V/n, MAX?
-const uint8_t slew_rate_array[] = {
- 6,
- 5,
- 4,
- 3,
-};
-
-const uint8_t MAX_SLEW_VALUE = 15; // 4 bit value
-const uint8_t MAX_WR_VREF = 32;
-
-const uint32_t wr_vref_array[] = {
- 420,
- 425,
- 430,
- 435,
- 440,
- 445,
- 450,
- 455,
- 460,
- 465,
- 470,
- 475,
- 480,
- 485,
- 490,
- 495,
- 500,
- 505,
- 510,
- 515,
- 520,
- 525,
- 530,
- 535,
- 540,
- 545,
- 550,
- 555,
- 560,
- 565,
- 570,
- 575
- };
-
-
-//The Array is re-arranged inorder to find the best Eye margin based on the
-//Fitness level - 500 is the best value
-const uint32_t wr_vref_array_fitness[] = {
- 420,
- 425,
- 575,
- 430,
- 570,
- 435,
- 565,
- 440,
- 560,
- 445,
- 555,
- 450,
- 550,
- 455,
- 545,
- 460,
- 540,
- 465,
- 535,
- 470,
- 530,
- 475,
- 525,
- 480,
- 520,
- 485,
- 515,
- 490,
- 510,
- 495,
- 505,
- 500
- };
-
-const uint8_t MAX_RD_VREF = 16;
-const uint32_t rd_cen_vref_array[] = {
- 40375,
- 41750,
- 43125,
- 44500,
- 45875,
- 47250,
- 48625,
- 50000,
- 51375,
- 52750,
- 54125,
- 55500,
- 56875,
- 58250,
- 59625,
- 61000
- };
-
-//The Array is re-arranged inorder to find the best Eye margin based on the
-//Fitness level - 50000 is the best value
-const uint32_t rd_cen_vref_array_fitness[] = {
- 61000,
- 59625,
- 40375,
- 58250,
- 41750,
- 56875,
- 43125,
- 55500,
- 44500,
- 54125,
- 45875,
- 52750,
- 47250,
- 51375,
- 48625,
- 50000
- };
-
-//The Array is re-arranged inorder to find the best Eye margin based on the
-//Fitness level - 24 is the best value
-const uint8_t MAX_DRV_IMP = 4;
-const uint8_t drv_imp_array[] = {
- 40,
- 34,
- 30,
- 24
- };
-
-//The Array is re-arranged inorder to find the best Eye margin based on the
-//Fitness level - 15 is the best value
-const uint8_t MAX_RCV_IMP = 9;
-const uint8_t rcv_imp_array[] = {
- 120,
- 80,
- 60,
- 48,
- 40,
- 34,
- 30,
- 20,
- 15
- };
-
-extern "C"
-{
-/**
- * @brief configures PC_VREF_DRV_CONTROL registers to vary the DRAM VREF
- *
- * @param[in] i_target_mba Reference to centaur.mba target
- * @param[in] i_port MBA Port
- * @param[in] i_wr_dram_vref DRAM VREF to set
- *
- * @return ReturnCode
- */
-fapi::ReturnCode config_wr_dram_vref(const fapi::Target & i_target_mba,
- uint8_t i_port,
- uint32_t i_wr_dram_vref);
-
-/**
- * @brief configures read vref registers to vary the CEN VREF
- *
- * @param[in] i_target_mba Reference to centaur.mba target
- * @param[in] i_port MBA Port
- * @param[in] i_rd_cen_vref CEN VREF to set
- *
- * @return ReturnCode
- */
-fapi::ReturnCode config_rd_cen_vref(const fapi::Target & i_target_mba,
- uint8_t i_port,
- uint32_t i_rd_cen_vref);
-
-/**
- * @brief configures the Driver impedance values to the registers
- *
- * @param[in] i_target_mba Reference to centaur.mba target
- * @param[in] i_port MBA Port
- * @param[in] i_drv_imp_dq_dqs Driver impedance values
- *
- * @return ReturnCode
- */
-fapi::ReturnCode config_drv_imp(const fapi::Target & i_target_mba,
- uint8_t i_port,
- uint8_t i_drv_imp_dq_dqs);
-
-/**
- * @brief configures the Receiver impedance values to the registers
- *
- * @param[in] i_target_mba Reference to centaur.mba target
- * @param[in] i_port MBA Port
- * @param[in] i_rcv_imp_dq_dqs Receiver impedance values
- *
- * @return ReturnCode
- */
-fapi::ReturnCode config_rcv_imp(const fapi::Target & i_target_mba,
- uint8_t i_port,
- uint8_t i_rcv_imp_dq_dqs);
-
-/**
- * @brief configures the Slew rate values to the registers
- *
- * @param[in] i_target_mba Reference to centaur.mba target
- * @param[in] i_port MBA Port
- * @param[in] i_slew_type Slew Type
- * @param[in] i_slew_imp Slew Impedance
- * @param[in] i_slew_rate Slew Rate
- *
- * @return ReturnCode
- */
-fapi::ReturnCode config_slew_rate(const fapi::Target & i_target_mba,
- const uint8_t i_port,
- const uint8_t i_slew_type,
- const uint8_t i_slew_imp,
- const uint8_t i_slew_rate);
-
-/**
- * @brief runs the slew calibration engine
- *
- * Configures MSS_SLEW_DATA/ADR attributes and calls config_slew_rate to set
- * the slew rate in the registers.
- *
- * @param[in] i_target_mba Reference to centaur.mba target
- *
- * @return ReturnCode
- */
-fapi::ReturnCode mss_slew_cal(const fapi::Target & i_target_mba);
-
-} // extern C
-#endif
OpenPOWER on IntegriCloud