fpga: Define bitstream type based on command selection
Clean up partial, full and compressed bitstream handling. U-Boot supports full bitstream loading and partial based on detection which is not 100% correct. Extending fpga_load/fpga_loadbitstream() with one more argument which stores bitstream type. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
This commit is contained in:
@@ -36,12 +36,18 @@ typedef struct { /* typedef fpga_desc */
|
||||
} fpga_desc; /* end, typedef fpga_desc */
|
||||
|
||||
|
||||
typedef enum {
|
||||
BIT_FULL = 0,
|
||||
} bitstream_type;
|
||||
|
||||
/* root function definitions */
|
||||
extern void fpga_init(void);
|
||||
extern int fpga_add(fpga_type devtype, void *desc);
|
||||
extern int fpga_count(void);
|
||||
extern int fpga_load(int devnum, const void *buf, size_t bsize);
|
||||
extern int fpga_loadbitstream(int devnum, char *fpgadata, size_t size);
|
||||
extern int fpga_load(int devnum, const void *buf, size_t bsize,
|
||||
bitstream_type bstype);
|
||||
extern int fpga_loadbitstream(int devnum, char *fpgadata, size_t size,
|
||||
bitstream_type bstype);
|
||||
extern int fpga_dump(int devnum, const void *buf, size_t bsize);
|
||||
extern int fpga_info(int devnum);
|
||||
extern const fpga_desc *const fpga_validate(int devnum, const void *buf,
|
||||
|
||||
@@ -45,14 +45,15 @@ typedef struct { /* typedef xilinx_desc */
|
||||
} xilinx_desc; /* end, typedef xilinx_desc */
|
||||
|
||||
struct xilinx_fpga_op {
|
||||
int (*load)(xilinx_desc *, const void *, size_t);
|
||||
int (*load)(xilinx_desc *, const void *, size_t, bitstream_type);
|
||||
int (*dump)(xilinx_desc *, const void *, size_t);
|
||||
int (*info)(xilinx_desc *);
|
||||
};
|
||||
|
||||
/* Generic Xilinx Functions
|
||||
*********************************************************************/
|
||||
int xilinx_load(xilinx_desc *desc, const void *image, size_t size);
|
||||
int xilinx_load(xilinx_desc *desc, const void *image, size_t size,
|
||||
bitstream_type bstype);
|
||||
int xilinx_dump(xilinx_desc *desc, const void *buf, size_t bsize);
|
||||
int xilinx_info(xilinx_desc *desc);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user