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.

DM648 ETHERNET

Hi 

I have customized a DM648 board with the phy 88E1512(not same as 88E1111 on the EVM board ).

and I modified the code in csl_emac as follows

if (lpMacConfign->macModeFlags & EMAC_CONFIG_MODEFLG_GIGABIT)
{
macControlVal |= CSL_FMK(CPSW3G_GMAC_MACCONTROL_GIG, 1);
macControlVal |= CSL_FMK(CPSW3G_GMAC_MACCONTROL_GMII_EN, 1);
}

else 

{

macControlVal |= CSL_FMK(CPSW3G_GMAC_MACCONTROL_GMII_EN, 1);

}

My NDK version is 2.0.

My problem is when I use the 100M ethernet, the board works well, and I can ping my pc normally.

but when I use the 1000M ethernet, the autonegotiation has been complete,and the link is up and the result of phy negotiation is 1000Mbit full-dublex.

but DSP can not receive any packet and can not send any packet.

Has anyone ever had such a problem, or know a way to solve it?

Will updating the libraries from the 2.20.03.24 ndk help any of these issues?

Thanks for the help! 

  • Are you able to get the 1000M operations to work on the EVM? Making that test will help you determine if the problem is in your custom board (different PHY and different software drivers) or in the NDK.

    Do you see any downside to updating your NDK to 2.20.03.24? If not, then that will certainly be a good thing to try, but be sure to save your entire project so you can go back, if needed.

    Regards,
    RandyP

  • Hi RandyP,

            Thanks for your reply.

            Yes I'm able to get 1000M operations to work on the EVM.

            But EVM use the 88E1111.

            Since the 100M works fine on my board, I can't make sure where is the problem on,  my hardware or software.

            I have configed the 88E1512 according the FAE's advise.

           How to get a loop test on the link layer?


  • Hi RandyP,

             I want to have a loop test to locate the problem, what should I do with the ndk?


  • The people at the DM64x Forum may be better able to answer details like this that are not generic to the C6000 family.

    If the NDK supports a loopback test, then it will be documented in the literature you have or in the code. The EMAC peripheral may support a loopback mode that would require you to enable it directly in the peripheral and not through the NDK.

    I am sorry that I do not know, but we can hope someone here in the DM64x Forum will have an answer for you, or perhaps you will locate the answer in the documentation or elsewhere in E2E or the TI Wiki Pages.

    Regards,
    RandyP