X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Ftarget%2Fembeddedice.h;h=f110e82e603d57408d46d2347d3c45da349b0770;hb=1eb19b8de5bf2f6699766f2178d1ef04ce4579a6;hp=58a5fa9efa6c08dfb85d1f07a0b1f24a7b8b0df5;hpb=374127301ec1d72033b9d573b72c7abdfd61990d;p=openocd.git diff --git a/src/target/embeddedice.h b/src/target/embeddedice.h index 58a5fa9efa..f110e82e60 100644 --- a/src/target/embeddedice.h +++ b/src/target/embeddedice.h @@ -21,7 +21,7 @@ * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * ***************************************************************************/ #ifndef EMBEDDED_ICE_H @@ -112,13 +112,16 @@ 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, 6}; - uint32_t values[2]; + uint8_t out_reg_addr = (1 << 5) | reg_addr; + uint8_t out_value[4]; + buf_set_u32(out_value, 0, 32, value); - values[0] = value; - values[1] = (1 << 5) | reg_addr; + struct scan_field fields[2] = { + { .num_bits = 32, .out_value = out_value }, + { .num_bits = 6, .out_value = &out_reg_addr }, + }; - jtag_add_dr_out(tap, 2, embeddedice_num_bits, values, TAP_IDLE); + jtag_add_dr_scan(tap, 2, fields, TAP_IDLE); } void embeddedice_write_dcc(struct jtag_tap *tap, int reg_addr, const uint8_t *buffer,