diff options
| author | Nick Bofferding <bofferdn@us.ibm.com> | 2019-02-20 22:11:41 -0600 |
|---|---|---|
| committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2019-03-08 10:12:18 -0600 |
| commit | 09a3da7596822d721dee3e69a13adfdd67759588 (patch) | |
| tree | 4f782633fc309aaecbd08b2465abad20dd47adac /src/usr/isteps | |
| parent | 6fa8d04529309619414c75a1e975f3f41d46fcd0 (diff) | |
| download | talos-hostboot-09a3da7596822d721dee3e69a13adfdd67759588.tar.gz talos-hostboot-09a3da7596822d721dee3e69a13adfdd67759588.zip | |
UCD Flash Update: Support I2C SMBUS operations for UCD flash update
- Adds I2C SMBUS operations for UCD flash update
- Creates UCD component ID + trace name
- Creates stub for UCD flash update entry point
Change-Id: Id75cdd137b5a4924998c04bdbdce9218610a4906
RTC: 201992
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72229
Reviewed-by: Ilya Smirnov <ismirno@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: Matthew Raybuck <matthew.raybuck@ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/isteps')
| -rw-r--r-- | src/usr/isteps/istep21/call_update_ucd_flash.C | 11 | ||||
| -rw-r--r-- | src/usr/isteps/makefile | 3 | ||||
| -rw-r--r-- | src/usr/isteps/ucd/makefile | 32 | ||||
| -rw-r--r-- | src/usr/isteps/ucd/updateUcdFlash.C | 67 |
4 files changed, 111 insertions, 2 deletions
diff --git a/src/usr/isteps/istep21/call_update_ucd_flash.C b/src/usr/isteps/istep21/call_update_ucd_flash.C index fa2d36896..78b59653f 100644 --- a/src/usr/isteps/istep21/call_update_ucd_flash.C +++ b/src/usr/isteps/istep21/call_update_ucd_flash.C @@ -31,7 +31,8 @@ #include <hbotcompid.H> #include <config.h> #include <initservice/isteps_trace.H> - +#include <isteps/ucd/updateUcdFlash.H> +#include <secureboot/trustedbootif.H> #include "call_update_ucd_flash.H" namespace POWER_SEQUENCER @@ -67,7 +68,15 @@ void call_update_ucd_flash(void) break; } + // Make sure TPM queue is flushed before doing any I2C operations + TRUSTEDBOOT::flushTpmQueue(); + // @TODO RTC 201990 add flash update algorithm and make trace TRACDBIN + // call into: + // + // errlHndl_t updateUcdFlash( + // TARGETING::Target* i_pUcd, + // const void* i_pFlashImage); for(const auto& lid : info.lidIds) { TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,"LID ID=0x%08X, " diff --git a/src/usr/isteps/makefile b/src/usr/isteps/makefile index e5aa9935d..dca7777f7 100644 --- a/src/usr/isteps/makefile +++ b/src/usr/isteps/makefile @@ -5,7 +5,7 @@ # # OpenPOWER HostBoot Project # -# Contributors Listed Below - COPYRIGHT 2011,2018 +# Contributors Listed Below - COPYRIGHT 2011,2019 # [+] International Business Machines Corp. # # @@ -51,6 +51,7 @@ SUBDIRS+=fab_iovalid.d SUBDIRS+=nest.d SUBDIRS+=io.d SUBDIRS+=nvdimm.d +SUBDIRS+=ucd.d #TODO: RTC 176018 EXTRAINCDIR += ${ROOTPATH}/src/import/ diff --git a/src/usr/isteps/ucd/makefile b/src/usr/isteps/ucd/makefile new file mode 100644 index 000000000..9ffe7a69b --- /dev/null +++ b/src/usr/isteps/ucd/makefile @@ -0,0 +1,32 @@ +# IBM_PROLOG_BEGIN_TAG +# This is an automatically generated prolog. +# +# $Source: src/usr/isteps/ucd/makefile $ +# +# 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 + +ROOTPATH = ../../../.. + +MODULE = ucd + +OBJS += updateUcdFlash.o + +include ${ROOTPATH}/config.mk diff --git a/src/usr/isteps/ucd/updateUcdFlash.C b/src/usr/isteps/ucd/updateUcdFlash.C new file mode 100644 index 000000000..4e1e3b13d --- /dev/null +++ b/src/usr/isteps/ucd/updateUcdFlash.C @@ -0,0 +1,67 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/usr/isteps/ucd/updateUcdFlash.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 */ + +#include <config.h> +#include <isteps/ucd/updateUcdFlash.H> +#include <devicefw/driverif.H> +#include <targeting/common/entitypath.H> +#include <targeting/common/target.H> +#include <targeting/common/targetservice.H> +#include <errl/errlentry.H> +#include <devicefw/driverif.H> +#include <trace/interface.H> +#include <string.h> +#include <hbotcompid.H> +#include <errl/errlmanager.H> +#include <errl/errlentry.H> + +namespace POWER_SEQUENCER +{ + +namespace TI // Texas Instruments +{ + +namespace UCD // UCD Series +{ + +trace_desc_t* g_trac_ucd = nullptr; +TRAC_INIT(&g_trac_ucd, UCD_COMP_NAME, 2*KILOBYTE); + +errlHndl_t updateUcdFlash( + TARGETING::Target* i_pUcd, + const void* i_pFlashImage) +{ + errlHndl_t pError=nullptr; + + // Stub for future additional support + + return pError; +} + +} // End namespace POWER_SEQUENCER + +} // End namespace TI + +} // End namespace UCD |

