[U-Boot] TFTP pause and timeout on MX28 platforms

Marek Vasut
2013-03-13T16:52:20Z

Dear Hector Palacios,

> Dear Marek Vasut,
>
> On 03/13/2013 05:19 PM, Marek Vasut wrote:
> > Dear Hector Palacios,
> >
> >> Dear Marek Vasut,
> >>
> >> On 03/13/2013 11:58 AM, Marek Vasut wrote:
> >>> Dear Hector Palacios,
> >>>
> >>>> Hello,
> >>>>
> >>>> When doing large TFTP downloads (files bigger than 10MiB) on my MX28
> >>>> platform I'm sometimes experiencing pauses and timeouts. U-Boot will
> >>>> eventually restart the transmission and sometimes may successfully
> >>>> complete the download, but other times it won't.
> >>>> On my platform it was somewhat mitigated (but not resolved) by
> >>>> reverting this patch from Marek:
> >>>>
> >>>> commit 67449098a86be18cbdb27345bebe8da57e5d8899
> >>>> Author: Marek Vasut <marex@denx.de>
> >>>> Date: Wed Aug 29 03:49:50 2012 +0000
> >>>>
> >>>> FEC: Rework the TX wait mechanism
> >>>>
> >>>> The problem is reproducible in Freescale's MX28EVK.
> >>>> The larger the file, the more chances to see the problem. Please try
> >>>> with 50MiB files or larger. Has anybody else seen it?
> >>>>
> >>>> On an old U-Boot v2009 TFTP transmission was twice slower than with
> >>>> v2013, but didn't suffer from this.
> >>>
> >>> What version of u-boot do you use ? It was resolved in recent versions.
> >>
> >> I'm using v2013.01.
> >> Could you please point me to the commit(s) that solve it?
> >> The commits I see on drivers/net/fec_mxc.c after v2013.01 are from Troy
> >> Kisky and don't seem to address this.
> >
> > commit c0b5a3bbb0cd40a6b23b7b07e2182a5bcdc8c31c
> > Author: Marek Vasut <marex@denx.de>
> > Date: Wed Aug 29 03:49:51 2012 +0000
> >
> > FEC: Replace magic contants
> >
> > and the three before this one. Is your PHY operating correctly? This
> > fixed the hangs on multiple MX28 platforms for me.
>
> v2013.01 contains all these patches but I was able to reproduce this both
> on my platform and on the mx28evk.
> My problem is not a hang, but TFTP pauses (1 to 3 seconds) and timeouts:
> #################################################################
> #####################################################T T T T T T
>
> At first I thought it was my platform's PHY (Micrel KSZ8031) but I also see
> it on mx28evk.

Do you use PHYLIB (see configs/sc_sps_1.h for example)? Also check if your
transceiver mode is not misconfigured. Moreover, see
board/denx/m28evk/spl_boot.c fecmxc_mii_postcall(), maybe you also need to
program some registers of the PHY (V11 and V10 prototypes used KSZ8051)?

Best regards,
Marek Vasut