AnsweredAssumed Answered

IMX6Q: RMII & Fixed-link

Question asked by Wouter Vanhauwaert on Feb 15, 2017
Latest reply on Mar 6, 2017 by Wouter Vanhauwaert

Hello all,

In my setup, I have an IMX6, connected through RMII to a Marvell switch (88E6071 / 100Mbit). For the phy-bus, I make use of the fixed-phy/fixed-link driver. My kernel is linux 4.1.36.xxx

I already had 2 setups, one where The IMX6 washgenerating the ENET_REFCLOCK, and one where I let the marvell do it. Both solutions worked the same in the end:

I'm only able to output from imx towards my pc. The response never arrives. The RX packets errors is building up, without any success. If I ping from the imx towards my pc, and look in wireshark, I see the arp's coming from the board, and I'm also answering them. But for some reason, they do not arrive.

I already had it working with the same setup, but based on linux 3.14.52. What is changed, or what is preventing my system to work correctly on 4.1.36?

 

Relevant DTS-parts:

&fec {
   pinctrl-names = "default";
   pinctrl-0 = <&pinctrl_enet>;
   phy-mode = "rmii";
   clocks = <&clks IMX6QDL_CLK_ENET>,
               <&clks IMX6QDL_CLK_ENET>,
                <&clks IMX6QDL_CLK_ENET_REF>,
               <&clks IMX6QDL_CLK_ENET_REF>;
   clock-names = "ipg", "ahb", "ptp", "enet_out";
   fsl,magic-packet;
   status = "okay";
   label = "fec";
   fixed-link {
         speed = <100>;
         full-duplex;
   };
};

 

pinctrl_enet: enetgrp {
fsl,pins = <
   MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
   MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0
   MX6QDL_PAD_ENET_TXD0__ENET_TX_DATA0 0x1b0b0
   MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1 0x1b0b0
   MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN 0x1b0b0
   MX6QDL_PAD_ENET_RXD0__ENET_RX_DATA0 0x1b0b0
   MX6QDL_PAD_ENET_RXD1__ENET_RX_DATA1 0x1b0b0
   MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN 0x1b0b0
   MX6QDL_PAD_ENET_RX_ER__ENET_RX_ER 0x1b0b0
   MX6QDL_PAD_GPIO_19__ENET_TX_ER 0x1b0b0
   MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8
>;
};

 

Does anyone has a clue on where to search? If 

Outcomes