i.MX6UL ENET1 (with LAN8720AI PHY) is not working in Uboot

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

i.MX6UL ENET1 (with LAN8720AI PHY) is not working in Uboot

1,828 Views
hemantpathak
Contributor I

Hi


I am using the customized board based on imx6UL(MCIMX6G0DVM05AA) using Linux. I am trying to configure the RMII(LAN8720AI) phy with the same board but I am not able to ping.I am able to get the clock@50MHz and data on Tx-line between mac and phy. Please find the attached below image for the pin configurations and waveforms of Tx-data with clock. I have done the following pin configurations in u-boot as per our design.

static iomux_v3_cfg_t const fec1_pads[] = {

MX6_PAD_ENET2_RX_DATA0__ENET1_MDIO | MUX_PAD_CTRL(MDIO_PAD_CTRL), /* MDIO */ MX6_PAD_ENET2_RX_DATA1__ENET1_MDC | MUX_PAD_CTRL(ENET_PAD_CTRL), /* MDC */ MX6_PAD_ENET1_TX_DATA0__ENET1_TDATA00 | MUX_PAD_CTRL(ENET_PAD_CTRL), MX6_PAD_ENET1_TX_DATA1__ENET1_TDATA01 | MUX_PAD_CTRL(ENET_PAD_CTRL), MX6_PAD_ENET1_TX_EN__ENET1_TX_EN | MUX_PAD_CTRL(ENET_PAD_CTRL), MX6_PAD_ENET1_TX_CLK__ENET1_REF_CLK1 | MUX_PAD_CTRL(ENET_PAD_CTRL), MX6_PAD_ENET1_RX_DATA0__ENET1_RDATA00 | MUX_PAD_CTRL(ENET_PAD_CTRL), MX6_PAD_ENET1_RX_DATA1__ENET1_RDATA01 | MUX_PAD_CTRL(ENET_PAD_CTRL), MX6_PAD_ENET1_RX_ER__ENET1_RX_ER | MUX_PAD_CTRL(ENET_PAD_CTRL), MX6_PAD_ENET1_RX_EN__ENET1_RX_EN | MUX_PAD_CTRL(ENET_PAD_CTRL), MX6_PAD_LCD_HSYNC__GPIO3_IO02 | MUX_PAD_CTRL(NO_PAD_CTRL), /* RESET */

};

Anyone have any suggestions on what might be wrong or what next to check to get Ethernet working in Linux on the i.MX6UL?

Labels (1)
0 Kudos
4 Replies

1,227 Views
igorpadykov
NXP Employee
NXP Employee

Hi Hemant

also one can check #define CONFIG_PHY_SMSC
in uboot/include/configs as in example in mx6slevk.h

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

Best regards
igor

0 Kudos

1,227 Views
hemantpathak
Contributor I

Hi igor,

I have checked and #define CONFIG_PHY_SMSC is defined.

What else can i check, can you suggest.

--

With Best Regards,

Hemant Pathak

VVDN Technologies Pvt Ltd

*Cell : +91 9634664730 | Skype : hp4hemantpathak@outlook.com

<hp4hemantpathak@outlook.com>*

On Wed, Aug 30, 2017 at 5:11 AM, igorpadykov <admin@community.nxp.com>

0 Kudos

1,227 Views
lvmh
Contributor I

Have you solved the problem?I've got the same question. Can you give me some advice?
I refer to https://community.nxp.com/thread/389902, but it still don't work。
ping failed; host 192.168.1.1 is not alive

0 Kudos

1,227 Views
compmas2
Contributor V

Take a look at your MUX_PAD_CTRL() for the MX6_PAD_ENET1_TX_CLK__ENET1_REF_CLK1 pad.  This is a clock so it shouldn't be treated like all the other pads for other Ethernet signals.  I used the keeper functionality and did not do a pull up or pull down.  Here is what I defined for my Ethernet clock pad:

#define ENET_CLK_PAD_CTRL (PAD_CTL_PKE | PAD_CTL_SPEED_MED | \ PAD_CTL_DSE_48ohm | PAD_CTL_SRE_FAST)

static iomux_v3_cfg_t const fec1_pads[] = {

...

MX6_PAD_ENET1_TX_CLK__ENET1_REF_CLK1 | MUX_PAD_CTRL(ENET_CLK_PAD_CTRL),

...

};

0 Kudos