summaryrefslogtreecommitdiffstats
path: root/src/import/chips
diff options
context:
space:
mode:
Diffstat (limited to 'src/import/chips')
-rw-r--r--src/import/chips/ocmb/common/procedures/hwp/pmic/lib/utils/pmic_bias_utils.C336
-rw-r--r--src/import/chips/ocmb/common/procedures/hwp/pmic/lib/utils/pmic_bias_utils.H183
-rw-r--r--src/import/chips/ocmb/common/procedures/hwp/pmic/pmic_bias.C112
-rw-r--r--src/import/chips/ocmb/common/procedures/hwp/pmic/pmic_bias.H71
4 files changed, 0 insertions, 702 deletions
diff --git a/src/import/chips/ocmb/common/procedures/hwp/pmic/lib/utils/pmic_bias_utils.C b/src/import/chips/ocmb/common/procedures/hwp/pmic/lib/utils/pmic_bias_utils.C
deleted file mode 100644
index b4b59e165..000000000
--- a/src/import/chips/ocmb/common/procedures/hwp/pmic/lib/utils/pmic_bias_utils.C
+++ /dev/null
@@ -1,336 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/import/chips/ocmb/common/procedures/hwp/pmic/lib/utils/pmic_bias_utils.C $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2019 */
-/* [+] 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 */
-
-///
-/// @file pmic_bias_utils.C
-/// @brief Procedure definition to bias PMIC
-///
-// *HWP HWP Owner: Mark Pizzutillo <mark.pizzutillo@ibm.com>
-// *HWP HWP Backup: Louis Stermole <stermole@us.ibm.com>
-// *HWP Team: Memory
-// *HWP Level: 2
-// *HWP Consumed by: FSP:HB
-
-#include <fapi2.H>
-#include <lib/utils/pmic_bias_utils.H>
-#include <lib/i2c/i2c_pmic.H>
-#include <lib/utils/pmic_consts.H>
-#include <lib/utils/pmic_common_utils.H>
-#include <pmic_regs.H>
-#include <generic/memory/lib/utils/c_str.H>
-#include <generic/memory/lib/utils/mss_math.H>
-
-namespace mss
-{
-namespace pmic
-{
-
-///
-/// @brief Set the voltage of a rail (post-rounding)
-///
-/// @param[in] i_pmic_target PMIC target
-/// @param[in] i_rail rail to set
-/// @param[in] i_target_voltage voltage to set to
-/// @param[in] i_range_selection range (0 or 1) of the rail
-/// @return fapi2::ReturnCode FAPI2_RC_SUCCESS iff success
-///
-fapi2::ReturnCode set_new_rail_voltage(
- const fapi2::Target<fapi2::TargetType::TARGET_TYPE_PMIC>& i_pmic_target,
- const mss::pmic::rail i_rail,
- const uint32_t i_target_voltage,
- const uint8_t i_range_selection)
-{
- using CONSTS = mss::pmic::consts<mss::pmic::product::JEDEC_COMPLIANT>;
- using FIELDS = pmicFields<mss::pmic::product::JEDEC_COMPLIANT>;
-
- FAPI_ASSERT(i_range_selection < CONSTS::NUM_RANGES,
- fapi2::PMIC_VOLTAGE_RANGE_SETTING_OUT_OF_RANGE()
- .set_TARGET(i_pmic_target)
- .set_RAIL(i_rail)
- .set_RANGE_SETTING(i_range_selection),
- "set_new_rail_voltage(): The voltage setting provided for PMIC %s on rail %u was out of range (Valid: 0,1). Given: %u",
- mss::c_str(i_pmic_target), uint8_t(i_rail), i_range_selection);
-
- {
- // Make sure voltage falls within range
- static const uint32_t MIN_VOLT = mss::pmic::VOLT_RANGE_MINS[i_rail][i_range_selection];
- static const uint32_t MAX_VOLT = mss::pmic::VOLT_RANGE_MAXES[i_rail][i_range_selection];
-
- FAPI_ASSERT((i_target_voltage >= MIN_VOLT) && (i_target_voltage <= MAX_VOLT),
- fapi2::PMIC_BIAS_VOLTAGE_OUT_OF_RANGE()
- .set_TARGET(i_pmic_target)
- .set_VOLTAGE(i_target_voltage)
- .set_MIN(MIN_VOLT)
- .set_MAX(MAX_VOLT)
- .set_RAIL(i_rail),
- "set_new_rail_voltage(): After rounding the bias voltage, "
- "the resulting voltage %lumV was out of range LOW: %lumV HIGH: %lumV for PMIC %s on rail %u",
- i_target_voltage, MIN_VOLT, MAX_VOLT, mss::c_str(i_pmic_target), uint8_t(i_rail));
- {
- // Convert to bit mapping and write back
- const uint32_t l_offset_from_min = i_target_voltage - MIN_VOLT;
- const uint8_t l_voltage_bitmap = l_offset_from_min / CONSTS::VOLT_STEP;
-
- // Shift and write back
- fapi2::buffer<uint8_t> l_voltage_write_back;
-
- l_voltage_write_back.insertFromRight<FIELDS::VOLTAGE_SETTING_START, FIELDS::VOLTAGE_SETTING_LENGTH>(l_voltage_bitmap);
-
- FAPI_TRY(mss::pmic::i2c::reg_write(i_pmic_target, mss::pmic::VOLT_SETTING_ACTIVE_REGS[i_rail], l_voltage_write_back),
- "set_voltage_percent: Error writing 0x%02hhX of PMIC %s", mss::pmic::VOLT_SETTING_ACTIVE_REGS[i_rail],
- mss::c_str(i_pmic_target));
- }
- }
-
- return fapi2::FAPI2_RC_SUCCESS;
-fapi_try_exit:
- return fapi2::current_err;
-}
-
-///
-/// @brief Round a target rail voltage to the nearest step of 5mV to create the voltage bitmap
-///
-/// @param[in] i_target_voltage_unrounded unrounded voltage
-/// @return float rounded voltage
-///
-uint32_t round_rail_target_voltage(const uint32_t i_target_voltage_unrounded)
-{
- using CONSTS = mss::pmic::consts<mss::pmic::product::JEDEC_COMPLIANT>;
-
- // Round to nearest unit by converting to a MV integer
- const uint32_t l_target_multiple = CONSTS::VOLT_STEP;
-
- const uint32_t l_target_voltage = mss::round_to_nearest_multiple(i_target_voltage_unrounded, l_target_multiple);
-
- // Inform the user. This will be especially useful for debugging
- FAPI_INF("Voltage rounded to %luV", l_target_voltage);
-
- return l_target_voltage;
-}
-
-///
-/// @brief Checks if bias percentage is within the MAX_BIAS threshold
-///
-/// @param[in] i_percent percentage to check
-/// @param[in] i_force force change (would force evaluation to true)
-/// @return true if in range, false if not
-///
-bool bias_percent_within_threshold(const float i_percent, const bool i_force)
-{
- return i_force || ((i_percent < mss::pmic::PERCENT_MAX_BIAS) && (i_percent > (-1) * mss::pmic::PERCENT_MAX_BIAS));
-}
-
-///
-/// @brief Get the current rail voltage of a JEDEC PMIC
-///
-/// @param[in] i_pmic_target PMIC target
-/// @param[in] i_rail rail to read from
-/// @param[out] o_current_rail_voltage voltage calculated for rail
-/// @param[out] o_range_selection range selection of that voltage
-/// @return fapi2::ReturnCode FAPI2_RC_SUCCESS iff success, else error
-/// @note not templated as the arguments may differ for other chips (if we ever use others)
-///
-fapi2::ReturnCode get_current_rail_voltage(const fapi2::Target<fapi2::TargetType::TARGET_TYPE_PMIC>&
- i_pmic_target,
- const mss::pmic::rail i_rail,
- uint32_t& o_current_rail_voltage,
- uint8_t& o_range_selection)
-{
- fapi2::buffer<uint8_t> l_voltage_setting_reg_contents;
- fapi2::buffer<uint8_t> l_voltage_range_reg_contents;
-
- using REGS = pmicRegs<mss::pmic::product::JEDEC_COMPLIANT>;
- using FIELDS = pmicFields<mss::pmic::product::JEDEC_COMPLIANT>;
- using CONSTS = mss::pmic::consts<mss::pmic::product::JEDEC_COMPLIANT>;
-
- // Get voltage for rail
- FAPI_TRY(mss::pmic::i2c::reg_read(i_pmic_target, mss::pmic::VOLT_SETTING_ACTIVE_REGS[i_rail],
- l_voltage_setting_reg_contents),
- "set_voltage_percent: Error reading 0x%02hhX of PMIC %s", mss::pmic::VOLT_SETTING_ACTIVE_REGS[i_rail],
- mss::c_str(i_pmic_target));
-
- // Get voltage range selections
- FAPI_TRY(mss::pmic::i2c::reg_read_reverse_buffer(i_pmic_target, REGS::R2B, l_voltage_range_reg_contents),
- "set_voltage_percent: Error reading 0x%02hhX of PMIC %s", REGS::R2B, mss::c_str(i_pmic_target));
- {
- // Identify range
- const uint8_t l_range_selection = l_voltage_range_reg_contents.getBit(mss::pmic::VOLT_RANGE_FLDS[i_rail]);
- uint8_t l_voltage_setting = 0;
-
- l_voltage_setting_reg_contents.extractToRight<FIELDS::VOLTAGE_SETTING_START, FIELDS::VOLTAGE_SETTING_LENGTH>
- (l_voltage_setting);
-
- // Get current voltage using: range_min + (step * setting)
- o_current_rail_voltage = mss::pmic::VOLT_RANGE_MINS[i_rail][l_range_selection] + (CONSTS::VOLT_STEP *
- l_voltage_setting);
- o_range_selection = l_range_selection;
- }
- return fapi2::FAPI2_RC_SUCCESS;
-
-fapi_try_exit:
- return fapi2::current_err;
-}
-
-///
-/// @brief Set the voltage percent on the specified rail of a JEDEC-compliant PMIC
-///
-/// @param[in] i_pmic_target PMIC to bias
-/// @param[in] i_rail rail to bias
-/// @param[in] i_percent percentage change
-/// @param[in] i_force override 10% change limit
-/// @return fapi2::ReturnCode fapi2::FAPI2_RC_SUCCESS iff success
-///
-fapi2::ReturnCode set_voltage_percent(
- const fapi2::Target<fapi2::TargetType::TARGET_TYPE_PMIC>& i_pmic_target,
- const mss::pmic::rail i_rail,
- const float i_percent,
- const bool i_force)
-{
- static constexpr float PERCENT_CONVERSION = 100;
-
- // Make sure less than 10% if not overriding or within threshold
- FAPI_ASSERT(bias_percent_within_threshold(i_percent, i_force),
- fapi2::PMIC_BIAS_VOLTAGE_PAST_THRESHOLD()
- .set_TARGET(i_pmic_target)
- .set_PERCENT(i_percent)
- .set_RAIL(i_rail),
- "set_voltage_percent(): Bias percentage %f%% provided to PMIC %s exceed the maximum of 10%%. Use -f to override",
- i_percent, mss::c_str(i_pmic_target));
- {
- uint32_t l_current_rail_voltage;
- uint8_t l_range_selection;
-
- FAPI_TRY(mss::pmic::get_current_rail_voltage(i_pmic_target, i_rail, l_current_rail_voltage, l_range_selection),
- "set_voltage_percent: Error getting current rail voltage for rail # %u of PMIC %s", i_rail, mss::c_str(i_pmic_target));
- {
- // Obtain target voltage by percent offset
- const uint32_t l_target_voltage_unrounded = l_current_rail_voltage * ((PERCENT_CONVERSION + i_percent) /
- PERCENT_CONVERSION);
-
- const uint32_t l_target_voltage = mss::pmic::round_rail_target_voltage(l_target_voltage_unrounded);
-
- FAPI_TRY(set_new_rail_voltage(i_pmic_target, i_rail, l_target_voltage, l_range_selection),
- "set_voltage_percent(): Error setting voltage on PMIC %s", mss::c_str(i_pmic_target));
- }
- }
-
-fapi_try_exit:
- return fapi2::current_err;
-}
-
-///
-/// @brief Set the voltage of a JEDEC_COMPLIANT pmic's rail
-///
-/// @param[in] i_pmic_target PMIC to bias
-/// @param[in] i_rail rail to bias
-/// @param[in] i_value value to set to
-/// @param[in] i_force override 10% change limit
-/// @return fapi2::ReturnCode fapi2::FAPI2_RC_SUCCESS iff success
-///
-fapi2::ReturnCode set_voltage_value(
- const fapi2::Target<fapi2::TargetType::TARGET_TYPE_PMIC>& i_pmic_target,
- const mss::pmic::rail i_rail,
- const float i_value,
- const bool i_force)
-{
- static constexpr float V_TO_MV_CONVERSION = 1000;
- static constexpr float PERCENT_CONVERSION = 100;
-
- const uint32_t l_value_mv = i_value * V_TO_MV_CONVERSION;
-
- uint32_t l_current_rail_voltage = 0;
- uint8_t l_range_selection;
-
- // Get range selection and voltage
- FAPI_TRY(mss::pmic::get_current_rail_voltage(i_pmic_target, i_rail, l_current_rail_voltage, l_range_selection),
- "set_voltage_percent: Error getting current rail voltage for rail # %u of PMIC %s", i_rail, mss::c_str(i_pmic_target));
- {
- // Calculate percent change
- // Float to avoid integer division
- const float l_percent_change = (((l_current_rail_voltage / static_cast<float>(l_value_mv)) - 1)) * PERCENT_CONVERSION;
-
- // Make sure less than 10% if not overriding or within threshold
- FAPI_ASSERT(bias_percent_within_threshold(l_percent_change, i_force),
- fapi2::PMIC_BIAS_VOLTAGE_PAST_THRESHOLD()
- .set_TARGET(i_pmic_target)
- .set_PERCENT(l_percent_change)
- .set_RAIL(i_rail),
- "set_voltage_value(): Bias percentage %f%% provided to PMIC %s exceed the maximum of 10%%. Use -f to override",
- l_percent_change, mss::c_str(i_pmic_target));
-
- {
- const uint32_t l_target_voltage = mss::pmic::round_rail_target_voltage(l_value_mv);
-
- // Verify new valid voltage and write to PMIC
- FAPI_TRY(set_new_rail_voltage(i_pmic_target, i_rail, l_target_voltage, l_range_selection),
- "set_voltage_value(): Error setting voltage on PMIC %s", mss::c_str(i_pmic_target));
- }
- }
-
- return fapi2::FAPI2_RC_SUCCESS;
-
-fapi_try_exit:
- return fapi2::current_err;
-}
-
-///
-/// @brief bias procedure for JEDEC compliant chips
-///
-/// @param[in] i_pmic_target - the pmic_target
-/// @param[in] i_setting setting to change (swa_volt, swb_volt, etc.)
-/// @param[in] i_amount amount to change by
-/// @param[in] i_unit percentage or value
-/// @param[in] i_force ignore 10% change limit
-/// @return fapi2::ReturnCode FAPI2_RC_SUCCESS iff success
-/// @note not templated by vendor. As long as the TI
-///
-fapi2::ReturnCode bias_chip(
- const fapi2::Target<fapi2::TargetType::TARGET_TYPE_PMIC>& i_pmic_target,
- const mss::pmic::setting i_setting,
- const float i_amount,
- const mss::pmic::unit i_unit,
- const bool i_force)
-{
- using CONSTS = mss::pmic::consts<mss::pmic::product::JEDEC_COMPLIANT>;
-
- if (i_unit == mss::pmic::unit::PERCENT)
- {
- FAPI_TRY(set_voltage_percent(i_pmic_target,
- static_cast<mss::pmic::rail>(i_setting % CONSTS::NUMBER_OF_RAILS),
- i_amount, i_force));
- }
- else // value
- {
- FAPI_TRY(set_voltage_value(i_pmic_target,
- static_cast<mss::pmic::rail>(i_setting % CONSTS::NUMBER_OF_RAILS),
- i_amount, i_force));
- }
-
-fapi_try_exit:
- return fapi2::current_err;
-}
-
-} // pmic
-} // mss
diff --git a/src/import/chips/ocmb/common/procedures/hwp/pmic/lib/utils/pmic_bias_utils.H b/src/import/chips/ocmb/common/procedures/hwp/pmic/lib/utils/pmic_bias_utils.H
deleted file mode 100644
index 64fd9fdcf..000000000
--- a/src/import/chips/ocmb/common/procedures/hwp/pmic/lib/utils/pmic_bias_utils.H
+++ /dev/null
@@ -1,183 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/import/chips/ocmb/common/procedures/hwp/pmic/lib/utils/pmic_bias_utils.H $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2019 */
-/* [+] 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 */
-
-///
-/// @file pmic_bias_utils.H
-/// @brief Procedure definition to bias PMIC
-///
-// *HWP HWP Owner: Mark Pizzutillo <mark.pizzutillo@ibm.com>
-// *HWP HWP Backup: Louis Stermole <stermole@us.ibm.com>
-// *HWP Team: Memory
-// *HWP Level: 2
-// *HWP Consumed by: FSP:HB
-
-#ifndef __PMIC_BIAS_UTILS_H__
-#define __PMIC_BIAS_UTILS_H__
-
-#include <fapi2.H>
-#include <lib/utils/pmic_consts.H>
-#include <lib/utils/pmic_common_utils.H>
-#include <pmic_regs.H>
-#include <pmic_regs_fld.H>
-#include <generic/memory/lib/utils/c_str.H>
-
-namespace mss
-{
-namespace pmic
-{
-
-///
-/// @brief Rail settings that the bias procedure can modify
-///
-enum setting
-{
- // We order these by rail in groups of 4 so they match with the rail enums,
- // so the rail can be derived from just a % 4 when we have more settings to change (see current)
- SWA_VOLT = 0,
- SWB_VOLT = 1,
- SWC_VOLT = 2,
- SWD_VOLT = 3,
- // SWA_CURRENT = 4,
- // SWB_CURRENT = 5,
- // ..
- // ..
- NO_SETTING = 8,
-};
-
-///
-/// @brief Different methods of biasing
-///
-enum unit
-{
- NO_UNIT = 0, // default value that we can use for error checking
- VALUE = 1,
- PERCENT = 2,
-};
-
-// Max bias % change that the procedure will allow without override flag
-static constexpr float PERCENT_MAX_BIAS = 10.0;
-
-//-------- JEDEC SPECIFIC HELPER FUNCS ---------//
-
-///
-/// @brief Set the voltage of a rail (post-rounding)
-///
-/// @param[in] i_pmic_target PMIC target
-/// @param[in] i_rail rail to set
-/// @param[in] i_target_voltage voltage to set to
-/// @param[in] i_range_selection range (0 or 1) of the rail
-/// @return fapi2::ReturnCode FAPI2_RC_SUCCESS iff success
-///
-fapi2::ReturnCode set_new_rail_voltage(
- const fapi2::Target<fapi2::TargetType::TARGET_TYPE_PMIC>& i_pmic_target,
- const mss::pmic::rail i_rail,
- const uint32_t i_target_voltage,
- const uint8_t i_range_selection);
-
-///
-/// @brief round a target rail voltage to the nearest step of 5mV to create the voltage bitmap
-///
-/// @param[in] l_target_voltage_unrounded unrounded voltage
-/// @return uint32_t rounded voltage
-///
-uint32_t round_rail_target_voltage(const uint32_t l_target_voltage_unrounded);
-
-///
-/// @brief Checks if bias percentage is within the MAX_BIAS threshold
-///
-/// @param[in] i_percent percentage to check
-/// @param[in] i_force force change (would force evaluation to true)
-/// @return true if in range, false if not
-///
-bool bias_percent_within_threshold(const float i_percent, const bool i_force);
-
-///
-/// @brief Get the current rail voltage of a JEDEC PMIC
-///
-/// @param[in] i_pmic_target PMIC target
-/// @param[in] i_rail rail to read from
-/// @param[out] o_current_rail_voltage voltage calculated for rail
-/// @param[out] o_range_selection range selection of that voltage
-/// @return fapi2::ReturnCode FAPI2_RC_SUCCESS iff success, else error
-/// @note not templated as the arguments may differ for other chips (if we ever use others)
-///
-fapi2::ReturnCode get_current_rail_voltage(const fapi2::Target<fapi2::TargetType::TARGET_TYPE_PMIC>&
- i_pmic_target,
- const mss::pmic::rail i_rail,
- uint32_t& o_current_rail_voltage,
- uint8_t& o_range_selection);
-
-//-------------- HELPER FUNCTIONS --------------//
-
-///
-/// @brief Set the voltage percent on the specified rail of a PMIC device
-///
-/// @param[in] i_pmic_target PMIC target
-/// @param[in] i_rail rail to bias
-/// @param[in] i_percent percentage change
-/// @param[in] i_force override 10% change limit
-/// @return fapi2::ReturnCode fapi2::FAPI2_RC_SUCCESS iff success
-///
-fapi2::ReturnCode set_voltage_percent(const fapi2::Target<fapi2::TargetType::TARGET_TYPE_PMIC>& i_pmic_target,
- const mss::pmic::rail i_rail,
- const float i_percent,
- const bool i_force);
-
-///
-/// @brief Set the voltage of a rail by a value
-///
-/// @param[in] i_pmic_target PMIC to bias
-/// @param[in] i_rail rail to bias
-/// @param[in] i_value value to set to
-/// @param[in] i_force override 10% change limit
-/// @return fapi2::ReturnCode fapi2::FAPI2_RC_SUCCESS iff success
-///
-fapi2::ReturnCode set_voltage_value(const fapi2::Target<fapi2::TargetType::TARGET_TYPE_PMIC>& i_pmic_target,
- const mss::pmic::rail i_rail,
- const float i_value,
- const bool i_force);
-
-//------------------- BIAS FUNCTIONS -----------------//
-
-///
-/// @brief Bias a chip with the given settings
-///
-/// @param[in] i_pmic_target - the pmic_target
-/// @param[in] i_setting setting to change (swa_volt, swb_volt, etc.)
-/// @param[in] i_amount amount to change by
-/// @param[in] i_unit percentage or value
-/// @param[in] i_force ignore 10% change limit
-/// @return fapi2::ReturnCode FAPI2_RC_SUCCESS iff success
-///
-fapi2::ReturnCode bias_chip(const fapi2::Target<fapi2::TargetType::TARGET_TYPE_PMIC>& i_pmic_target,
- const mss::pmic::setting i_setting,
- const float i_amount,
- const mss::pmic::unit i_unit,
- const bool i_force);
-
-} // pmic
-} // mss
-
-#endif
diff --git a/src/import/chips/ocmb/common/procedures/hwp/pmic/pmic_bias.C b/src/import/chips/ocmb/common/procedures/hwp/pmic/pmic_bias.C
deleted file mode 100644
index c0b65f3ba..000000000
--- a/src/import/chips/ocmb/common/procedures/hwp/pmic/pmic_bias.C
+++ /dev/null
@@ -1,112 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/import/chips/ocmb/common/procedures/hwp/pmic/pmic_bias.C $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2019 */
-/* [+] 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 */
-
-///
-/// @file pmic_bias.C
-/// @brief Procedure definition to bias PMIC
-///
-// *HWP HWP Owner: Mark Pizzutillo <mark.pizzutillo@ibm.com>
-// *HWP HWP Backup: Louis Stermole <stermole@us.ibm.com>
-// *HWP Team: Memory
-// *HWP Level: 2
-// *HWP Consumed by: FSP:HB
-
-#include <fapi2.H>
-#include <lib/utils/pmic_bias_utils.H>
-#include <lib/utils/pmic_common_utils.H>
-#include <pmic_bias.H>
-#include <generic/memory/lib/utils/find.H>
-#include <lib/i2c/i2c_pmic.H>
-#include <pmic_regs.H>
-#include <pmic_regs_fld.H>
-#include <lib/utils/pmic_bias_utils.H>
-#include <lib/utils/pmic_consts.H>
-#include <generic/memory/lib/utils/c_str.H>
-
-extern "C"
-{
- ///
- /// @brief Bias procedure for PMIC devices
- ///
- /// @param[in] i_ocmb_target explorer target
- /// @param[in] i_id the PMIC to change (PMIC0,PMIC1)
- /// @param[in] i_setting setting to change (swa_volt, swb_volt, etc.)
- /// @param[in] i_amount amount to change by
- /// @param[in] i_unit percentage or value
- /// @param[in] i_force ignore 10% change limit
- /// @return fapi2::ReturnCode FAPI2_RC_SUCCESS iff success
- ///
- fapi2::ReturnCode pmic_bias(const fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP>& i_ocmb_target,
- const mss::pmic::id i_id,
- const mss::pmic::setting i_setting,
- const float i_amount,
- const mss::pmic::unit i_unit,
- const bool i_force)
- {
- // Check that our inputs are valid
- FAPI_ASSERT(i_id != mss::pmic::id::UNKNOWN_ID,
- fapi2::PMIC_NO_PMIC_SPECIFIED()
- .set_TARGET(i_ocmb_target)
- .set_PMIC_ID(uint8_t(i_id)),
- "pmic_bias(): PMIC ID %u was unknown for bias procedure call on OCMB %s",
- uint8_t(i_id), i_ocmb_target);
-
- FAPI_ASSERT(i_setting != mss::pmic::setting::NO_SETTING,
- fapi2::PMIC_NO_SETTING_SPECIFIED()
- .set_TARGET(i_ocmb_target)
- .set_SETTING_ID(uint8_t(i_setting)),
- "pmic_bias(): PMIC setting ID %u was unknown for bias procedure call on OCMB %s",
- uint8_t(i_setting), i_ocmb_target);
-
- FAPI_ASSERT(i_unit != mss::pmic::unit::NO_UNIT,
- fapi2::PMIC_NO_UNIT_SPECIFIED()
- .set_TARGET(i_ocmb_target)
- .set_UNIT_ID(uint8_t(i_unit)),
- "pmic_bias(): Biasing unit ID %u was unknown for bias procedure call on OCMB %s",
- uint8_t(i_unit), i_ocmb_target);
-
- for (const auto& l_pmic : mss::find_targets<fapi2::TARGET_TYPE_PMIC>(i_ocmb_target))
- {
- // If matching ID (pmic0, pmic1), then we will bias it
- if ((mss::index(l_pmic) % mss::pmic::consts<mss::pmic::product::JEDEC_COMPLIANT>::NUM_UNIQUE_PMICS) == i_id)
- {
- // Poll to make sure PBULK reports good, then we can be sure we can write/read registers
- FAPI_TRY(mss::pmic::poll_for_pbulk_good(l_pmic),
- "pmic_enable: poll for pbulk good either failed, or returned not good status on PMIC %s",
- mss::c_str(l_pmic));
-
- FAPI_INF("Performing BIAS on PMIC %s", mss::c_str(l_pmic));
-
- // Now call the bias function
- FAPI_TRY(mss::pmic::bias_chip(l_pmic, i_setting, i_amount, i_unit, i_force),
- "Error biasing PMIC %s", mss::c_str(l_pmic));
- }
- }
-
- return fapi2::FAPI2_RC_SUCCESS;
- fapi_try_exit:
- return fapi2::current_err;
- }
-} // extern C
diff --git a/src/import/chips/ocmb/common/procedures/hwp/pmic/pmic_bias.H b/src/import/chips/ocmb/common/procedures/hwp/pmic/pmic_bias.H
deleted file mode 100644
index 75a2465b3..000000000
--- a/src/import/chips/ocmb/common/procedures/hwp/pmic/pmic_bias.H
+++ /dev/null
@@ -1,71 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: src/import/chips/ocmb/common/procedures/hwp/pmic/pmic_bias.H $ */
-/* */
-/* OpenPOWER HostBoot Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2019 */
-/* [+] 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 */
-
-///
-/// @file pmic_bias.H
-/// @brief Procedure definition to bias PMIC
-///
-// *HWP HWP Owner: Mark Pizzutillo <mark.pizzutillo@ibm.com>
-// *HWP HWP Backup: Louis Stermole <stermole@us.ibm.com>
-// *HWP Team: Memory
-// *HWP Level: 1
-// *HWP Consumed by: FSP:HB
-
-#ifndef __PMIC_BIAS_H__
-#define __PMIC_BIAS_H__
-
-#include <fapi2.H>
-#include <lib/utils/pmic_bias_utils.H>
-#include <lib/utils/pmic_consts.H>
-
-typedef fapi2::ReturnCode (*pmic_bias_FP_t) (const fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP>&,
- const mss::pmic::id i_id,
- const mss::pmic::setting,
- const float,
- const mss::pmic::unit,
- const bool);
-
-extern "C"
-{
- ///
- /// @brief Bias procedure for PMIC devices
- ///
- /// @param[in] i_ocmb_target explorer target
- /// @param[in] i_id the PMIC to change (PMIC0,PMIC1)
- /// @param[in] i_setting setting to change (swa_volt, swb_volt, etc.)
- /// @param[in] i_amount amount to change by
- /// @param[in] i_unit percentage or value
- /// @param[in] i_force ignore 10% change limit
- /// @return fapi2::ReturnCode FAPI2_RC_SUCCESS iff success
- ///
- fapi2::ReturnCode pmic_bias(const fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP>& i_ocmb_target,
- const mss::pmic::id i_id = mss::pmic::id::PMIC0,
- const mss::pmic::setting i_setting = mss::pmic::setting::NO_SETTING,
- const float i_amount = 0,
- const mss::pmic::unit i_unit = mss::pmic::unit::NO_UNIT,
- const bool i_force = false);
-}
-
-#endif
OpenPOWER on IntegriCloud