diff options
Diffstat (limited to 'src/import')
-rw-r--r-- | src/import/chips/ocmb/explorer/procedures/xml/attribute_info/exp_attributes.xml | 48 | ||||
-rw-r--r-- | src/import/chips/ocmb/procedures/hwp/initfiles/explorer_scom.C | 42 |
2 files changed, 90 insertions, 0 deletions
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 cdd22a559..2c9c905fe 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 @@ <mssAccessorName>exp_phy_init_mode</mssAccessorName> </attribute> + <attribute> + <id>ATTR_MSS_OCMB_CHECKSTOP_OBJ_HANDLE</id> + <targetType>TARGET_TYPE_SYSTEM</targetType> + <description> + The obj_handle value to send on ocmb checkstop + </description> + <valueType>uint64</valueType> + <default>0x0</default> + <platInit/> + <mrwHide/> + </attribute> + + <attribute> + <id>ATTR_MSS_OCMB_RECOV_OBJ_HANDLE</id> + <targetType>TARGET_TYPE_SYSTEM</targetType> + <description> + The obj_handle value to send on ocmb recoverable errors + </description> + <valueType>uint64</valueType> + <default>0x1</default> + <platInit/> + <mrwHide/> + </attribute> + + <attribute> + <id>ATTR_MSS_OCMB_SPECATTN_OBJ_HANDLE</id> + <targetType>TARGET_TYPE_SYSTEM</targetType> + <description> + The obj_handle value to send on ocmb special attention + </description> + <valueType>uint64</valueType> + <default>0x2</default> + <platInit/> + <mrwHide/> + </attribute> + + <attribute> + <id>ATTR_MSS_OCMB_APPINTR_OBJ_HANDLE</id> + <targetType>TARGET_TYPE_SYSTEM</targetType> + <description> + The obj_handle value to send on ocmb application interrupt + </description> + <valueType>uint64</valueType> + <default>0x3</default> + <platInit/> + <mrwHide/> + </attribute> + </attributes> 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 47f6f85fe..93f1a2167 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<fapi2::TARGET_TYPE_OCMB_CHIP>& TGT0, const fapi2::Target<fapi2::TARGET_TYPE_MEM_PORT>& TGT1, const fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>& TGT2, @@ -234,6 +235,14 @@ fapi2::ReturnCode explorer_scom(const fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP l_def_m0_val_0) + l_def_m1_val_0) + l_def_s0_val_0) + l_def_s1_val_0) + l_def_s2_val_0); uint64_t l_def_num_of_bitvals_1 = (((((((l_def_row_bit17_val_1 + l_def_row_bit16_val_1) + l_def_row_bit15_val_1) + l_def_m0_val_1) + l_def_m1_val_1) + l_def_s0_val_1) + l_def_s1_val_1) + l_def_s2_val_1); + fapi2::ATTR_MSS_OCMB_CHECKSTOP_OBJ_HANDLE_Type l_TGT2_ATTR_MSS_OCMB_CHECKSTOP_OBJ_HANDLE; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_MSS_OCMB_CHECKSTOP_OBJ_HANDLE, TGT2, l_TGT2_ATTR_MSS_OCMB_CHECKSTOP_OBJ_HANDLE)); + fapi2::ATTR_MSS_OCMB_RECOV_OBJ_HANDLE_Type l_TGT2_ATTR_MSS_OCMB_RECOV_OBJ_HANDLE; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_MSS_OCMB_RECOV_OBJ_HANDLE, TGT2, l_TGT2_ATTR_MSS_OCMB_RECOV_OBJ_HANDLE)); + fapi2::ATTR_MSS_OCMB_SPECATTN_OBJ_HANDLE_Type l_TGT2_ATTR_MSS_OCMB_SPECATTN_OBJ_HANDLE; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_MSS_OCMB_SPECATTN_OBJ_HANDLE, TGT2, l_TGT2_ATTR_MSS_OCMB_SPECATTN_OBJ_HANDLE)); + fapi2::ATTR_MSS_OCMB_APPINTR_OBJ_HANDLE_Type l_TGT2_ATTR_MSS_OCMB_APPINTR_OBJ_HANDLE; + FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_MSS_OCMB_APPINTR_OBJ_HANDLE, TGT2, l_TGT2_ATTR_MSS_OCMB_APPINTR_OBJ_HANDLE)); fapi2::buffer<uint64_t> l_scom_buffer; { FAPI_TRY(fapi2::getScom( TGT0, 0x801140cull, l_scom_buffer )); @@ -1722,6 +1731,39 @@ fapi2::ReturnCode explorer_scom(const fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP FAPI_TRY(fapi2::putScom(TGT0, 0x8011871ull, l_scom_buffer)); } + { + FAPI_TRY(fapi2::getScom( TGT0, 0x801240dull, l_scom_buffer )); + + l_scom_buffer.insert<48, 4, 60, uint64_t>(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: |