MCIMX6ULL-EVK custom with LAN8720A: can not interface with PHY addr=0

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MCIMX6ULL-EVK custom with LAN8720A: can not interface with PHY addr=0

1,519 Views
rocket42
Contributor I

Hello guys,

I am building my own custom board based on MCIMX6ULL-EVK (MCIMX6ULL-EVK|i.MX6ULL Evaluation Kit|NXP)

As we knew that i.MX6ULL SoC used KSZ8081MNX/RNB (which come from Microchip Technology Inc) for physical layer.

In my custom board, I changed KSZ8081MNX/RNB to LAN8720A (which is from SMSC Inc)

one of the difference between KSZ8081MNX/RNB and LAN8720A is KSZ8081MNX/RNB has 3bits address(PHY[0:2]), but LAN8720A only has 1bit (PHY[0])

In my board,

            +ENET1 connected to LAN8720A' PHYAD0 pin connected to GND ==> PHY address=0

                  And then, I edited reg in imx6ull-14x14-evk.dts file (from reg = <2> to reg = <0>)

            +ENET2 connected to LAN8720A' PHYAD0 pin connected to VCC ==> PHY address=1

                  And then, I remained reg = <1> in imx6ull-14x14-evk.dts file

I briefed my hardware connection, PHY hardware-address, PHY software-address of both MCIMX6ULL-EVK from NXP and from me as following:

hoi_ethernet_0.png

Result:

- MCIMX6ULL-EVK from NXP: working on both Ethernet (eth0 & eth1)

- But my board: ENET2 (addr=1) working on, but ENET1(addr=0) is not working

   + I configure them via "ifup" command, output looked as following:

         with ENET2 (eth0): interface eth0 already configured

         but with ENET1 (eth1): SIOCSIFFLAGS: No such device

Please give me good ideal for fixing it.

Thank very much. Good luck for you!

Labels (3)
0 Kudos
2 Replies

667 Views
igorpadykov
NXP Employee
NXP Employee

Hi nguen

one can test non-working phy in uboot, please

check as example #define CONFIG_PHY_SMSC, #define CONFIG_FEC_MXC_PHYADDR        

in uboot board file uboot/include/configs/mx6slevk.h

uboot-imx.git - Freescale i.MX u-boot Tree 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

667 Views
rocket42
Contributor I

Igorpadykov, thanks for  your response

I just have checked file uboot/include/configs/mx6ullevk.h

I found CONFIG_FEC_MXC_PHYADDR:

#ifdef CONFIG_CMD_NET

#define CONFIG_CMD_PING

#define CONFIG_CMD_DHCP

#define </p>CONFIG_CMD_MII

#define CONFIG_FEC_MXC

#define CONFIG_MII

#define CONFIG_FEC_ENET_DEV 1

#if (CONFIG_FEC_ENET_DEV == 0)

#define IMX_FEC_BASE ENET_BASE_ADDR

#define CONFIG_FEC_MXC_PHYADDR 0x2

#define CONFIG_FEC_XCV_TYPE RMII

#elif (CONFIG_FEC_ENET_DEV == 1)

#define IMX_FEC_BASE ENET2_BASE_ADDR

#define CONFIG_FEC_MXC_PHYADDR 0x1

#define CONFIG_FEC_XCV_TYPE RMII

#endif

#define CONFIG_ETHPRIME "FEC"

#define CONFIG_PHYLIB

#define CONFIG_PHY_MICREL

#endif

But, CONFIG_PHY_SMSC, I not found.

0 Kudos