Skip to content

Commit 95885db

Browse files
jjmcgilldcrowell77
authored andcommitted
support customization of Nimbus DD1 PCI reference clock speed
rename existing EC feature attribute, now serves as DD1N enable qualifying application of MRW-sourced ATTR_DD1_SLOW_PCI_REF_CLOCK: 0 = NORMAL = 100 MHz 1 = SLOW = 94 MHz MRW attribute is plumbed through SBE mailbox (scratch 5 bit 5, value inverted) and added to XIP customize CMVC-Prereq:1020384 Change-Id: I376f06d0d49ab3d39c965e3131d484cbe9535566 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/38129 Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: Thi N. Tran <thi@us.ibm.com> Reviewed-by: Joseph J. McGill <jmcgill@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/38135 Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
1 parent 0d4be26 commit 95885db

File tree

3 files changed

+25
-2
lines changed

3 files changed

+25
-2
lines changed

src/build/citest/etc/workarounds.postsimsetup

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,24 @@
2727
## Workarounds that are run after start_simics is executed for the first time
2828
## to setup the sandbox
2929
##
30-
3130
### Example applying a patch to cec-chip files
3231
#echo "+++ Updating something wonderful in a simics file"
3332
#mkdir -p $sb/simu/data/cec-chip/
3433
#cp $BACKING_BUILD/src/simu/data/cec-chip/base_cec_chip_file $sb/simu/data/cec-chip
3534
#patch -p0 $sb/simu/data/cec-chip/base_cec_chip_file $PROJECT_ROOT/src/build/citest/etc/patches/my_patch_File
36-
3735
#pull in new actions in p9_memory.act RTC 171066
3836
echo "+++ Updating p9n_memory.act file for p9_mss_ddr_phy_reset"
3937
sbex -t 1019444
4038

39+
#pull in href makefile fix
40+
echo "+++ Updating href makefile"
41+
sbex -t 1020522
42+
43+
#pull in new sbe image
44+
echo "+++ Updating sbe image"
45+
sbex -t 1020384
46+
chmod 777 $sb/sbei/sbfw/img/*
47+
mkdir -p $sb/engd/href/
48+
cd $sb/engd/href
49+
mk -a -k
4150

src/import/chips/p9/procedures/hwp/customize/p9_xip_customize.C

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ fapi2::ReturnCode writeMboxRegs (
100100
MBOX_ATTR_SET (ATTR_PROC_SBE_MASTER_CHIP, i_proc_target, i_image);
101101
MBOX_ATTR_CLEAR (ATTR_PROC_FABRIC_GROUP_ID, i_proc_target, i_image);
102102
MBOX_ATTR_CLEAR (ATTR_PROC_FABRIC_CHIP_ID, i_proc_target, i_image);
103+
MBOX_ATTR_WRITE (ATTR_DD1_SLOW_PCI_REF_CLOCK, FAPI_SYSTEM, i_image);
103104

104105
fapi_try_exit:
105106
FAPI_DBG("writeMboxRegs Exiting...");

src/import/chips/p9/procedures/hwp/perv/p9_setup_sbe_config.C

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ enum P9_SETUP_SBE_CONFIG_Private_Constants
8282
ATTR_RISK_LEVEL_BIT = 2,
8383
ATTR_DISABLE_HBBL_VECTORS_BIT = 3,
8484
ATTR_MC_SYNC_MODE_BIT = 4,
85+
ATTR_SLOW_PCI_REF_CLOCK_BIT = 5,
8586

8687
// Scratch_reg_6
8788
ATTR_PROC_FABRIC_GROUP_ID_STARTBIT = 26,
@@ -277,6 +278,7 @@ fapi2::ReturnCode p9_setup_sbe_config(const
277278
uint8_t l_disable_hbbl_vectors;
278279
uint32_t l_pll_mux;
279280
uint8_t l_mc_sync_mode;
281+
uint8_t l_slow_pci_ref_clock;
280282

281283
FAPI_DBG("Reading Scratch_reg5");
282284
//Getting SCRATCH_REGISTER_5 register value
@@ -289,6 +291,7 @@ fapi2::ReturnCode p9_setup_sbe_config(const
289291
FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_RISK_LEVEL, FAPI_SYSTEM, l_risk_level));
290292
FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_DISABLE_HBBL_VECTORS, FAPI_SYSTEM, l_disable_hbbl_vectors));
291293
FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_MC_SYNC_MODE, i_target_chip, l_mc_sync_mode));
294+
FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_DD1_SLOW_PCI_REF_CLOCK, FAPI_SYSTEM, l_slow_pci_ref_clock));
292295

293296
// set cache contained flag
294297
if (l_system_ipl_phase == fapi2::ENUM_ATTR_SYSTEM_IPL_PHASE_CACHE_CONTAINED)
@@ -340,6 +343,16 @@ fapi2::ReturnCode p9_setup_sbe_config(const
340343
l_read_scratch_reg.clearBit<ATTR_MC_SYNC_MODE_BIT>();
341344
}
342345

346+
// set slow PCI ref clock bit
347+
if (l_slow_pci_ref_clock == fapi2::ENUM_ATTR_DD1_SLOW_PCI_REF_CLOCK_SLOW)
348+
{
349+
l_read_scratch_reg.clearBit<ATTR_SLOW_PCI_REF_CLOCK_BIT>();
350+
}
351+
else
352+
{
353+
l_read_scratch_reg.setBit<ATTR_SLOW_PCI_REF_CLOCK_BIT>();
354+
}
355+
343356
FAPI_DBG("Reading PLL mux attributes");
344357
FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CLOCK_PLL_MUX, i_target_chip, l_pll_mux));
345358
// set PLL MUX bits

0 commit comments

Comments
 (0)