summaryrefslogtreecommitdiff
path: root/common/cmd_fpga.c
diff options
context:
space:
mode:
authorWolfgang Denk <wd@pollux.denx.de>2006-11-27 23:11:18 +0100
committerWolfgang Denk <wd@denx.de>2006-11-27 23:11:18 +0100
commitd2c83f549378fb3fc34cb3c2e62fd772fbf8b68b (patch)
treef00383ed01ca18fa0beee4930ebb7f3dc4153e5e /common/cmd_fpga.c
parent4f4b602ec7524a032bdf3c6d28c7f525a4a67eaa (diff)
parent1729b92cde575476684bffe819d0b7791b57bff2 (diff)
downloadu-boot-imx-d2c83f549378fb3fc34cb3c2e62fd772fbf8b68b.zip
u-boot-imx-d2c83f549378fb3fc34cb3c2e62fd772fbf8b68b.tar.gz
u-boot-imx-d2c83f549378fb3fc34cb3c2e62fd772fbf8b68b.tar.bz2
Merge with /home/sr/git/u-boot/denx-alpr-merge-test
Diffstat (limited to 'common/cmd_fpga.c')
-rw-r--r--common/cmd_fpga.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/common/cmd_fpga.c b/common/cmd_fpga.c
index 9a01e7d..3444091 100644
--- a/common/cmd_fpga.c
+++ b/common/cmd_fpga.c
@@ -55,6 +55,7 @@ static int fpga_get_op (char *opstr);
#define FPGA_LOAD 1
#define FPGA_LOADB 2
#define FPGA_DUMP 3
+#define FPGA_LOADMK 4
/* Convert bitstream data and load into the fpga */
int fpga_loadbitstream(unsigned long dev, char* fpgadata, size_t size)
@@ -251,6 +252,23 @@ int do_fpga (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
rc = fpga_loadbitstream(dev, fpga_data, data_size);
break;
+ case FPGA_LOADMK:
+ {
+ image_header_t header;
+ image_header_t *hdr = &header;
+ ulong data;
+
+ memmove (&header, (char *)fpga_data, sizeof(image_header_t));
+ if (ntohl(hdr->ih_magic) != IH_MAGIC) {
+ puts ("Bad Magic Number\n");
+ return 1;
+ }
+ data = ((ulong)fpga_data + sizeof(image_header_t));
+ data_size = ntohl(hdr->ih_size);
+ rc = fpga_load (dev, (void *)data, data_size);
+ }
+ break;
+
case FPGA_DUMP:
rc = fpga_dump (dev, fpga_data, data_size);
break;
@@ -282,6 +300,8 @@ static int fpga_get_op (char *opstr)
op = FPGA_LOADB;
} else if (!strcmp ("load", opstr)) {
op = FPGA_LOAD;
+ } else if (!strcmp ("loadmk", opstr)) {
+ op = FPGA_LOADMK;
} else if (!strcmp ("dump", opstr)) {
op = FPGA_DUMP;
}
@@ -299,5 +319,6 @@ U_BOOT_CMD (fpga, 6, 1, do_fpga,
"\tinfo\tlist known device information\n"
"\tload\tLoad device from memory buffer\n"
"\tloadb\tLoad device from bitstream buffer (Xilinx devices only)\n"
+ "\tloadmk\tLoad device generated with mkimage\n"
"\tdump\tLoad device to memory buffer\n");
#endif /* CONFIG_FPGA && CONFIG_COMMANDS & CFG_CMD_FPGA */