February 2, 2021

EBAZ4205 Bitcoin miner board - U-Boot FPGA commands

To my utter amazement, U-boot has FPGA commands:
zynq-uboot> help fpga
fpga - loadable FPGA image support
Usage:
fpga [operation type] [device number] [image address] [image size]
fpga operations:
  dump	[dev] [address] [size]	Load device to memory buffer
  info	[dev]			list known device information
  load	[dev] [address] [size]	Load device from memory buffer
  loadp	[dev] [address] [size]	Load device from memory buffer with partial bitstream
  loadb	[dev] [address] [size]	Load device from bitstream buffer (Xilinx only)
  loadbp	[dev] [address] [size]	Load device from bitstream buffer with partial bitstream(Xilinx only)
Load device from filesystem (FAT by default) (Xilinx only)
  loadfs [dev] [address] [image size] [blocksize] 
        [] 
  loadmk [dev] [address]	Load device generated with mkimage
	For loadmk operating on FIT format uImage address must include
	subimage unit name in the form of addr:
Without some kind of bitstream, all I can do to fool around is this:
fpga info 0
Xilinx Device
Descriptor @ 0x0ffba85c
Family:        	Zynq PL
Interface type:	Device configuration interface (Zynq)
Device Size:   	2083740 bytes
Cookie:        	0x10 (16)
Device name:   	7z010
No Device Function Table.
It was information on David Richards github that tipped me off to all of this. Here is what he does to load a bitstream from a tftp server:
set loadbit_addr 0x100000
set bitstream_image system.bit.bin
tftpboot ${loadbit_addr} ${serverip}:${bitstream_image}
fpga loadb 0 ${loadbit_addr} ${filesize}
fpga info 0
It is worth pondering whether his loadbit_addr is suitable for my system, but I think it is.
Feedback? Questions? Drop me a line!

Tom's Computer Info / tom@mmto.org