summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/import/chips/p9/utils/imageProcs/p9_tor.C44
-rw-r--r--src/import/chips/p9/utils/imageProcs/p9_tor.H23
2 files changed, 57 insertions, 10 deletions
diff --git a/src/import/chips/p9/utils/imageProcs/p9_tor.C b/src/import/chips/p9/utils/imageProcs/p9_tor.C
index 95097cca5..16d464bb3 100644
--- a/src/import/chips/p9/utils/imageProcs/p9_tor.C
+++ b/src/import/chips/p9/utils/imageProcs/p9_tor.C
@@ -161,6 +161,34 @@ int get_ring_from_sbe_image ( void* i_ringSectionPtr, // Image pointer
ring_id_list_instance = (GenRingIdList*) MC::RING_ID_LIST_INSTANCE;
break;
+ case OB0_CPLT :
+ l_cpltData = OB0::g_ob0Data;
+ iv_num_variant = (uint8_t)sizeof(OB0::RingVariants) / sizeof(uint16_t);
+ ring_id_list_common = (GenRingIdList*) OB0::RING_ID_LIST_COMMON;
+ ring_id_list_instance = (GenRingIdList*) OB0::RING_ID_LIST_INSTANCE;
+ break;
+
+ case OB1_CPLT :
+ l_cpltData = OB1::g_ob1Data;
+ iv_num_variant = (uint8_t)sizeof(OB1::RingVariants) / sizeof(uint16_t);
+ ring_id_list_common = (GenRingIdList*) OB1::RING_ID_LIST_COMMON;
+ ring_id_list_instance = (GenRingIdList*) OB1::RING_ID_LIST_INSTANCE;
+ break;
+
+ case OB2_CPLT :
+ l_cpltData = OB2::g_ob2Data;
+ iv_num_variant = (uint8_t)sizeof(OB2::RingVariants) / sizeof(uint16_t);
+ ring_id_list_common = (GenRingIdList*) OB2::RING_ID_LIST_COMMON;
+ ring_id_list_instance = (GenRingIdList*) OB2::RING_ID_LIST_INSTANCE;
+ break;
+
+ case OB3_CPLT :
+ l_cpltData = OB3::g_ob3Data;
+ iv_num_variant = (uint8_t)sizeof(OB3::RingVariants) / sizeof(uint16_t);
+ ring_id_list_common = (GenRingIdList*) OB3::RING_ID_LIST_COMMON;
+ ring_id_list_instance = (GenRingIdList*) OB3::RING_ID_LIST_INSTANCE;
+ break;
+
case PCI0_CPLT :
l_cpltData = PCI0::g_pci0Data;
iv_num_variant = (uint8_t)sizeof(PCI0::RingVariants) / sizeof(uint16_t);
@@ -168,6 +196,7 @@ int get_ring_from_sbe_image ( void* i_ringSectionPtr, // Image pointer
ring_id_list_instance = (GenRingIdList*) PCI0::RING_ID_LIST_INSTANCE;
break;
+
case PCI1_CPLT :
l_cpltData = PCI1::g_pci1Data;
iv_num_variant = (uint8_t)sizeof(PCI1::RingVariants) / sizeof(uint16_t);
@@ -1183,6 +1212,21 @@ int tor_get_ring( void*
l_sbeTorId = MC_CPLT;
break;
+ case 9 :
+ l_sbeTorId = OB0_CPLT;
+ break;
+
+ case 10 :
+ l_sbeTorId = OB1_CPLT;
+ break;
+
+ case 11 :
+ l_sbeTorId = OB2_CPLT;
+ break;
+
+ case 12 :
+ l_sbeTorId = OB3_CPLT;
+ break;
case 13 :
l_sbeTorId = PCI0_CPLT;
diff --git a/src/import/chips/p9/utils/imageProcs/p9_tor.H b/src/import/chips/p9/utils/imageProcs/p9_tor.H
index 0144394c5..35ef10293 100644
--- a/src/import/chips/p9/utils/imageProcs/p9_tor.H
+++ b/src/import/chips/p9/utils/imageProcs/p9_tor.H
@@ -61,6 +61,7 @@ typedef struct
} TorPpeBlock_t;
+
#define IMGBUILD_TGR_RING_FOUND 0
#define IMGBUILD_TGR_RING_BLOCKS_FOUND 0
#define IMGBUILD_TGR_RING_NOT_FOUND 1 // Ring is not found in HW image.
@@ -140,12 +141,16 @@ typedef enum SbeTorId
N3_CPLT = 4,
XB_CPLT = 5,
MC_CPLT = 6,
- PCI0_CPLT = 7,
- PCI1_CPLT = 8,
- PCI2_CPLT = 9,
- EQ_CPLT = 10,
- EC_CPLT = 11,
- SBE_NOOF_CHIPLETS = 12
+ OB0_CPLT = 7,
+ OB1_CPLT = 8,
+ OB2_CPLT = 9,
+ OB3_CPLT = 10,
+ PCI0_CPLT = 11,
+ PCI1_CPLT = 12,
+ PCI2_CPLT = 13,
+ EQ_CPLT = 14,
+ EC_CPLT = 15,
+ SBE_NOOF_CHIPLETS = 16
} SbeTorId_t;
typedef enum CmeTorId
{
@@ -224,8 +229,7 @@ int tor_get_ring( void*
RingBlockType_t i_RingBlockType, // 0: single ring, 1: ring block
void** io_ringBlockPtr, // Addr of ring buffer
uint32_t& io_ringBlockSize, // size of ring data
- char* o_ringName // Ring name
- );
+ char* o_ringName); // Ring name
int tor_get_single_ring ( void*
i_ringSectionPt, // Ring address Ptr any of .rings, .overrides and .overlays.
@@ -247,8 +251,7 @@ int tor_get_block_of_rings ( void*
RingVariant_t i_RingVariant, // base,cache,etc
uint8_t i_instanceId, // Chiplet Instance ID
void** io_ringBlockPtr, // Addr of ring buffer
- uint32_t& io_ringBlockSize // size of ring data
- );
+ uint32_t& io_ringBlockSize); // size of ring data
};
#endif //_P9_TOR_H_
OpenPOWER on IntegriCloud