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 net adaptive err

Other Parts Discussed in Thread: CCSTUDIO

My customed dm648 board don't support 100M net now. 

It can communicate with pc via gigabit switch, but can not connect through 100M switch, and even can not ping to the dm648 board. 

What I want to ask is:

1.  Is the self-adaption of 10/100/100M  supportted by PHY or MAC?

2. Is there some special configuration to be done to support adaptive net?  if exists, how to do that?

 

  • Does your custom board use the same PHY as the Lyrtech DM648 EVM?  If so, do you have the same issue with autonegotiation on the EVM?

    Thanks,

    Brad

  • My custom board uses the same PHY  88E1111 as the Lyrtech DM648 EVM. And the EVM board has the same issue with autonegotiation.

  • Hi,

    NDK2.0 device drivers for DM648 introduced a bug that prevents it to properly recognize 10/100Mbps connections.

    To fix this, add the "else" clause below just after line 758 of the file <csl_emac.c> (typically located at C:\CCStudio_v3.3\ndk_2_0_0_0\packages\ti\ndk\src\hal\evmdm648\ethss_dm648)

    754          if (lpMacConfign->macModeFlags & EMAC_CONFIG_MODEFLG_GIGABIT)

                 {

                      macControlVal |= CSL_FMK(CPSW3G_GMAC_MACCONTROL_GIG, 1);

                      macControlVal |= CSL_FMK(CPSW3G_GMAC_MACCONTROL_GMII_EN, 1);

    758          }

                 else

                 {

                      macControlVal |= CSL_FMK(CPSW3G_GMAC_MACCONTROL_GMII_EN, 1);

                 }

    Add the <csl_emac.c> file to your project and its required include directory to the compiler options (C:\CCStudio_v3.3\ndk_2_0_0_0\packages\ti\ndk\src\hal\evmdm648\ethss_dm648\inc). The modified function will take precedence over the ones defined in the library <hal_eth_dm648.lib> already existing in your project.

    Hope this helps,

    Rafael

     

     

  • Thanks desouza.

    It works in your way.

  • Hi desouza,

    Im using the TI evm 6474 Faraday board. I am using the helloWorld application using the NDK 2.01 on a 10/100 Mbps ethernet interface.

    Im trying to ping the TI board from a external PC on the LAN, but the ping fails. I see that the EMAC in the NDK cannot read the 10/100 mbps interface. When i try with a 1Gps port, it all works fine.

    Kindly let me know what changes must i do to the c6474 NDK code so as to work with 10/100 Mbps ethernet interface.

    Please help

    Regards

    Santosh

  • Hi Santosh,

         what changes you should do is described in this blog: 

         http://dpinglee.blog.163.com/blog/static/14409775320101116104253853/ 

     

    dp.