summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/import/chips/p9/procedures/hwp/initfiles/p9a_omic_io_scom.C8
-rw-r--r--src/import/chips/p9/procedures/hwp/io/p9a_io_omi_dccal.C43
-rw-r--r--src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml7
3 files changed, 51 insertions, 7 deletions
diff --git a/src/import/chips/p9/procedures/hwp/initfiles/p9a_omic_io_scom.C b/src/import/chips/p9/procedures/hwp/initfiles/p9a_omic_io_scom.C
index 3603135c4..6cf208fa3 100644
--- a/src/import/chips/p9/procedures/hwp/initfiles/p9a_omic_io_scom.C
+++ b/src/import/chips/p9/procedures/hwp/initfiles/p9a_omic_io_scom.C
@@ -251,6 +251,14 @@ fapi2::ReturnCode p9a_omic_io_scom(const fapi2::Target<fapi2::TARGET_TYPE_OMIC>&
FAPI_TRY(fapi2::putScom(TGT0, 0x800970000701103full, l_scom_buffer));
}
{
+ FAPI_TRY(fapi2::getScom( TGT0, 0x800978000701103full, l_scom_buffer ));
+
+ constexpr auto l_MCP_OMI0_IOO_CPLT_RX0_RXCTL_CTL_REGS_RX_CTL_REGS_RX_DC_ENABLE_CM_COARSE_CAL_OFF = 0x0;
+ l_scom_buffer.insert<48, 1, 63, uint64_t>
+ (l_MCP_OMI0_IOO_CPLT_RX0_RXCTL_CTL_REGS_RX_CTL_REGS_RX_DC_ENABLE_CM_COARSE_CAL_OFF );
+ FAPI_TRY(fapi2::putScom(TGT0, 0x800978000701103full, l_scom_buffer));
+ }
+ {
FAPI_TRY(fapi2::getScom( TGT0, 0x800988000701103full, l_scom_buffer ));
l_scom_buffer.insert<48, 3, 61, uint64_t>(literal_0b110 );
diff --git a/src/import/chips/p9/procedures/hwp/io/p9a_io_omi_dccal.C b/src/import/chips/p9/procedures/hwp/io/p9a_io_omi_dccal.C
index 10748a148..dff06ace3 100644
--- a/src/import/chips/p9/procedures/hwp/io/p9a_io_omi_dccal.C
+++ b/src/import/chips/p9/procedures/hwp/io/p9a_io_omi_dccal.C
@@ -722,6 +722,46 @@ fapi_try_exit:
return fapi2::current_err;
}
+/**
+ * @brief Init PHY Tx FIFO Logic
+ * @param[in] i_tgt FAPI2 Target
+ * @param[in] i_lave_vector Lanve Vector
+ * @retval ReturnCode
+ */
+fapi2::ReturnCode p9_omi_tx_fifo_init(const OMIC_TGT i_tgt, const uint32_t i_lane_vector)
+{
+ FAPI_IMP("p9_omi_tx_fifo_init: I/O OMI Entering");
+ const uint8_t GRP0 = 0;
+ const uint8_t LANES = 24;
+ fapi2::buffer<uint64_t> l_data = 0;
+
+ // Power up Per-Lane Registers
+ for(uint8_t l_lane = 0; l_lane < LANES; ++l_lane)
+ {
+ if(((0x1 << l_lane) & i_lane_vector) != 0)
+ {
+ // - Clear TX_UNLOAD_CLK_DISABLE
+ FAPI_TRY(io::read(OPT_TX_MODE2_PL, i_tgt, GRP0, l_lane, l_data));
+ io::set(OPT_TX_UNLOAD_CLK_DISABLE, 0, l_data);
+ FAPI_TRY(io::write(OPT_TX_MODE2_PL, i_tgt, GRP0, l_lane, l_data));
+
+ // - Set TX_FIFO_INIT
+ l_data.flush<0>();
+ io::set(OPT_TX_FIFO_INIT, 1, l_data);
+ FAPI_TRY(io::write(OPT_TX_CNTL1G_PL, i_tgt, GRP0, l_lane, l_data));
+
+ // - Set TX_UNLOAD_CLK_DISABLE
+ FAPI_TRY(io::read(OPT_TX_MODE2_PL, i_tgt, GRP0, l_lane, l_data));
+ io::set(OPT_TX_UNLOAD_CLK_DISABLE, 1, l_data );
+ FAPI_TRY(io::write(OPT_TX_MODE2_PL, i_tgt, GRP0, l_lane, l_data));
+ }
+ }
+
+fapi_try_exit:
+ FAPI_IMP("p9_omi_tx_fifo_init: I/O OMI Exiting");
+ return fapi2::current_err;
+}
+
} // end namespace P9A_IO_OMI_DCCAL
using namespace P9A_IO_OMI_DCCAL;
@@ -784,6 +824,9 @@ fapi2::ReturnCode p9a_io_omi_dccal(const OMIC_TGT i_tgt, const uint32_t i_lane_v
FAPI_TRY(set_omi_flywheel_off(i_tgt, i_lane_vector, 0));
FAPI_TRY(set_omi_pr_edge_track_cntl(i_tgt, i_lane_vector, 0));
+ // Run Tx FIFO Init
+ FAPI_TRY(p9_omi_tx_fifo_init(i_tgt, i_lane_vector));
+
fapi_try_exit:
FAPI_IMP("p9_io_omi_dccal: I/O OMI Exiting");
return fapi2::current_err;
diff --git a/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml b/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml
index 51a045dba..fe79c1d12 100644
--- a/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml
+++ b/src/import/chips/p9/procedures/xml/attribute_info/chip_ec_attributes.xml
@@ -1265,13 +1265,6 @@
<test>GREATER_THAN_OR_EQUAL</test>
</ec>
</chip>
- <chip>
- <name>ENUM_ATTR_NAME_AXONE</name>
- <ec>
- <value>0x10</value>
- <test>GREATER_THAN_OR_EQUAL</test>
- </ec>
- </chip>
</chipEcFeature>
</attribute>
<!-- ******************************************************************** -->
OpenPOWER on IntegriCloud