diff options
author | Benjamin Weisenbeck <bweisenb@us.ibm.com> | 2016-10-28 11:55:14 -0500 |
---|---|---|
committer | Zane C. Shelley <zshelle@us.ibm.com> | 2016-11-14 13:27:37 -0500 |
commit | a904e156364a8f0fd5f6bc2b7094f79cf77da1b2 (patch) | |
tree | ac12b97c241996ee266d0eae23694ead605a8824 /src/usr | |
parent | 5eeea6b14a4b2e0d1d908f238d02699e1e0e86fa (diff) | |
download | talos-hostboot-a904e156364a8f0fd5f6bc2b7094f79cf77da1b2.tar.gz talos-hostboot-a904e156364a8f0fd5f6bc2b7094f79cf77da1b2.zip |
PRD: Check TPLFIR[21] for pll unlock
Change-Id: I208791f388f7bf39ec1deb08f774ed74ed4059bf
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/31986
Reviewed-by: Brian J. Stegmiller <bjs@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com>
Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/32584
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Diffstat (limited to 'src/usr')
-rwxr-xr-x | src/usr/diag/prdf/common/plat/p9/prdfP9Pll.C | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/src/usr/diag/prdf/common/plat/p9/prdfP9Pll.C b/src/usr/diag/prdf/common/plat/p9/prdfP9Pll.C index a30942646..0d2cce7c3 100755 --- a/src/usr/diag/prdf/common/plat/p9/prdfP9Pll.C +++ b/src/usr/diag/prdf/common/plat/p9/prdfP9Pll.C @@ -53,8 +53,9 @@ namespace Proc // PLL detect bits in TPLFIR enum { - PLL_DETECT_SYS_REF = 36, - PLL_DETECT_MF_REF = 37, + PLL_UNLOCK = 21, + OSC_SW_SYS_REF = 36, + OSC_SW_MF_REF = 37, }; /** @@ -95,10 +96,13 @@ int32_t QueryPll( ExtensibleChip * i_chip, break; } - if (((! TP_LFIRmask->IsBitSet(PLL_DETECT_SYS_REF)) && - (TP_LFIR->IsBitSet(PLL_DETECT_SYS_REF))) || - ((! TP_LFIRmask->IsBitSet(PLL_DETECT_MF_REF)) && - (TP_LFIR->IsBitSet(PLL_DETECT_MF_REF)))) + if ( ((! TP_LFIRmask->IsBitSet(PLL_UNLOCK)) && + TP_LFIR->IsBitSet(PLL_UNLOCK)) || + ((! TP_LFIRmask->IsBitSet(OSC_SW_SYS_REF)) && + TP_LFIR->IsBitSet(OSC_SW_SYS_REF)) || + ((! TP_LFIRmask->IsBitSet(OSC_SW_MF_REF)) && + TP_LFIR->IsBitSet(OSC_SW_MF_REF)) ) + { o_result = true; } @@ -136,8 +140,10 @@ int32_t ClearPll( ExtensibleChip * i_chip, SCAN_COMM_REGISTER_CLASS * TP_LFIRand = i_chip->getRegister("TP_LFIR_AND"); TP_LFIRand->setAllBits(); - TP_LFIRand->ClearBit(PLL_DETECT_SYS_REF); - TP_LFIRand->ClearBit(PLL_DETECT_MF_REF); + TP_LFIRand->ClearBit(PLL_UNLOCK); + TP_LFIRand->ClearBit(OSC_SW_SYS_REF); + TP_LFIRand->ClearBit(OSC_SW_MF_REF); + rc = TP_LFIRand->Write(); if (rc != SUCCESS) { @@ -166,8 +172,10 @@ int32_t MaskPll( ExtensibleChip * i_chip, SCAN_COMM_REGISTER_CLASS * tpmask_or = i_chip->getRegister("TP_LFIR_MASK_OR"); tpmask_or->clearAllBits(); - tpmask_or->SetBit(PLL_DETECT_SYS_REF); - tpmask_or->SetBit(PLL_DETECT_MF_REF); + tpmask_or->SetBit(PLL_UNLOCK); + tpmask_or->SetBit(OSC_SW_SYS_REF); + tpmask_or->SetBit(OSC_SW_MF_REF); + rc = tpmask_or->Write(); if (rc != SUCCESS) { |