[U-Boot] Ethernet persistence

Anthony Mahar anthony.j.mahar at gmail.com
Thu Feb 27 17:09:15 CET 2014


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.

Snippet:

Xilinx Device
Descriptor @ 0x3ffbaf78
Family:         Zynq PL
Interface type: Device configuration interface (Zynq)
Device Size:    13321404 bytes
Cookie:         0x45 (69)
Device name:    7z045
No Device Function Table.
Gem.e000b000 Waiting for PHY auto negotiation to complete....... done
Using Gem.e000b000 device
TFTP from server 192.168.2.1; our IP address is 192.168.2.10
Filename 'system.bin'.
Load address: 0x1000000
Loading: T #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ###############################################################
         953.1 KiB/s
done
Bytes transferred = 13321404 (cb44bc hex)
Gem.e000b000:7 is connected to Gem.e000b000.  Reconnecting to Gem.e000b000
Gem.e000b000 Waiting for PHY auto negotiation to complete....... done
Using Gem.e000b000 device
TFTP from server 192.168.2.1; our IP address is 192.168.2.10
Filename 'uImage'.
Load address: 0x3000000
Loading: T #################################################################
         #################################################################
         #################################################################
         ################
         429.7 KiB/s
done







--
View this message in context: http://u-boot.10912.n7.nabble.com/Ethernet-persistence-tp174934.html
Sent from the U-Boot mailing list archive at Nabble.com.


More information about the U-Boot mailing list