summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorØyvind Harboe <oyvind.harboe@zylin.com>2009-12-10 15:09:20 +0100
committerØyvind Harboe <oyvind.harboe@zylin.com>2009-12-11 09:17:23 +0100
commitac46e072dfa708ab83c5667f2dc8ee504504aa4b (patch)
treeb044ff4d9debf60ab19274aef9331aaf65c81bb9
parent068626fde4590a3d3e5e7a80a3ac07adb53b9b48 (diff)
downloadopenocd+libswd-ac46e072dfa708ab83c5667f2dc8ee504504aa4b.tar.gz
openocd+libswd-ac46e072dfa708ab83c5667f2dc8ee504504aa4b.tar.bz2
openocd+libswd-ac46e072dfa708ab83c5667f2dc8ee504504aa4b.tar.xz
openocd+libswd-ac46e072dfa708ab83c5667f2dc8ee504504aa4b.zip
optimisation: tiny optimisation for embedded ice
use two shift operations instead of three to set embedded ice register. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
-rw-r--r--src/target/embeddedice.h11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/target/embeddedice.h b/src/target/embeddedice.h
index 1faa1eeb..693391cc 100644
--- a/src/target/embeddedice.h
+++ b/src/target/embeddedice.h
@@ -118,15 +118,14 @@ int embeddedice_handshake(struct arm_jtag *jtag_info, int hsbit, uint32_t timeou
*/
static __inline__ void embeddedice_write_reg_inner(struct jtag_tap *tap, int reg_addr, uint32_t value)
{
- static const int embeddedice_num_bits[]={32,5,1};
- uint32_t values[3];
+ static const int embeddedice_num_bits[] = {32, 6};
+ uint32_t values[2];
- values[0]=value;
- values[1]=reg_addr;
- values[2]=1;
+ values[0] = value;
+ values[1] = (1 << 5) | reg_addr;
jtag_add_dr_out(tap,
- 3,
+ 2,
embeddedice_num_bits,
values,
jtag_get_end_state());