diff options
author | Mike Baiocchi <mbaiocch@us.ibm.com> | 2019-03-25 23:15:24 -0500 |
---|---|---|
committer | Nicholas E. Bofferding <bofferdn@us.ibm.com> | 2019-03-26 10:21:13 -0500 |
commit | ffdc6b255981c8b52e3f5513425ebbaa8dfeb675 (patch) | |
tree | b1e6dcfe3390cb5baca2c58d3f1609d10dffb033 /src/usr | |
parent | ab6efc5935dceb9d7e5a7df64f1700fa909370c4 (diff) | |
download | talos-hostboot-ffdc6b255981c8b52e3f5513425ebbaa8dfeb675.tar.gz talos-hostboot-ffdc6b255981c8b52e3f5513425ebbaa8dfeb675.zip |
Add check to determine if a UCD's I2C Master is functional
Inside the code that loops over all the supported UCD devices for
possibly updating their flash image, a check was added to make
sure that the UCD's I2C Master target is functional.
Change-Id: Id03bf20f0295a27f67f9da8da207934af710630f
CQ:SW460918
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/75002
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Matthew Raybuck <matthew.raybuck@ibm.com>
Reviewed-by: Ilya Smirnov <ismirno@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com>
Diffstat (limited to 'src/usr')
-rw-r--r-- | src/usr/isteps/ucd/updateUcdFlash.C | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/usr/isteps/ucd/updateUcdFlash.C b/src/usr/isteps/ucd/updateUcdFlash.C index ce6eff490..d0e746c18 100644 --- a/src/usr/isteps/ucd/updateUcdFlash.C +++ b/src/usr/isteps/ucd/updateUcdFlash.C @@ -679,6 +679,21 @@ errlHndl_t updateAllUcdFlashImages( "with HUID of 0x%08X", TARGETING::get_huid(powerSequencer)); + // Check that pI2cMasterTarget is functional because otherwise the UCD + // can't be accessed + TARGETING::HwasState l_hwasState = + pI2cMasterTarget->getAttr<TARGETING::ATTR_HWAS_STATE>(); + if (l_hwasState.functional != true) + { + TRACFCOMP(g_trac_ucd, INFO_MRK + "updateAllUcdFlashImages: Skipping update on power sequencer HUID " + "= 0x%08X because its I2C Master HUID = 0x%08X is non-functional", + TARGETING::get_huid(powerSequencer), + TARGETING::get_huid(pI2cMasterTarget)); + + break; + } + const auto position = pI2cMasterTarget-> getAttr<TARGETING::ATTR_POSITION>(); |