/* IBM_PROLOG_BEGIN_TAG */ /* This is an automatically generated prolog. */ /* */ /* $Source: chips/p9/procedures/hwp/cache/p9_hcd_cache_chiplet_l3_dcc_setup.C $ */ /* */ /* IBM CONFIDENTIAL */ /* */ /* EKB Project */ /* */ /* COPYRIGHT 2016 */ /* [+] International Business Machines Corp. */ /* */ /* */ /* The source code for this program is not published or otherwise */ /* divested of its trade secrets, irrespective of what has been */ /* deposited with the U.S. Copyright Office. */ /* */ /* IBM_PROLOG_END_TAG */ //------------------------------------------------------------------------------ /// @file p9_hcd_cache_chiplet_l3_dcc_setup.C /// /// @brief Setup L3 DCC, Drop L3 DCC bypass //------------------------------------------------------------------------------ // *HWP HW Owner : Anusha Reddy Rangareddygari // *HWP HW Backup Owner : Srinivas V Naga // *HWP FW Owner : Sunil Kumar // *HWP Team : Perv // *HWP Level : 2 // *HWP Consumed by : SBE //------------------------------------------------------------------------------ //## auto_generated #include "p9_hcd_cache_chiplet_l3_dcc_setup.H" #include #include fapi2::ReturnCode p9_hcd_cache_chiplet_l3_dcc_setup(const fapi2::Target& i_target_chiplet) { const fapi2::Target FAPI_SYSTEM; fapi2::buffer l_data64; uint8_t l_read_attr = 0; FAPI_DBG("Entering ..."); FAPI_TRY(fapi2::putRing(i_target_chiplet, eq_ana_bndy_l3dcc_bucket_26, fapi2::RING_MODE_SET_PULSE_NSL)); FAPI_DBG("Drop L3 DCC bypass"); //Setting NET_CTRL1 register value l_data64.flush<1>(); //NET_CTRL1.CLK_DCC_BYPASS_EN = 0 l_data64.clearBit(); FAPI_TRY(fapi2::putScom(i_target_chiplet, EQ_NET_CTRL1_WAND, l_data64)); FAPI_DBG("Check if VDMs are to be enabled. If so, power them on"); FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_VDM_ENABLE, FAPI_SYSTEM, l_read_attr)); if( l_read_attr ) { l_data64.flush<0>(); l_data64.setBit<0>(); FAPI_TRY(fapi2::putScom(i_target_chiplet, EQ_PPM_VDMCR_OR, l_data64)); } FAPI_DBG("Exiting ..."); fapi_try_exit: return fapi2::current_err; }