diff --git a/src/import/chips/ocmb/explorer/procedures/xml/attribute_info/exp_attributes.xml b/src/import/chips/ocmb/explorer/procedures/xml/attribute_info/exp_attributes.xml index cdd22a559ba..2c9c905fef6 100644 --- a/src/import/chips/ocmb/explorer/procedures/xml/attribute_info/exp_attributes.xml +++ b/src/import/chips/ocmb/explorer/procedures/xml/attribute_info/exp_attributes.xml @@ -426,4 +426,52 @@ exp_phy_init_mode + + ATTR_MSS_OCMB_CHECKSTOP_OBJ_HANDLE + TARGET_TYPE_SYSTEM + + The obj_handle value to send on ocmb checkstop + + uint64 + 0x0 + + + + + + ATTR_MSS_OCMB_RECOV_OBJ_HANDLE + TARGET_TYPE_SYSTEM + + The obj_handle value to send on ocmb recoverable errors + + uint64 + 0x1 + + + + + + ATTR_MSS_OCMB_SPECATTN_OBJ_HANDLE + TARGET_TYPE_SYSTEM + + The obj_handle value to send on ocmb special attention + + uint64 + 0x2 + + + + + + ATTR_MSS_OCMB_APPINTR_OBJ_HANDLE + TARGET_TYPE_SYSTEM + + The obj_handle value to send on ocmb application interrupt + + uint64 + 0x3 + + + + diff --git a/src/import/chips/ocmb/procedures/hwp/initfiles/explorer_scom.C b/src/import/chips/ocmb/procedures/hwp/initfiles/explorer_scom.C index 47f6f85fecc..93f1a216749 100644 --- a/src/import/chips/ocmb/procedures/hwp/initfiles/explorer_scom.C +++ b/src/import/chips/ocmb/procedures/hwp/initfiles/explorer_scom.C @@ -96,6 +96,7 @@ constexpr uint64_t literal_0b01010 = 0b01010; constexpr uint64_t literal_0b00000 = 0b00000; constexpr uint64_t literal_0b00010 = 0b00010; constexpr uint64_t literal_0b00011 = 0b00011; +constexpr uint64_t literal_0b0001 = 0b0001; fapi2::ReturnCode explorer_scom(const fapi2::Target& TGT0, const fapi2::Target& TGT1, const fapi2::Target& TGT2, @@ -234,6 +235,14 @@ fapi2::ReturnCode explorer_scom(const fapi2::Target l_scom_buffer; { FAPI_TRY(fapi2::getScom( TGT0, 0x801140cull, l_scom_buffer )); @@ -1722,6 +1731,39 @@ fapi2::ReturnCode explorer_scom(const fapi2::Target(literal_0b0001 ); + l_scom_buffer.insert<52, 4, 60, uint64_t>(literal_0b0001 ); + l_scom_buffer.insert<56, 4, 60, uint64_t>(literal_0b0001 ); + l_scom_buffer.insert<60, 4, 60, uint64_t>(literal_0b0001 ); + FAPI_TRY(fapi2::putScom(TGT0, 0x801240dull, l_scom_buffer)); + } + { + FAPI_TRY(fapi2::getScom( TGT0, 0x8012410ull, l_scom_buffer )); + + l_scom_buffer.insert<0, 64, 0, uint64_t>(l_TGT2_ATTR_MSS_OCMB_CHECKSTOP_OBJ_HANDLE ); + FAPI_TRY(fapi2::putScom(TGT0, 0x8012410ull, l_scom_buffer)); + } + { + FAPI_TRY(fapi2::getScom( TGT0, 0x8012411ull, l_scom_buffer )); + + l_scom_buffer.insert<0, 64, 0, uint64_t>(l_TGT2_ATTR_MSS_OCMB_RECOV_OBJ_HANDLE ); + FAPI_TRY(fapi2::putScom(TGT0, 0x8012411ull, l_scom_buffer)); + } + { + FAPI_TRY(fapi2::getScom( TGT0, 0x8012412ull, l_scom_buffer )); + + l_scom_buffer.insert<0, 64, 0, uint64_t>(l_TGT2_ATTR_MSS_OCMB_SPECATTN_OBJ_HANDLE ); + FAPI_TRY(fapi2::putScom(TGT0, 0x8012412ull, l_scom_buffer)); + } + { + FAPI_TRY(fapi2::getScom( TGT0, 0x8012413ull, l_scom_buffer )); + + l_scom_buffer.insert<0, 64, 0, uint64_t>(l_TGT2_ATTR_MSS_OCMB_APPINTR_OBJ_HANDLE ); + FAPI_TRY(fapi2::putScom(TGT0, 0x8012413ull, l_scom_buffer)); + } }; fapi_try_exit: