From: Scott Wood <scottwood@freescale.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] Ethernet persistence
Date: Fri, 28 Feb 2014 11:33:15 -0600 [thread overview]
Message-ID: <1393608795.2697.88.camel@snotra.buserror.net> (raw)
In-Reply-To: <CAPnjgZ1vTrFuL8kzeR8fWiY1rLVNH6ewcLUG=VEUyRqGWii+7A@mail.gmail.com>
On Fri, 2014-02-28 at 07:24 -0700, Simon Glass wrote:
> Hi Anthony,
>
> On 27 February 2014 09:09, Anthony Mahar <anthony.j.mahar@gmail.com> wrote:
>
> > How can I make the ethernet connection persistent (after first use), rather
> > than reconnecting/re initializing on each reuse?
> >
> > I'm working with a Xilinx Zynq zc706 board and am up and running u-boot
> > quite successfully. My main use case is to store u-boot in on-board flash,
> > and have u-boot tftp get / boot the bitstream, kernel image, devicetree,
> > and
> > ramdisk image. The following script functions well:
> > "qspiboot=echo Configure PL and booting Linux from TFTP... && " \
> > "fpga info 0;"
> > \
> > "tftp 0x1000000 system.bin;"
> > \
> > "fpga load 0 0x1000000 cb44bc;" \
> > "tftp 0x3000000 ${kernel_image};" \
> > "tftp 0x2A00000 ${devicetree_image};" \
> > "tftp 0x2000000 ${ramdisk_image};" \
> > "bootm 0x3000000 0x2000000 0x2A00000\0" \
> >
> >
> > The ethernet (Zynq's gem.e000b000) will get initialized on first use, as
> > appropriate, however the Ethernet is reinitialized and auto negotiated
> > again
> > for each subsequent tftp request which shouldn't be necessary. A snippet
> > is
> > listed below. Each 'reconnection' takes several seconds... a few to auto
> > negotiate, then a few more for the Windows based TFTP server to recognize
> > the connection and allow connections to the server. Multiply this by the
> > number of transfers and it takes a very long time to transfer a very little
> > amount of data.
> >
>
> Yes as Michal says you should use FIT and put everything in one file, or
> less than 4. I'm not sure if we have a command to load your FPGA image from
> FIT though. We could add one fairly easily now that we have
> fit_image_load().
FIT is not particularly convenient when repeatedly updating a single
component, and requires more work to assemble. I thought it was meant
to replace old-style multi-image, not to deprecate individual images.
> Also take a look at asix_init() in drivers/usb/eth, which does not re-init
> the link if it is already up. This speeds things up.
So the question is why other ethernet drivers don't do this...
-Scott
prev parent reply other threads:[~2014-02-28 17:33 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-27 16:09 [U-Boot] Ethernet persistence Anthony Mahar
2014-02-28 10:22 ` Michal Simek
2014-02-28 14:24 ` Simon Glass
2014-02-28 14:33 ` Michal Simek
2014-02-28 17:33 ` Scott Wood [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1393608795.2697.88.camel@snotra.buserror.net \
--to=scottwood@freescale.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox