summaryrefslogtreecommitdiff
path: root/src/jtag/zy1000/jtag_minidriver.h
diff options
context:
space:
mode:
authorØyvind Harboe <oyvind.harboe@zylin.com>2010-09-07 20:27:45 +0200
committerØyvind Harboe <oyvind.harboe@zylin.com>2010-09-20 20:45:16 +0200
commit61780558e1654af0f3f20a332763b30bf533a912 (patch)
treed5f3ebcf16757bc354736bce643ccca23ddc7799 /src/jtag/zy1000/jtag_minidriver.h
parent549d97481407b99a820033379d5a3d44931a5336 (diff)
downloadopenocd+libswd-61780558e1654af0f3f20a332763b30bf533a912.tar.gz
openocd+libswd-61780558e1654af0f3f20a332763b30bf533a912.tar.bz2
openocd+libswd-61780558e1654af0f3f20a332763b30bf533a912.tar.xz
openocd+libswd-61780558e1654af0f3f20a332763b30bf533a912.zip
zy1000: add support for Linux host
used /dev/mem and mmem() to memory map JTAG registers into user space and used new configure options to exclude eCos specific code. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
Diffstat (limited to 'src/jtag/zy1000/jtag_minidriver.h')
-rw-r--r--src/jtag/zy1000/jtag_minidriver.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/jtag/zy1000/jtag_minidriver.h b/src/jtag/zy1000/jtag_minidriver.h
index 4e99d3cb..543fd9bb 100644
--- a/src/jtag/zy1000/jtag_minidriver.h
+++ b/src/jtag/zy1000/jtag_minidriver.h
@@ -21,12 +21,19 @@
#define TEST_MANUAL() 0
#define VERBOSE(a)
-#if BUILD_ECOSBOARD
+#if BUILD_ZY1000_MASTER
+#if BUILD_ECOSBOARD
#include <cyg/hal/hal_io.h> // low level i/o
#include <cyg/hal/hal_intr.h> // low level i/o
#define ZY1000_PEEK(a, b) HAL_READ_UINT32(a, b)
#define ZY1000_POKE(a, b) HAL_WRITE_UINT32(a, b)
+#else
+#define ZY1000_PEEK(a, b) do {b = *( ( volatile uint32_t *)(a) );} while (0)
+#define ZY1000_POKE(a, b) do {*( ( volatile uint32_t *)(a) ) = b;} while (0)
+extern volatile void *zy1000_jtag_master;
+#define ZY1000_JTAG_BASE ((unsigned long)zy1000_jtag_master)
+#endif
#else
@@ -41,7 +48,7 @@ extern uint32_t zy1000_tcpin(uint32_t address);
-#if BUILD_ECOSBOARD
+#if BUILD_ZY1000_MASTER
// FIFO empty?
static __inline__ void waitIdle(void)
{
@@ -228,7 +235,7 @@ static __inline__ void interface_jtag_add_dr_out(struct jtag_tap *target_tap,
}
}
-#if BUILD_ECOSBOARD
+#if BUILD_ZY1000_MASTER
#define interface_jtag_add_callback(callback, in) callback(in)
#define interface_jtag_add_callback4(callback, in, data1, data2, data3) jtag_set_error(callback(in, data1, data2, data3))
#else