-/** single word instruction */
-int dsp563xx_once_ir_exec(struct jtag_tap *tap, uint8_t instr, uint8_t rw,
- uint8_t go, uint8_t ex);
-/** single word instruction */
-int dsp563xx_once_ir_exec_nq(struct jtag_tap *tap, uint8_t instr, uint8_t rw,
- uint8_t go, uint8_t ex);
+struct once_reg {
+ const uint8_t num;
+ const uint8_t addr;
+ const uint8_t len;
+ const char *name;
+ uint32_t reg;
+};
+
+/** */
+int dsp563xx_once_request_debug(struct jtag_tap *tap, int reset_state);
+/** */
+int dsp563xx_once_target_status(struct jtag_tap *tap);
+
+/** once read registers */
+int dsp563xx_once_read_register(struct jtag_tap *tap, int flush, struct once_reg *regs, int len);
+/** once read register */
+int dsp563xx_once_reg_read_ex(struct jtag_tap *tap, int flush, uint8_t reg, uint8_t len, uint32_t * data);