diff loadtools/flmisc.c @ 406:0b8e5072abde

fc-loadtool flash: reset to read mode added where appropriate
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Tue, 17 Jun 2014 00:53:07 +0000
parents a212b4968b29
children 431023033c86
line wrap: on
line diff
--- a/loadtools/flmisc.c	Tue Jun 17 00:33:05 2014 +0000
+++ b/loadtools/flmisc.c	Tue Jun 17 00:53:07 2014 +0000
@@ -46,6 +46,9 @@
 			(u_long) bi->geom->total_size);
 		return(-1);
 	}
+	/* reset flash to read mode */
+	if (bi->ops->reset_cmd(bi) < 0)
+		return(-1);
 	sprintf(targ_start, "%lx", (u_long) bi->base_addr + offset);
 	sprintf(targ_len, "%lx", len);
 	targv[0] = "blankchk";
@@ -111,6 +114,9 @@
 			"internal bug: bad format in flashcmd_dump2file()\n");
 		return(-1);
 	}
+	/* reset flash to read mode */
+	if (bi->ops->reset_cmd(bi) < 0)
+		return(-1);
 	return loadtool_memdump(bi->base_addr + offset, dumplen, argv[2],
 				format);
 }
@@ -212,3 +218,18 @@
 		return(-1);
 	return tpinterf_pass_output(1);
 }
+
+flashcmd_reset(argc, argv, bank)
+	char **argv;
+{
+	struct flash_bank_info *bi;
+
+	if (argc > 2) {
+		fprintf(stderr, "error: too many arguments\n");
+		return(-1);
+	}
+	if (flash_get_cfi(bank) < 0)
+		return(-1);
+	bi = flash_bank_info + bank;
+	return bi->ops->reset_cmd(bi);
+}