summaryrefslogtreecommitdiff
path: root/board/hymod
diff options
context:
space:
mode:
Diffstat (limited to 'board/hymod')
-rw-r--r--board/hymod/Makefile2
-rw-r--r--board/hymod/bsp.c39
-rw-r--r--board/hymod/u-boot.lds6
-rw-r--r--board/hymod/u-boot.lds.debug6
4 files changed, 43 insertions, 10 deletions
diff --git a/board/hymod/Makefile b/board/hymod/Makefile
index 4d3097c..b52af9a 100644
--- a/board/hymod/Makefile
+++ b/board/hymod/Makefile
@@ -28,7 +28,7 @@ LIB = lib$(BOARD).a
OBJS = $(BOARD).o flash.o bsp.o eeprom.o fetch.o input.o env.o
$(LIB): .depend $(OBJS)
- $(AR) crv $@ $^
+ $(AR) crv $@ $(OBJS)
#########################################################################
diff --git a/board/hymod/bsp.c b/board/hymod/bsp.c
index 02b6421..f131e51 100644
--- a/board/hymod/bsp.c
+++ b/board/hymod/bsp.c
@@ -276,7 +276,30 @@ do_fpga (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
printf ("Usage:\n%s\n", cmdtp->usage);
return 1;
}
-
+cmd_tbl_t U_BOOT_CMD(fpga) = MK_CMD_ENTRY(
+ "fpga", 6, 1, do_fpga,
+ "fpga - FPGA sub-system\n",
+ "load [type] addr size\n"
+ " - write the configuration data at memory address `addr',\n"
+ " size `size' bytes, into the FPGA of type `type' (either\n"
+ " `main' or `mezz', default `main'). e.g.\n"
+ " `fpga load 100000 7d8f'\n"
+ " loads the main FPGA with config data at address 100000\n"
+ " HEX, size 7d8f HEX (32143 DEC) bytes\n"
+ "fpga tftp file addr\n"
+ " - transfers `file' from the tftp server into memory at\n"
+ " address `addr', then writes the entire file contents\n"
+ " into the main FPGA\n"
+ "fpga store addr\n"
+ " - read configuration data from the main FPGA (the mezz\n"
+ " FPGA is write-only), into address `addr'. There must be\n"
+ " enough memory available at `addr' to hold all the config\n"
+ " data - the size of which is determined by VC:???\n"
+ "fpga info\n"
+ " - print information about the Hymod FPGA, namely the\n"
+ " memory addresses at which the four FPGA local bus\n"
+ " address spaces appear in the physical address space\n"
+);
/* ------------------------------------------------------------------------- */
int
do_eecl (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
@@ -312,15 +335,17 @@ do_eecl (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
return 0;
}
+cmd_tbl_t U_BOOT_CMD(eec) = MK_CMD_ENTRY(
+ "eeclear", 1, 0, do_eecl,
+ "eeclear - Clear the eeprom on a Hymod board \n",
+ "[type]\n"
+ " - write zeroes into the EEPROM on the board of type `type'\n"
+ " (`type' is either `main' or `mezz' - default `main')\n"
+ " Note: the EEPROM write enable jumper must be installed\n"
+);
/* ------------------------------------------------------------------------- */
-#if 0
-static uchar test_bitfile[] = {
- /* one day ... */
-};
-#endif
-
int
do_htest (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{
diff --git a/board/hymod/u-boot.lds b/board/hymod/u-boot.lds
index d71859c..1e20425 100644
--- a/board/hymod/u-boot.lds
+++ b/board/hymod/u-boot.lds
@@ -111,6 +111,11 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
+ __u_boot_cmd_start = .;
+ .u_boot_cmd : { *(.u_boot_cmd) }
+ __u_boot_cmd_end = .;
+
+
__start___ex_table = .;
__ex_table : { *(__ex_table) }
__stop___ex_table = .;
@@ -138,4 +143,3 @@ SECTIONS
_end = . ;
PROVIDE (end = .);
}
-
diff --git a/board/hymod/u-boot.lds.debug b/board/hymod/u-boot.lds.debug
index 22138f8..c0ee849 100644
--- a/board/hymod/u-boot.lds.debug
+++ b/board/hymod/u-boot.lds.debug
@@ -106,6 +106,11 @@ SECTIONS
_edata = .;
PROVIDE (edata = .);
+ __u_boot_cmd_start = .;
+ .u_boot_cmd : { *(.u_boot_cmd) }
+ __u_boot_cmd_end = .;
+
+
__start___ex_table = .;
__ex_table : { *(__ex_table) }
__stop___ex_table = .;
@@ -128,4 +133,3 @@ SECTIONS
_end = . ;
PROVIDE (end = .);
}
-