diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C index 39bf1178a3a..959e4ed891d 100644 --- a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C +++ b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C @@ -4327,6 +4327,53 @@ fapi_try_exit: return fapi2::current_err; } +/// +/// @brief Determines and sets the cal_step_enable values +/// @return fapi2::FAPI2_RC_SUCCESS if okay +/// +fapi2::ReturnCode eff_dimm::cal_step_enable() +{ + // Gets the MCS target to use + const auto& l_mcs = mss::find_target(iv_dimm); + + // These constexpr values are taken from the defiitions in ATTR_MSS_CAL_STEP_ENABLE + // RD/WR VREF correspond to 0x0400 and 0x0100 respectively. + constexpr uint64_t ONLY_1D = 0xFAC0; + constexpr uint64_t RD_VREF_WR_VREF_1D = 0xFFC0; + const uint16_t l_cal_step_value = (mss::chip_ec_feature_skip_hw_vref_cal(l_mcs) ? ONLY_1D : RD_VREF_WR_VREF_1D); + + FAPI_DBG("%s %s running HW VREF cal. cal_step value: 0x%0x VREF", mss::c_str(l_mcs), + mss::chip_ec_feature_skip_hw_vref_cal(l_mcs) ? "not" : "", l_cal_step_value); + + // Sets up the vector + std::vector l_cal_step(PORTS_PER_MCS, l_cal_step_value); + + // Sets the values + return FAPI_ATTR_SET(fapi2::ATTR_MSS_CAL_STEP_ENABLE, l_mcs, UINT16_VECTOR_TO_1D_ARRAY(l_cal_step, PORTS_PER_MCS)); +} +/// +/// @brief Determines and sets the vref_enable_bit settings +/// @return fapi2::FAPI2_RC_SUCCESS if okay +/// +fapi2::ReturnCode eff_dimm::vref_enable_bit() +{ + // Gets the MCS target to use + const auto& l_mcs = mss::find_target(iv_dimm); + + // This enables which bits should be run for RD VREF, all 1's indicates that all bits should be run + constexpr uint64_t DISABLE = 0x0000; + constexpr uint64_t ENABLE = 0xFFFF; + const uint16_t l_vref_enable_value = (mss::chip_ec_feature_skip_hw_vref_cal(l_mcs) ? DISABLE : ENABLE); + + FAPI_DBG("%s %s running HW VREF cal. VREF enable value: 0x%0x", mss::c_str(l_mcs), + mss::chip_ec_feature_skip_hw_vref_cal(l_mcs) ? "not" : "", l_vref_enable_value); + + // Sets up the vector + std::vector l_vref_enable(PORTS_PER_MCS, l_vref_enable_value); + + // Sets the values + return FAPI_ATTR_SET(fapi2::ATTR_MSS_VREF_CAL_ENABLE, l_mcs, UINT16_VECTOR_TO_1D_ARRAY(l_vref_enable, PORTS_PER_MCS)); +} }//mss diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.H b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.H index 0b2abed5777..73bc39ecb47 100644 --- a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.H +++ b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.H @@ -701,6 +701,18 @@ class eff_dimm /// fapi2::ReturnCode dram_trtp(); + /// + /// @brief Determines and sets the cal_step_enable values + /// @return fapi2::FAPI2_RC_SUCCESS if okay + /// + fapi2::ReturnCode cal_step_enable(); + + /// + /// @brief Determines and sets the vref_enable_bit settings + /// @return fapi2::FAPI2_RC_SUCCESS if okay + /// + fapi2::ReturnCode vref_enable_bit(); + /// /// @brief Sets the RTT_NOM value from SPD /// @return fapi2::FAPI2_RC_SUCCESS if okay diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/mss_attribute_accessors_manual.H b/src/import/chips/p9/procedures/hwp/memory/lib/mss_attribute_accessors_manual.H index 54b594bbbae..8fd85c24b42 100644 --- a/src/import/chips/p9/procedures/hwp/memory/lib/mss_attribute_accessors_manual.H +++ b/src/import/chips/p9/procedures/hwp/memory/lib/mss_attribute_accessors_manual.H @@ -284,6 +284,37 @@ fapi_try_exit: return false; } +/// +/// @brief ATTR_CHIP_EC_FEATURE_MSS_ENABLE_HW_VREF_CAL getter +/// @tparam T the fapi2 target type of the target +/// @param[in] const ref to the target +/// @return bool true iff feature is enabled +/// +template< fapi2::TargetType T > +inline bool chip_ec_feature_skip_hw_vref_cal(const fapi2::Target& i_target) +{ + const auto l_chip = mss::find_target(i_target); + uint8_t l_chip_check = 0; + uint8_t l_skip_check = 0; + uint8_t is_sim = 0; + + FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_MSS_CHECK_DISABLE_HW_VREF_CAL, l_chip, l_chip_check) ); + FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_SKIP_HW_VREF_CAL, l_chip, l_skip_check) ); + FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_IS_SIMULATION, fapi2::Target(), is_sim) ); + + FAPI_DBG("Values of the attributes for HW VREF cal skip chip: %d skip: %d", l_chip_check, l_skip_check); + + // Chip check is required && we're in the HW sub-revision where the skip is required - then set a skip value + // Skips if we are in sim mode - VREF cal takes too long for simulation + return is_sim || ((l_chip_check != 0) && (l_skip_check != 0)); + +fapi_try_exit: + FAPI_ERR("failed accessing ATTR_SKIP_HW_VREF_CAL or ATTR_CHIP_EC_FEATURE_MSS_CHECK_DISABLE_HW_VREF_CAL: 0x%lx (target: %s)", + uint64_t(fapi2::current_err), mss::c_str(i_target)); + fapi2::Assert(false); + return false; +} + /// /// @brief ATTR_CHIP_EC_FEATURE_MSS_ODT_CONFIG getter /// @tparam T the fapi2 target type of the target @@ -307,6 +338,37 @@ fapi_try_exit: return false; } +/// +/// @brief ATTR_SKIP_RD_VREF_VREFSENSE_OVERRIDE getter +/// @tparam T the fapi2 target type of the target +/// @param[in] const ref to the target +/// @return bool true iff feature is enabled +/// +template< fapi2::TargetType T > +inline bool chip_ec_feature_skip_rd_vref_vrefsense_override(const fapi2::Target& i_target) +{ + const auto l_chip = mss::find_target(i_target); + uint8_t l_chip_check = 0; + uint8_t l_skip_check = 0; + uint8_t is_sim = 0; + + FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_MSS_CHECK_DIABLE_RD_VREF_CAL_VREFSENSE, l_chip, l_chip_check) ); + FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_SKIP_RD_VREF_VREFSENSE_OVERRIDE, l_chip, l_skip_check) ); + FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_IS_SIMULATION, fapi2::Target(), is_sim) ); + + FAPI_DBG("Values of the attributes VREFSENSE chip: %d skip: %d", l_chip_check, l_skip_check); + + // Chip check is required && we're in the HW sub-revision where the skip is required - then set a skip value + // Skips if we are in sim mode - VREF cal takes too long for simulation + return is_sim || ((l_chip_check != 0) && (l_skip_check != 0)); + +fapi_try_exit: + FAPI_ERR("failed accessing ATTR_SKIP_RD_VREF_VREFSENSE_OVERRIDE or ATTR_CHIP_EC_FEATURE_MSS_CHECK_DIABLE_RD_VREF_CAL_VREFSENSE: 0x%lx (target: %s)", + uint64_t(fapi2::current_err), mss::c_str(i_target)); + fapi2::Assert(false); + return false; +} + } // close mss namespace #endif diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/phy/ddr_phy.C b/src/import/chips/p9/procedures/hwp/memory/lib/phy/ddr_phy.C index d34b7242f7d..2011dfe9a8a 100644 --- a/src/import/chips/p9/procedures/hwp/memory/lib/phy/ddr_phy.C +++ b/src/import/chips/p9/procedures/hwp/memory/lib/phy/ddr_phy.C @@ -911,6 +911,9 @@ fapi2::ReturnCode setup_cal_config( const fapi2::Target& mss::c_str(i_target), uint16_t(l_cal_config), uint16_t(i_cal_steps_enabled)); FAPI_TRY( mss::putScom(i_target, MCA_DDRPHY_PC_INIT_CAL_CONFIG0_P0, l_cal_config) ); + // Setsup the workarounds + FAPI_TRY(mss::workarounds::dp16::rd_vref_vref_sense_setup(i_target)); + fapi_try_exit: return fapi2::current_err; } diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/workarounds/dp16_workarounds.C b/src/import/chips/p9/procedures/hwp/memory/lib/workarounds/dp16_workarounds.C index 3a4f6c4d3d4..709a41912b9 100644 --- a/src/import/chips/p9/procedures/hwp/memory/lib/workarounds/dp16_workarounds.C +++ b/src/import/chips/p9/procedures/hwp/memory/lib/workarounds/dp16_workarounds.C @@ -95,6 +95,107 @@ fapi_try_exit: return fapi2::current_err; } +/// +/// @brief Modifies the VREF sense bit based upon the passed in value +/// @param[in] i_target the fapi2 target of the port +/// @param[in] i_state the state to set bit 62 to +/// @return fapi2::ReturnCode FAPI2_RC_SUCCESS if ok +/// @note this is a helper function to reduce repeated code in cleanup and workaround functions below +/// +fapi2::ReturnCode modify_vref_sense(const fapi2::Target& i_target, const mss::states i_state ) +{ + // Runs the cleanup here + static const std::vector l_addrs = + { + MCA_DDRPHY_DP16_DATA_BIT_DIR1_P0_0, + MCA_DDRPHY_DP16_DATA_BIT_DIR1_P0_1, + MCA_DDRPHY_DP16_DATA_BIT_DIR1_P0_2, + MCA_DDRPHY_DP16_DATA_BIT_DIR1_P0_3, + MCA_DDRPHY_DP16_DATA_BIT_DIR1_P0_4, + }; + + // Note: this bit does not exist in our scom def, so constexpr'ing it here + constexpr uint64_t VREFSENSE_BIT = 62; + + for(const auto& l_reg : l_addrs) + { + fapi2::buffer l_data; + + // Gets the data + FAPI_TRY(mss::getScom(i_target, l_reg, l_data)); + + // Modifies the data + l_data.writeBit(i_state); + + // Writes the data + FAPI_TRY(mss::putScom(i_target, l_reg, l_data)); + } + +fapi_try_exit: + return fapi2::current_err; +} + +/// +/// @brief Workarounds for after training +/// @param[in] i_target the fapi2 target of the port +/// @return fapi2::ReturnCode FAPI2_RC_SUCCESS if ok +/// @note This function is called after training - it will only be run after coarse wr/rd +/// +fapi2::ReturnCode rd_vref_vref_sense_cleanup( const fapi2::Target& i_target ) +{ + // If the workaround does not need to be run, return success + if(mss::chip_ec_feature_skip_rd_vref_vrefsense_override(i_target)) + { + return fapi2::FAPI2_RC_SUCCESS; + } + + // Per Ryan King, this needs to be set to OFF for mainline mode + return modify_vref_sense(i_target, mss::states::OFF); +} + +/// +/// @brief Sets up the VREF sense values before training +/// @param[in] i_target the fapi2 target of the port +/// @return fapi2::ReturnCode FAPI2_RC_SUCCESS if ok +/// @note This function is called before training +/// +fapi2::ReturnCode rd_vref_vref_sense_setup( const fapi2::Target& i_target ) +{ + // If the workaround does not need to be run, return success + if(mss::chip_ec_feature_skip_rd_vref_vrefsense_override(i_target)) + { + return fapi2::FAPI2_RC_SUCCESS; + } + + // Per Ryan King, this needs to be set to ON to run training + return modify_vref_sense(i_target, mss::states::ON); +} + +/// +/// @brief Workarounds for after training +/// @param[in] i_target the fapi2 target of the port +/// @param[in] i_cal_steps_enable the enabled cal steps +/// @return fapi2::ReturnCode FAPI2_RC_SUCCESS if ok +/// @note This function is called after training - it will only be run after coarse wr/rd +/// +fapi2::ReturnCode post_training_workarounds( const fapi2::Target& i_target, + const fapi2::buffer& i_cal_steps_enabled ) +{ + // Only runs on the last cal steps (coarse wr/rd) + if (i_cal_steps_enabled.getBit() || + i_cal_steps_enabled.getBit()) + { + FAPI_TRY( mss::workarounds::dp16::modify_calibration_results( i_target ) ); + FAPI_TRY( mss::workarounds::dp16::rd_vref_vref_sense_cleanup( i_target ) ); + } + + // Returns success, as we might not have run these workarounds, depending upon cal step enable + return fapi2::FAPI2_RC_SUCCESS; + +fapi_try_exit: + return fapi2::current_err; +} + /// /// @brief DP16 Read Diagnostic Configuration 5 work around /// Not in the Model 67 spydef, so we scom them. Should be removed when they are diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/workarounds/dp16_workarounds.H b/src/import/chips/p9/procedures/hwp/memory/lib/workarounds/dp16_workarounds.H index 25e6efc97e1..03ecb9b2eff 100644 --- a/src/import/chips/p9/procedures/hwp/memory/lib/workarounds/dp16_workarounds.H +++ b/src/import/chips/p9/procedures/hwp/memory/lib/workarounds/dp16_workarounds.H @@ -252,6 +252,33 @@ fapi2::ReturnCode fix_blue_waterfall_gate( const fapi2::Target& i_target ); +/// +/// @brief Cleans up the VREF sense values after training +/// @param[in] i_target the fapi2 target of the port +/// @return fapi2::ReturnCode FAPI2_RC_SUCCESS if ok +/// @note This function is called after training - it will only be run after coarse wr/rd +/// +fapi2::ReturnCode rd_vref_vref_sense_cleanup( const fapi2::Target& i_target ); + +/// +/// @brief Sets up the VREF sense values before training +/// @param[in] i_target the fapi2 target of the port +/// @return fapi2::ReturnCode FAPI2_RC_SUCCESS if ok +/// @note This function is called before training +/// +fapi2::ReturnCode rd_vref_vref_sense_setup( const fapi2::Target& i_target ); + + +/// +/// @brief Workarounds for after training +/// @param[in] i_target the fapi2 target of the port +/// @param[in] i_cal_steps_enabled the enabled cal steps +/// @return fapi2::ReturnCode FAPI2_RC_SUCCESS if ok +/// @note This function is called after training - it will only be run after coarse wr/rd +/// +fapi2::ReturnCode post_training_workarounds( const fapi2::Target& i_target, + const fapi2::buffer& i_cal_steps_enabled ); + namespace wr_vref { diff --git a/src/import/chips/p9/procedures/hwp/memory/p9_mss_draminit_training.C b/src/import/chips/p9/procedures/hwp/memory/p9_mss_draminit_training.C index 7ad661b8f28..2b371bad47e 100644 --- a/src/import/chips/p9/procedures/hwp/memory/p9_mss_draminit_training.C +++ b/src/import/chips/p9/procedures/hwp/memory/p9_mss_draminit_training.C @@ -192,12 +192,8 @@ extern "C" // bits for a cal failure. We'll return the proper ReturnCode so all we need to do is FAPI_TRY. FAPI_TRY( mss::ccs::execute(i_target, l_program, p) ); - // Modifies the training steps, based upon workarounds - only do this if we've run coarse_rd or coarse_wr - if (l_cal_steps_enabled.getBit() || - l_cal_steps_enabled.getBit()) - { - FAPI_TRY( mss::workarounds::dp16::modify_calibration_results( p ) ); - } + // Conducts workarounds after training if needed + FAPI_TRY( mss::workarounds::dp16::post_training_workarounds( p, l_cal_steps_enabled ) ); // If we're aborting on error we can just FAPI_TRY. If we're not, we don't want to exit if there's // an error but we want to log the error and keep on keeping on. diff --git a/src/import/chips/p9/procedures/hwp/memory/p9_mss_eff_config.C b/src/import/chips/p9/procedures/hwp/memory/p9_mss_eff_config.C index 10440a80463..7bb2356089a 100644 --- a/src/import/chips/p9/procedures/hwp/memory/p9_mss_eff_config.C +++ b/src/import/chips/p9/procedures/hwp/memory/p9_mss_eff_config.C @@ -196,18 +196,14 @@ fapi2::ReturnCode p9_mss_eff_config( const fapi2::Target FAPI_TRY( l_eff_dimm->dram_rtt_wr () ); FAPI_TRY( l_eff_dimm->dram_rtt_park() ); + // Sets up the calibration steps + FAPI_TRY( l_eff_dimm->cal_step_enable() ); + FAPI_TRY( l_eff_dimm->vref_enable_bit() ); + //Let's do some checking FAPI_TRY( mss::check::temp_refresh_mode()); }// dimm - // TODO RTC:160060 Clean up hard coded values at bottom of eff_config - // Don't set these attributes if we only want to set VPD attributes - // This will be cleaner once we resolve attributes below - { - uint16_t l_cal_step[mss::PORTS_PER_MCS] = {0xFAC0, 0xFAC0}; - FAPI_TRY( FAPI_ATTR_SET(fapi2::ATTR_MSS_CAL_STEP_ENABLE, i_target, l_cal_step) ); - } - // Check plug rules. We check the MCS, and this will iterate down to children as needed. FAPI_TRY( mss::plug_rule::enforce_plug_rules(i_target) ); diff --git a/src/import/chips/p9/procedures/hwp/perv/p9_getecid.C b/src/import/chips/p9/procedures/hwp/perv/p9_getecid.C index ed66eb025be..df5f140ba86 100644 --- a/src/import/chips/p9/procedures/hwp/perv/p9_getecid.C +++ b/src/import/chips/p9/procedures/hwp/perv/p9_getecid.C @@ -118,6 +118,8 @@ static fapi2::ReturnCode setup_memory_work_around_attributes( uint8_t l_value = 1; FAPI_TRY( FAPI_ATTR_SET(fapi2::ATTR_DO_MSS_WR_VREF, i_target, l_value) ); FAPI_TRY( FAPI_ATTR_SET(fapi2::ATTR_DO_MSS_VREF_DAC, i_target, l_value) ); + // The value for this is SKIP - we want to skip in sub DD1.02 HW + FAPI_TRY( FAPI_ATTR_SET(fapi2::ATTR_SKIP_HW_VREF_CAL, i_target, l_value) ); } // Workarounds for modules which are before 1.03 (memory part 2) @@ -129,6 +131,8 @@ static fapi2::ReturnCode setup_memory_work_around_attributes( uint8_t l_value = 1; FAPI_TRY( FAPI_ATTR_SET(fapi2::ATTR_DO_MSS_TRAINING_BAD_BITS, i_target, l_value) ); FAPI_TRY( FAPI_ATTR_SET(fapi2::ATTR_DO_BLUE_WATERFALL_ADJUST, i_target, l_value) ); + // The value for this is SKIP - we want to skip in sub DD1.03 HW + FAPI_TRY( FAPI_ATTR_SET(fapi2::ATTR_SKIP_RD_VREF_VREFSENSE_OVERRIDE, i_target, l_value) ); } return fapi2::FAPI2_RC_SUCCESS; diff --git a/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml b/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml index ff1a0b3fd4b..b12add32bad 100644 --- a/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml +++ b/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml @@ -2388,6 +2388,23 @@ + + ATTR_CHIP_EC_FEATURE_MSS_CHECK_DISABLE_HW_VREF_CAL + TARGET_TYPE_PROC_CHIP + + In below DD2 Nimbus, the HW VREF calibration needs to be checked against the chip subversion to see if it can be run. + + + + ENUM_ATTR_NAME_NIMBUS + + 0x20 + LESS_THAN + + + + + ATTR_CHIP_EC_FEATURE_MSS_ODT_CONFIG TARGET_TYPE_PROC_CHIP @@ -2425,6 +2442,23 @@ + + ATTR_CHIP_EC_FEATURE_MSS_CHECK_DIABLE_RD_VREF_CAL_VREFSENSE + TARGET_TYPE_PROC_CHIP + + In below DD2 Nimbus, the RD VREF cal VREF sense needs to be checked against the chip subversion to see if it should be run. + + + + ENUM_ATTR_NAME_NIMBUS + + 0x20 + LESS_THAN + + + + + ATTR_CHIP_EC_FEATURE_RNG_ADAPTEST_SETTINGS TARGET_TYPE_PROC_CHIP diff --git a/src/import/chips/p9/procedures/xml/attribute_info/memory_workarounds_attributes.xml b/src/import/chips/p9/procedures/xml/attribute_info/memory_workarounds_attributes.xml index 02b9915c57f..7e3e7cb2b93 100644 --- a/src/import/chips/p9/procedures/xml/attribute_info/memory_workarounds_attributes.xml +++ b/src/import/chips/p9/procedures/xml/attribute_info/memory_workarounds_attributes.xml @@ -43,6 +43,30 @@ + + ATTR_SKIP_HW_VREF_CAL + TARGET_TYPE_PROC_CHIP + + In sub DD1.02 Nimbus the HW VREF calibrations should not be run + + + uint8 + RUN = 0, SKIP = 1 + + + + + ATTR_SKIP_RD_VREF_VREFSENSE_OVERRIDE + TARGET_TYPE_PROC_CHIP + + In sub DD1.03 Nimbus the HW VREF calibrations should not be run + + + uint8 + RUN = 0, SKIP = 1 + + + ATTR_DO_MSS_VREF_DAC TARGET_TYPE_PROC_CHIP diff --git a/src/import/hwpf/fapi2/xml/attribute_info/hb_temp_defaults.xml b/src/import/hwpf/fapi2/xml/attribute_info/hb_temp_defaults.xml index ec1230f3adf..fef970bc2de 100644 --- a/src/import/hwpf/fapi2/xml/attribute_info/hb_temp_defaults.xml +++ b/src/import/hwpf/fapi2/xml/attribute_info/hb_temp_defaults.xml @@ -65,6 +65,14 @@ ATTR_MSS_MRW_REFRESH_RATE_REQUEST 0 + + ATTR_SKIP_HW_VREF_CAL + 0x0 + + + ATTR_SKIP_RD_VREF_VREFSENSE_OVERRIDE + 0x1 + ATTR_SECTOR_BUFFER_STRENGTH diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml index e052f884875..8317ff05c8c 100644 --- a/src/usr/targeting/common/xmltohb/attribute_types.xml +++ b/src/usr/targeting/common/xmltohb/attribute_types.xml @@ -32817,6 +32817,45 @@ Measured in GB + + SKIP_HW_VREF_CAL + + + In sub DD1.02 Nimbus the HW VREF calibrations should not be run + + + + + + + volatile-zeroed + + + + ATTR_SKIP_HW_VREF_CAL + DIRECT + + + + + SKIP_RD_VREF_VREFSENSE_OVERRIDE + + + In sub DD1.03 Nimbus the HW VREF calibrations should not be run + + + + + + + volatile-zeroed + + + + ATTR_SKIP_RD_VREF_VREFSENSE_OVERRIDE + DIRECT + + DO_MSS_VREF_DAC diff --git a/src/usr/targeting/common/xmltohb/target_types.xml b/src/usr/targeting/common/xmltohb/target_types.xml index 833597df8ba..9e0d60185db 100755 --- a/src/usr/targeting/common/xmltohb/target_types.xml +++ b/src/usr/targeting/common/xmltohb/target_types.xml @@ -243,13 +243,15 @@ PM_SPIVID_MAJORITY_VOTE_ENABLE PM_SPIVID_MAX_RETRIES PROC_DPLL_DIVIDER - - - SBE_SEEPROM_I2C_ADDRESS_BYTES - SBE_SEEPROM_I2C_DEVICE_ADDRESS - SBE_SEEPROM_I2C_PORT - PNOR_I2C_ADDRESS_BYTES - + + SKIP_HW_VREF_CAL + SKIP_RD_VREF_VREFSENSE_OVERRIDE + + SBE_SEEPROM_I2C_ADDRESS_BYTES + SBE_SEEPROM_I2C_DEVICE_ADDRESS + SBE_SEEPROM_I2C_PORT + PNOR_I2C_ADDRESS_BYTES + PROC_SECURITY_SETUP_VECTOR