summaryrefslogtreecommitdiffstats
path: root/src/ppe/hwp/perv
diff options
context:
space:
mode:
Diffstat (limited to 'src/ppe/hwp/perv')
-rw-r--r--src/ppe/hwp/perv/p9_sbe_arrayinit.C53
-rw-r--r--src/ppe/hwp/perv/p9_sbe_arrayinit.H60
-rw-r--r--src/ppe/hwp/perv/p9_sbe_arrayinit_errors.xml36
-rw-r--r--src/ppe/hwp/perv/p9_sbe_chiplet_init.C55
-rw-r--r--src/ppe/hwp/perv/p9_sbe_chiplet_init.H61
-rw-r--r--src/ppe/hwp/perv/p9_sbe_chiplet_init_errors.xml49
-rw-r--r--src/ppe/hwp/perv/p9_sbe_chiplet_pll_initf.C55
-rw-r--r--src/ppe/hwp/perv/p9_sbe_chiplet_pll_initf.H61
-rw-r--r--src/ppe/hwp/perv/p9_sbe_chiplet_pll_setup.C55
-rw-r--r--src/ppe/hwp/perv/p9_sbe_chiplet_pll_setup.H61
-rw-r--r--src/ppe/hwp/perv/p9_sbe_chiplet_reset.C58
-rw-r--r--src/ppe/hwp/perv/p9_sbe_chiplet_reset.H78
-rw-r--r--src/ppe/hwp/perv/p9_sbe_gptr_time_repr_initf.C55
-rw-r--r--src/ppe/hwp/perv/p9_sbe_gptr_time_repr_initf.H63
-rw-r--r--src/ppe/hwp/perv/p9_sbe_nest_enable_ridi.C55
-rw-r--r--src/ppe/hwp/perv/p9_sbe_nest_enable_ridi.H61
-rw-r--r--src/ppe/hwp/perv/p9_sbe_setup_evid.C82
-rw-r--r--src/ppe/hwp/perv/p9_sbe_setup_evid.H65
-rw-r--r--src/ppe/hwp/perv/p9_sbe_setup_evid_errors.xml56
-rw-r--r--src/ppe/hwp/perv/p9_sbe_startclock_chiplets.C53
-rw-r--r--src/ppe/hwp/perv/p9_sbe_startclock_chiplets.H60
-rw-r--r--src/ppe/hwp/perv/p9_sbe_tp_chiplet_init1.C58
-rw-r--r--src/ppe/hwp/perv/p9_sbe_tp_chiplet_init1.H25
-rw-r--r--src/ppe/hwp/perv/p9_sbe_tp_chiplet_reset.C33
-rw-r--r--src/ppe/hwp/perv/p9_sbe_tp_chiplet_reset.H23
-rw-r--r--src/ppe/hwp/perv/p9_sbe_tp_enable_ridi.C64
-rw-r--r--src/ppe/hwp/perv/p9_sbe_tp_enable_ridi.H59
-rw-r--r--src/ppe/hwp/perv/pervasive.act472
-rw-r--r--src/ppe/hwp/perv/perverrors.mk41
-rw-r--r--src/ppe/hwp/perv/pervfiles.mk33
30 files changed, 1978 insertions, 62 deletions
diff --git a/src/ppe/hwp/perv/p9_sbe_arrayinit.C b/src/ppe/hwp/perv/p9_sbe_arrayinit.C
new file mode 100644
index 0000000..e6ae399
--- /dev/null
+++ b/src/ppe/hwp/perv/p9_sbe_arrayinit.C
@@ -0,0 +1,53 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/ppe/hwp/perv/p9_sbe_arrayinit.C $ */
+/* */
+/* OpenPOWER OnChipController Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2015 */
+/* [+] 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 */
+//------------------------------------------------------------------------------
+/// @file p9_sbe_arrayinit.C
+///
+/// @brief array init procedure to be called with any chiplet target
+//------------------------------------------------------------------------------
+// *HWP HWP Owner : Abhishek Agarwal <abagarw8@in.ibm.com>
+// *HWP HWP Backup Owner : Srinivas V Naga <srinivan@in.ibm.com>
+// *HWP FW Owner : Brian Silver <bsilver@us.ibm.com>
+// *HWP Team : Perv
+// *HWP Level : 1
+// *HWP Consumed by : SBE
+//------------------------------------------------------------------------------
+
+
+//## auto_generated
+#include "p9_sbe_arrayinit.H"
+
+
+
+fapi2::ReturnCode p9_sbe_arrayinit(const
+ fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> & i_target_chip)
+{
+ FAPI_DBG("Entering ...");
+
+ FAPI_DBG("Exiting ...");
+
+ return fapi2::FAPI2_RC_SUCCESS;
+
+}
diff --git a/src/ppe/hwp/perv/p9_sbe_arrayinit.H b/src/ppe/hwp/perv/p9_sbe_arrayinit.H
new file mode 100644
index 0000000..6e82ed1
--- /dev/null
+++ b/src/ppe/hwp/perv/p9_sbe_arrayinit.H
@@ -0,0 +1,60 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/ppe/hwp/perv/p9_sbe_arrayinit.H $ */
+/* */
+/* OpenPOWER OnChipController Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2015 */
+/* [+] 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 */
+//------------------------------------------------------------------------------
+/// @file p9_sbe_arrayinit.H
+///
+/// @brief array init procedure to be called with any chiplet target
+//------------------------------------------------------------------------------
+// *HWP HWP Owner : Abhishek Agarwal <abagarw8@in.ibm.com>
+// *HWP HWP Backup Owner : Srinivas V Naga <srinivan@in.ibm.com>
+// *HWP FW Owner : Brian Silver <bsilver@us.ibm.com>
+// *HWP Team : Perv
+// *HWP Level : 1
+// *HWP Consumed by : SBE
+//------------------------------------------------------------------------------
+
+
+#ifndef _P9_SBE_ARRAYINIT_H_
+#define _P9_SBE_ARRAYINIT_H_
+
+
+#include <fapi2.H>
+
+
+typedef fapi2::ReturnCode (*p9_sbe_arrayinit_FP_t)(const
+ fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> &);
+
+/// @brief --Run arrayinit on all enabled chiplets
+/// --Scan flush 0 to all rings except GPTR, Time, Repair on all enabled chiplets
+///
+/// @param[in] i_target_chip Reference to TARGET_TYPE_PROC_CHIP target
+/// @return FAPI2_RC_SUCCESS if success, else error code.
+extern "C"
+{
+ fapi2::ReturnCode p9_sbe_arrayinit(const
+ fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> & i_target_chip);
+}
+
+#endif
diff --git a/src/ppe/hwp/perv/p9_sbe_arrayinit_errors.xml b/src/ppe/hwp/perv/p9_sbe_arrayinit_errors.xml
new file mode 100644
index 0000000..4e7f371
--- /dev/null
+++ b/src/ppe/hwp/perv/p9_sbe_arrayinit_errors.xml
@@ -0,0 +1,36 @@
+<!-- IBM_PROLOG_BEGIN_TAG -->
+<!-- This is an automatically generated prolog. -->
+<!-- -->
+<!-- $Source: src/ppe/hwp/perv/p9_sbe_arrayinit_errors.xml $ -->
+<!-- -->
+<!-- OpenPOWER OnChipController Project -->
+<!-- -->
+<!-- Contributors Listed Below - COPYRIGHT 2015 -->
+<!-- [+] 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 -->
+<!-- This is an automatically generated file. -->
+<!-- File: p9_sbe_arrayinit_errors.xml. -->
+<!-- Halt codes for p9_sbe_arrayinit -->
+
+<hwpErrors>
+ <!-- ******************************************************************** -->
+ <hwpError>
+ <rc>RC_ABIST_DONE</rc>
+ <description>Check Abist Done bit after Array Init</description>
+ </hwpError>
+ <!-- ******************************************************************** -->
+</hwpErrors>
diff --git a/src/ppe/hwp/perv/p9_sbe_chiplet_init.C b/src/ppe/hwp/perv/p9_sbe_chiplet_init.C
new file mode 100644
index 0000000..65cf28d
--- /dev/null
+++ b/src/ppe/hwp/perv/p9_sbe_chiplet_init.C
@@ -0,0 +1,55 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/ppe/hwp/perv/p9_sbe_chiplet_init.C $ */
+/* */
+/* OpenPOWER OnChipController Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2015 */
+/* [+] 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 */
+//------------------------------------------------------------------------------
+/// @file p9_sbe_chiplet_init.C
+///
+/// @brief init procedure for all enabled chiplets
+// *!
+// *! OWNER NAME : Abhishek Agarwal Email: abagarw8@in.ibm.com
+// *! BACKUP NAME : Email:
+//------------------------------------------------------------------------------
+// *HWP HWP Owner : Abhishek Agarwal <abagarw8@in.ibm.com>
+// *HWP FW Owner : Brian Silver <bsilver@us.ibm.com>
+// *HWP Team : Perv
+// *HWP Level : 1
+// *HWP Consumed by : SBE
+//------------------------------------------------------------------------------
+
+
+//## auto_generated
+#include "p9_sbe_chiplet_init.H"
+
+
+
+fapi2::ReturnCode p9_sbe_chiplet_init(const
+ fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> & i_target_chip)
+{
+ FAPI_DBG("Entering ...");
+
+ FAPI_DBG("Exiting ...");
+
+ return fapi2::FAPI2_RC_SUCCESS;
+
+}
diff --git a/src/ppe/hwp/perv/p9_sbe_chiplet_init.H b/src/ppe/hwp/perv/p9_sbe_chiplet_init.H
new file mode 100644
index 0000000..d79634d
--- /dev/null
+++ b/src/ppe/hwp/perv/p9_sbe_chiplet_init.H
@@ -0,0 +1,61 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/ppe/hwp/perv/p9_sbe_chiplet_init.H $ */
+/* */
+/* OpenPOWER OnChipController Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2015 */
+/* [+] 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 */
+//------------------------------------------------------------------------------
+/// @file p9_sbe_chiplet_init.H
+///
+/// @brief init procedure for all enabled chiplets
+// *!
+// *! OWNER NAME : Abhishek Agarwal Email: abagarw8@in.ibm.com
+// *! BACKUP NAME : Email:
+//------------------------------------------------------------------------------
+// *HWP HWP Owner : Abhishek Agarwal <abagarw8@in.ibm.com>
+// *HWP FW Owner : Brian Silver <bsilver@us.ibm.com>
+// *HWP Team : Perv
+// *HWP Level : 1
+// *HWP Consumed by : SBE
+//------------------------------------------------------------------------------
+
+
+#ifndef _P9_SBE_CHIPLET_INIT_H_
+#define _P9_SBE_CHIPLET_INIT_H_
+
+
+#include <fapi2.H>
+
+
+typedef fapi2::ReturnCode (*p9_sbe_chiplet_init_FP_t)(const
+ fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> &);
+
+/// @brief Scan 0 all rings (except time, repair, gptr) on all enabled chiplets
+///
+/// @param[in] i_target_chip Reference to TARGET_TYPE_PROC_CHIP target
+/// @return FAPI2_RC_SUCCESS if success, else error code.
+extern "C"
+{
+ fapi2::ReturnCode p9_sbe_chiplet_init(const
+ fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> & i_target_chip);
+}
+
+#endif
diff --git a/src/ppe/hwp/perv/p9_sbe_chiplet_init_errors.xml b/src/ppe/hwp/perv/p9_sbe_chiplet_init_errors.xml
new file mode 100644
index 0000000..6796f1e
--- /dev/null
+++ b/src/ppe/hwp/perv/p9_sbe_chiplet_init_errors.xml
@@ -0,0 +1,49 @@
+<!-- IBM_PROLOG_BEGIN_TAG -->
+<!-- This is an automatically generated prolog. -->
+<!-- -->
+<!-- $Source: src/ppe/hwp/perv/p9_sbe_chiplet_init_errors.xml $ -->
+<!-- -->
+<!-- OpenPOWER OnChipController Project -->
+<!-- -->
+<!-- Contributors Listed Below - COPYRIGHT 2015 -->
+<!-- [+] 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 -->
+<!-- This is an automatically generated file. -->
+<!-- File: p9_sbe_chiplet_init_errors.xml. -->
+<!-- Halt codes for p9_sbe_chiplet_init -->
+
+<hwpErrors>
+ <!-- ******************************************************************** -->
+ <hwpError>
+ <rc>RC_CHECKSTOP_STAGE_1_ERR</rc>
+ <description>Checkstop error after MC config</description>
+ <ffdc>CHIP</ffdc>
+ </hwpError>
+ <!-- ******************************************************************** -->
+ <hwpError>
+ <rc>RC_CHECKSTOP_STAGE_2_ERR</rc>
+ <description>Checkstop error after scan0</description>
+ <ffdc>CHIP</ffdc>
+ </hwpError>
+ <!-- ******************************************************************** -->
+ <hwpError>
+ <rc>RC_CHECKSTOP_STAGE_3_ERR</rc>
+ <description>Checkstop checks</description>
+ <ffdc>CHIP</ffdc>
+ </hwpError>
+ <!-- ******************************************************************** -->
+</hwpErrors>
diff --git a/src/ppe/hwp/perv/p9_sbe_chiplet_pll_initf.C b/src/ppe/hwp/perv/p9_sbe_chiplet_pll_initf.C
new file mode 100644
index 0000000..3b2ab46
--- /dev/null
+++ b/src/ppe/hwp/perv/p9_sbe_chiplet_pll_initf.C
@@ -0,0 +1,55 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/ppe/hwp/perv/p9_sbe_chiplet_pll_initf.C $ */
+/* */
+/* OpenPOWER OnChipController Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2015 */
+/* [+] 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 */
+//------------------------------------------------------------------------------
+/// @file p9_sbe_chiplet_pll_initf.C
+///
+/// @brief procedure for scan initializing PLL config bits for L2 and L3 plls
+// *!
+// *! OWNER NAME : Abhishek Agarwal Email: abagarw8@in.ibm.com
+// *! BACKUP NAME : srinivas naga Email: srinivan@in.ibm.com
+//------------------------------------------------------------------------------
+// *HWP HWP Owner : Abhishek Agarwal <abagarw8@in.ibm.com>
+// *HWP FW Owner : sunil kumar <skumar8j@in.ibm.com>
+// *HWP Team : Perv
+// *HWP Level : 1
+// *HWP Consumed by : SBE
+//------------------------------------------------------------------------------
+
+
+//## auto_generated
+#include "p9_sbe_chiplet_pll_initf.H"
+
+
+
+fapi2::ReturnCode p9_sbe_chiplet_pll_initf(const
+ fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> & i_target_chip)
+{
+ FAPI_DBG("Entering ...");
+
+ FAPI_DBG("Exiting ...");
+
+ return fapi2::FAPI2_RC_SUCCESS;
+
+}
diff --git a/src/ppe/hwp/perv/p9_sbe_chiplet_pll_initf.H b/src/ppe/hwp/perv/p9_sbe_chiplet_pll_initf.H
new file mode 100644
index 0000000..ce69926
--- /dev/null
+++ b/src/ppe/hwp/perv/p9_sbe_chiplet_pll_initf.H
@@ -0,0 +1,61 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/ppe/hwp/perv/p9_sbe_chiplet_pll_initf.H $ */
+/* */
+/* OpenPOWER OnChipController Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2015 */
+/* [+] 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 */
+//------------------------------------------------------------------------------
+/// @file p9_sbe_chiplet_pll_initf.H
+///
+/// @brief procedure for scan initializing PLL config bits for L2 and L3 plls
+// *!
+// *! OWNER NAME : Abhishek Agarwal Email: abagarw8@in.ibm.com
+// *! BACKUP NAME : srinivas naga Email: srinivan@in.ibm.com
+//------------------------------------------------------------------------------
+// *HWP HWP Owner : Abhishek Agarwal <abagarw8@in.ibm.com>
+// *HWP FW Owner : sunil kumar <skumar8j@in.ibm.com>
+// *HWP Team : Perv
+// *HWP Level : 1
+// *HWP Consumed by : SBE
+//------------------------------------------------------------------------------
+
+
+#ifndef _P9_SBE_CHIPLET_PLL_INITF_H_
+#define _P9_SBE_CHIPLET_PLL_INITF_H_
+
+
+#include <fapi2.H>
+
+
+typedef fapi2::ReturnCode (*p9_sbe_chiplet_pll_initf_FP_t)(
+ const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> &);
+
+/// @brief load the pll config settings for L2 AND L3 plls
+///
+/// @param[in] i_target_chip Reference to TARGET_TYPE_PROC_CHIP target
+/// @return FAPI2_RC_SUCCESS if success, else error code.
+extern "C"
+{
+ fapi2::ReturnCode p9_sbe_chiplet_pll_initf(const
+ fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> & i_target_chip);
+}
+
+#endif
diff --git a/src/ppe/hwp/perv/p9_sbe_chiplet_pll_setup.C b/src/ppe/hwp/perv/p9_sbe_chiplet_pll_setup.C
new file mode 100644
index 0000000..f7e2c38
--- /dev/null
+++ b/src/ppe/hwp/perv/p9_sbe_chiplet_pll_setup.C
@@ -0,0 +1,55 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/ppe/hwp/perv/p9_sbe_chiplet_pll_setup.C $ */
+/* */
+/* OpenPOWER OnChipController Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2015 */
+/* [+] 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 */
+//------------------------------------------------------------------------------
+/// @file p9_sbe_chiplet_pll_setup.C
+///
+/// @brief PLL set up for L2 and L3 plls
+// *!
+// *! OWNER NAME : Abhishek Agarwal Email: abagarw8@in.ibm.com
+// *! BACKUP NAME : Email:
+//------------------------------------------------------------------------------
+// *HWP HWP Owner : Abhishek Agarwal <abagarw8@in.ibm.com>
+// *HWP FW Owner : sunil kumar <skumar8j@in.ibm.com>
+// *HWP Team : Perv
+// *HWP Level : 1
+// *HWP Consumed by : SBE
+//------------------------------------------------------------------------------
+
+
+//## auto_generated
+#include "p9_sbe_chiplet_pll_setup.H"
+
+
+
+fapi2::ReturnCode p9_sbe_chiplet_pll_setup(const
+ fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> & i_target_chip)
+{
+ FAPI_DBG("Entering ...");
+
+ FAPI_DBG("Exiting ...");
+
+ return fapi2::FAPI2_RC_SUCCESS;
+
+}
diff --git a/src/ppe/hwp/perv/p9_sbe_chiplet_pll_setup.H b/src/ppe/hwp/perv/p9_sbe_chiplet_pll_setup.H
new file mode 100644
index 0000000..3e997de
--- /dev/null
+++ b/src/ppe/hwp/perv/p9_sbe_chiplet_pll_setup.H
@@ -0,0 +1,61 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/ppe/hwp/perv/p9_sbe_chiplet_pll_setup.H $ */
+/* */
+/* OpenPOWER OnChipController Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2015 */
+/* [+] 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 */
+//------------------------------------------------------------------------------
+/// @file p9_sbe_chiplet_pll_setup.H
+///
+/// @brief PLL set up for L2 and L3 plls
+// *!
+// *! OWNER NAME : Abhishek Agarwal Email: abagarw8@in.ibm.com
+// *! BACKUP NAME : Email:
+//------------------------------------------------------------------------------
+// *HWP HWP Owner : Abhishek Agarwal <abagarw8@in.ibm.com>
+// *HWP FW Owner : sunil kumar <skumar8j@in.ibm.com>
+// *HWP Team : Perv
+// *HWP Level : 1
+// *HWP Consumed by : SBE
+//------------------------------------------------------------------------------
+
+
+#ifndef _P9_SBE_CHIPLET_PLL_SETUP_H_
+#define _P9_SBE_CHIPLET_PLL_SETUP_H_
+
+
+#include <fapi2.H>
+
+
+typedef fapi2::ReturnCode (*p9_sbe_chiplet_pll_setup_FP_t)(
+ const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> &);
+
+/// @brief PLL setup for L2 and L3 levels
+///
+/// @param[in] i_target_chip Reference to TARGET_TYPE_PROC_CHIP target
+/// @return FAPI2_RC_SUCCESS if success, else error code.
+extern "C"
+{
+ fapi2::ReturnCode p9_sbe_chiplet_pll_setup(const
+ fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> & i_target_chip);
+}
+
+#endif
diff --git a/src/ppe/hwp/perv/p9_sbe_chiplet_reset.C b/src/ppe/hwp/perv/p9_sbe_chiplet_reset.C
new file mode 100644
index 0000000..1b10744
--- /dev/null
+++ b/src/ppe/hwp/perv/p9_sbe_chiplet_reset.C
@@ -0,0 +1,58 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/ppe/hwp/perv/p9_sbe_chiplet_reset.C $ */
+/* */
+/* OpenPOWER OnChipController Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2015 */
+/* [+] 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 */
+//------------------------------------------------------------------------------
+/// @file p9_sbe_chiplet_reset.C
+///
+/// @brief Identify all good chiplets excluding EQ/EC
+/// Setup multicast groups for all chiplets
+/// For all good chiplets excluding EQ/EC
+/// For all enabled chiplets
+// *!
+// *! OWNER NAME : Abhishek Agarwal Email: abagarw8@in.ibm.com
+// *! BACKUP NAME : Email:
+//------------------------------------------------------------------------------
+// *HWP HWP Owner : Abhishek Agarwal <abagarw8@in.ibm.com>
+// *HWP FW Owner : Brian Silver <bsilver@us.ibm.com>
+// *HWP Team : Perv
+// *HWP Level : 1
+// *HWP Consumed by : SBE
+//------------------------------------------------------------------------------
+
+
+//## auto_generated
+#include "p9_sbe_chiplet_reset.H"
+
+
+
+fapi2::ReturnCode p9_sbe_chiplet_reset(const
+ fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> & i_target_chip)
+{
+ FAPI_DBG("Entering ...");
+
+ FAPI_DBG("Exiting ...");
+
+ return fapi2::FAPI2_RC_SUCCESS;
+
+}
diff --git a/src/ppe/hwp/perv/p9_sbe_chiplet_reset.H b/src/ppe/hwp/perv/p9_sbe_chiplet_reset.H
new file mode 100644
index 0000000..91f0ef9
--- /dev/null
+++ b/src/ppe/hwp/perv/p9_sbe_chiplet_reset.H
@@ -0,0 +1,78 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/ppe/hwp/perv/p9_sbe_chiplet_reset.H $ */
+/* */
+/* OpenPOWER OnChipController Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2015 */
+/* [+] 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 */
+//------------------------------------------------------------------------------
+/// @file p9_sbe_chiplet_reset.H
+///
+/// @brief Identify all good chiplets excluding EQ/EC
+/// Setup multicast groups for all chiplets
+/// For all good chiplets excluding EQ/EC
+/// For all enabled chiplets
+// *!
+// *! OWNER NAME : Abhishek Agarwal Email: abagarw8@in.ibm.com
+// *! BACKUP NAME : Email:
+//------------------------------------------------------------------------------
+// *HWP HWP Owner : Abhishek Agarwal <abagarw8@in.ibm.com>
+// *HWP FW Owner : Brian Silver <bsilver@us.ibm.com>
+// *HWP Team : Perv
+// *HWP Level : 1
+// *HWP Consumed by : SBE
+//------------------------------------------------------------------------------
+
+
+#ifndef _P9_SBE_CHIPLET_RESET_H_
+#define _P9_SBE_CHIPLET_RESET_H_
+
+
+#include <fapi2.H>
+
+
+typedef fapi2::ReturnCode (*p9_sbe_chiplet_reset_FP_t)(const
+ fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> &);
+
+/// @brief Identify all good chiplets excluding EQ/EC
+/// -- All chiplets will be reset and PLLs started
+/// -- Partial bad - All nest Chiplets must be good, MC, IO can be partial bad
+/// Setup multicast groups for all chiplets
+/// -- Can't use the multicast for all non-nest chiplets
+/// -- This is intended to be the eventual product setting
+/// -- This includes the core/cache chiplets
+/// For all good chiplets excluding EQ/EC
+/// -- Setup Chiplet GP3 regs
+/// -- Reset to default state
+/// -- Set chiplet enable on all all good chiplets excluding EQ/EC
+/// For all enabled chiplets
+/// -- Start vital clocks and release endpoint reset
+/// -- PCB Slave error register Reset
+///
+///
+/// @param[in] i_target_chip Reference to TARGET_TYPE_PROC_CHIP target
+/// @return FAPI2_RC_SUCCESS if success, else error code.
+extern "C"
+{
+ fapi2::ReturnCode p9_sbe_chiplet_reset(const
+ fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> & i_target_chip);
+}
+
+#endif
diff --git a/src/ppe/hwp/perv/p9_sbe_gptr_time_repr_initf.C b/src/ppe/hwp/perv/p9_sbe_gptr_time_repr_initf.C
new file mode 100644
index 0000000..179a0a4
--- /dev/null
+++ b/src/ppe/hwp/perv/p9_sbe_gptr_time_repr_initf.C
@@ -0,0 +1,55 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/ppe/hwp/perv/p9_sbe_gptr_time_repr_initf.C $ */
+/* */
+/* OpenPOWER OnChipController Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2015 */
+/* [+] 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 */
+//------------------------------------------------------------------------------
+/// @file p9_sbe_gptr_time_repr_initf.C
+///
+/// @brief Scan 0 and Load repair , time and GPTR rings for all enabled chiplets
+// *!
+// *! OWNER NAME : Abhishek Agarwal Email: abagarw8@in.ibm.com
+// *! BACKUP NAME : Email:
+//------------------------------------------------------------------------------
+// *HWP HWP Owner : Abhishek Agarwal <abagarw8@in.ibm.com>
+// *HWP FW Owner : Brian Silver <bsilver@us.ibm.com>
+// *HWP Team : Perv
+// *HWP Level : 1
+// *HWP Consumed by : SBE
+//------------------------------------------------------------------------------
+
+
+//## auto_generated
+#include "p9_sbe_gptr_time_repr_initf.H"
+
+
+
+fapi2::ReturnCode p9_sbe_gptr_time_repr_initf(const
+ fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> & i_target_chip)
+{
+ FAPI_DBG("Entering ...");
+
+ FAPI_DBG("Exiting ...");
+
+ return fapi2::FAPI2_RC_SUCCESS;
+
+}
diff --git a/src/ppe/hwp/perv/p9_sbe_gptr_time_repr_initf.H b/src/ppe/hwp/perv/p9_sbe_gptr_time_repr_initf.H
new file mode 100644
index 0000000..4fb1104
--- /dev/null
+++ b/src/ppe/hwp/perv/p9_sbe_gptr_time_repr_initf.H
@@ -0,0 +1,63 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/ppe/hwp/perv/p9_sbe_gptr_time_repr_initf.H $ */
+/* */
+/* OpenPOWER OnChipController Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2015 */
+/* [+] 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 */
+//------------------------------------------------------------------------------
+/// @file p9_sbe_gptr_time_repr_initf.H
+///
+/// @brief Scan 0 and Load repair , time and GPTR rings for all enabled chiplets
+// *!
+// *! OWNER NAME : Abhishek Agarwal Email: abagarw8@in.ibm.com
+// *! BACKUP NAME : Email:
+//------------------------------------------------------------------------------
+// *HWP HWP Owner : Abhishek Agarwal <abagarw8@in.ibm.com>
+// *HWP FW Owner : Brian Silver <bsilver@us.ibm.com>
+// *HWP Team : Perv
+// *HWP Level : 1
+// *HWP Consumed by : SBE
+//------------------------------------------------------------------------------
+
+
+#ifndef _P9_SBE_GPTR_TIME_REPR_INITF_H_
+#define _P9_SBE_GPTR_TIME_REPR_INITF_H_
+
+
+#include <fapi2.H>
+
+
+typedef fapi2::ReturnCode (*p9_sbe_gptr_time_repr_initf_FP_t)(
+ const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> &);
+
+/// @brief Scan 0 all rings on all enabled chiplets (except for TP)
+/// Load Repair, Time and GPTR rings for all enabled chiplets
+/// -- All chip customization data is within the repair and time rings -- array repair, DTS setting
+///
+/// @param[in] i_target_chip Reference to TARGET_TYPE_PROC_CHIP target
+/// @return FAPI2_RC_SUCCESS if success, else error code.
+extern "C"
+{
+ fapi2::ReturnCode p9_sbe_gptr_time_repr_initf(const
+ fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> & i_target_chip);
+}
+
+#endif
diff --git a/src/ppe/hwp/perv/p9_sbe_nest_enable_ridi.C b/src/ppe/hwp/perv/p9_sbe_nest_enable_ridi.C
new file mode 100644
index 0000000..19c0e15
--- /dev/null
+++ b/src/ppe/hwp/perv/p9_sbe_nest_enable_ridi.C
@@ -0,0 +1,55 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/ppe/hwp/perv/p9_sbe_nest_enable_ridi.C $ */
+/* */
+/* OpenPOWER OnChipController Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2015 */
+/* [+] 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 */
+//------------------------------------------------------------------------------
+/// @file p9_sbe_nest_enable_ridi.C
+///
+/// @brief Enable ridi controls for NEST logic
+// *!
+// *! OWNER NAME : Abhishek Agarwal Email: abagarw8@in.ibm.com
+// *! BACKUP NAME : Email:
+//------------------------------------------------------------------------------
+// *HWP HWP Owner : Abhishek Agarwal <abagarw8@in.ibm.com>
+// *HWP FW Owner : sunil kumar <skumar8j@in.ibm.com>
+// *HWP Team : Perv
+// *HWP Level : 1
+// *HWP Consumed by : SBE
+//------------------------------------------------------------------------------
+
+
+//## auto_generated
+#include "p9_sbe_nest_enable_ridi.H"
+
+
+
+fapi2::ReturnCode p9_sbe_nest_enable_ridi(const
+ fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> & i_target_chip)
+{
+ FAPI_DBG("Entering ...");
+
+ FAPI_DBG("Exiting ...");
+
+ return fapi2::FAPI2_RC_SUCCESS;
+
+}
diff --git a/src/ppe/hwp/perv/p9_sbe_nest_enable_ridi.H b/src/ppe/hwp/perv/p9_sbe_nest_enable_ridi.H
new file mode 100644
index 0000000..e18ecc6
--- /dev/null
+++ b/src/ppe/hwp/perv/p9_sbe_nest_enable_ridi.H
@@ -0,0 +1,61 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/ppe/hwp/perv/p9_sbe_nest_enable_ridi.H $ */
+/* */
+/* OpenPOWER OnChipController Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2015 */
+/* [+] 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 */
+//------------------------------------------------------------------------------
+/// @file p9_sbe_nest_enable_ridi.H
+///
+/// @brief Enable ridi controls for NEST logic
+// *!
+// *! OWNER NAME : Abhishek Agarwal Email: abagarw8@in.ibm.com
+// *! BACKUP NAME : Email:
+//------------------------------------------------------------------------------
+// *HWP HWP Owner : Abhishek Agarwal <abagarw8@in.ibm.com>
+// *HWP FW Owner : sunil kumar <skumar8j@in.ibm.com>
+// *HWP Team : Perv
+// *HWP Level : 1
+// *HWP Consumed by : SBE
+//------------------------------------------------------------------------------
+
+
+#ifndef _P9_SBE_NEST_ENABLE_RIDI_H_
+#define _P9_SBE_NEST_ENABLE_RIDI_H_
+
+
+#include <fapi2.H>
+
+
+typedef fapi2::ReturnCode (*p9_sbe_nest_enable_ridi_FP_t)(
+ const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> &);
+
+/// @brief procedure enables ridi for nest region
+///
+/// @param[in] i_target_chip Reference to TARGET_TYPE_PROC_CHIP target
+/// @return FAPI2_RC_SUCCESS if success, else error code.
+extern "C"
+{
+ fapi2::ReturnCode p9_sbe_nest_enable_ridi(const
+ fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> & i_target_chip);
+}
+
+#endif
diff --git a/src/ppe/hwp/perv/p9_sbe_setup_evid.C b/src/ppe/hwp/perv/p9_sbe_setup_evid.C
new file mode 100644
index 0000000..c998a29
--- /dev/null
+++ b/src/ppe/hwp/perv/p9_sbe_setup_evid.C
@@ -0,0 +1,82 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/ppe/hwp/perv/p9_sbe_setup_evid.C $ */
+/* */
+/* OpenPOWER OnChipController Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2015 */
+/* [+] 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 */
+///
+/// @file p9_sbe_setup_evid.C
+/// @brief Setup External Voltage IDs and Boot Frequency
+///
+// *HW Owner : Greg Still <stillgs@us.ibm.com>
+// *FW Owner : Sangeetha T S <sangeet2@in.ibm.com>
+// *Team : PM
+// *Consumed by : SBE
+// *Level : 1
+///
+/// @verbatim
+/// Procedure Summary:
+/// - Use Attributes to send VDD, VCS via the AVS bus to VRMs
+/// - Use Attributes to adjust the VDN and send via I2C to VRM
+/// - Read core frequency ATTR and write to the Quad PPM
+/// @endverbatim
+
+//-----------------------------------------------------------------------------
+// Includes
+//-----------------------------------------------------------------------------
+#include <fapi2.H>
+#include "p9_sbe_setup_evid.H"
+
+//-----------------------------------------------------------------------------
+// Procedure
+//-----------------------------------------------------------------------------
+
+fapi2::ReturnCode
+p9_sbe_setup_evid(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target)
+{
+
+ //fapi2::ReturnCode l_rc = fapi2::FAPI2_RC_SUCCESS;
+
+ // Substep indicators
+
+ // commented out in Level 1 to not have "unused variable" warnings
+ // until the SBE substep management "macro" or "call" is defined.
+
+ // const uint32_t STEP_SBE_EVID_START = 0x1;
+ // const uint32_t STEP_SBE_EVID_CONFIG = 0x2;
+ // const uint32_t STEP_SBE_EVID_WRITE_VDN = 0x3;
+ // const uint32_t STEP_SBE_EVID_POLL_VDN_STATUS = 0x4;
+ // const uint32_t STEP_SBE_EVID_WRITE_VDD = 0x5;
+ // const uint32_t STEP_SBE_EVID_POLL_VDD_STATUS = 0x6;
+ // const uint32_t STEP_SBE_EVID_WRITE_VCS = 0x7;
+ // const uint32_t STEP_SBE_EVID_POLL_VCS_STATUS = 0x8;
+ // const uint32_t STEP_SBE_EVID_TIMEOUT = 0x9;
+ // const uint32_t STEP_SBE_EVID_BOOT_FREQ = 0xA;
+ // const uint32_t STEP_SBE_EVID_COMPLETE = 0xB;
+
+// The inclusion of the following will cause a "label 'fapi_try_exit' defined but not used"
+// compile error in Cronus. This will be uncommented when FAPI_TRY functions are added
+// during the real procedure development. However, this is NOT needed for Level 1.
+//fapi_try_exit:
+ return fapi2::current_err;
+
+} // Procedure
+
diff --git a/src/ppe/hwp/perv/p9_sbe_setup_evid.H b/src/ppe/hwp/perv/p9_sbe_setup_evid.H
new file mode 100644
index 0000000..c543f62
--- /dev/null
+++ b/src/ppe/hwp/perv/p9_sbe_setup_evid.H
@@ -0,0 +1,65 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/ppe/hwp/perv/p9_sbe_setup_evid.H $ */
+/* */
+/* OpenPOWER OnChipController Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2015 */
+/* [+] 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 */
+///
+/// @file p9_sbe_setup_evid.H
+/// @brief Setup External Voltage IDs and Boot Frequency
+///
+/// *HW Owner : Greg Still <stillgs@us.ibm.com>
+/// *FW Owner : Sangeetha T S <sangeet2@in.ibm.com>
+/// *Team : PM
+/// *Consumed by : SBE
+/// *Level : 1
+///
+
+#ifndef __P9_SBE_SETUP_EVID_H__
+#define __P9_SBE_SETUP_EVID_H__
+
+extern "C"
+{
+
+/// @typedef p9_sbe_setup_evid_FP_t
+/// function pointer typedef definition for HWP call support
+ typedef fapi2::ReturnCode (*p9_sbe_setup_evid_FP_t) (
+ const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> &);
+
+/// @brief Read attributes containing this part's boot voltages (VDD, VCS and VDN)
+/// and set these voltage using the AVSBUS interface (VDD, VCS) an I2C (VDN).
+/// Also reads a differnt attribute containing the boot frequency and set that
+/// into each configured EQ chiplet.
+/// @param [in] i_target TARGET_TYPE_PROC_CHIP
+/// @attr
+/// @attritem ATTR_BOOT_FREQ uint16_t - 9 bit frequency multiplier of the refclk right justified
+/// @attritem ATTR_VCS_BOOT_VOLTAGE uint16_t - 1mV grandularity setting for the VCS rail
+/// @attritem ATTR_VDD_BOOT_VOLTAGE uint16_t - 1mV grandularity setting for the VDD rail
+/// @attritem ATTR_VDN_BOOT_VOLTAGE uint16_t - 1mV grandularity setting for the VDN rail
+///
+/// @retval FAPI_RC_SUCCESS
+ fapi2::ReturnCode
+ p9_sbe_setup_evid(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target);
+
+
+} // extern C
+
+#endif // __P9_SBE_SETUP_EVID_H__
diff --git a/src/ppe/hwp/perv/p9_sbe_setup_evid_errors.xml b/src/ppe/hwp/perv/p9_sbe_setup_evid_errors.xml
new file mode 100644
index 0000000..588797d
--- /dev/null
+++ b/src/ppe/hwp/perv/p9_sbe_setup_evid_errors.xml
@@ -0,0 +1,56 @@
+<!-- IBM_PROLOG_BEGIN_TAG -->
+<!-- This is an automatically generated prolog. -->
+<!-- -->
+<!-- $Source: src/ppe/hwp/perv/p9_sbe_setup_evid_errors.xml $ -->
+<!-- -->
+<!-- OpenPOWER OnChipController Project -->
+<!-- -->
+<!-- Contributors Listed Below - COPYRIGHT 2015 -->
+<!-- [+] 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 -->
+
+<!-- *HWP HWP Owner: Greg Still <stillgs @us.ibm.com> -->
+<!-- *HWP FW Owner: Bilicon Patil <bilpatil@in.ibm.com> -->
+<!-- *HWP Team: PM -->
+<!-- *HWP Level: 1 -->
+<!-- *HWP Consumed by: FSP:HS -->
+
+<!-- Error definitions for p9_avsbus_lib procedure -->
+<hwpErrors>
+ <!-- ******************************************************************** -->
+ <hwpError>
+ <rc>RC_PROCPM_EVID_READVOLTAGE_TIMEOUT</rc>
+ <description>
+ A timeout occured reading voltage from an AVSBus interface
+ </description>
+ </hwpError>
+ <!-- ******************************************************************** -->
+ <hwpError>
+ <rc>RC_PROCPM_EVID_WRITEVOLTAGE_TIMEOUT</rc>
+ <description>
+ A timeout occured writing a voltage to an AVSBus interface
+ </description>
+ </hwpError>
+ <!-- ******************************************************************** -->
+ <hwpError>
+ <rc>RC_PROCPM_EVID_IDLEFRAME_TIMEOUT</rc>
+ <description>
+ A timeout occured writing an idle from to an AVSBus interface
+ </description>
+ </hwpError>
+ <!-- ******************************************************************** -->
+</hwpErrors>
diff --git a/src/ppe/hwp/perv/p9_sbe_startclock_chiplets.C b/src/ppe/hwp/perv/p9_sbe_startclock_chiplets.C
new file mode 100644
index 0000000..f91cde3
--- /dev/null
+++ b/src/ppe/hwp/perv/p9_sbe_startclock_chiplets.C
@@ -0,0 +1,53 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/ppe/hwp/perv/p9_sbe_startclock_chiplets.C $ */
+/* */
+/* OpenPOWER OnChipController Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2015 */
+/* [+] 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 */
+//------------------------------------------------------------------------------
+/// @file p9_sbe_startclock_chiplets.C
+///
+/// @brief Start clock procedure for XBUS, OBUS, PCIe
+//------------------------------------------------------------------------------
+// *HWP HWP Owner : Abhishek Agarwal <abagarw8@in.ibm.com>
+// *HWP HWP Backup Owner : Srinivas V Naga <srinivan@in.ibm.com>
+// *HWP FW Owner : sunil kumar <skumar8j@in.ibm.com>
+// *HWP Team : Perv
+// *HWP Level : 1
+// *HWP Consumed by : SBE
+//------------------------------------------------------------------------------
+
+
+//## auto_generated
+#include "p9_sbe_startclock_chiplets.H"
+
+
+
+fapi2::ReturnCode p9_sbe_startclock_chiplets(const
+ fapi2::Target<fapi2::TARGET_TYPE_PERV> & i_target_chiplets)
+{
+ FAPI_DBG("Entering ...");
+
+ FAPI_DBG("Exiting ...");
+
+ return fapi2::FAPI2_RC_SUCCESS;
+
+}
diff --git a/src/ppe/hwp/perv/p9_sbe_startclock_chiplets.H b/src/ppe/hwp/perv/p9_sbe_startclock_chiplets.H
new file mode 100644
index 0000000..2e7a413
--- /dev/null
+++ b/src/ppe/hwp/perv/p9_sbe_startclock_chiplets.H
@@ -0,0 +1,60 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/ppe/hwp/perv/p9_sbe_startclock_chiplets.H $ */
+/* */
+/* OpenPOWER OnChipController Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2015 */
+/* [+] 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 */
+//------------------------------------------------------------------------------
+/// @file p9_sbe_startclock_chiplets.H
+///
+/// @brief Start clock procedure for XBUS, OBUS, PCIe
+//------------------------------------------------------------------------------
+// *HWP HWP Owner : Abhishek Agarwal <abagarw8@in.ibm.com>
+// *HWP HWP Backup Owner : Srinivas V Naga <srinivan@in.ibm.com>
+// *HWP FW Owner : sunil kumar <skumar8j@in.ibm.com>
+// *HWP Team : Perv
+// *HWP Level : 1
+// *HWP Consumed by : SBE
+//------------------------------------------------------------------------------
+
+
+#ifndef _P9_SBE_STARTCLOCK_CHIPLETS_H_
+#define _P9_SBE_STARTCLOCK_CHIPLETS_H_
+
+
+#include <fapi2.H>
+
+
+typedef fapi2::ReturnCode (*p9_sbe_startclock_chiplets_FP_t)(
+ const fapi2::Target<fapi2::TARGET_TYPE_PERV> &);
+
+/// @brief Start Xbus, Obus, PCIe clocks
+/// Start clocks on configured chiplets for all chips (master and slaves)
+///
+/// @param[in] i_target_chiplets Reference to TARGET_TYPE_PERV target
+/// @return FAPI2_RC_SUCCESS if success, else error code.
+extern "C"
+{
+ fapi2::ReturnCode p9_sbe_startclock_chiplets(const
+ fapi2::Target<fapi2::TARGET_TYPE_PERV> & i_target_chiplets);
+}
+
+#endif
diff --git a/src/ppe/hwp/perv/p9_sbe_tp_chiplet_init1.C b/src/ppe/hwp/perv/p9_sbe_tp_chiplet_init1.C
index 4756b0b..bfb01b6 100644
--- a/src/ppe/hwp/perv/p9_sbe_tp_chiplet_init1.C
+++ b/src/ppe/hwp/perv/p9_sbe_tp_chiplet_init1.C
@@ -25,28 +25,62 @@
//------------------------------------------------------------------------------
/// @file p9_sbe_tp_chiplet_init1.C
///
-/// @brief IPL STEP 2.3: SBE TP Chiplet Init 1 :: Releases PCB Reset, Sets TP chiplet enable, Drops Perv chiplet fence
-// *!
-// *! OWNER NAME : Abhishek Agarwal Email: abagarw8@in.ibm.com
-// *! BACKUP NAME : Email:
+/// @brief Initial steps of PIB AND PCB
//------------------------------------------------------------------------------
-// *HWP HWP Owner : Abhishek Agarwal <abagarw8@in.ibm.com>
-// *HWP FW Owner : Brian Silver <bsilver@us.ibm.com>
-// *HWP Team : Perv
-// *HWP Level : 1
-// *HWP Consumed by : SBE
+// *HWP HWP Owner : Abhishek Agarwal <abagarw8@in.ibm.com>
+// *HWP HWP Backup Owner : Srinivas V Naga <srinivan@in.ibm.com>
+// *HWP FW Owner : sunil kumar <skumar8j@in.ibm.com>
+// *HWP Team : Perv
+// *HWP Level : 2
+// *HWP Consumed by : SBE
//------------------------------------------------------------------------------
//## auto_generated
#include "p9_sbe_tp_chiplet_init1.H"
+
+#include "perv_scom_addresses.H"
+
+
fapi2::ReturnCode p9_sbe_tp_chiplet_init1(const
fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> & i_target_chip)
{
- FAPI_DBG("p9_sbe_tp_chiplet_init1: Entering ...");
+ fapi2::buffer<uint64_t> l_data64;
+ FAPI_DBG("Entering ...");
+
+ //Setting ROOT_CTRL0 register value
+ FAPI_TRY(fapi2::getScom(i_target_chip, PERV_ROOT_CTRL0_SCOM, l_data64));
+ l_data64.clearBit<15>(); //PIB.ROOT_CTRL0.VDD2VIO_LVL_FENCE_DC = 0
+ FAPI_TRY(fapi2::putScom(i_target_chip, PERV_ROOT_CTRL0_SCOM, l_data64));
+
+ FAPI_INF("Release PCB Reset");
+ //Setting ROOT_CTRL0 register value
+ FAPI_TRY(fapi2::getScom(i_target_chip, PERV_ROOT_CTRL0_SCOM, l_data64));
+ l_data64.clearBit<30>(); //PIB.ROOT_CTRL0.PCB_RESET_DC = 0
+ FAPI_TRY(fapi2::putScom(i_target_chip, PERV_ROOT_CTRL0_SCOM, l_data64));
+
+ FAPI_INF("Set Chiplet Enable");
+ //Setting PERV_CTRL0 register value
+ FAPI_TRY(fapi2::getScom(i_target_chip, PERV_PERV_CTRL0_SCOM, l_data64));
+ l_data64.setBit<0>(); //PIB.PERV_CTRL0.TP_CHIPLET_EN_DC = 1
+ FAPI_TRY(fapi2::putScom(i_target_chip, PERV_PERV_CTRL0_SCOM, l_data64));
+
+ FAPI_INF("Drop TP Chiplet Fence Enable");
+ //Setting PERV_CTRL0 register value
+ FAPI_TRY(fapi2::getScom(i_target_chip, PERV_PERV_CTRL0_SCOM, l_data64));
+ l_data64.clearBit<18>(); //PIB.PERV_CTRL0.TP_FENCE_EN_DC = 0
+ FAPI_TRY(fapi2::putScom(i_target_chip, PERV_PERV_CTRL0_SCOM, l_data64));
+
+ FAPI_INF("Drop Global Endpoint reset");
+ //Setting ROOT_CTRL0 register value
+ FAPI_TRY(fapi2::getScom(i_target_chip, PERV_ROOT_CTRL0_SCOM, l_data64));
+ l_data64.clearBit<31>(); //PIB.ROOT_CTRL0.GLOBAL_EP_RESET_DC = 0
+ FAPI_TRY(fapi2::putScom(i_target_chip, PERV_ROOT_CTRL0_SCOM, l_data64));
+ FAPI_INF("Switching PIB trace bus to SBE tracing");
- FAPI_DBG("p9_sbe_tp_chiplet_init1: Exiting ...");
+ FAPI_DBG("Exiting ...");
- return fapi2::FAPI2_RC_SUCCESS;
+fapi_try_exit:
+ return fapi2::current_err;
}
diff --git a/src/ppe/hwp/perv/p9_sbe_tp_chiplet_init1.H b/src/ppe/hwp/perv/p9_sbe_tp_chiplet_init1.H
index 601c167..11547f3 100644
--- a/src/ppe/hwp/perv/p9_sbe_tp_chiplet_init1.H
+++ b/src/ppe/hwp/perv/p9_sbe_tp_chiplet_init1.H
@@ -25,16 +25,14 @@
//------------------------------------------------------------------------------
/// @file p9_sbe_tp_chiplet_init1.H
///
-/// @brief IPL STEP 2.3: SBE TP Chiplet Init 1 :: Releases PCB Reset, Sets TP chiplet enable, Drops Perv chiplet fence
-// *!
-// *! OWNER NAME : Abhishek Agarwal Email: abagarw8@in.ibm.com
-// *! BACKUP NAME : Email:
+/// @brief Initial steps of PIB AND PCB
//------------------------------------------------------------------------------
-// *HWP HWP Owner : Abhishek Agarwal <abagarw8@in.ibm.com>
-// *HWP FW Owner : Brian Silver <bsilver@us.ibm.com>
-// *HWP Team : Perv
-// *HWP Level : 1
-// *HWP Consumed by : SBE
+// *HWP HWP Owner : Abhishek Agarwal <abagarw8@in.ibm.com>
+// *HWP HWP Backup Owner : Srinivas V Naga <srinivan@in.ibm.com>
+// *HWP FW Owner : sunil kumar <skumar8j@in.ibm.com>
+// *HWP Team : Perv
+// *HWP Level : 2
+// *HWP Consumed by : SBE
//------------------------------------------------------------------------------
@@ -48,11 +46,10 @@
typedef fapi2::ReturnCode (*p9_sbe_tp_chiplet_init1_FP_t)(
const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> &);
-/// @brief DESCRIPTION -- Drop VSS2VIO fence
-/// -- Releases PCB reset
-/// -- Sets PRV Chiplet Enable
-/// -- Drops PRV Chiplet fence enable
-/// -- Drop Global Endpoint Reset
+/// @brief Releases the Pervasive Control Bus (PCB) reset
+/// Sets TP chiplet enable
+/// Drops pervasive chiplet fences
+///
///
/// @param[in] i_target_chip Reference to TARGET_TYPE_PROC_CHIP target
/// @return FAPI2_RC_SUCCESS if success, else error code.
diff --git a/src/ppe/hwp/perv/p9_sbe_tp_chiplet_reset.C b/src/ppe/hwp/perv/p9_sbe_tp_chiplet_reset.C
index bc90079..358885e 100644
--- a/src/ppe/hwp/perv/p9_sbe_tp_chiplet_reset.C
+++ b/src/ppe/hwp/perv/p9_sbe_tp_chiplet_reset.C
@@ -25,28 +25,37 @@
//------------------------------------------------------------------------------
/// @file p9_sbe_tp_chiplet_reset.C
///
-/// @brief IPL STEP 2.8 : SBE TP Chiplet Reset :: setup hangcounter 6 for TP chiplet
-// *!
-// *! OWNER NAME : Abhishek Agarwal Email: abagarw8@in.ibm.com
-// *! BACKUP NAME : Email:
+/// @brief setup hangcounter 6 for TP chiplet
//------------------------------------------------------------------------------
-// *HWP HWP Owner : Abhishek Agarwal <abagarw8@in.ibm.com>
-// *HWP FW Owner : Brian Silver <bsilver@us.ibm.com>
-// *HWP Team : Perv
-// *HWP Level : 1
-// *HWP Consumed by : SBE
+// *HWP HWP Owner : Abhishek Agarwal <abagarw8@in.ibm.com>
+// *HWP HWP Backup Owner : Srinivas V Naga <srinivan@in.ibm.com>
+// *HWP FW Owner : Brian Silver <bsilver@us.ibm.com>
+// *HWP Team : Perv
+// *HWP Level : 2
+// *HWP Consumed by : SBE
//------------------------------------------------------------------------------
//## auto_generated
#include "p9_sbe_tp_chiplet_reset.H"
+
+#include "perv_scom_addresses.H"
+
+
fapi2::ReturnCode p9_sbe_tp_chiplet_reset(const
fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> & i_target_chip)
{
- FAPI_DBG("p9_sbe_tp_chiplet_reset: Entering ...");
+ FAPI_DBG("Entering ...");
+
+ FAPI_INF("Initializing Hangcounter 6 for PRV Cplt");
+ //Setting HANG_PULSE_6_REG register value
+ //PERV.HANG_PULSE_6_REG = HANG_PULSE_VALUE
+ FAPI_TRY(fapi2::putScom(i_target_chip, PERV_TP_HANG_PULSE_6_REG,
+ HANG_PULSE_VALUE));
- FAPI_DBG("p9_sbe_tp_chiplet_reset: Exiting ...");
+ FAPI_DBG("Exiting ...");
- return fapi2::FAPI2_RC_SUCCESS;
+fapi_try_exit:
+ return fapi2::current_err;
}
diff --git a/src/ppe/hwp/perv/p9_sbe_tp_chiplet_reset.H b/src/ppe/hwp/perv/p9_sbe_tp_chiplet_reset.H
index 9f3c7ae..b972831 100644
--- a/src/ppe/hwp/perv/p9_sbe_tp_chiplet_reset.H
+++ b/src/ppe/hwp/perv/p9_sbe_tp_chiplet_reset.H
@@ -25,16 +25,14 @@
//------------------------------------------------------------------------------
/// @file p9_sbe_tp_chiplet_reset.H
///
-/// @brief IPL STEP 2.8 : SBE TP Chiplet Reset :: setup hangcounter 6 for TP chiplet
-// *!
-// *! OWNER NAME : Abhishek Agarwal Email: abagarw8@in.ibm.com
-// *! BACKUP NAME : Email:
+/// @brief setup hangcounter 6 for TP chiplet
//------------------------------------------------------------------------------
-// *HWP HWP Owner : Abhishek Agarwal <abagarw8@in.ibm.com>
-// *HWP FW Owner : Brian Silver <bsilver@us.ibm.com>
-// *HWP Team : Perv
-// *HWP Level : 1
-// *HWP Consumed by : SBE
+// *HWP HWP Owner : Abhishek Agarwal <abagarw8@in.ibm.com>
+// *HWP HWP Backup Owner : Srinivas V Naga <srinivan@in.ibm.com>
+// *HWP FW Owner : Brian Silver <bsilver@us.ibm.com>
+// *HWP Team : Perv
+// *HWP Level : 2
+// *HWP Consumed by : SBE
//------------------------------------------------------------------------------
@@ -45,10 +43,15 @@
#include <fapi2.H>
+enum P9_SBE_TP_CHIPLET_RESET_Constants
+{
+ HANG_PULSE_VALUE = 0x0c00000000000000
+};
+
typedef fapi2::ReturnCode (*p9_sbe_tp_chiplet_reset_FP_t)(
const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> &);
-/// @brief --Setup hang counter for PCB slaves/master
+/// @brief Setup hang counter for PCB slaves/master
///
///
/// @param[in] i_target_chip Reference to TARGET_TYPE_PROC_CHIP target
diff --git a/src/ppe/hwp/perv/p9_sbe_tp_enable_ridi.C b/src/ppe/hwp/perv/p9_sbe_tp_enable_ridi.C
new file mode 100644
index 0000000..7fb1bcc
--- /dev/null
+++ b/src/ppe/hwp/perv/p9_sbe_tp_enable_ridi.C
@@ -0,0 +1,64 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/ppe/hwp/perv/p9_sbe_tp_enable_ridi.C $ */
+/* */
+/* OpenPOWER OnChipController Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2015 */
+/* [+] 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 */
+//------------------------------------------------------------------------------
+/// @file p9_sbe_tp_enable_ridi.C
+///
+/// @brief enables ridi bits in RC regs after scan initialize and start clock the pervasive chiplet
+//------------------------------------------------------------------------------
+// *HWP HW Owner : Abhishek Agarwal <abagarw8@in.ibm.com>
+// *HWP HW Backup Owner : Srinivas V Naga <srinivan@in.ibm.com>
+// *HWP FW Owner : sunil kumar <skumar8j@in.ibm.com>
+// *HWP Team : Perv
+// *HWP Level : 2
+// *HWP Consumed by : SBE
+//------------------------------------------------------------------------------
+
+
+//## auto_generated
+#include "p9_sbe_tp_enable_ridi.H"
+
+#include "perv_scom_addresses.H"
+
+
+fapi2::ReturnCode p9_sbe_tp_enable_ridi(const
+ fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> & i_target_chip)
+{
+ fapi2::buffer<uint64_t> l_data64;
+ FAPI_DBG("Entering ...");
+
+ FAPI_INF("Enable Recievers, Drivers DI1 & DI2");
+ //Setting ROOT_CTRL1 register value
+ FAPI_TRY(fapi2::getScom(i_target_chip, PERV_ROOT_CTRL1_SCOM, l_data64));
+ l_data64.setBit<19>(); //PIB.ROOT_CTRL1.TP_RI_DC_B = 1
+ l_data64.setBit<20>(); //PIB.ROOT_CTRL1.TP_DI1_DC_B = 1
+ l_data64.setBit<21>(); //PIB.ROOT_CTRL1.TP_DI2_DC_B = 1
+ FAPI_TRY(fapi2::putScom(i_target_chip, PERV_ROOT_CTRL1_SCOM, l_data64));
+
+ FAPI_DBG("Exiting ...");
+
+fapi_try_exit:
+ return fapi2::current_err;
+
+}
diff --git a/src/ppe/hwp/perv/p9_sbe_tp_enable_ridi.H b/src/ppe/hwp/perv/p9_sbe_tp_enable_ridi.H
new file mode 100644
index 0000000..d96bb51
--- /dev/null
+++ b/src/ppe/hwp/perv/p9_sbe_tp_enable_ridi.H
@@ -0,0 +1,59 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/ppe/hwp/perv/p9_sbe_tp_enable_ridi.H $ */
+/* */
+/* OpenPOWER OnChipController Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2015 */
+/* [+] 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 */
+//------------------------------------------------------------------------------
+/// @file p9_sbe_tp_enable_ridi.H
+///
+/// @brief enables ridi bits in RC regs after scan initialize and start clock the pervasive chiplet
+//------------------------------------------------------------------------------
+// *HWP HW Owner : Abhishek Agarwal <abagarw8@in.ibm.com>
+// *HWP HW Backup Owner : Srinivas V Naga <srinivan@in.ibm.com>
+// *HWP FW Owner : sunil kumar <skumar8j@in.ibm.com>
+// *HWP Team : Perv
+// *HWP Level : 2
+// *HWP Consumed by : SBE
+//------------------------------------------------------------------------------
+
+
+#ifndef _P9_SBE_TP_ENABLE_RIDI_H_
+#define _P9_SBE_TP_ENABLE_RIDI_H_
+
+
+#include <fapi2.H>
+
+
+typedef fapi2::ReturnCode (*p9_sbe_tp_enable_ridi_FP_t)(
+ const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> &);
+
+/// @brief Enable drivers/receivers for PRV chiplet
+///
+/// @param[in] i_target_chip Reference to TARGET_TYPE_PROC_CHIP target
+/// @return FAPI2_RC_SUCCESS if success, else error code.
+extern "C"
+{
+ fapi2::ReturnCode p9_sbe_tp_enable_ridi(const
+ fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> & i_target_chip);
+}
+
+#endif
diff --git a/src/ppe/hwp/perv/pervasive.act b/src/ppe/hwp/perv/pervasive.act
new file mode 100644
index 0000000..9c19ccc
--- /dev/null
+++ b/src/ppe/hwp/perv/pervasive.act
@@ -0,0 +1,472 @@
+# =============================================================================
+# Simics action for p9_sbe_arrayinit and p9_sbe_chiplet_init
+# =============================================================================
+
+CAUSE_EFFECT{
+LABEL=[SEEPROM ARRAY INIT for N0]
+# Watch PERV_OPCG_REG0
+WATCH=[REG(0x02030002)]
+# OPCG_REG0.RUNN_MODE = 1
+CAUSE: TARGET=[REG(0x02030002)] OP=[BIT,ON] BIT=[0]
+# OPCG_REG0.OPCG_STARTS_BIST = 1
+CAUSE: TARGET=[REG(0x02030002)] OP=[BIT,ON] BIT=[14]
+# OPCG_REG0.OPCG_GO = 1
+CAUSE: TARGET=[REG(0x02030002)] OP=[BIT,ON] BIT=[1]
+# OPCG_DONE for CPLT_STAT0 register
+EFFECT: TARGET=[REG(0x02000100)] OP=[BIT,ON] BIT=[8]
+# SRAM Abist Done
+EFFECT: TARGET=[REG(0x02000100)] OP=[BIT,ON] BIT=[0]
+}
+
+CAUSE_EFFECT{
+LABEL=[SEEPROM SCAN0 MODULE for N0]
+# Watch PERV_OPCG_REG0
+WATCH=[REG(0x02030002)]
+# OPCG_REG0.RUN_SCAN0 = 1
+CAUSE: TARGET=[REG(0x02030002)] OP=[BIT,ON] BIT=[2]
+# OPCG_DONE for CPLT_STAT0 register
+EFFECT: TARGET=[REG(0x02000100)] OP=[BIT,ON] BIT=[8]
+}
+
+CAUSE_EFFECT{
+LABEL=[SEEPROM ARRAY INIT for N1]
+# Watch PERV_OPCG_REG0
+WATCH=[REG(0x03030002)]
+# # OPCG_REG0.RUNN_MODE = 1
+CAUSE: TARGET=[REG(0x03030002)] OP=[BIT,ON] BIT=[0]
+# OPCG_REG0.OPCG_STARTS_BIST = 1
+CAUSE: TARGET=[REG(0x03030002)] OP=[BIT,ON] BIT=[14]
+# OPCG_REG0.OPCG_GO = 1
+CAUSE: TARGET=[REG(0x03030002)] OP=[BIT,ON] BIT=[1]
+# OPCG_DONE for CPLT_STAT0 register
+EFFECT: TARGET=[REG(0x03000100)] OP=[BIT,ON] BIT=[8]
+# SRAM Abist Done
+EFFECT: TARGET=[REG(0x03000100)] OP=[BIT,ON] BIT=[0]
+}
+
+CAUSE_EFFECT{
+LABEL=[SEEPROM SCAN0 MODULE for N1]
+# Watch PERV_OPCG_REG0
+WATCH=[REG(0x03030002)]
+# OPCG_REG0.RUN_SCAN0 = 1
+CAUSE: TARGET=[REG(0x03030002)] OP=[BIT,ON] BIT=[2]
+# OPCG_DONE for CPLT_STAT0 register
+EFFECT: TARGET=[REG(0x03000100)] OP=[BIT,ON] BIT=[8]
+}
+
+CAUSE_EFFECT{
+LABEL=[SEEPROM ARRAY INIT for N2]
+# Watch PERV_OPCG_REG0
+WATCH=[REG(0x04030002)]
+# OPCG_REG0.RUNN_MODE = 1
+CAUSE: TARGET=[REG(0x04030002)] OP=[BIT,ON] BIT=[0]
+# OPCG_REG0.OPCG_STARTS_BIST = 1
+CAUSE: TARGET=[REG(0x04030002)] OP=[BIT,ON] BIT=[14]
+# OPCG_REG0.OPCG_GO = 1
+CAUSE: TARGET=[REG(0x04030002)] OP=[BIT,ON] BIT=[1]
+# OPCG_DONE for CPLT_STAT0 register
+EFFECT: TARGET=[REG(0x04000100)] OP=[BIT,ON] BIT=[8]
+# SRAM Abist Done
+EFFECT: TARGET=[REG(0x04000100)] OP=[BIT,ON] BIT=[0]
+}
+
+CAUSE_EFFECT{
+LABEL=[SEEPROM SCAN0 MODULE for N2]
+# Watch PERV_OPCG_REG0
+WATCH=[REG(0x04030002)]
+# OPCG_REG0.RUN_SCAN0 = 1
+CAUSE: TARGET=[REG(0x04030002)] OP=[BIT,ON] BIT=[2]
+# OPCG_DONE for CPLT_STAT0 register
+EFFECT: TARGET=[REG(0x04000100)] OP=[BIT,ON] BIT=[8]
+}
+
+CAUSE_EFFECT{
+LABEL=[SEEPROM ARRAY INIT for N3]
+# Watch PERV_OPCG_REG0
+WATCH=[REG(0x05030002)]
+# OPCG_REG0.RUNN_MODE = 1
+CAUSE: TARGET=[REG(0x05030002)] OP=[BIT,ON] BIT=[0]
+# OPCG_REG0.OPCG_STARTS_BIST = 1
+CAUSE: TARGET=[REG(0x05030002)] OP=[BIT,ON] BIT=[14]
+# OPCG_REG0.OPCG_GO = 1
+CAUSE: TARGET=[REG(0x05030002)] OP=[BIT,ON] BIT=[1]
+# OPCG_DONE for CPLT_STAT0 register
+EFFECT: TARGET=[REG(0x05000100)] OP=[BIT,ON] BIT=[8]
+# SRAM Abist Done
+EFFECT: TARGET=[REG(0x05000100)] OP=[BIT,ON] BIT=[0]
+}
+
+CAUSE_EFFECT{
+LABEL=[SEEPROM SCAN0 MODULE for N3]
+# Watch PERV_OPCG_REG0
+WATCH=[REG(0x05030002)]
+# OPCG_REG0.RUN_SCAN0 = 1
+CAUSE: TARGET=[REG(0x05030002)] OP=[BIT,ON] BIT=[2]
+# OPCG_DONE for CPLT_STAT0 register
+EFFECT: TARGET=[REG(0x05000100)] OP=[BIT,ON] BIT=[8]
+}
+
+CAUSE_EFFECT{
+LABEL=[SEEPROM ARRAY INIT for XB]
+# Watch PERV_OPCG_REG0
+WATCH=[REG(0x06030002)]
+# OPCG_REG0.RUNN_MODE = 1
+CAUSE: TARGET=[REG(0x06030002)] OP=[BIT,ON] BIT=[0]
+# OPCG_REG0.OPCG_STARTS_BIST = 1
+CAUSE: TARGET=[REG(0x06030002)] OP=[BIT,ON] BIT=[14]
+# OPCG_REG0.OPCG_GO = 1
+CAUSE: TARGET=[REG(0x06030002)] OP=[BIT,ON] BIT=[1]
+# OPCG_DONE for CPLT_STAT0 register
+EFFECT: TARGET=[REG(0x06000100)] OP=[BIT,ON] BIT=[8]
+# SRAM Abist Done
+EFFECT: TARGET=[REG(0x06000100)] OP=[BIT,ON] BIT=[0]
+}
+
+CAUSE_EFFECT{
+LABEL=[SEEPROM SCAN0 MODULE for XB]
+# Watch PERV_OPCG_REG0
+WATCH=[REG(0x06030002)]
+OPCG_REG0.RUN_SCAN0 = 1
+CAUSE: TARGET=[REG(0x06030002)] OP=[BIT,ON] BIT=[2]
+# OPCG_DONE for CPLT_STAT0 register
+EFFECT: TARGET=[REG(0x06000100)] OP=[BIT,ON] BIT=[8]
+}
+
+CAUSE_EFFECT{
+LABEL=[SEEPROM ARRAY INIT for MC01]
+# Watch PERV_OPCG_REG0
+WATCH=[REG(0x07030002)]
+# OPCG_REG0.RUNN_MODE = 1
+CAUSE: TARGET=[REG(0x07030002)] OP=[BIT,ON] BIT=[0]
+# OPCG_REG0.OPCG_STARTS_BIST = 1
+CAUSE: TARGET=[REG(0x07030002)] OP=[BIT,ON] BIT=[14]
+# OPCG_REG0.OPCG_GO = 1
+CAUSE: TARGET=[REG(0x07030002)] OP=[BIT,ON] BIT=[1]
+# OPCG_DONE for CPLT_STAT0 register
+EFFECT: TARGET=[REG(0x07000100)] OP=[BIT,ON] BIT=[8]
+# SRAM Abist Done
+EFFECT: TARGET=[REG(0x07000100)] OP=[BIT,ON] BIT=[0]
+}
+
+CAUSE_EFFECT{
+LABEL=[SEEPROM SCAN0 MODULE for MC01]
+# Watch PERV_OPCG_REG0
+WATCH=[REG(0x07030002)]
+# OPCG_REG0.RUN_SCAN0 = 1
+CAUSE: TARGET=[REG(0x07030002)] OP=[BIT,ON] BIT=[2]
+# OPCG_DONE for CPLT_STAT0 register
+EFFECT: TARGET=[REG(0x07000100)] OP=[BIT,ON] BIT=[8]
+}
+
+CAUSE_EFFECT{
+LABEL=[SEEPROM ARRAY INIT for MC029]
+# Watch PERV_OPCG_REG0
+WATCH=[REG(0x08030002)]
+# OPCG_REG0.RUNN_MODE = 1
+CAUSE: TARGET=[REG(0x08030002)] OP=[BIT,ON] BIT=[0]
+# OPCG_REG0.OPCG_STARTS_BIST = 1
+CAUSE: TARGET=[REG(0x08030002)] OP=[BIT,ON] BIT=[14]
+# OPCG_REG0.OPCG_GO = 1
+CAUSE: TARGET=[REG(0x08030002)] OP=[BIT,ON] BIT=[1]
+# OPCG_DONE for CPLT_STAT0 register
+EFFECT: TARGET=[REG(0x08000100)] OP=[BIT,ON] BIT=[8]
+# SRAM Abist Done
+EFFECT: TARGET=[REG(0x08000100)] OP=[BIT,ON] BIT=[0]
+}
+
+CAUSE_EFFECT{
+LABEL=[SEEPROM SCAN0 MODULE for MC029]
+# Watch PERV_OPCG_REG0
+WATCH=[REG(0x08030002)]
+# OPCG_REG0.RUN_SCAN0 = 1
+CAUSE: TARGET=[REG(0x08030002)] OP=[BIT,ON] BIT=[2]
+# OPCG_DONE for CPLT_STAT0 register
+EFFECT: TARGET=[REG(0x08000100)] OP=[BIT,ON] BIT=[8]
+}
+
+CAUSE_EFFECT{
+LABEL=[SEEPROM ARRAY INIT for OB0]
+# Watch PERV_OPCG_REG0
+WATCH=[REG(0x09030002)]
+#OPCG_REG0.RUNN_MODE = 1
+CAUSE: TARGET=[REG(0x09030002)] OP=[BIT,ON] BIT=[0]
+# OPCG_REG0.OPCG_STARTS_BIST = 1
+CAUSE: TARGET=[REG(0x09030002)] OP=[BIT,ON] BIT=[14]
+# OPCG_REG0.OPCG_GO = 1
+CAUSE: TARGET=[REG(0x09030002)] OP=[BIT,ON] BIT=[1]
+# OPCG_DONE for CPLT_STAT0 register
+EFFECT: TARGET=[REG(0x09000100)] OP=[BIT,ON] BIT=[8]
+# SRAM Abist Done
+EFFECT: TARGET=[REG(0x09000100)] OP=[BIT,ON] BIT=[0]
+}
+
+CAUSE_EFFECT{
+LABEL=[SEEPROM SCAN0 MODULE for OB0]
+# Watch PERV_OPCG_REG0
+WATCH=[REG(0x09030002)]
+# OPCG_REG0.RUN_SCAN0 = 1
+CAUSE: TARGET=[REG(0x09030002)] OP=[BIT,ON] BIT=[2]
+# OPCG_DONE for CPLT_STAT0 register
+EFFECT: TARGET=[REG(0x09000100)] OP=[BIT,ON] BIT=[8]
+}
+
+CAUSE_EFFECT{
+LABEL=[SEEPROM ARRAY INIT for OB1]
+# Watch PERV_OPCG_REG0
+WATCH=[REG(0x0A030002)]
+# OPCG_REG0.RUNN_MODE = 1
+CAUSE: TARGET=[REG(0x0A030002)] OP=[BIT,ON] BIT=[0]
+# OPCG_REG0.OPCG_STARTS_BIST = 1
+CAUSE: TARGET=[REG(0x0A030002)] OP=[BIT,ON] BIT=[14]
+# OPCG_REG0.OPCG_GO = 1
+CAUSE: TARGET=[REG(0x0A030002)] OP=[BIT,ON] BIT=[1]
+# OPCG_DONE for CPLT_STAT0 register
+EFFECT: TARGET=[REG(0x0A000100)] OP=[BIT,ON] BIT=[8]
+# SRAM Abist Done
+EFFECT: TARGET=[REG(0x0A000100)] OP=[BIT,ON] BIT=[0]
+}
+
+CAUSE_EFFECT{
+LABEL=[SEEPROM SCAN0 MODULE for OB1]
+# Watch PERV_OPCG_REG0
+WATCH=[REG(0x0A030002)]
+# OPCG_REG0.RUN_SCAN0 = 1
+CAUSE: TARGET=[REG(0x0A030002)] OP=[BIT,ON] BIT=[2]
+# OPCG_DONE for CPLT_STAT0 register
+EFFECT: TARGET=[REG(0x0A000100)] OP=[BIT,ON] BIT=[8]
+}
+
+CAUSE_EFFECT{
+LABEL=[SEEPROM ARRAY INIT for OB2]
+# Watch PERV_OPCG_REG0
+WATCH=[REG(0x0B030002)]
+# OPCG_REG0.RUNN_MODE = 1
+CAUSE: TARGET=[REG(0x0B030002)] OP=[BIT,ON] BIT=[0]
+# OPCG_REG0.OPCG_STARTS_BIST = 1
+CAUSE: TARGET=[REG(0x0B030002)] OP=[BIT,ON] BIT=[14]
+# OPCG_REG0.OPCG_GO = 1
+CAUSE: TARGET=[REG(0x0B030002)] OP=[BIT,ON] BIT=[1]
+# OPCG_DONE for CPLT_STAT0 register
+EFFECT: TARGET=[REG(0x0B000100)] OP=[BIT,ON] BIT=[8]
+# SRAM Abist Done
+EFFECT: TARGET=[REG(0x0B000100)] OP=[BIT,ON] BIT=[0]
+}
+
+CAUSE_EFFECT{
+LABEL=[SEEPROM SCAN0 MODULE for OB2]
+# Watch PERV_OPCG_REG0
+WATCH=[REG(0x0B030002)]
+# OPCG_REG0.RUN_SCAN0 = 1
+CAUSE: TARGET=[REG(0x0B030002)] OP=[BIT,ON] BIT=[2]
+# OPCG_DONE for CPLT_STAT0 register
+EFFECT: TARGET=[REG(0x0B000100)] OP=[BIT,ON] BIT=[8]
+}
+
+CAUSE_EFFECT{
+LABEL=[SEEPROM ARRAY INIT for OB3]
+# Watch PERV_OPCG_REG0
+WATCH=[REG(0x0C030002)]
+# OPCG_REG0.RUNN_MODE = 1
+CAUSE: TARGET=[REG(0x0C030002)] OP=[BIT,ON] BIT=[0]
+# OPCG_REG0.OPCG_STARTS_BIST = 1
+CAUSE: TARGET=[REG(0x0C030002)] OP=[BIT,ON] BIT=[14]
+# OPCG_REG0.OPCG_GO = 1
+CAUSE: TARGET=[REG(0x0C030002)] OP=[BIT,ON] BIT=[1]
+# OPCG_DONE for CPLT_STAT0 register
+EFFECT: TARGET=[REG(0x0C000100)] OP=[BIT,ON] BIT=[8]
+# SRAM Abist Done
+EFFECT: TARGET=[REG(0x0C000100)] OP=[BIT,ON] BIT=[0]
+}
+
+CAUSE_EFFECT{
+LABEL=[SEEPROM SCAN0 MODULE for OB3]
+# Watch PERV_OPCG_REG0
+WATCH=[REG(0x0C030002)]
+# OPCG_REG0.RUN_SCAN0 = 1
+CAUSE: TARGET=[REG(0x0C030002)] OP=[BIT,ON] BIT=[2]
+# OPCG_DONE for CPLT_STAT0 register
+EFFECT: TARGET=[REG(0x0C000100)] OP=[BIT,ON] BIT=[8]
+}
+
+CAUSE_EFFECT{
+LABEL=[SEEPROM ARRAY INIT for PCI0]
+# Watch PERV_OPCG_REG0
+WATCH=[REG(0x0D030002)]
+# OPCG_REG0.RUNN_MODE = 1
+CAUSE: TARGET=[REG(0x0D030002)] OP=[BIT,ON] BIT=[0]
+# OPCG_REG0.OPCG_STARTS_BIST = 1
+CAUSE: TARGET=[REG(0x0D030002)] OP=[BIT,ON] BIT=[14]
+# OPCG_REG0.OPCG_GO = 1
+CAUSE: TARGET=[REG(0x0D030002)] OP=[BIT,ON] BIT=[1]
+# OPCG_DONE for CPLT_STAT0 register
+EFFECT: TARGET=[REG(0x0D000100)] OP=[BIT,ON] BIT=[8]
+# SRAM Abist Done
+EFFECT: TARGET=[REG(0x0D000100)] OP=[BIT,ON] BIT=[0]
+}
+
+CAUSE_EFFECT{
+LABEL=[SEEPROM SCAN0 MODULE for PCI0]
+# Watch PERV_OPCG_REG0
+WATCH=[REG(0x0D030002)]
+# OPCG_REG0.RUN_SCAN0 = 1
+CAUSE: TARGET=[REG(0x0D030002)] OP=[BIT,ON] BIT=[2]
+# OPCG_DONE for CPLT_STAT0 register
+EFFECT: TARGET=[REG(0x0D000100)] OP=[BIT,ON] BIT=[8]
+}
+
+CAUSE_EFFECT{
+LABEL=[SEEPROM ARRAY INIT for PCI1]
+# Watch PERV_OPCG_REG0
+WATCH=[REG(0x0E030002)]
+# OPCG_REG0.RUNN_MODE = 1
+CAUSE: TARGET=[REG(0x0E030002)] OP=[BIT,ON] BIT=[0]
+# OPCG_REG0.OPCG_STARTS_BIST = 1
+CAUSE: TARGET=[REG(0x0E030002)] OP=[BIT,ON] BIT=[14]
+# OPCG_REG0.OPCG_GO = 1
+CAUSE: TARGET=[REG(0x0E030002)] OP=[BIT,ON] BIT=[1]
+# OPCG_DONE for CPLT_STAT0 register
+EFFECT: TARGET=[REG(0x0E000100)] OP=[BIT,ON] BIT=[8]
+# SRAM Abist Done
+EFFECT: TARGET=[REG(0x0E000100)] OP=[BIT,ON] BIT=[0]
+}
+
+CAUSE_EFFECT{
+LABEL=[SEEPROM SCAN0 MODULE for PCI1]
+# Watch PERV_OPCG_REG0
+WATCH=[REG(0x0E030002)]
+# OPCG_REG0.RUN_SCAN0 = 1
+CAUSE: TARGET=[REG(0x0E030002)] OP=[BIT,ON] BIT=[2]
+# OPCG_DONE for CPLT_STAT0 register
+EFFECT: TARGET=[REG(0x0E000100)] OP=[BIT,ON] BIT=[8]
+}
+
+CAUSE_EFFECT{
+LABEL=[SEEPROM ARRAY INIT for PCI2]
+# Watch PERV_OPCG_REG0
+WATCH=[REG(0x0F030002)]
+# OPCG_REG0.RUNN_MODE = 1
+CAUSE: TARGET=[REG(0x0F030002)] OP=[BIT,ON] BIT=[0]
+# OPCG_REG0.OPCG_STARTS_BIST = 1
+CAUSE: TARGET=[REG(0x0F030002)] OP=[BIT,ON] BIT=[14]
+# OPCG_REG0.OPCG_GO = 1
+CAUSE: TARGET=[REG(0x0F030002)] OP=[BIT,ON] BIT=[1]
+# OPCG_DONE for CPLT_STAT0 register
+EFFECT: TARGET=[REG(0x0F000100)] OP=[BIT,ON] BIT=[8]
+# SRAM Abist Done
+EFFECT: TARGET=[REG(0x0F000100)] OP=[BIT,ON] BIT=[0]
+}
+
+CAUSE_EFFECT{
+LABEL=[SEEPROM SCAN0 MODULE for PCI2]
+# Watch PERV_OPCG_REG0
+WATCH=[REG(0x0F030002)]
+# OPCG_REG0.RUN_SCAN0 = 1
+CAUSE: TARGET=[REG(0x0F030002)] OP=[BIT,ON] BIT=[2]
+# OPCG_DONE for CPLT_STAT0 register
+EFFECT: TARGET=[REG(0x0F000100)] OP=[BIT,ON] BIT=[8]
+}
+
+
+# =============================================================================
+# Simics action for p9_sbe_tp_arrayinit
+# =============================================================================
+
+CAUSE_EFFECT{
+LABEL=[SEEPROM ARRAY INIT]
+# Watch PERV_OPCG_REG0
+WATCH=[REG(0x01030002)]
+# OPCG_REG0.RUNN_MODE = 1
+CAUSE: TARGET=[REG(0x01030002)] OP=[BIT,ON] BIT=[0]
+# OPCG_REG0.OPCG_STARTS_BIST = 1
+CAUSE: TARGET=[REG(0x01030002)] OP=[BIT,ON] BIT=[14]
+# OPCG_REG0.OPCG_GO = 1
+CAUSE: TARGET=[REG(0x01030002)] OP=[BIT,ON] BIT=[1]
+# OPCG_DONE for CPLT_STAT0 register
+EFFECT: TARGET=[REG(0x01000100)] OP=[BIT,ON] BIT=[8]
+# SRAM Abist Done
+EFFECT: TARGET=[REG(0x01000100)] OP=[BIT,ON] BIT=[0]
+}
+
+# This cause-effect block is also used for "p9_sbe_tp_chiplet_init2.C"
+CAUSE_EFFECT{
+LABEL=[SEEPROM SCAN0 MODULE]
+# Watch PERV_OPCG_REG0
+WATCH=[REG(0x01030002)]
+# OPCG_REG0.RUN_SCAN0 = 1
+CAUSE: TARGET=[REG(0x01030002)] OP=[BIT,ON] BIT=[2]
+# OPCG_DONE for CPLT_STAT0 register
+EFFECT: TARGET=[REG(0x01000100)] OP=[BIT,ON] BIT=[8]
+}
+
+
+# =============================================================================
+# Simics action for p9_sbe_tp_chiplet_init3
+# =============================================================================
+
+CAUSE_EFFECT{
+LABEL=[Common_Clock_Start_AllRegions]
+# Watch PERV_CLK_REGION register
+WATCH=[REG(0x01030006)]
+# Setup all Clock Domains and Clock Types
+CAUSE: TARGET=[REG(0x01030006)] OP=[EQUALTO,BUF] DATA=[LITERAL(64,0x4FFF0000 0x0000E000)]
+# Clock running status for SL type should match with expected values.
+EFFECT: TARGET=[REG(0x01030008)] OP=[EQUALTO,BUF] DATA=[LITERAL(64,0xF001FFFF 0xFFFFFFFF)]
+# Clock running status for NSL type should match with expected values.
+EFFECT: TARGET=[REG(0x01030009)] OP=[EQUALTO,BUF] DATA=[LITERAL(64,0xF001FFFF 0xFFFFFFFF])
+# Clock running status for ARY type should match with expected values.
+EFFECT: TARGET=[REG(0x0103000A)] OP=[EQUALTO,BUF] DATA=[LITERAL(64,0xF001FFFF 0xFFFFFFFF)]
+}
+
+
+# =============================================================================
+# Simics action for p9_sbe_npll_setup
+# =============================================================================
+
+CAUSE_EFFECT{
+LABEL=[SS PLL lock]
+#Watch PERV_ROOT_CTRL8_SCOM register
+WATCH=[REG(0x00050018)]
+# PIB.ROOT_CTRL8.TP_PLL_TEST_ENABLE_DC = 0
+CAUSE: TARGET=[REG(0x00050018)] OP=[BIT,OFF] BIT=[12]
+# PIB.ROOT_CTRL8.TP_SSPLL_PLL_RESET0_DC = 0
+CAUSE: TARGET=[REG(0x00050018)] OP=[BIT,OFF] BIT=[0]
+# Check SS PLL lock
+EFFECT: TARGET=[REG(0x010F0019)] OP=[BIT,ON] BIT=[0]
+}
+
+CAUSE_EFFECT{
+LABEL=[CP and IO PLL lock]
+# Watch PERV_ROOT_CTRL8_SCOM register
+WATCH=[REG(0x00050018)]
+# PIB.ROOT_CTRL8.TP_FILTPLL_PLL_RESET1_DC = 0
+CAUSE: TARGET=[REG(0x00050018)] OP=[BIT,OFF] BIT=[4]
+# Check PLL_LOCK_REG register value
+EFFECT: TARGET=[REG(0x010F0019)] OP=[BIT,ON] BIT=[1]
+EFFECT: TARGET=[REG(0x010F0019)] OP=[BIT,ON] BIT=[2]
+}
+
+CAUSE_EFFECT{
+LABEL=[NEST PLL LOCK]
+# Watch PERV_ROOT_CTRL8_SCOM register
+WATCH=[REG(0x00050018)]
+# PIB.PERV_CTRL0.TP_PLLRST_DC = 0
+CAUSE: TARGET=[REG(0x00050018)] OP=[BIT,OFF] BIT=[4]
+# Check NEST PLL lock
+EFFECT: TARGET=[REG(0x010F0019)] OP=[BIT,ON] BIT=[3]
+}
+
+# =============================================================================
+# Simics action for istep 4 shared modules
+# =============================================================================
+
+CAUSE_EFFECT{
+LABEL=[SEEPROM SCAN0 MODULE for EQ/CORE target]
+# Watch PERV_OPCG_REG0
+WATCH=[REG(0x00030002)]
+# OPCG_REG0.RUN_SCAN0 = 1
+CAUSE: TARGET=[REG(0x00030002)] OP=[BIT,ON] BIT=[2]
+# OPCG_DONE for CPLT_STAT0 register
+EFFECT: TARGET=[REG(0x00000100)] OP=[BIT,ON] BIT=[8]
+}
+
+
diff --git a/src/ppe/hwp/perv/perverrors.mk b/src/ppe/hwp/perv/perverrors.mk
new file mode 100644
index 0000000..6a21918
--- /dev/null
+++ b/src/ppe/hwp/perv/perverrors.mk
@@ -0,0 +1,41 @@
+# IBM_PROLOG_BEGIN_TAG
+# This is an automatically generated prolog.
+#
+# $Source: src/ppe/hwp/perv/perverrors.mk $
+#
+# OpenPOWER OnChipController Project
+#
+# Contributors Listed Below - COPYRIGHT 2015
+# [+] 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
+# @file perverrors.mk
+#
+# @brief mk for including library common error files
+#
+# @page ChangeLogs Change Logs
+# @section perverrors.mk
+#
+##########################################################################
+# Error Files
+##########################################################################
+
+PERV_CURR_DIR := $(abspath $(dir $(lastword $(MAKEFILE_LIST))))
+
+# This variable name must not change
+ERROR_XML_FILES += $(PERV_CURR_DIR)/p9_sbe_setup_evid_errors.xml
+
+
diff --git a/src/ppe/hwp/perv/pervfiles.mk b/src/ppe/hwp/perv/pervfiles.mk
index c99113c..2112360 100644
--- a/src/ppe/hwp/perv/pervfiles.mk
+++ b/src/ppe/hwp/perv/pervfiles.mk
@@ -36,35 +36,40 @@
# Object Files
##########################################################################
-PERV-CPP-SOURCES = p9_sbe_setup_evid.C
+PERV-CPP-SOURCES =p9_sbe_arrayinit.C
PERV-CPP-SOURCES +=p9_sbe_attr_setup.C
-PERV-CPP-SOURCES +=p9_sbe_tp_chiplet_init1.C
PERV-CPP-SOURCES +=p9_sbe_check_master.C
-PERV-CPP-SOURCES +=p9_sbe_tp_chiplet_init2.C
+PERV-CPP-SOURCES +=p9_sbe_chiplet_init.C
+PERV-CPP-SOURCES +=p9_sbe_chiplet_pll_initf.C
+PERV-CPP-SOURCES +=p9_sbe_chiplet_pll_setup.C
+PERV-CPP-SOURCES +=p9_sbe_chiplet_reset.C
PERV-CPP-SOURCES +=p9_sbe_enable_seeprom.C
-PERV-CPP-SOURCES +=p9_sbe_tp_chiplet_init3.C
+PERV-CPP-SOURCES +=p9_sbe_gptr_time_repr_initf.C
PERV-CPP-SOURCES +=p9_sbe_lpc_init.C
+PERV-CPP-SOURCES +=p9_sbe_nest_enable_ridi.C
+PERV-CPP-SOURCES +=p9_sbe_nest_initf.C
+PERV-CPP-SOURCES +=p9_sbe_nest_startclocks.C
+PERV-CPP-SOURCES +=p9_sbe_npll_initf.C
+PERV-CPP-SOURCES +=p9_sbe_npll_setup.C
+PERV-CPP-SOURCES +=p9_sbe_select_ex.C
+PERV-CPP-SOURCES +=p9_sbe_startclock_chiplets.C
+PERV-CPP-SOURCES +=p9_sbe_tp_arrayinit.C
+PERV-CPP-SOURCES +=p9_sbe_tp_chiplet_init1.C
+PERV-CPP-SOURCES +=p9_sbe_tp_chiplet_init2.C
+PERV-CPP-SOURCES +=p9_sbe_tp_chiplet_init3.C
PERV-CPP-SOURCES +=p9_sbe_tp_chiplet_reset.C
-PERV-CPP-SOURCES +=p9_sbe_nest_arrayinit.C
+PERV-CPP-SOURCES +=p9_sbe_tp_enable_ridi.C
PERV-CPP-SOURCES +=p9_sbe_tp_gptr_time_repr_initf.C
-PERV-CPP-SOURCES +=p9_sbe_nest_chiplet_init.C
PERV-CPP-SOURCES +=p9_sbe_tp_initf.C
-PERV-CPP-SOURCES +=p9_sbe_nest_chiplet_reset.C
PERV-CPP-SOURCES +=p9_sbe_tp_ld_image.C
-PERV-CPP-SOURCES +=p9_sbe_nest_gptr_time_repr_initf.C
PERV-CPP-SOURCES +=p9_sbe_tp_switch_gears.C
-PERV-CPP-SOURCES +=p9_sbe_nest_initf.C
PERV-CPP-SOURCES +=p9_select_boot_master.C
-PERV-CPP-SOURCES +=p9_sbe_nest_startclocks.C
PERV-CPP-SOURCES +=p9_select_clock_mux.C
-PERV-CPP-SOURCES +=p9_sbe_npll_initf.C
PERV-CPP-SOURCES +=p9_set_fsi_gp_shadow.C
-PERV-CPP-SOURCES +=p9_sbe_npll_setup.C
PERV-CPP-SOURCES +=p9_setup_clock_term.C
-PERV-CPP-SOURCES +=p9_sbe_select_ex.C
PERV-CPP-SOURCES +=p9_setup_sbe_config.C
-PERV-CPP-SOURCES +=p9_sbe_tp_arrayinit.C
PERV-CPP-SOURCES +=p9_start_cbs.C
+PERV-CPP-SOURCES +=p9_sbe_setup_evid.C
PERV-C-SOURCES =
PERV-S-SOURCES =
OpenPOWER on IntegriCloud