diff options
author | Sudheendra K Srivathsa <sudheendraks@in.ibm.com> | 2016-08-03 06:25:00 -0400 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2016-11-15 23:33:28 -0500 |
commit | 231dd65379bd560be939266fccd43efa053be264 (patch) | |
tree | fb156769d10a33520f03dc47f70acb0e28f9dc0f | |
parent | 5a73a312a7c631406fbbead1146737a492ba22cd (diff) | |
download | talos-hostboot-231dd65379bd560be939266fccd43efa053be264.tar.gz talos-hostboot-231dd65379bd560be939266fccd43efa053be264.zip |
p9_setup_evid/p9_avsbus_voltage support for configurable buses/MVPD access
Change-Id: Ib5185f2f59747e710675a7e204145fd00f0e9401
Original-Change-Id: Ib14cced823da65799c9018e95d3f67383838f27c
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/27818
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Reviewed-by: Andres A. Lugo-Reyes <aalugore@us.ibm.com>
Reviewed-by: Gregory S. Still <stillgs@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/32644
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
-rw-r--r-- | src/import/chips/p9/procedures/hwp/pm/p9_avsbus_voltage.C | 54 |
1 files changed, 15 insertions, 39 deletions
diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_avsbus_voltage.C b/src/import/chips/p9/procedures/hwp/pm/p9_avsbus_voltage.C index aaed8e297..58752f7c6 100644 --- a/src/import/chips/p9/procedures/hwp/pm/p9_avsbus_voltage.C +++ b/src/import/chips/p9/procedures/hwp/pm/p9_avsbus_voltage.C @@ -94,6 +94,16 @@ p9avsInitAttributes( const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target { FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_VCS_AVSBUS_BUSNUM, i_target, attrs->RailBusNum)); + + if(attrs->RailBusNum == 0xFF) + { + FAPI_ERR("Programming error via AVSBus, VCS rail not connected to AVSBus interface in the system."); + FAPI_ASSERT(false, + fapi2::P9_VCS_RAIL_ERR() + .set_TARGET(i_target), + "ERROR: Programming error via AVSBus, VCS rail not connected to AVSBus interface in the system."); + } + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_VCS_AVSBUS_RAIL, i_target, attrs->RailSelect)); } @@ -112,34 +122,17 @@ p9_avsbus_voltage_read( const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_tar p9_avsbus_attrs_t attrs; - p9avslib::avsBusNum l_avs_bus_num = p9avslib::AVSBUSVDD; - avsbus_data_t voltage_read_data; - //@TODO RTC 156536 - Remove code once p9_avsbus_lib function is updated to read bus num directly from attributes - if (i_voltage_rail == p9avslib::VDD) - { - l_avs_bus_num = p9avslib::AVSBUSVDD; - } - else if (i_voltage_rail == p9avslib::VDN) - { - l_avs_bus_num = p9avslib::AVSBUSVDN; - } - else if (i_voltage_rail == p9avslib::VCS) - { - l_avs_bus_num = p9avslib::AVSBUSVCS; - } - // Read attribute - FAPI_INF("Reading AVSBus attributes for the selected voltage rail"); FAPI_TRY(p9avsInitAttributes(i_target, i_voltage_rail, &attrs)); - //@TODO RTC 156536 - Replace with attrs.RailBusNum once p9_avsbus_lib function is updated to read bus num directly from attributes // Initialize the buses FAPI_INF("Initializing AVSBus interface"); FAPI_TRY(avsInitExtVoltageControl(i_target, - l_avs_bus_num, BRIDGE_NUMBER), - "Initializing avsBus Num %d, bridge %d", l_avs_bus_num, BRIDGE_NUMBER); + attrs.RailBusNum, BRIDGE_NUMBER), + "Initializing avsBus Num %d, bridge %d", attrs.RailBusNum, BRIDGE_NUMBER); FAPI_INF("Reading the specified voltage rail value"); FAPI_TRY(avsVoltageRead(i_target, attrs.RailBusNum, BRIDGE_NUMBER, @@ -159,38 +152,21 @@ p9_avsbus_voltage_write( const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_ta p9_avsbus_attrs_t attrs; - p9avslib::avsBusNum l_avs_bus_num = p9avslib::AVSBUSVDD; - - //@TODO RTC 156536- Remove code once p9_avsbus_lib function is updated to read bus num directly from attributes - if (i_voltage_rail == p9avslib::VDD) - { - l_avs_bus_num = p9avslib::AVSBUSVDD; - } - else if (i_voltage_rail == p9avslib::VDN) - { - l_avs_bus_num = p9avslib::AVSBUSVDN; - } - else if (i_voltage_rail == p9avslib::VCS) - { - l_avs_bus_num = p9avslib::AVSBUSVCS; - } - // Read attribute - FAPI_INF("Reading AVSBus attributes for the selected voltage rail"); FAPI_TRY(p9avsInitAttributes(i_target, i_voltage_rail, &attrs)); - //@TODO RTC 156536 - Replace with attrs.RailBusNum once p9_avsbus_lib function is updated to read bus num directly from attributes // Initialize the buses FAPI_INF("Initializing AVSBus interface"); FAPI_TRY(avsInitExtVoltageControl(i_target, - l_avs_bus_num, BRIDGE_NUMBER), - "Initializing avsBus Num %d, bridge %d", l_avs_bus_num, BRIDGE_NUMBER); + attrs.RailBusNum, BRIDGE_NUMBER), + "Initializing avsBus Num %d, bridge %d", attrs.RailBusNum, BRIDGE_NUMBER); // Set the required voltage FAPI_INF("Setting the specified voltage rail value"); FAPI_TRY(avsVoltageWrite(i_target, attrs.RailBusNum, BRIDGE_NUMBER, attrs.RailSelect, i_Voltage), - "Setting voltage via AVSBus %d, Bridge %d", + "Setting voltage via AVSBus %d, Bridge %d failed", attrs.RailBusNum, BRIDGE_NUMBER); |