commit 939ecce404d16e23af69873837ed58a8de530e7d
parent a06015692c8123618eb3fe4c69b2f5cd8b79bd1b
Author: Brian Swetland <swetland@frotz.net>
Date:   Sun, 11 May 2014 19:06:58 -0700
make a bit tidier
Diffstat:
| M | mem.c |  |  | 40 | ++++++++++++++++++++++++++-------------- | 
1 file changed, 26 insertions(+), 14 deletions(-)
diff --git a/mem.c b/mem.c
@@ -54,9 +54,21 @@ void jwr(u32 addr, u32 val) {
 	jtag_dr_io(jtag, 36, u, &u);
 }
 
-void axi_connect(void) {
+#define DBG_IDCODE		     0x4158494d
+
+#define DBG_R_IDCODE                 0
+#define DBG_R_GETDATA                1
+#define DBG_R_GETADDR                2
+#define DBG_R_STATUS                 7
+
+#define DBG_W_SETADDR_READ           1
+#define DBG_W_SETADDR                2
+#define DBG_W_SETDATA_WRITE          3
+#define DBG_W_SETDATA_INCADDR_WRITE  4
+
+void mem_connect(void) {
 	jconnect();
-	if (jrd(0) != 0x4158494d) {
+	if (jrd(0) != DBG_IDCODE) {
 		fprintf(stderr,"axi master not detected\n");
 		exit(-1);
 	}
@@ -75,8 +87,8 @@ int main(int argc, char **argv) {
 				return -1;
 			}
 		}
-		axi_connect();
-		jwr(6, addr-4);
+		mem_connect();
+		jwr(DBG_W_SETADDR, addr-4);
 		for (;;) {
 			r = read(fd, &n, sizeof(n));
 			if (r < 0) {
@@ -86,7 +98,7 @@ int main(int argc, char **argv) {
 			}
 			if (r < 1)
 				break;
-			jwr(4, n);
+			jwr(DBG_W_SETDATA_INCADDR_WRITE, n);
 		}
 		close(fd);
 		return 0;
@@ -102,10 +114,10 @@ int main(int argc, char **argv) {
 				return -1;
 			}
 		}
-		axi_connect();
+		mem_connect();
 		while (count > 0) {
-			jwr(7, addr);
-			u32 n = jrd(1);
+			jwr(DBG_W_SETADDR_READ, addr);
+			u32 n = jrd(DBG_R_GETDATA);
 			write(fd, &n, sizeof(n));
 			addr += 4;
 			count--;
@@ -117,17 +129,17 @@ int main(int argc, char **argv) {
 		u32 addr = strtoul(argv[1], 0, 0);
 		u32 val = strtoul(argv[2], 0, 0);
 		if (argv[1][0] == '-') goto usage;
-		axi_connect();
-		jwr(6, addr);
-		jwr(5, val);
+		mem_connect();
+		jwr(DBG_W_SETADDR, addr);
+		jwr(DBG_W_SETDATA_WRITE, val);
 		return 0;
 	} else if (argc == 2) {
 		u32 addr = strtoul(argv[1], 0, 0);
 		u32 val;
 		if (argv[1][0] == '-') goto usage;
-		axi_connect();
-		jwr(7, addr);
- 		val = jrd(1);
+		mem_connect();
+		jwr(DBG_W_SETADDR_READ, addr);
+ 		val = jrd(DBG_R_GETDATA);
 		printf("%08x\n", val);
 		return 0;
 	}