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.

uboot Ethernet PHY question

Other Parts Discussed in Thread: OMAP-L138

Hi,

I'm using the RMII interface for the phy on a custom OMAP-L138 board. I'm using the files from the EVM but edited to our needs. In U-boot I get the following:


MMC:   davinci: 0
MMC init failed
Using default environment

In:    serial
Out:   serial
Err:   serial
ARM Clock : 300000000 Hz
DDR Clock : 75000000 Hz
SF: Unsupported manufacturer ff
 Error - unable to probe SPI flash.
Invalid MAC address read.
Net:   Ethernet PHY: GENERIC @ 0x00
DaVinci-EMAC

Then when linux boots, it says it can't connect to Phy 0..

PHY 0:00 not found
net eth0: could not connect to phy 0:00
ADDRCONF(NETDEV_UP): eth0: link is not ready
net eth0: DaVinci EMAC: ioctl not supported
eth0      no wireless extensions.

udhcpc (v1.13.2) started
Sending discover...
Sending discover...
Sending discover...
No lease, forking to background
done.
Setting up IP spoofing protection: rp_filter.

The Phy is a LAN8720 chip. I've enabled RMII in da850evm.h with:

#define    CONFIG_DRIVER_TI_EMAC_USE_RMII
#undef CONFIG_MII

and edited da850evm.c with the following pinmix set-up:

static const struct pinmux_config emac_pins[] = {
    { pinmux(4), 8, 0 },
    { pinmux(4), 8, 1 },    
    { pinmux(14), 8, 2 },
    { pinmux(14), 8, 3 },
    { pinmux(14), 8, 4 },
    { pinmux(14), 8, 5 },
    { pinmux(14), 8, 6 },
    { pinmux(14), 8, 7 },
    { pinmux(15), 8, 0 },
    { pinmux(15), 8, 1 }

};

I want the controller to source 50Mhz to the PHY..

I Noticed that there is a line in da850evm.h:

#define CONFIG_EMAC_MDIO_PHY_NUM    0

is that a correct value (0) ?

Does the above behaviour indicate an error with the PHY, or the configurations?

Any suggestions are appreciated. Btw, I've also edited the Kernel to support RMII.

-Koteich

  • BTW,

    Just to test I set: (pinmux(15), 0,0) 50MHz from external, instead of (pinmux(15),8,0) 50MHz from controller, u-boot responds with "No ethernet PHY detected"

    MMC:   davinci: 0
    MMC init failed
    Using default environment

    In:    serial
    Out:   serial
    Err:   serial
    ARM Clock : 300000000 Hz
    DDR Clock : 75000000 Hz
    SF: Unsupported manufacturer ff
     Error - unable to probe SPI flash.
    Invalid MAC address read.
    Net:   No ETH PHY detected!!!
    Error: Ethernet init failed!
    Board Net Initialization Failed
    DaVinci-EMAC
    Hit any key to stop autoboot:  0
    U-Boot >


    Does this mean that the PHY is actually working, since it was detected earlier when the 50MHz clock was sourced from the controller?