summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 81a27d7)
raw | patch | inline | side by side (parent: 81a27d7)
author | Arun <auppuleti@ti.com> | |
Thu, 26 Mar 2015 19:23:08 +0000 (14:23 -0500) | ||
committer | Arun <auppuleti@ti.com> | |
Thu, 26 Mar 2015 19:23:08 +0000 (14:23 -0500) |
Signed-off-by: Arun <auppuleti@ti.com>
index 5c8ebdec2f63ce1237c75cb47231714ea5145e34..90c8da4c4638732eac10bb3897c7ef9a04c8c11f 100644 (file)
Binary files a/docs/Serdes_Diag_Release_Notes.pdf and b/docs/Serdes_Diag_Release_Notes.pdf differ
Binary files a/docs/Serdes_Diag_Release_Notes.pdf and b/docs/Serdes_Diag_Release_Notes.pdf differ
index b8604e6eebbc6b9bb3cbb9f377229f5b5baa53cd..2b620747966824ffe288b9e108057bcbc252bbe1 100644 (file)
Binary files a/docs/Serdes_Diag_User_Guide.pdf and b/docs/Serdes_Diag_User_Guide.pdf differ
Binary files a/docs/Serdes_Diag_User_Guide.pdf and b/docs/Serdes_Diag_User_Guide.pdf differ
diff --git a/serdes_dss_ber.js b/serdes_dss_ber.js
index ebd4784d4c7efc24bfb2628a7942dca0a6ad2b4b..d1c6ff0ccb537ab2cdd708245d7808a9829650a7 100644 (file)
--- a/serdes_dss_ber.js
+++ b/serdes_dss_ber.js
var dss_test_complete_flag_device0 = 0xDEADBEEF; //assume an unfinished test cycle */
var dss_test_complete_flag_device1 = 0xDEADBEEF; //assume an unfinished test cycle */
-var sessionName0 = "Texas Instruments XDS2xx USB Onboard Emulator_0/C66xx_0";
-var sessionName1 = "Texas Instruments XDS2xx USB Onboard Emulator_1/C66xx_0";
+/* CCSv6 naming convention */
+var sessionName0 = "Texas Instruments XDS2xx USB Onboard Debug Probe_0/C66xx_0";
+var sessionName1 = "Texas Instruments XDS2xx USB Onboard Debug Probe_1/C66xx_0";
+
+/* For CCSv5, note that the emulator naming convention will be different */
+/* var sessionName0 = "Texas Instruments XDS2xx USB Onboard Emulator_0/C66xx_0"; */
+/* var sessionName1 = "Texas Instruments XDS2xx USB Onboard Emulator_1/C66xx_0"; */
function MemRead(activeDS, addr, wordCnt)
{
java.lang.Thread.sleep(2000);
-/* As commented out below, the PLL can be programmed to run at higher speeds by calling the corresponding EVM GEL files */
+/* As shown below, the PLL can be programmed to run at higher speeds by enabling the corresponding EVM GEL files */
session0.expression.evaluate("GEL_LoadGel(\"C:/serdes_dss/xtcievmk2x.gel\")");
session1.expression.evaluate("GEL_LoadGel(\"C:/serdes_dss/xtcievmk2x.gel\")");
diff --git a/serdes_dss_eye.js b/serdes_dss_eye.js
index 2b1ec87ff27b516f9b34c8b9890e15169253e30b..77d2e94c7dddc275c29cd0f3ab6b3f283546b735 100644 (file)
--- a/serdes_dss_eye.js
+++ b/serdes_dss_eye.js
var dss_test_complete_flag_device0 = 0xDEADBEEF; //assume an unfinished test cycle */
var dss_test_complete_flag_device1 = 0xDEADBEEF; //assume an unfinished test cycle */
-var sessionName0 = "Texas Instruments XDS2xx USB Onboard Emulator_0/C66xx_0";
-var sessionName1 = "Texas Instruments XDS2xx USB Onboard Emulator_1/C66xx_0";
+/* CCSv6 naming convention */
+var sessionName0 = "Texas Instruments XDS2xx USB Onboard Debug Probe_0/C66xx_0";
+var sessionName1 = "Texas Instruments XDS2xx USB Onboard Debug Probe_1/C66xx_0";
+
+/* For CCSv5, note that the emulator naming convention will be different */
+/* var sessionName0 = "Texas Instruments XDS2xx USB Onboard Emulator_0/C66xx_0"; */
+/* var sessionName1 = "Texas Instruments XDS2xx USB Onboard Emulator_1/C66xx_0"; */
+
function MemRead(activeDS, addr, wordCnt)
{
diff --git a/serdes_dss_prbs.js b/serdes_dss_prbs.js
index aa5e814ee45c779b6afb292f94b3829842d52097..4d573ba0e3dcb2f9bd2fb719c7fa61f1624e0b51 100644 (file)
--- a/serdes_dss_prbs.js
+++ b/serdes_dss_prbs.js
var dss_test_complete_flag_device0 = 0xDEADBEEF; //assume an unfinished test cycle */
var dss_test_complete_flag_device1 = 0xDEADBEEF; //assume an unfinished test cycle */
-var sessionName0 = "Texas Instruments XDS2xx USB Onboard Emulator_0/C66xx_0";
-var sessionName1 = "Texas Instruments XDS2xx USB Onboard Emulator_1/C66xx_0";
+/* CCSv6 naming convention */
+var sessionName0 = "Texas Instruments XDS2xx USB Onboard Debug Probe_0/C66xx_0";
+var sessionName1 = "Texas Instruments XDS2xx USB Onboard Debug Probe_1/C66xx_0";
+
+/* For CCSv5, note that the emulator naming convention will be different */
+/* var sessionName0 = "Texas Instruments XDS2xx USB Onboard Emulator_0/C66xx_0"; */
+/* var sessionName1 = "Texas Instruments XDS2xx USB Onboard Emulator_1/C66xx_0"; */
+
function MemRead(activeDS, addr, wordCnt)
{
index b3b9f9d4313836fdff6fd75c04f1fb5da058b3d7..310d55b653884627276b9567bb2db0ae96068fbb 100644 (file)
void serdes_diag_test_init(csl_serdes_phy_type serdes_phy_type)
{
+#ifdef SERDES_DIAG_ENABLE_ALL_SERDES
serdes_diag_hyperlink_init();
serdes_diag_sgmii_init();
serdes_diag_xge_init();
+#else
+ if(serdes_phy_type == SERDES_HYPERLINK)
+ {
+ serdes_diag_hyperlink_init();
+ }
+ else if(serdes_phy_type == SERDES_SGMII)
+ {
+ serdes_diag_sgmii_init();
+ }
+ else if(serdes_phy_type == SERDES_10GE)
+ {
+ serdes_diag_xge_init();
+ }
+#endif
}
void serdes_diag_hyperlink_init()
printf ("Invalid Serdes Lane Enable\n");
}
- printf("Serdes Init Complete\n");
+ printf("Hyperlink Serdes Init Complete\n");
}
void serdes_diag_sgmii_init()
printf ("Invalid Serdes Lane Enable\n");
}
- printf("Serdes Init Complete\n");
+ printf("SGMII Serdes Init Complete\n");
}
void serdes_diag_xge_init()
serdes_lane_enable_params.lane_mask,
&pTapOffsets);
- printf("Serdes Init Complete\n");
+ printf("10GE Serdes Init Complete\n");
}
index 4950f314cc7e8be35157e27610d54fc068fa153b..bf6830984bf5ffe407cdbcc12edebaf7fec1d420 100644 (file)
ber_init_params.base_addr = CSL_NETCP_SERDES_CFG_REGS;
}
- else if(ber_init_params.phy_type == SERDES_AIF2_B8)
- {
- ber_init_params.base_addr = CSL_AIF_SERDES_B8_CFG_REGS;
- }
-
- else if(ber_init_params.phy_type == SERDES_AIF2_B4)
- {
- ber_init_params.base_addr = CSL_AIF_SERDES_B4_CFG_REGS;
- }
-
else
{
printf("Invalid PHY Type \n");
eye_init_params.base_addr = CSL_NETCP_SERDES_CFG_REGS;
}
- else if(serdes_phy_type == SERDES_AIF2_B8)
- {
- ber_init_params.base_addr = CSL_AIF_SERDES_B8_CFG_REGS;
- eye_init_params.base_addr = CSL_AIF_SERDES_B8_CFG_REGS;
- }
-
- else if(serdes_phy_type == SERDES_AIF2_B4)
- {
- ber_init_params.base_addr = CSL_AIF_SERDES_B4_CFG_REGS;
- eye_init_params.base_addr = CSL_AIF_SERDES_B4_CFG_REGS;
- }
-
else
{
return SERDES_DIAG_INVALID_PHY_TYPE;
ber_init_params.base_addr = serdes_lane_enable_params.base_addr = CSL_NETCP_SERDES_CFG_REGS;
}
- else if(serdes_phy_type == SERDES_AIF2_B8)
- {
- ber_init_params.base_addr = serdes_lane_enable_params.base_addr = CSL_AIF_SERDES_B8_CFG_REGS;
- }
-
- else if(serdes_phy_type == SERDES_AIF2_B4)
- {
- ber_init_params.base_addr = serdes_lane_enable_params.base_addr = CSL_AIF_SERDES_B4_CFG_REGS;
- }
-
else
{
return SERDES_DIAG_INVALID_PHY_TYPE;
index eb4f0d37c90ffcf57240b298d40fd2286c81d046..c26d5de15ec52d3b135570bbb0190f531df0e69d 100644 (file)
#include <ti/csl/csl_serdes_hyperlink.h>
#include <ti/csl/csl_serdes_ethernet.h>
#include <ti/csl/csl_serdes_10ge.h>
-#include <ti/csl/csl_serdes_aif2.h>
#include <ti/csl/csl_serdes_srio.h>
#include <ti/csl/csl_psc.h>
#include <ti/csl/csl_pscAux.h>
void serdes_diag_test_init(csl_serdes_phy_type serdes_phy_type)
{
+#ifdef SERDES_DIAG_ENABLE_ALL_SERDES
serdes_diag_hyperlink_init();
serdes_diag_sgmii_init();
serdes_diag_xge_init();
- serdes_diag_aif2_init(serdes_phy_type);
serdes_diag_srio_init();
+#else
+ if(serdes_phy_type == SERDES_HYPERLINK)
+ {
+ serdes_diag_hyperlink_init();
+ }
+ else if(serdes_phy_type == SERDES_SGMII)
+ {
+ serdes_diag_sgmii_init();
+ }
+ else if(serdes_phy_type == SERDES_10GE)
+ {
+ serdes_diag_xge_init();
+ }
+ else if(serdes_phy_type == SERDES_SRIO)
+ {
+ serdes_diag_srio_init();
+ }
+#endif
}
void serdes_diag_hyperlink_init()
printf ("Invalid Serdes Lane Enable\n");
}
- printf("Serdes Init Complete\n");
+ printf("Hyperlink Serdes Init Complete\n");
}
void serdes_diag_sgmii_init()
printf ("Invalid Serdes Lane Enable\n");
}
- printf("Serdes Init Complete\n");
+ printf("SGMII Serdes Init Complete\n");
}
void serdes_diag_xge_init()
serdes_lane_enable_params.lane_mask,
&pTapOffsets);
- printf("Serdes Init Complete\n");
+ printf("10GE Serdes Init Complete\n");
}
-
-void serdes_diag_aif2_init(csl_serdes_phy_type serdes_phy_type)
-{
- uint32_t i;
- CSL_SERDES_RESULT csl_retval;
- CSL_SERDES_LANE_ENABLE_STATUS lane_retval = CSL_SERDES_LANE_ENABLE_NO_ERR;
- CSL_SERDES_LANE_ENABLE_PARAMS_T serdes_lane_enable_params;
-
- memset(&serdes_lane_enable_params, 0, sizeof(serdes_lane_enable_params));
-
- serdes_lane_enable_params.ref_clock = CSL_SERDES_REF_CLOCK_122p88M;
- serdes_lane_enable_params.linkrate = CSL_SERDES_LINK_RATE_4p9152G;
- serdes_lane_enable_params.num_lanes = 1;
- serdes_lane_enable_params.phy_type = serdes_phy_type;
- for(i=0; i< serdes_lane_enable_params.num_lanes; i++)
- {
- serdes_lane_enable_params.loopback_mode[i] = CSL_SERDES_LOOPBACK_DISABLED;
- serdes_lane_enable_params.lane_ctrl_rate[i] = CSL_SERDES_LANE_FULL_RATE;
- }
- serdes_lane_enable_params.operating_mode = CSL_SERDES_DIAGNOSTIC_MODE;
- serdes_lane_enable_params.lane_mask = 0x1;
-
-
- /* Enable the domain */
- CSL_PSC_enablePowerDomain (CSL_PSC_PD_AIF);
- /* Enable MDCTL */
- CSL_PSC_setModuleNextState (CSL_PSC_LPSC_AIF, PSC_MODSTATE_ENABLE);
- /* Apply the domain */
- CSL_PSC_startStateTransition (CSL_PSC_PD_AIF);
- /* Wait for it to finish */
- while (! CSL_PSC_isStateTransitionDone (CSL_PSC_PD_AIF));
-
- /* CM, C1, C2 are obtained through Serdes Diagnostic BER test */
- serdes_lane_enable_params.tx_coeff.cm_coeff = 0;
- serdes_lane_enable_params.tx_coeff.c1_coeff = 0;
- serdes_lane_enable_params.tx_coeff.c2_coeff = 0;
- serdes_lane_enable_params.tx_coeff.tx_att = 12;
- serdes_lane_enable_params.tx_coeff.tx_vreg = 4;
- /* When RX auto adaptation is on, these are the starting values used for att, boost adaptation */
- serdes_lane_enable_params.att_start = 7;
- serdes_lane_enable_params.boost_start = 5;
- /* Att and Boost values are obtained through Serdes Diagnostic PRBS calibration test */
- /* For higher speeds PHY-A, force attenuation and boost values */
- serdes_lane_enable_params.forceattboost = CSL_SERDES_FORCE_ATT_BOOST_DISABLED;
- serdes_lane_enable_params.force_att_val = 1;
- serdes_lane_enable_params.force_boost_val = 1;
-
- if(serdes_phy_type == SERDES_AIF2_B8)
- {
- serdes_lane_enable_params.base_addr = CSL_AIF_SERDES_B8_CFG_REGS;
-
- csl_retval = CSL_AIF2SerdesInitB8(serdes_lane_enable_params.base_addr,
- serdes_lane_enable_params.ref_clock,
- serdes_lane_enable_params.linkrate);
- }
- else if (serdes_phy_type == SERDES_AIF2_B4)
- {
- serdes_lane_enable_params.base_addr = CSL_AIF_SERDES_B4_CFG_REGS;
-
- csl_retval = CSL_AIF2SerdesInitB4(serdes_lane_enable_params.base_addr,
- serdes_lane_enable_params.ref_clock,
- serdes_lane_enable_params.linkrate);
- }
-
- if (csl_retval != 0)
- {
- printf ("Invalid Serdes Init Params\n");
- }
-
- //SB Lane Enable
- lane_retval = CSL_SerdesLaneEnable(&serdes_lane_enable_params);
-
- if (lane_retval != 0)
- {
- printf ("Invalid Serdes Lane Enable\n");
- }
-
- printf("Serdes Init Complete\n");
-}
-
-
void serdes_diag_srio_init()
{
CSL_SERDES_RESULT status;
printf ("Invalid Serdes Lane Enable\n");
}
- printf("Serdes Init Complete\n");
+ printf("SRIO Serdes Init Complete\n");
}
index fbce943e2fbd5968ab1a0eb20f5645abf203411c..5bf6a9a98050e548720008f7ff295823ef5ca2ae 100644 (file)
void serdes_diag_test_init(csl_serdes_phy_type serdes_phy_type)
{
+#ifdef SERDES_DIAG_ENABLE_ALL_SERDES
serdes_diag_hyperlink_init();
serdes_diag_sgmii_init();
serdes_diag_xge_init();
serdes_diag_aif2_init(serdes_phy_type);
serdes_diag_srio_init();
+#else
+ if(serdes_phy_type == SERDES_HYPERLINK)
+ {
+ serdes_diag_hyperlink_init();
+ }
+ else if(serdes_phy_type == SERDES_SGMII)
+ {
+ serdes_diag_sgmii_init();
+ }
+ else if(serdes_phy_type == SERDES_10GE)
+ {
+ serdes_diag_xge_init();
+ }
+ else if(serdes_phy_type == SERDES_AIF2_B8 || serdes_phy_type == SERDES_AIF2_B4)
+ {
+ serdes_diag_aif2_init(serdes_phy_type);
+ }
+ else if(serdes_phy_type == SERDES_SRIO)
+ {
+ serdes_diag_srio_init();
+ }
+#endif
}
void serdes_diag_hyperlink_init()
printf ("Invalid Serdes Lane Enable\n");
}
- printf("Serdes Init Complete\n");
+ printf("Hyperlink Serdes Init Complete\n");
}
void serdes_diag_sgmii_init()
printf ("Invalid Serdes Lane Enable\n");
}
- printf("Serdes Init Complete\n");
+ printf("SGMII Serdes Init Complete\n");
}
void serdes_diag_xge_init()
serdes_lane_enable_params.lane_mask,
&pTapOffsets);
- printf("Serdes Init Complete\n");
+ printf("10GE Serdes Init Complete\n");
}
serdes_lane_enable_params.ref_clock = CSL_SERDES_REF_CLOCK_122p88M;
serdes_lane_enable_params.linkrate = CSL_SERDES_LINK_RATE_4p9152G;
- serdes_lane_enable_params.num_lanes = 1;
+ serdes_lane_enable_params.num_lanes = 2;
serdes_lane_enable_params.phy_type = serdes_phy_type;
for(i=0; i< serdes_lane_enable_params.num_lanes; i++)
{
serdes_lane_enable_params.lane_ctrl_rate[i] = CSL_SERDES_LANE_FULL_RATE;
}
serdes_lane_enable_params.operating_mode = CSL_SERDES_DIAGNOSTIC_MODE;
- serdes_lane_enable_params.lane_mask = 0x1;
+ serdes_lane_enable_params.lane_mask = 0x3;
/* Enable the domain */
printf ("Invalid Serdes Lane Enable\n");
}
- printf("Serdes Init Complete\n");
+ printf("AIF2 Serdes Init Complete\n");
}
printf ("Invalid Serdes Lane Enable\n");
}
- printf("Serdes Init Complete\n");
+ printf("SRIO Serdes Init Complete\n");
}
index a06e46247e59c58e5598a138e64b9548f8bc79da..1508dc00017dadf96af1f56b3872bdcd279ad373 100644 (file)
void serdes_diag_test_init(csl_serdes_phy_type phy_type)
{
+#ifdef SERDES_DIAG_ENABLE_ALL_SERDES
serdes_diag_sgmii_init();
serdes_diag_jesd_init();
+#else
+ if(phy_type == SERDES_SGMII)
+ {
+ serdes_diag_sgmii_init();
+ }
+ else if(phy_type == SERDES_DFE)
+ {
+ serdes_diag_jesd_init();
+ }
+#endif
}
void serdes_diag_sgmii_init()
printf ("Invalid Serdes Lane Enable\n");
}
- printf("Serdes Init Complete\n");
+ printf("SGMII Serdes Init Complete\n");
}
void serdes_diag_jesd_init()
printf ("Invalid Serdes Lane Enable\n");
}
- printf("Serdes Init Complete\n");
+ printf("JESD Serdes Init Complete\n");
}