diff options
author | Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> | 2014-03-14 16:35:37 +0530 |
---|---|---|
committer | Michal Simek <michal.simek@xilinx.com> | 2014-05-20 15:23:46 +0200 |
commit | 1a897668ac33c57ca76f47cb940ec32b405e90dd (patch) | |
tree | accd3a9001b851d2fe03553f7997fa417be17db0 /drivers/fpga/fpga.c | |
parent | 26ea9ce5b84b688936a64d1c6102614ed1c28640 (diff) | |
download | u-boot-1a897668ac33c57ca76f47cb940ec32b405e90dd.tar.gz u-boot-1a897668ac33c57ca76f47cb940ec32b405e90dd.tar.xz u-boot-1a897668ac33c57ca76f47cb940ec32b405e90dd.zip |
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>
Diffstat (limited to 'drivers/fpga/fpga.c')
-rw-r--r-- | drivers/fpga/fpga.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/drivers/fpga/fpga.c b/drivers/fpga/fpga.c index e770950909..37946d5e18 100644 --- a/drivers/fpga/fpga.c +++ b/drivers/fpga/fpga.c @@ -180,6 +180,34 @@ int __weak fpga_loadbitstream(int devnum, char *fpgadata, size_t size, return FPGA_FAIL; } +#if defined(CONFIG_CMD_FPGA_LOADFS) +int fpga_fsload(int devnum, const void *buf, size_t size, + fpga_fs_info *fpga_fsinfo) +{ + int ret_val = FPGA_FAIL; /* assume failure */ + const fpga_desc *desc = fpga_validate(devnum, buf, size, + (char *)__func__); + + if (desc) { + switch (desc->devtype) { + case fpga_xilinx: +#if defined(CONFIG_FPGA_XILINX) + ret_val = xilinx_loadfs(desc->devdesc, buf, size, + fpga_fsinfo); +#else + fpga_no_sup((char *)__func__, "Xilinx devices"); +#endif + break; + default: + printf("%s: Invalid or unsupported device type %d\n", + __func__, desc->devtype); + } + } + + return ret_val; +} +#endif + /* * Generic multiplexing code */ |