This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Reg ethernet switch and tms320c6678 in ndk driver customization

Other Parts Discussed in Thread: TMS320C6678, 66AK2H12

Hi,

In our custom board, We are using tms320c6678, 66AK2H12 processor and ethernet switch m88e6131 from marvel.Switch sgmii mac is connected with processors. We are planning to use ndk driver for 6678 dsp cores. The pdk is customized for our board. We are trying to run client example program from ndk 2.21. The code is trying to check the link up status from phy but in our board the ethernet switch is configured by K2 processor. No MDC/MDIO line is connected from tms320c6678 processor. I would like to know which file of ndk driver is checking the link status using MDC/MDIO, which i want to by-pass. How to compile the changes?

Ethernet switch and K2 processor is working fine in u-boot.

Please find the  log below,

[C66xx_0] QMSS successfully initialized  
CPPI successfully initialized  
PA successfully initialized  
 
TCP/IP Stack Example Client
Configuring DHCP client
PASS successfully initialized  
Ethernet subsystem successfully initialized  
Ethernet eventId : 48 and vectId (Interrupt) : 7  
Registration of the EMAC Successful, waiting for link up ..
Service Status: DHCPC    : Enabled  :          : 000
Service Status: Telnet   : Enabled  :          : 000
Service Status: HTTP     : Enabled  :          : 000
Service Status: DHCPC    : Enabled  : Running  : 000

Regards,

Sivanantham

  • Any updates in the above Questions
  • Hi,

    This has been forwarded to the ethernet experts. Their feedback will be posted directly here.

    Best Regards,
    Yordan
  • Hi,

    Please clarify what MCSDK or Processor SDK packages on C6678 are used when you run NDK client example program. Assuming you use MCSDK 2.1.2.6 (pdk_C6678_1_1_2_6):

    Registration of the EMAC Successful, waiting for link up .. =====> this is printed out from pdk_C6678_1_1_2_6\packages\ti\transport\ndk\nimu\src\nimu_eth.c

    The checking of SGMII link status which you want to bypass is in pdk_C6678_1_1_2_6\packages\ti\platform\evmc6678l\platform_lib\src\evmc6678_phy.c

    To rebuild this platform library, you can import the CCS project under pdk_C6678_1_1_2_6\packages\ti\platform\evmc6678l\platform_lib

    Regards, Eric

  • Hi,

    Thanks for the reply.

    Yes we are using MCSDK 2.1.2.6 and pdk_C6678_1_1_2_6.

    In our custom board, we are connecting processor sgmii mac to switch sgmii mac.

    For us, sgmii link status is 1, Also Pll is locking for srio sgmii ref clk 156.25 MHz.

    why ip address is not getting added in case of DHCP  in custom board ( refer previous log) , however EVM 6678  is getting ip address (added in network)?

    My question is  "Is NDK checking phy link status by MDC/MDIO line (In case of EVM,marvel 88e1111 phy) if yes, which file? which we want to bypass.

    I have bypassed switch settings (static/DHCP) in EVM.

    Kindly let me know if any further information is required.

    Regards,

    Sivanantham


     

  • Hi,
    More precise we are connecting processor sgmii -> ( switch sgmii - phy)-> RJ45 cable. Marvel 88e6131 switch is having in-built phy.

    Regards,
    Sivanantham
  • Hi,

    The NDK itself has no knowledge of MAC/PHY layer, the check is done inside NIMU library and platform library. You need to check if C6678 SGMII link is coming up or not by looking at SGMII Status Register (3.3.4 Status Register (STATUS) of KeyStone Architecture Gigabit Ethernet (GbE) Switch Subsystem user guide). If link is not up, you may change the slave/master, auto-negotitaion or forced to make the link is working. If link is up already, then need to check the network traffic (with Wireshark) for DHCP negotiation to see if what side is wrong. Did the server assign an IP to it?

    Regards, Eric
  • Hi,
    Now M88E6131 and TMS320C6678 GbE connection is working. I have made register settings of sgmii, serdes in the GEL file as same as platform code (phy init function). Thanks for the support.

    Regards,
    Sivanantham