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>
diff --git a/include/fpga.h b/include/fpga.h
index 49efd37..914024c 100644
--- a/include/fpga.h
+++ b/include/fpga.h
@@ -35,6 +35,13 @@
 	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_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);