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.

ISDK v1.1.0.4 ethernetip_adapter demo RMIIClock_setup() function

Guru 10570 points
Other Parts Discussed in Thread: CDCE913, TLK110

I am evaluating ethernetip_adapter example in ISDK v1.1.0.4.

When I use ICEv2.1, RMIIClock_setup() function is always performed.
It configures Clock IC(CDCE913) as 50MHz operation, which is used by TLK110 RMII mode.
However, PRU-ICSS is supported only MII mode.
I can not understand why this function is called in example.

Is this RMIIClock_setup() function needed for PRU-ICSS ethernetip operation?

Best regards, RY

  • Hello,

    It is additional information:

    When ethernetip_adapter demo do without any modify, RJ45 fails linking up and ping can not be transmitted from PC to ICEv2.1.

    When I comment out RMIIClock_setup(), RJ45 succeed linking up and ping can be succeed too.
    Capture image is following:

    I also examined using EtherNet/IP tool which can be download from following url:

    EtherNet/IP Tool
    http://www.molex.com/molex/common/staticLoader.jsp?fileName=/mx_upload/superfamily/iccc/EtherNet_IPTool.html

    Although I am not familiar with this tool, ICEv2.1 can respond some packet.
    Therefore, I think RMIIClock_setup() is not needed for PRU-ICSS operation.

    What do you think?

    Best regards, RY

  • I have moved this thread over to the device forum in hopes that an ISDK expert will answer your query more quickly.

  • Hi RY,


    Thank you very much for pointing out this with the details. As you mentioned, 'RMIIClock_setup()' function is not needed in ICSS mode. Actually it should have come under the macro 'USE_CPSW_DRIVER'. We will track/ followup with this bug internally.


    Regarding your second post, we can't see 'RMIIClock_setup()' function causing link down/communication issue here in our ICEv2 board.

    We can communicate with the board (ping as well as EIP tool) with the released app as well as by commenting out 'RMIIClock_setup()' in 'TaskFxn' in main.c - We believe this behavior caused us failing to find this bug during our testing.

    We will investigate on this behavior and will come up with more details soon-


    Regards,
    Nijin

  • Nijin-san,

    Nijin P said:

    We will track/ followup with this bug internally.

    Thank you for your following up.
    You have special path to TIer.
    Are you TIer? Can you disclose your position?


    Nijin P said:

    Regarding your second post, we can't see 'RMIIClock_setup()' function causing link down/communication issue here in our ICEv2 board.

    On my examination, link down does not be occured in following condition:
    I could sometimes see failing of I2C transfer in RMIIClock_setup().
    For detail, RMIIClockRead() sometimes get unexpected value(not 0x81) in following source code.
    It returns FAIL without clock setup. (which means clock IC is operate default 25MHz)

    Best regards, RY

  • RY San,


    Sorry for the delayed reply. The details you provided were very helpful - Based on ISDK 1.1.0.4 codebase, we  have concluded the following -

    Effect of RMIIClock_setup(); function in ICSS mode

    • When the ARM clock rate is changed to 300 MHz via the GEL file, ICEv2.1 Link doesn't go up and we cant communicate
    • In this scenario, RMIIClockRead() function reads a value 0x81 in regValue. Hence the CDCE913 Clock Synthesizer IC is setup to operate in RMII Clock frequency 50MHz.
    • When the ARM clock rate is configured to 600 MHz, the RMIIClockRead() function reads a value 0x46 to regValue. So the CDCE913 Clock frequency setup routine is not executed and the CDCE913 operates in default 25Mhz. Here the EVM links are up and we can communicate well.


    RMIIClock_setup(); is not required in ICSS mode. It should be under the macro 'USE_CPSW_DRIVER'. When we do that, it is observed that EIP communication is OK when the ARM clock rate is 600 MHz or 300 MHz.. So we will fix this bug in next release. (SDOCM00108035)

    Please share your thoughts

    Regards,
    Nijin