
Hi Simon,
On 02/28/2014 03:24 PM, 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().
I have this on my todo list and definitely I would love to extend FIT image with adding FPGA to it.
Thanks, Michal