fpga: Added support to load bit stream from SD/MMC
Added support to load a bitstream image in chunks by reading it in chunks from SD/MMC. Command format: loadfs [dev] [address] [image size] [blocksize] <interface> [<dev[:part]>] <filename> Example: fpga loadfs 0 1000000 3dbafc 4000 mmc 0 fpga.bin Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
This commit is contained in:

committed by
Michal Simek

parent
26ea9ce5b8
commit
1a897668ac
@@ -194,6 +194,7 @@
|
||||
#define CONFIG_CMD_FPGA_LOADMK
|
||||
#define CONFIG_CMD_FPGA_LOADP
|
||||
#define CONFIG_CMD_FPGA_LOADBP
|
||||
#define CONFIG_CMD_FPGA_LOADFS
|
||||
|
||||
/* Open Firmware flat tree */
|
||||
#define CONFIG_OF_LIBFDT
|
||||
|
@@ -35,6 +35,13 @@ typedef struct { /* typedef fpga_desc */
|
||||
void *devdesc; /* real device descriptor */
|
||||
} fpga_desc; /* end, typedef fpga_desc */
|
||||
|
||||
typedef struct { /* typedef fpga_desc */
|
||||
unsigned int blocksize;
|
||||
char *interface;
|
||||
char *dev_part;
|
||||
char *filename;
|
||||
int fstype;
|
||||
} fpga_fs_info;
|
||||
|
||||
typedef enum {
|
||||
BIT_FULL = 0,
|
||||
@@ -47,6 +54,8 @@ 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,
|
||||
bitstream_type bstype);
|
||||
extern int fpga_fsload(int devnum, const void *buf, size_t size,
|
||||
fpga_fs_info *fpga_fsinfo);
|
||||
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);
|
||||
|
@@ -46,6 +46,7 @@ typedef struct { /* typedef xilinx_desc */
|
||||
|
||||
struct xilinx_fpga_op {
|
||||
int (*load)(xilinx_desc *, const void *, size_t, bitstream_type);
|
||||
int (*loadfs)(xilinx_desc *, const void *, size_t, fpga_fs_info *);
|
||||
int (*dump)(xilinx_desc *, const void *, size_t);
|
||||
int (*info)(xilinx_desc *);
|
||||
};
|
||||
@@ -56,6 +57,8 @@ 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);
|
||||
int xilinx_loadfs(xilinx_desc *desc, const void *buf, size_t bsize,
|
||||
fpga_fs_info *fpga_fsinfo);
|
||||
|
||||
/* Board specific implementation specific function types
|
||||
*********************************************************************/
|
||||
|
Reference in New Issue
Block a user