[U-Boot] imx8mq-evk: Outbound network packets lost

Chris Spencer spencercw at gmail.com
Fri Jan 25 08:15:30 UTC 2019


On Thu, 24 Jan 2019 at 23:51, Sergey Kubushyn <ksi at koi8.net> wrote:
> On Fri, 4 Jan 2019, Chris Spencer wrote:
> Hi Chris,
>
> Did you figure out what was wrong with the PHY always reading zeroes over
> MDIO?
>
> I have exactly same problem here with out i.MX8MQ-based device -- it worked
> just fine with older U-Boot without DM_ETH but always reads zeroes over MDIO
> with 2019.01...
>
> I'm still fighting and will probably find the culprit but it would've saved
> me some time if you had found what was wrong...
>
> Your reply is highly appreciated.
>
> My best regards,
> Sergey.

Hi Sergey,

I never quite got to the bottom of why it doesn't work in U-Boot, but
I did discover that U-Boot's failure to correctly initialise the
Ethernet controller is what was breaking the Linux driver. Basically,
it's leaving behind an 'unspent' transfer request in the ENET_MMFR
register (otherwise known as FEC_MII_DATA in the Linux driver) which
gets triggered when the Linux driver starts initialising the Ethernet
controller. This has a nasty habit of interfering with the first
transfer request the driver tries to make.

If you don't need networking in U-Boot then you can just set
CONFIG_CMD_NET=n in your build config and that will fix the Linux
driver. I'm afraid I can't offer any further insight if you do need
networking in U-Boot.

Thanks,
Chris


More information about the U-Boot mailing list