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?
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
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>
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
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),
...
};