AnsweredAssumed Answered

IMX6ULL based custom board: ENET1 doesn't get up

Question asked by Digesh Patel on Aug 9, 2019
Latest reply on Aug 13, 2019 by Digesh Patel

I have imx6ull based custom board and trying to bring up the Ethernet interface. I am using the ENET1 interface with the external phy chip micrel ksz8081RNBIA I am building the 4.14 kernel with yocto.

 

When I am booting my kernel i am getting below errors in the log and not able to bring up the ethernet interface:

 

fec 2188000.ethernet: 2188000.ethernet supply phy not found, using dummy regulator
pps pps0: new PPS source ptp0
fec 2188000.ethernet (unnamed net_device) (uninitialized): Invalid MAC address: 00:00:00:00:00:00
fec 2188000.ethernet (unnamed net_device) (uninitialized): Using random MAC address: 62:92:9e:21:75:87
libphy: fec_enet_mii_bus: probed
fec 2188000.ethernet eth0: registered PHC device 0

 

Attaching the full log herewith.

 

 

I can  see the eth0 interface when doing ifconfig. But when I try to make this interface up my board gets hang badly. Ctrl c doen't work after this. I need to reboot the board.

 

Here is the dts configuration I am trying on enet1 interface:

 

&iomuxc_snvs {
            pinctrl-names = "default_snvs";
              imx6ul-evk {
               pinctrl_enet1_ctrl: enet1ctrlgrp {
               fsl,pins = <
               /* Used for Ethernet Interrupt */
               MX6ULL_PAD_SNVS_TAMPER5__GPIO5_IO05 0x79
                 >;
};

 

&fec1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet1
&pinctrl_enet1_ctrl>;
phy-mode = "rmii";
phy-handle = <&ethphy0>;
status = "okay";

         mdio {
                  #address-cells = <1>;
                  #size-cells = <0>;

                  ethphy0: ethernet-phy@2 {
                   compatible = "ethernet-phy-ieee802.3-c22";
                     reg = <2>;
                      };

                  };
};

 

pinctrl_enet1: enet1grp {
         fsl,pins = <
            MX6UL_PAD_GPIO1_IO07__ENET1_MDC 0x1b0b0
            MX6UL_PAD_GPIO1_IO06__ENET1_MDIO 0x1b0b0
            MX6UL_PAD_ENET1_RX_EN__ENET1_RX_EN 0x1b0b0
            MX6UL_PAD_ENET1_RX_ER__ENET1_RX_ER 0x1b0b0
            MX6UL_PAD_ENET1_RX_DATA0__ENET1_RDATA00 0x1b0b0
            MX6UL_PAD_ENET1_RX_DATA1__ENET1_RDATA01 0x1b0b0
            MX6UL_PAD_ENET1_TX_EN__ENET1_TX_EN 0x1b0b0
            MX6UL_PAD_ENET1_TX_DATA0__ENET1_TDATA00 0x1b0b0
            MX6UL_PAD_ENET1_TX_DATA1__ENET1_TDATA01 0x1b0b0
            MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1 0x4001b031
            MX6UL_PAD_GPIO1_IO08__GPIO1_IO08 0x17059
         >;
};

 

 

GPIO1_IO08 is my external reset configuration and as per ENET1_REF_CLK value setting it is 50Mhz

 

Can anyone help me out what I am missing?

 

Thanks

Digesh

Outcomes