summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSudheendra K Srivathsa <sudheendraks@in.ibm.com>2016-08-03 06:25:00 -0400
committerDaniel M. Crowell <dcrowell@us.ibm.com>2016-11-15 23:33:28 -0500
commit231dd65379bd560be939266fccd43efa053be264 (patch)
treefb156769d10a33520f03dc47f70acb0e28f9dc0f
parent5a73a312a7c631406fbbead1146737a492ba22cd (diff)
downloadtalos-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.C54
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);
OpenPOWER on IntegriCloud