summaryrefslogtreecommitdiff
path: root/board/tcm-bf537/flash.c
diff options
context:
space:
mode:
Diffstat (limited to 'board/tcm-bf537/flash.c')
-rw-r--r--board/tcm-bf537/flash.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/board/tcm-bf537/flash.c b/board/tcm-bf537/flash.c
new file mode 100644
index 0000000..52c5bd8
--- /dev/null
+++ b/board/tcm-bf537/flash.c
@@ -0,0 +1,37 @@
+/*
+ * flash.c - helper commands for working with GPIO-assisted flash
+ *
+ * Copyright (c) 2005-2009 Analog Devices Inc.
+ *
+ * Licensed under the GPL-2 or later.
+ */
+
+#include <common.h>
+#include <command.h>
+#include <asm/blackfin.h>
+#include "gpio_cfi_flash.h"
+
+int do_pf(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+{
+ ulong faddr = CONFIG_SYS_FLASH_BASE;
+ ushort data;
+ ulong dflg;
+
+ if (argc == 3) {
+ dflg = simple_strtoul(argv[1], NULL, 16);
+ faddr |= (dflg << 21);
+ dflg = simple_strtoul(argv[2], NULL, 16);
+ faddr |= (dflg << 22);
+ gpio_cfi_flash_swizzle((void *)faddr);
+ } else {
+ data = bfin_read_PORTFIO();
+ printf("Port F data %04x (PF4:%i PF5:%i)\n", data,
+ !!(data & PF4), !!(data & PF5));
+ }
+
+ return 0;
+}
+
+U_BOOT_CMD(pf, 3, 0, do_pf,
+ "set/clear PF4/PF5 GPIO flash bank switch\n",
+ "<pf4> <pf5> - set PF4/PF5 GPIO pin state\n");