diff options
Diffstat (limited to 'import/chips/p9/utils/imageProcs/p9_ringId.H')
-rw-r--r-- | import/chips/p9/utils/imageProcs/p9_ringId.H | 242 |
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 |