summaryrefslogtreecommitdiffstats
path: root/src/occ_gpe0/firdata/scom_util.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/occ_gpe0/firdata/scom_util.c')
-rw-r--r--src/occ_gpe0/firdata/scom_util.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/occ_gpe0/firdata/scom_util.c b/src/occ_gpe0/firdata/scom_util.c
index d716963..0102477 100644
--- a/src/occ_gpe0/firdata/scom_util.c
+++ b/src/occ_gpe0/firdata/scom_util.c
@@ -309,7 +309,9 @@ int32_t translate_addr( SCOM_Trgt_t i_trgt, uint64_t i_addr, uint64_t * o_addr )
// NPU0: 05011000 to 050113FF
// NPU1: 05011400 to 050117FF
// NPU2: 03011C00 to 03011FFF
- if ( N3_NPU_0_RING_ID == l_ring )
+ if ( N3_NPU_0_RING_ID == l_ring ||
+ N3_NPU_1_RING_ID == l_ring ||
+ P9A_NPU_2_RING_ID == l_ring )
{
// NPU0/NPU1
if ( N3_CHIPLET_ID == l_chiplet_id )
@@ -326,17 +328,20 @@ int32_t translate_addr( SCOM_Trgt_t i_trgt, uint64_t i_addr, uint64_t * o_addr )
// NPU0: 05013C00 to 05013C8F
// NPU1: 05013CC0 to 05013D4F
// NPU2: 03012000 to 0301208F
- else if ( P9A_NPU_0_FIR_RING_ID == l_ring )
+ else if ( P9A_NPU_0_FIR_RING_ID == l_ring ||
+ P9A_NPU_2_FIR_RING_ID == l_ring )
{
// NPU0/NPU1
if ( N3_CHIPLET_ID == l_chiplet_id )
{
- set_sat_id( l_sat_id + (3 * l_chip_unit_num), o_addr );
+ set_ring( P9A_NPU_0_FIR_RING_ID, o_addr );
+ set_sat_id( (l_sat_id % 3) + (3 * l_chip_unit_num), o_addr );
}
// NPU2
else if ( N1_CHIPLET_ID == l_chiplet_id )
{
set_ring( P9A_NPU_2_FIR_RING_ID, o_addr );
+ set_sat_id( (l_sat_id % 3), o_addr );
}
}
}
OpenPOWER on IntegriCloud