summaryrefslogtreecommitdiffstats
path: root/import/chips
diff options
context:
space:
mode:
authorThi Tran <thi@us.ibm.com>2016-11-16 09:31:03 -0600
committerJoshua Hunsberger <jahunsbe@us.ibm.com>2017-10-23 17:05:02 -0500
commitd74b695609799bab144f8e38936e8ee2d5a3bafc (patch)
tree36a3e45244c5e1f083aef6ee72ce2dbef9a363d9 /import/chips
parenta84d184732614f1a7501c0ed163dd315603d1c8e (diff)
downloadtalos-hcode-d74b695609799bab144f8e38936e8ee2d5a3bafc.tar.gz
talos-hcode-d74b695609799bab144f8e38936e8ee2d5a3bafc.zip
Centaur istep 11 support
initCompiler generate procedures & wrapper for Centaur SCAN initfiles porting Centaur initfiles into p9 for Centaur EC 21 update Initfile Compiler to generate wrapper and C/H Scan files for Centaur generate rings data to be pulled in Centaur HW image. centaur_ec_attributes remove all attributes previously used by SBE code -- only DD2 is supported cen_common_funcs cleanup trace messages add common clockstart module for NEST/MEM centaur_misc_constants define constants for PLL scan0 operations define MEM scan chiplet constant cen_tp_chiplet_init1 remove EC feature attribute qualifications -- only DD2 is supported scan0 flush TP PLL GPTR BNDY and FUNC ring cen_pll_initf cen_initf directly invoke generated scan HWPs until putRing support exists cen_chiplet_init remove EC feature attribute qualifications -- only DD2 is supported cen_startclocks initial release centaur.cleanup.pll.scan.initfile right justify spy value to match p9 initCompiler expectations centaur.dmi.scan.initfile update owner centaur.mba.scan.initfile remove EC feature attribute qualifications -- only DD2 is supported centaur.mbs.scan.initfile remove EC feature attribute qualifications -- only DD2 is supported add content missing from original port centaur.mem.pll.scan.initfile remove dummy settings centaur.nest.pll.scan.initfile adjust freq attributes to match P9 NEST attribute content remove dummy settings centaur.thermal.scan.initfile update owner add content missing from original port cen_mem_pll_setup cen_nest_startclocks remove, not required for P9 IPL flow add missing object depedencies create wrappers for all planned isteps RTC 163457 Change-Id: Idd0972207f356315f1e2f52f911e1cb27f72a737 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/32714 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Thi N. Tran <thi@us.ibm.com> Reviewed-by: Richard J. Knight <rjknight@us.ibm.com> Reviewed-by: Joseph J. McGill <jmcgill@us.ibm.com>
Diffstat (limited to 'import/chips')
-rw-r--r--import/chips/centaur/common/include/centaur_misc_constants.H6
-rw-r--r--import/chips/centaur/utils/imageProcs/cen_ringId.H153
-rw-r--r--import/chips/centaur/utils/imageProcs/cen_ring_id.h142
3 files changed, 301 insertions, 0 deletions
diff --git a/import/chips/centaur/common/include/centaur_misc_constants.H b/import/chips/centaur/common/include/centaur_misc_constants.H
index 830ecff9..8d5f8a41 100644
--- a/import/chips/centaur/common/include/centaur_misc_constants.H
+++ b/import/chips/centaur/common/include/centaur_misc_constants.H
@@ -59,6 +59,11 @@
#define SCAN_TP_ARRAY_INIT_REGIONS 0x09000e0000000000
#define SCAN_TP_REGIONS_EXCEPT_PIB_PCB 0x09e00e0000000000
#define SCAN_TP_SCAN_SELECTS 0x09e00dce00000000
+#define SCAN_TP_PLL_REGIONS 0x08100E0000000000
+
+#define SCAN_REGION_TP_PLL_GPTR 0x0810020000000000
+#define SCAN_REGION_TP_PLL_BNDY_FUNC 0x0810080800000000
+
#define SCAN_CLK_ALL_BUT_PLL 0x0FE00E0000000000
#define SCAN_GPTR_TIME_REP_NO_PLL 0x0FE0023000000000
#define SCAN_ALL_BUT_VITALPLLGPTRTIME 0x0FE00DCE00000000
@@ -70,6 +75,7 @@
#define SCAN_STBY_CHIPLET RULL(0x00)
#define SCAN_CHIPLET_TP RULL(0x01)
#define SCAN_CHIPLET_NEST RULL(0x02)
+#define SCAN_CHIPLET_MEM RULL(0x03)
#define SCAN_CHIPLET_GROUP1 RULL(0x69)
#define SCAN_CHIPLET_GROUP3 RULL(0x6B)
diff --git a/import/chips/centaur/utils/imageProcs/cen_ringId.H b/import/chips/centaur/utils/imageProcs/cen_ringId.H
new file mode 100644
index 00000000..e8cf8460
--- /dev/null
+++ b/import/chips/centaur/utils/imageProcs/cen_ringId.H
@@ -0,0 +1,153 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: import/chips/centaur/utils/imageProcs/cen_ringId.H $ */
+/* */
+/* OpenPOWER HCODE Project */
+/* */
+/* COPYRIGHT 2016,2017 */
+/* [+] 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 */
+
+#ifndef _CEN_RINGID_H_
+#define _CEN_RINGID_H_
+
+#include <stdint.h>
+#include <cen_ring_id.h>
+
+enum CHIPLET_TYPE
+{
+ PERV_TYPE,
+};
+
+
+static const uint8_t INVALID_RING = 0xFF;
+
+// This structure is needed for mapping a RingID to it's corresponding name.
+// The names will be used by the build scripts when generating the TOR.
+struct ringProperties_t
+{
+ uint8_t iv_torOffSet;
+ char iv_name[50];
+ CHIPLET_TYPE iv_type;
+};
+
+static const ringProperties_t RING_PROPERTIES[NUM_RING_IDS] =
+{
+ { 0 , "tcm_perv_cmsk" , PERV_TYPE },
+ { 0 , "tcm_perv_lbst" , PERV_TYPE },
+ { 0 , "tcm_perv_gptr" , PERV_TYPE },
+ { 0 , "tcm_perv_func" , PERV_TYPE },
+ { 0 , "tcm_perv_time" , PERV_TYPE },
+ { 0 , "tcm_perv_abst" , PERV_TYPE },
+ { 0 , "tcm_perv_repr" , PERV_TYPE },
+ { 0 , "tcm_perv_FARR" , PERV_TYPE },
+ { 0 , "tcm_memn_time" , PERV_TYPE },
+ { 0 , "tcm_memn_regf" , PERV_TYPE },
+ { 0 , "tcm_memn_gptr" , PERV_TYPE },
+ { 0 , "tcm_memn_func" , PERV_TYPE },
+ { 0 , "tcm_memn_lbst" , PERV_TYPE },
+ { 0 , "tcm_memn_cmsk" , PERV_TYPE },
+ { 0 , "tcm_memn_abst" , PERV_TYPE },
+ { 0 , "tcm_memn_repr" , PERV_TYPE },
+ { 0 , "tcm_memn_FARR" , PERV_TYPE },
+ { 0 , "tcm_mems_time" , PERV_TYPE },
+ { 0 , "tcm_mems_regf" , PERV_TYPE },
+ { 0 , "tcm_mems_gptr" , PERV_TYPE },
+ { 0 , "tcm_mems_func" , PERV_TYPE },
+ { 0 , "tcm_mems_lbst" , PERV_TYPE },
+ { 0 , "tcm_mems_cmsk" , PERV_TYPE },
+ { 0 , "tcm_mems_bndy" , PERV_TYPE },
+ { 0 , "tcm_mems_abst" , PERV_TYPE },
+ { 0 , "tcm_mems_repr" , PERV_TYPE },
+ { 0 , "tcm_mems_FARR" , PERV_TYPE },
+ { 0 , "tcm_ddrn_bndy" , PERV_TYPE },
+ { 0 , "tcm_ddrn_gptr" , PERV_TYPE },
+ { 0 , "tcm_ddrn_func" , PERV_TYPE },
+ { 0 , "tcm_ddrn_cmsk" , PERV_TYPE },
+ { 0 , "tcm_ddrn_lbst" , PERV_TYPE },
+ { 0 , "tcm_ddrs_bndy" , PERV_TYPE },
+ { 0 , "tcm_ddrs_gptr" , PERV_TYPE },
+ { 0 , "tcm_ddrs_func" , PERV_TYPE },
+ { 0 , "tcm_ddrs_lbst" , PERV_TYPE },
+ { 0 , "tcm_ddrs_cmsk" , PERV_TYPE },
+ { 0 , "tcn_perv_cmsk" , PERV_TYPE },
+ { 0 , "tcn_perv_lbst" , PERV_TYPE },
+ { 0 , "tcn_perv_gptr" , PERV_TYPE },
+ { 0 , "tcn_perv_func" , PERV_TYPE },
+ { 0 , "tcn_perv_time" , PERV_TYPE },
+ { 0 , "tcn_perv_FARR" , PERV_TYPE },
+ { 0 , "tcn_perv_abst" , PERV_TYPE },
+ { 0 , "tcn_mbi_FARR" , PERV_TYPE },
+ { 0 , "tcn_mbi_time" , PERV_TYPE },
+ { 0 , "tcn_mbi_repr" , PERV_TYPE },
+ { 0 , "tcn_mbi_abst" , PERV_TYPE },
+ { 0 , "tcn_mbi_regf" , PERV_TYPE },
+ { 0 , "tcn_mbi_gptr" , PERV_TYPE },
+ { 0 , "tcn_mbi_func" , PERV_TYPE },
+ { 0 , "tcn_mbi_cmsk" , PERV_TYPE },
+ { 0 , "tcn_mbi_lbst" , PERV_TYPE },
+ { 0 , "tcn_dmi_bndy" , PERV_TYPE },
+ { 0 , "tcn_dmi_gptr" , PERV_TYPE },
+ { 0 , "tcn_dmi_func" , PERV_TYPE },
+ { 0 , "tcn_dmi_cmsk" , PERV_TYPE },
+ { 0 , "tcn_dmi_lbst" , PERV_TYPE },
+ { 0 , "tcn_msc_gptr" , PERV_TYPE },
+ { 0 , "tcn_msc_func" , PERV_TYPE },
+ { 0 , "tcn_mbs_FARR" , PERV_TYPE },
+ { 0 , "tcn_mbs_time" , PERV_TYPE },
+ { 0 , "tcn_mbs_repr" , PERV_TYPE },
+ { 0 , "tcn_mbs_abst" , PERV_TYPE },
+ { 0 , "tcn_mbs_regf" , PERV_TYPE },
+ { 0 , "tcn_mbs_gptr" , PERV_TYPE },
+ { 0 , "tcn_mbs_func" , PERV_TYPE },
+ { 0 , "tcn_mbs_lbst" , PERV_TYPE },
+ { 0 , "tcn_mbs_cmsk" , PERV_TYPE },
+ { 0 , "tcn_refr_cmsk" , PERV_TYPE },
+ { 0 , "tcn_refr_FARR" , PERV_TYPE },
+ { 0 , "tcn_refr_time" , PERV_TYPE },
+ { 0 , "tcn_refr_repr" , PERV_TYPE },
+ { 0 , "tcn_refr_abst" , PERV_TYPE },
+ { 0 , "tcn_refr_lbst" , PERV_TYPE },
+ { 0 , "tcn_refr_regf" , PERV_TYPE },
+ { 0 , "tcn_refr_gptr" , PERV_TYPE },
+ { 0 , "tcn_refr_func" , PERV_TYPE },
+ { 0 , "tcn_perv_repr" , PERV_TYPE },
+ { 0 , "tp_perv_func" , PERV_TYPE },
+ { 0 , "tp_perv_gptr" , PERV_TYPE },
+ { 0 , "tp_perv_mode" , PERV_TYPE },
+ { 0 , "tp_perv_regf" , PERV_TYPE },
+ { 0 , "tp_perv_lbst" , PERV_TYPE },
+ { 0 , "tp_perv_abst" , PERV_TYPE },
+ { 0 , "tp_perv_repr" , PERV_TYPE },
+ { 0 , "tp_perv_time" , PERV_TYPE },
+ { 0 , "tp_perv_bndy" , PERV_TYPE },
+ { 0 , "tp_perv_farr" , PERV_TYPE },
+ { 0 , "tp_perv_cmsk" , PERV_TYPE },
+ { 0 , "tp_pll_func" , PERV_TYPE },
+ { 0 , "tp_pll_gptr" , PERV_TYPE },
+ { 0 , "tp_net_func" , PERV_TYPE },
+ { 0 , "tp_net_gptr" , PERV_TYPE },
+ { 0 , "tp_net_abst" , PERV_TYPE },
+ { 0 , "tp_pib_func" , PERV_TYPE },
+ { 0 , "tp_pib_fuse" , PERV_TYPE },
+ { 0 , "tp_pib_gptr" , PERV_TYPE },
+ { 0 , "tp_pll_bndy" , PERV_TYPE },
+ { 0 , "tp_pib_repr" , PERV_TYPE },
+ { 0 , "tp_vitl" , PERV_TYPE },
+};
+#endif
diff --git a/import/chips/centaur/utils/imageProcs/cen_ring_id.h b/import/chips/centaur/utils/imageProcs/cen_ring_id.h
new file mode 100644
index 00000000..5df97696
--- /dev/null
+++ b/import/chips/centaur/utils/imageProcs/cen_ring_id.h
@@ -0,0 +1,142 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: import/chips/centaur/utils/imageProcs/cen_ring_id.h $ */
+/* */
+/* OpenPOWER HCODE Project */
+/* */
+/* COPYRIGHT 2016,2017 */
+/* [+] 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 */
+#ifndef _CEN_RINGID_ENUM_H_
+#define _CEN_RINGID_ENUM_H_
+
+///
+/// @enum RingID
+/// @brief Enumeration of Ring ID values. These values are used to traverse
+/// an image having Ring Containers.
+// NOTE: Do not change the numbering, the sequence or add new constants to
+// the below enum, unless you know the effect it has on the traversing
+// of the image for Ring Containers.
+enum RingID
+{
+ // temp centaur rings
+ tcm_perv_cmsk,
+ tcm_perv_lbst,
+ tcm_perv_gptr,
+ tcm_perv_func,
+ tcm_perv_time,
+ tcm_perv_abst,
+ tcm_perv_repr,
+ tcm_perv_FARR,
+ tcm_memn_time,
+ tcm_memn_regf,
+ tcm_memn_gptr,
+ tcm_memn_func,
+ tcm_memn_lbst,
+ tcm_memn_cmsk,
+ tcm_memn_abst,
+ tcm_memn_repr,
+ tcm_memn_FARR,
+ tcm_mems_time,
+ tcm_mems_regf,
+ tcm_mems_gptr,
+ tcm_mems_func,
+ tcm_mems_lbst,
+ tcm_mems_cmsk,
+ tcm_mems_bndy,
+ tcm_mems_abst,
+ tcm_mems_repr,
+ tcm_mems_FARR,
+ tcm_ddrn_bndy,
+ tcm_ddrn_gptr,
+ tcm_ddrn_func,
+ tcm_ddrn_cmsk,
+ tcm_ddrn_lbst,
+ tcm_ddrs_bndy,
+ tcm_ddrs_gptr,
+ tcm_ddrs_func,
+ tcm_ddrs_lbst,
+ tcm_ddrs_cmsk,
+ tcn_perv_cmsk,
+ tcn_perv_lbst,
+ tcn_perv_gptr,
+ tcn_perv_func,
+ tcn_perv_time,
+ tcn_perv_FARR,
+ tcn_perv_abst,
+ tcn_mbi_FARR,
+ tcn_mbi_time,
+ tcn_mbi_repr,
+ tcn_mbi_abst,
+ tcn_mbi_regf,
+ tcn_mbi_gptr,
+ tcn_mbi_func,
+ tcn_mbi_cmsk,
+ tcn_mbi_lbst,
+ tcn_dmi_bndy,
+ tcn_dmi_gptr,
+ tcn_dmi_func,
+ tcn_dmi_cmsk,
+ tcn_dmi_lbst,
+ tcn_msc_gptr,
+ tcn_msc_func,
+ tcn_mbs_FARR,
+ tcn_mbs_time,
+ tcn_mbs_repr,
+ tcn_mbs_abst,
+ tcn_mbs_regf,
+ tcn_mbs_gptr,
+ tcn_mbs_func,
+ tcn_mbs_lbst,
+ tcn_mbs_cmsk,
+ tcn_refr_cmsk,
+ tcn_refr_FARR,
+ tcn_refr_time,
+ tcn_refr_repr,
+ tcn_refr_abst,
+ tcn_refr_lbst,
+ tcn_refr_regf,
+ tcn_refr_gptr,
+ tcn_refr_func,
+ tcn_perv_repr,
+ tp_perv_func,
+ tp_perv_gptr,
+ tp_perv_mode,
+ tp_perv_regf,
+ tp_perv_lbst,
+ tp_perv_abst,
+ tp_perv_repr,
+ tp_perv_time,
+ tp_perv_bndy,
+ tp_perv_farr,
+ tp_perv_cmsk,
+ tp_pll_func,
+ tp_pll_gptr,
+ tp_net_func,
+ tp_net_gptr,
+ tp_net_abst,
+ tp_pib_func,
+ tp_pib_fuse,
+ tp_pib_gptr,
+ tp_pll_bndy,
+ tp_pib_repr,
+ tp_vitl,
+ NUM_RING_IDS // This shoud always be the last constant
+}; // end of enum RingID
+
+#endif // _P9_RINGID_ENUM_H_
OpenPOWER on IntegriCloud