]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - keystone-rtos/serdes_diag.git/commitdiff
User Guide updates and test changes for enable all DEV.DIAG_SERDES_SB.01.00.00.03
authorArun <auppuleti@ti.com>
Thu, 26 Mar 2015 19:23:08 +0000 (14:23 -0500)
committerArun <auppuleti@ti.com>
Thu, 26 Mar 2015 19:23:08 +0000 (14:23 -0500)
Signed-off-by: Arun <auppuleti@ti.com>
docs/Serdes_Diag_Release_Notes.pdf
docs/Serdes_Diag_User_Guide.pdf
serdes_dss_ber.js
serdes_dss_eye.js
serdes_dss_prbs.js
test/k2e/c66/bios/serdes_diag_test_init.c
test/k2h/c66/bios/serdes_diag_test.c
test/k2h/c66/bios/serdes_diag_test_init.c
test/k2k/c66/bios/serdes_diag_test_init.c
test/k2l/c66/bios/serdes_diag_test_init.c

index 5c8ebdec2f63ce1237c75cb47231714ea5145e34..90c8da4c4638732eac10bb3897c7ef9a04c8c11f 100644 (file)
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
index ebd4784d4c7efc24bfb2628a7942dca0a6ad2b4b..d1c6ff0ccb537ab2cdd708245d7808a9829650a7 100644 (file)
@@ -96,8 +96,13 @@ var dss_test_complete_flag_set      = 0xA5A5A5A5;
 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)
 {
@@ -311,7 +316,7 @@ session1.target.reset();
 
 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\")");
 
index 2b1ec87ff27b516f9b34c8b9890e15169253e30b..77d2e94c7dddc275c29cd0f3ab6b3f283546b735 100644 (file)
@@ -96,8 +96,14 @@ var dss_test_complete_flag_set      = 0xA5A5A5A5;
 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 aa5e814ee45c779b6afb292f94b3829842d52097..4d573ba0e3dcb2f9bd2fb719c7fa61f1624e0b51 100644 (file)
@@ -96,8 +96,14 @@ var dss_test_complete_flag_set      = 0xA5A5A5A5;
 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()
@@ -116,7 +131,7 @@ 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()
@@ -173,7 +188,7 @@ 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()
@@ -270,6 +285,6 @@ 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)
@@ -142,16 +142,6 @@ SERDES_DIAG_STAT Serdes_Example_BERTest(csl_serdes_phy_type serdes_phy_type)
         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");
@@ -340,18 +330,6 @@ SERDES_DIAG_STAT Serdes_Example_EYETest(csl_serdes_phy_type serdes_phy_type)
         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;
@@ -477,16 +455,6 @@ SERDES_DIAG_STAT Serdes_Example_PRBSTest(csl_serdes_phy_type serdes_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)
@@ -42,7 +42,6 @@
 #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()
@@ -122,7 +139,7 @@ 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()
@@ -179,7 +196,7 @@ 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()
@@ -276,90 +293,9 @@ 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;
@@ -414,6 +350,6 @@ void serdes_diag_srio_init()
            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()
@@ -122,7 +145,7 @@ 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()
@@ -179,7 +202,7 @@ 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()
@@ -276,7 +299,7 @@ void serdes_diag_xge_init()
                                                                 serdes_lane_enable_params.lane_mask,
                                                                 &pTapOffsets);
 
-       printf("Serdes Init Complete\n");
+       printf("10GE Serdes Init Complete\n");
 }
 
 
@@ -291,7 +314,7 @@ void serdes_diag_aif2_init(csl_serdes_phy_type serdes_phy_type)
 
        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++)
        {
@@ -299,7 +322,7 @@ void serdes_diag_aif2_init(csl_serdes_phy_type serdes_phy_type)
                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 */
@@ -356,7 +379,7 @@ void serdes_diag_aif2_init(csl_serdes_phy_type serdes_phy_type)
            printf ("Invalid Serdes Lane Enable\n");
        }
 
-       printf("Serdes Init Complete\n");
+       printf("AIF2 Serdes Init Complete\n");
 }
 
 
@@ -414,6 +437,6 @@ void serdes_diag_srio_init()
            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()
@@ -104,7 +115,7 @@ 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()
@@ -164,6 +175,6 @@ void serdes_diag_jesd_init()
                    printf ("Invalid Serdes Lane Enable\n");
                }
 
-               printf("Serdes Init Complete\n");
+               printf("JESD Serdes Init Complete\n");
 }