diff options
author | Greg Still <stillgs@us.ibm.com> | 2017-06-27 09:26:41 -0500 |
---|---|---|
committer | Christian R. Geddes <crgeddes@us.ibm.com> | 2017-07-07 11:16:11 -0400 |
commit | 87812eb29ba188bf9d0fdc6c691c09efbd63a13f (patch) | |
tree | 788dbad5cf173d269aabb35e20cf07c93100d36e /src/import | |
parent | 222af0c322a6e0383000aaf3da130dd878f084c9 (diff) | |
download | talos-hostboot-87812eb29ba188bf9d0fdc6c691c09efbd63a13f.tar.gz talos-hostboot-87812eb29ba188bf9d0fdc6c691c09efbd63a13f.zip |
PM: set PGPE and SGPE Timer Select
- Writes fixed values for FIT and watchdog timers on both engines
- Needed for DD2 as DD1 was done with initfile settings
- Will work for either DD level
Change-Id: I8fa0a5a20091016e4210b7c81b0297bded7ade62
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42496
Reviewed-by: RAHUL BATRA <rbatra@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Michael S. Floyd <mfloyd@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Jennifer A Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42500
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
Diffstat (limited to 'src/import')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/pm/p9_pm_pstate_gpe_init.C | 9 | ||||
-rw-r--r-- | src/import/chips/p9/procedures/hwp/pm/p9_pm_stop_gpe_init.C | 8 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pm_pstate_gpe_init.C b/src/import/chips/p9/procedures/hwp/pm/p9_pm_pstate_gpe_init.C index f307d4b60..c601f64fd 100644 --- a/src/import/chips/p9/procedures/hwp/pm/p9_pm_pstate_gpe_init.C +++ b/src/import/chips/p9/procedures/hwp/pm/p9_pm_pstate_gpe_init.C @@ -134,6 +134,15 @@ fapi2::ReturnCode pstate_gpe_init( FAPI_TRY(putScom(i_target, PU_OCB_OCI_OCCFLG_SCOM2, BIT(p9hcd::PGPE_PSTATE_PROTOCOL_AUTO_ACTIVATE))); } + // Setup the PGPE Timer Selects + // These hardcoded values are assumed by the PGPE Hcode for setting up + // the FIT and Watchdog values a based on the nest frequency that is + // passed to it via the PGPE header. + l_data64.flush<0>() + .insertFromRight<0, 4>(0x1) // Watchdog + .insertFromRight<4, 4>(0xA); // FIT + FAPI_TRY(fapi2::putScom(i_target, PU_GPE2_GPETSEL_SCOM, l_data64)); + // Program XCR to ACTIVATE PGPE // @todo RTC 146665 Operations to PPEs should use a p9ppe namespace FAPI_INF(" Starting the PGPE..."); diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pm_stop_gpe_init.C b/src/import/chips/p9/procedures/hwp/pm/p9_pm_stop_gpe_init.C index 5e05fcb45..08295568b 100644 --- a/src/import/chips/p9/procedures/hwp/pm/p9_pm_stop_gpe_init.C +++ b/src/import/chips/p9/procedures/hwp/pm/p9_pm_stop_gpe_init.C @@ -282,6 +282,14 @@ fapi2::ReturnCode p9_pm_stop_gpe_init( } } + // Setup the SGPE Timer Selects + // These hardcoded values are assumed by the SGPE Hcode for setting up + // the FIT and Watchdog values. + l_data64.flush<0>() + .insertFromRight<0, 4>(0x1) // Watchdog + .insertFromRight<4, 4>(0xA); // FIT + FAPI_TRY(fapi2::putScom(i_target, PU_GPE3_GPETSEL_SCOM, l_data64)); + // Boot the STOP GPE FAPI_TRY(stop_gpe_init(i_target), "ERROR: failed to initialize Stop GPE"); |