This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

LPC2378 D rev & PHY DP83848

Hi All,

Currently we are facing issue in LPC2378 D revision using DP83848 PHY. Ping request are timed out.

The PHY is used in RMII
If replace only controller with LPC2378 B revision, everything works OK.

I did study the Errata, but no points for us to solve.

Anybody encounter this type of issues ?

Regards,
V.Nagarajan

  • Hi

    I have found this useful page for the problem.
    www.lpcware.com/.../lpc2300-and-lpc2400-rev-b-rev-d-change-ethernet-and-code-execution
    We will try the changes and inform the result.

    V.Nagarajan

  • Hi

    ENET_REF_CLK signal was connected to 25MHz_OUT of DP83848. We have taken the reference circuit diagram from MCB2300 in 2007.

    We made change following changes.

    1. ENET_REF_CLK is connected to Clock out of 50MHz oscillator

    2. 25MHz_OUT of DP83848 is made to float.

    We find with above modification, our board is working fine.

    Thanks

    V.Nagarajan

  • We have too Ethernet problems using LPC2368 and LPC2365 on Rev D and DP83848 PHY ; same connection from reference diagram of MCB2300 – 2007. Replacing the controller with Rev B all works OK.

    But seems not the only problem: forums.nxp.com/viewtopic.php

    Now, we shall to replace hundreds of “Rev D” devices around the world , and need to replace them with a “working ok release”. The LPC2368 errata –using a lot of words- says nothing about the change, and we consider than there is not enough information to estimate the impact and all code change needed for all routines or other drivers of peripherals.

    Has somebody noticed (or have had other experiences) about the impact of this change using MDK and RL ?

    Thanks in advance,

  • I have no idea about the real impact of this change. But the below thread may provide some hints.

    http://www.keil.com/forum/17677/

    ====================> IB Shy, 7-Oct-2010 09:27 GMT
    Here's a classic example of what not to do:

      /* Reset Reduced MII Logic. */
      MAC_SUPP = SUPP_RES_RMII;
      for (tout = 100; tout; tout--);
      MAC_SUPP = 0;
    


    It fails when full optimization (-O3) is selected.

    And where does it come from? LPC32_EMAC.C
    And who supplies it? KEIL

    Whoops.
    <====================

    ====================> Per Westermark, 7-Oct-2010 09:22 GMT
    Configure a timer, read out the timer value and poll it until x ms have passed. This is trivial, and will not be affected by changes of compiler optimizations, changes of flash caching etc.
    <====================