From 7a78bd2679ce3287cfc44f69fd7bc554d0261cf6 Mon Sep 17 00:00:00 2001 From: Michal Simek Date: Fri, 2 May 2014 14:09:30 +0200 Subject: 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 --- include/fpga.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'include/fpga.h') diff --git a/include/fpga.h b/include/fpga.h index 15e603a169d..a55e49f9589 100644 --- a/include/fpga.h +++ b/include/fpga.h @@ -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, -- cgit v1.2.3 From 67193864bce78b38fda2c73b9918403d1c572fcc Mon Sep 17 00:00:00 2001 From: Michal Simek Date: Fri, 2 May 2014 13:43:39 +0200 Subject: fpga: Add support to load partial bitstreams Added support to load partial bitstreams. The partial bitstreams can be loaded using the below commands Commands: fpga loadp fpga loadbp The full bit streams can be loaded using the old commands(fpga load and fpga loadb). Signed-off-by: Siva Durga Prasad Paladugu Signed-off-by: Michal Simek --- include/fpga.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include/fpga.h') diff --git a/include/fpga.h b/include/fpga.h index a55e49f9589..49efd375f74 100644 --- a/include/fpga.h +++ b/include/fpga.h @@ -38,6 +38,7 @@ typedef struct { /* typedef fpga_desc */ typedef enum { BIT_FULL = 0, + BIT_PARTIAL, } bitstream_type; /* root function definitions */ -- cgit v1.2.3 From 1a897668ac33c57ca76f47cb940ec32b405e90dd Mon Sep 17 00:00:00 2001 From: Siva Durga Prasad Paladugu Date: Fri, 14 Mar 2014 16:35:37 +0530 Subject: 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] [] Example: fpga loadfs 0 1000000 3dbafc 4000 mmc 0 fpga.bin Signed-off-by: Siva Durga Prasad Paladugu Signed-off-by: Michal Simek --- include/fpga.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'include/fpga.h') diff --git a/include/fpga.h b/include/fpga.h index 49efd375f74..914024c17cb 100644 --- a/include/fpga.h +++ b/include/fpga.h @@ -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); -- cgit v1.2.3