mirror of
https://github.com/linux-sunxi/u-boot-sunxi.git
synced 2024-02-12 11:16:03 +08:00
FPGA: add support for downloading Lattice bitstream
The patch adds support to load a Lattice's bitstream image (called VME file) into a Lattice FPGA. The code containing the state machine delivered as part of Lattice's ispVMtools is integrated. The FPGA is programmed using the JTAG interface. The board maintainer must provide accessors to drive the JTAG signals TCK, TMS, TDI and to get the value of the input signal TDO. Signed-off-by: Stefano Babic <sbabic@denx.de>
This commit is contained in:
@ -28,6 +28,7 @@
|
||||
#include <common.h> /* core U-Boot definitions */
|
||||
#include <xilinx.h> /* xilinx specific definitions */
|
||||
#include <altera.h> /* altera specific definitions */
|
||||
#include <lattice.h>
|
||||
|
||||
#if 0
|
||||
#define FPGA_DEBUG /* define FPGA_DEBUG to get debug messages */
|
||||
@ -139,6 +140,10 @@ static int fpga_dev_info( int devnum )
|
||||
fpga_no_sup( (char *)__FUNCTION__, "Altera devices" );
|
||||
#endif
|
||||
break;
|
||||
case fpga_lattice:
|
||||
printf("Lattice Device\nDescriptor @ 0x%p\n", desc);
|
||||
ret_val = lattice_info(desc->devdesc);
|
||||
break;
|
||||
default:
|
||||
printf( "%s: Invalid or unsupported device type %d\n",
|
||||
__FUNCTION__, desc->devtype );
|
||||
@ -224,6 +229,9 @@ int fpga_load( int devnum, void *buf, size_t bsize )
|
||||
fpga_no_sup( (char *)__FUNCTION__, "Altera devices" );
|
||||
#endif
|
||||
break;
|
||||
case fpga_lattice:
|
||||
ret_val = lattice_load(desc->devdesc, buf, bsize);
|
||||
break;
|
||||
default:
|
||||
printf( "%s: Invalid or unsupported device type %d\n",
|
||||
__FUNCTION__, desc->devtype );
|
||||
@ -257,6 +265,9 @@ int fpga_dump( int devnum, void *buf, size_t bsize )
|
||||
fpga_no_sup( (char *)__FUNCTION__, "Altera devices" );
|
||||
#endif
|
||||
break;
|
||||
case fpga_lattice:
|
||||
ret_val = lattice_dump(desc->devdesc, buf, bsize);
|
||||
break;
|
||||
default:
|
||||
printf( "%s: Invalid or unsupported device type %d\n",
|
||||
__FUNCTION__, desc->devtype );
|
||||
|
Reference in New Issue
Block a user