diff --git a/src/occ_gpe0/firdata/scom_util.c b/src/occ_gpe0/firdata/scom_util.c index 2546107b..d7169639 100644 --- a/src/occ_gpe0/firdata/scom_util.c +++ b/src/occ_gpe0/firdata/scom_util.c @@ -303,6 +303,7 @@ int32_t translate_addr( SCOM_Trgt_t i_trgt, uint64_t i_addr, uint64_t * o_addr ) uint8_t l_chiplet_id = ( 2 == l_chip_unit_num ) ? N1_CHIPLET_ID : N3_CHIPLET_ID ; set_chiplet_id( l_chiplet_id, o_addr ); uint8_t l_sat_id = get_sat_id( i_addr ); + uint8_t l_ring = get_ring(i_addr) & 0xF; // Covers the following addresses: // NPU0: 05011000 to 050113FF diff --git a/src/occ_gpe0/firdata/scom_util.h b/src/occ_gpe0/firdata/scom_util.h index 278f3047..9a367c3f 100644 --- a/src/occ_gpe0/firdata/scom_util.h +++ b/src/occ_gpe0/firdata/scom_util.h @@ -89,6 +89,14 @@ typedef enum P9A_MC_USTL_CHAN3_SAT_ID = 0xB, ///< USTL registers channel 3 } p9a_mc_sat_id_t; +typedef enum +{ + N3_NPU_0_RING_ID = 0x5, + P9A_NPU_2_RING_ID = 0x7, + P9A_NPU_2_FIR_RING_ID = 0x8, + P9A_NPU_0_FIR_RING_ID = 0xF, +} p9a_npu_ring_id_t; + /** @brief Performs a hardware scom on a regular register. * @param i_trgt The SCOM target. * @param i_addr 32-bit SCOM address.