summaryrefslogtreecommitdiffstats
path: root/import/chips/p9/utils/imageProcs/p9_ringId.H
diff options
context:
space:
mode:
Diffstat (limited to 'import/chips/p9/utils/imageProcs/p9_ringId.H')
-rw-r--r--import/chips/p9/utils/imageProcs/p9_ringId.H242
1 files changed, 241 insertions, 1 deletions
diff --git a/import/chips/p9/utils/imageProcs/p9_ringId.H b/import/chips/p9/utils/imageProcs/p9_ringId.H
index 643f6e85..0aa3dc67 100644
--- a/import/chips/p9/utils/imageProcs/p9_ringId.H
+++ b/import/chips/p9/utils/imageProcs/p9_ringId.H
@@ -29,7 +29,23 @@ enum RINGTYPE
COMMON_RING = 0,
INSTANCE_RING = 1
};
-}; //end of RS4 namespace
+}; //end of RING_TYPES namespace
+enum CHIPLET_TYPE
+{
+ PERV_TYPE,
+ N0_TYPE,
+ N1_TYPE,
+ N2_TYPE,
+ N3_TYPE,
+ MC_TYPE,
+ PCI0_TYPE,
+ PCI1_TYPE,
+ PCI2_TYPE,
+ OB_TYPE,
+ XB_TYPE,
+ EQ_TYPE,
+ EC_TYPE,
+};
///
/// @enum RingID
@@ -737,12 +753,23 @@ static const uint32_t INVALID_RING = 999;
// 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.
+#ifndef __PPE__
struct ringProperties_t
{
uint32_t iv_torOffSet;
char iv_name[25];
+ CHIPLET_TYPE iv_type;
+};
+#endif
+#ifdef __PPE__
+struct ringProperties_t
+{
+ uint32_t iv_torOffSet;
+ CHIPLET_TYPE iv_type;
};
+#endif
+#ifndef __PPE__
static const ringProperties_t RING_PROPERTIES[P9_NUM_RINGS] =
{
// Pervasive Ring
@@ -952,3 +979,216 @@ static const ringProperties_t RING_PROPERTIES[P9_NUM_RINGS] =
{EC::ec_repr, "ec_repr"} // 181
};
#endif
+
+
+#ifdef __PPE__
+static const ringProperties_t RING_PROPERTIES[P9_NUM_RINGS] =
+{
+ // Pervasive Ring
+ {PERV::perv_fure, PERV_TYPE}, // 0
+ {PERV::perv_gptr, PERV_TYPE}, // 1
+ {PERV::perv_time, PERV_TYPE}, // 2
+ {PERV::occ_fure, PERV_TYPE}, // 3
+ {PERV::occ_gptr, PERV_TYPE}, // 4
+ {PERV::occ_time, PERV_TYPE}, // 5
+ {PERV::perv_ana_func, PERV_TYPE}, // 6
+ {PERV::perv_ana_gptr, PERV_TYPE}, // 7
+ {PERV::perv_pll_gptr, PERV_TYPE}, // 8
+ {PERV::perv_pll_bndy, PERV_TYPE}, // 9
+ {PERV::perv_pll_bndy_bucket_1, PERV_TYPE}, // 10
+ {PERV::perv_pll_bndy_bucket_2, PERV_TYPE}, // 11
+ {PERV::perv_pll_bndy_bucket_3, PERV_TYPE}, // 12
+ {PERV::perv_pll_bndy_bucket_4, PERV_TYPE}, // 13
+ {PERV::perv_pll_bndy_bucket_5, PERV_TYPE}, // 14
+ {PERV::perv_repr, PERV_TYPE}, // 15
+ {PERV::occ_repr, PERV_TYPE}, // 16
+ {INVALID_RING, PERV_TYPE}, // 17 // for future.
+ {INVALID_RING, PERV_TYPE}, // 18 // for future.
+
+ // Nest N0 Ring
+ {N0::n0_fure, N0_TYPE}, // 19
+ {N0::n0_gptr, N0_TYPE}, // 20
+ {N0::n0_time, N0_TYPE}, // 21
+ {N0::n0_nx_fure, N0_TYPE}, // 22
+ {N0::n0_nx_gptr, N0_TYPE}, // 23
+ {N0::n0_nx_time, N0_TYPE}, // 24
+ {N0::n0_cxa0_fure, N0_TYPE}, // 25
+ {N0::n0_cxa0_gptr, N0_TYPE}, // 26
+ {N0::n0_cxa0_time, N0_TYPE}, // 27
+ {N0::n0_repr, N0_TYPE}, // 28
+ {N0::n0_nx_repr, N0_TYPE}, // 29
+ {N0::n0_cxa0_repr, N0_TYPE}, // 30
+ {INVALID_RING, N0_TYPE}, // 31 // for future.
+ {INVALID_RING, N0_TYPE}, // 32 // for future.
+ {INVALID_RING, N0_TYPE}, // 33 // for future.
+
+ // Nest N1 Ring
+ {N1::n1_fure, N1_TYPE}, // 34
+ {N1::n1_gptr, N1_TYPE}, // 35
+ {N1::n1_time, N1_TYPE}, // 36
+ {N1::n1_ioo0_fure, N1_TYPE}, // 37
+ {N1::n1_ioo0_gptr, N1_TYPE}, // 38
+ {N1::n1_ioo0_time, N1_TYPE}, // 39
+ {N1::n1_ioo1_fure, N1_TYPE}, // 40
+ {N1::n1_ioo1_gptr, N1_TYPE}, // 41
+ {N1::n1_ioo1_time, N1_TYPE}, // 42
+ {N1::n1_mcs23_fure, N1_TYPE}, // 43
+ {N1::n1_mcs23_gptr, N1_TYPE}, // 44
+ {N1::n1_mcs23_time, N1_TYPE}, // 45
+ {N1::n1_repr, N1_TYPE}, // 46
+ {N1::n1_ioo0_repr, N1_TYPE}, // 47
+ {N1::n1_ioo1_repr, N1_TYPE}, // 48
+ {N1::n1_mcs23_repr, N1_TYPE}, // 49
+ {INVALID_RING, N1_TYPE}, // 50 // for future.
+ {INVALID_RING, N1_TYPE}, // 51 // for future.
+ {INVALID_RING, N1_TYPE}, // 52 // for future.
+
+ // Nest N2 Ring
+ {N2::n2_fure, N2_TYPE}, // 53
+ {N2::n2_gptr, N2_TYPE}, // 54
+ {N2::n2_time, N2_TYPE}, // 55
+ {N2::n2_cxa1_fure, N2_TYPE}, // 56
+ {N2::n2_cxa1_gptr, N2_TYPE}, // 57
+ {N2::n2_cxa1_time, N2_TYPE}, // 58
+ {N2::n2_repr, N2_TYPE}, // 59
+ {N2::n2_cxa1_repr, N2_TYPE}, // 60
+ {INVALID_RING, N2_TYPE}, // 61 // for future.
+ {INVALID_RING, N2_TYPE}, // 62 // for future.
+ {INVALID_RING, N2_TYPE}, // 63 // for future.
+
+ // Nest N3 Ring
+ {N3::n3_fure, N3_TYPE}, // 64
+ {N3::n3_gptr, N3_TYPE}, // 65
+ {N3::n3_time, N3_TYPE}, // 66
+ {N3::n3_mcs01_fure, N3_TYPE}, // 67
+ {N3::n3_mcs01_gptr, N3_TYPE}, // 68
+ {N3::n3_mcs01_time, N3_TYPE}, // 69
+ {N3::n3_repr, N3_TYPE}, // 70
+ {N3::n3_mcs01_repr, N3_TYPE}, // 71
+ {INVALID_RING, N3_TYPE}, // 72 // for future.
+ {INVALID_RING, N3_TYPE}, // 73 // for future.
+ {INVALID_RING, N3_TYPE}, // 74 // for future.
+
+ // XB Ring
+ {XB::xb_fure, XB_TYPE}, // 75
+ {XB::xb_gptr, XB_TYPE}, // 76
+ {XB::xb_time, XB_TYPE}, // 77
+ {XB::xb_io0_fure, XB_TYPE}, // 78
+ {XB::xb_io0_gptr, XB_TYPE}, // 79
+ {XB::xb_io0_time, XB_TYPE}, // 80
+ {XB::xb_io1_fure, XB_TYPE}, // 81
+ {XB::xb_io1_gptr, XB_TYPE}, // 82
+ {XB::xb_io1_time, XB_TYPE}, // 83
+ {XB::xb_io2_fure, XB_TYPE}, // 84
+ {XB::xb_io2_gptr, XB_TYPE}, // 85
+ {XB::xb_io2_time, XB_TYPE}, // 86
+ {XB::xb_pll_gptr, XB_TYPE}, // 87
+ {XB::xb_pll_other, XB_TYPE}, // 88
+ {XB::xb_pll_bndy, XB_TYPE}, // 89
+ {XB::xb_pll_bndy_bucket_1, XB_TYPE}, // 90
+ {XB::xb_pll_bndy_bucket_2, XB_TYPE}, // 91
+ {XB::xb_pll_bndy_bucket_3, XB_TYPE}, // 92
+ {XB::xb_pll_bndy_bucket_4, XB_TYPE}, // 93
+ {XB::xb_pll_bndy_bucket_5, XB_TYPE}, // 94
+ {XB::xb_repr, XB_TYPE}, // 95
+ {XB::xb_io0_repr, XB_TYPE}, // 96
+ {XB::xb_io1_repr, XB_TYPE}, // 97
+ {XB::xb_io2_repr, XB_TYPE}, // 98
+ {INVALID_RING, XB_TYPE}, // 99 // for future.
+ {INVALID_RING, XB_TYPE}, // 100 // for future.
+
+ // MC Ring
+ {MC::mc_fure, MC_TYPE}, // 101
+ {MC::mc_gptr, MC_TYPE}, // 102
+ {MC::mc_time, MC_TYPE}, // 103
+ {MC::mc_iom01_fure, MC_TYPE}, // 104
+ {MC::mc_iom01_gptr, MC_TYPE}, // 105
+ {MC::mc_iom01_time, MC_TYPE}, // 106
+ {MC::mc_iom23_fure, MC_TYPE}, // 107
+ {MC::mc_iom23_gptr, MC_TYPE}, // 108
+ {MC::mc_iom23_time, MC_TYPE}, // 119
+ {MC::mc_pll_gptr, MC_TYPE}, // 110
+ {MC::mc_pll_other, MC_TYPE}, // 111
+ {MC::mc_pll_bndy, MC_TYPE}, // 112
+ {MC::mc_pll_bndy_bucket_1, MC_TYPE}, // 113
+ {MC::mc_pll_bndy_bucket_2, MC_TYPE}, // 114
+ {MC::mc_pll_bndy_bucket_3, MC_TYPE}, // 115
+ {MC::mc_pll_bndy_bucket_4, MC_TYPE}, // 116
+ {MC::mc_pll_bndy_bucket_5, MC_TYPE}, // 117
+ {MC::mc_repr, MC_TYPE}, // 118
+ {MC::mc_iom01_repr, MC_TYPE}, // 119
+ {MC::mc_iom23_repr, MC_TYPE}, // 120
+ {INVALID_RING, MC_TYPE}, // 121 // for future.
+ {INVALID_RING, MC_TYPE}, // 122 // for future.
+ {INVALID_RING, MC_TYPE}, // 123 // for future.
+
+ // OB Ring
+ {OB::ob_fure, OB_TYPE}, // 124
+ {OB::ob_gptr, OB_TYPE}, // 125
+ {OB::ob_time, OB_TYPE}, // 126
+ {OB::ob_pll_gptr, OB_TYPE}, // 127
+ {OB::ob_pll_other, OB_TYPE}, // 128
+ {OB::ob_pll_bndy, OB_TYPE}, // 129
+ {OB::ob_pll_bndy_bucket_1, OB_TYPE}, // 130
+ {OB::ob_pll_bndy_bucket_2, OB_TYPE}, // 131
+ {OB::ob_pll_bndy_bucket_3, OB_TYPE}, // 132
+ {OB::ob_pll_bndy_bucket_4, OB_TYPE}, // 133
+ {OB::ob_pll_bndy_bucket_5, OB_TYPE}, // 134
+ {OB::ob_repr, OB_TYPE}, // 135
+ {INVALID_RING, OB_TYPE}, // 136 // for future.
+ {INVALID_RING, OB_TYPE}, // 137 // for future.
+
+ // PCI0 Ring
+ {PCI0::pci0_fure, PCI0_TYPE}, // 138
+ {PCI0::pci0_gptr, PCI0_TYPE}, // 139
+ {PCI0::pci0_time, PCI0_TYPE}, // 140
+ {PCI0::pci0_repr, PCI0_TYPE}, // 141
+ // PCI1 Ring
+ {PCI1::pci1_fure, PCI1_TYPE}, // 142
+ {PCI1::pci1_gptr, PCI1_TYPE}, // 143
+ {PCI1::pci1_time, PCI1_TYPE}, // 144
+ {PCI1::pci1_repr, PCI1_TYPE}, // 145
+ // PCI2 Ring
+ {PCI2::pci2_fure, PCI2_TYPE}, // 146
+ {PCI2::pci2_gptr, PCI2_TYPE}, // 147
+ {PCI2::pci2_time, PCI2_TYPE}, // 148
+ {PCI2::pci2_repr, PCI2_TYPE}, // 149
+ {INVALID_RING, PCI2_TYPE}, // 150 // for future.
+ {INVALID_RING, PCI2_TYPE}, // 151 // for future.
+ {INVALID_RING, PCI2_TYPE}, // 152 // for future.
+
+ // EQ Ring
+ {EQ::eq_fure, EQ_TYPE}, // 153
+ {EQ::eq_gptr, EQ_TYPE}, // 154
+ {EQ::eq_time, EQ_TYPE}, // 155
+ {EQ::ex_l3_fure, EQ_TYPE}, // 156
+ {EQ::ex_l3_gptr, EQ_TYPE}, // 157
+ {EQ::ex_l3_time, EQ_TYPE}, // 158
+ {EQ::ex_l2_fure, EQ_TYPE}, // 159
+ {EQ::ex_l2_gptr, EQ_TYPE}, // 160
+ {EQ::ex_l2_time, EQ_TYPE}, // 161
+ {EQ::ex_l3_refr_fure, EQ_TYPE}, // 162
+ {EQ::ex_l3_refr_gptr, EQ_TYPE}, // 163
+ {EQ::ex_l3_refr_time, EQ_TYPE}, // 164
+ {EQ::eq_ana_func, EQ_TYPE}, // 165
+ {EQ::eq_ana_gptr, EQ_TYPE}, // 166
+ {EQ::eq_dpll_func, EQ_TYPE}, // 167
+ {EQ::eq_dpll_gptr, EQ_TYPE}, // 168
+ {EQ::eq_dpll_other, EQ_TYPE}, // 169
+ {EQ::eq_repr, EQ_TYPE}, // 170
+ {EQ::ex_l3_repr, EQ_TYPE}, // 171
+ {EQ::ex_l2_repr, EQ_TYPE}, // 172
+ {EQ::ex_l3_refr_repr, EQ_TYPE}, // 173
+ {EQ::eq_ana_bndy, EQ_TYPE}, // 174
+ {INVALID_RING, EQ_TYPE}, // 175 // for future.
+ {INVALID_RING, EQ_TYPE}, // 176 // for future.
+
+ // Core Ring
+ {EC::ec_func, EC_TYPE}, // 177
+ {EC::ec_gptr, EC_TYPE}, // 178
+ {EC::ec_time, EC_TYPE}, // 179
+ {EC::ec_mode, EC_TYPE}, // 180
+ {EC::ec_repr, EC_TYPE} // 181
+};
+#endif
+#endif
OpenPOWER on IntegriCloud