AnsweredAssumed Answered

Configuring an Ethernet PHY (Davicom DM9161A)

Question asked by panpwr on Dec 20, 2012
Latest reply on Jan 20, 2013 by panpwr

Hello,

 

I am trying to use the MQX-supplied driver for my Ethernet PHY (assembled on my custom board), but I can't get it to work (MQX 3.8.0).

 

I've modified the following:

1. init_enet.c:

const ENET_IF_STRUCT ENET_0 = {

    &MACNET_IF,

    &phy_dm9161_IF,     /*<=== instead of &phy_ksz8041_IF*/

    MACNET_DEVICE_0,

    MACNET_DEVICE_0,

    BSP_ENET0_PHY_ADDR,

    BSP_ENET0_PHY_MII_SPEED

};

 

2. init_enet.c:

#include "phy_dm9161.h"  /*<=== instead #include "phy_ksz8041.h"*/

 

3. Recompiled BSP & RTCS libraries.

 

Now, the problem:

When performing phy_dm9161_init(), the Status Register reading (&phy_status) always returns 0x0, as if it has not been read at all (The PHY's status register default values are definitely different from 0x0).... So I thought checking K60 physical lines, to see if the request is transmitted at all:

 

When I check the MDIO I/O pin, I don't see anything that is transmitted to line. The MDC line shows accurate clocks at ~2.5MHz (as required by spec).

 

What am I doing wrong? I don't believe that it is a PHY configuration problem since no instruction is transmitted from K60 towards the PHy.

HELP!

Thank you.

Outcomes