fields[0].tap = jtag_info->tap;
fields[0].num_bits = 1;
fields[0].out_value = &access_type_buf;
-
fields[0].in_value = NULL;
-
-
fields[0].in_handler = NULL;
-
fields[1].tap = jtag_info->tap;
fields[1].num_bits = 32;
fields[1].out_value = NULL;
-
fields[1].in_value = NULL;
-
-
fields[1].in_handler = NULL;
-
fields[2].tap = jtag_info->tap;
fields[2].num_bits = 6;
fields[2].out_value = ®_addr_buf;
-
fields[2].in_value = NULL;
-
-
fields[2].in_handler = NULL;
-
fields[3].tap = jtag_info->tap;
fields[3].num_bits = 1;
fields[3].out_value = &nr_w_buf;
-
fields[3].in_value = NULL;
-
-
fields[3].in_handler = NULL;
-
jtag_add_dr_scan(4, fields, TAP_INVALID);
- fields[1].in_handler_priv = value;
- fields[1].in_handler = arm_jtag_buf_to_u32; /* deprecated! invoke this from user code! */
+ u8 tmp[4];
+ fields[1].in_value = tmp;
- jtag_add_dr_scan(4, fields, TAP_INVALID);
+ jtag_add_dr_scan_now(4, fields, TAP_INVALID);
-#ifdef _DEBUG_INSTRUCTION_EXECUTION_
+ *value=le_to_h_u32(tmp);
+
+ #ifdef _DEBUG_INSTRUCTION_EXECUTION_
jtag_execute_queue();
LOG_DEBUG("addr: 0x%x value: %8.8x", reg_addr, *value);
#endif
fields[0].tap = jtag_info->tap;
fields[0].num_bits = 1;
fields[0].out_value = &access_type_buf;
-
+
fields[0].in_value = NULL;
-
-
+
+
fields[0].in_handler = NULL;
-
+
fields[1].tap = jtag_info->tap;
fields[1].num_bits = 32;
fields[1].out_value = value_buf;
-
+
fields[1].in_value = NULL;
-
-
+
+
fields[1].in_handler = NULL;
-
+
fields[2].tap = jtag_info->tap;
fields[2].num_bits = 6;
fields[2].out_value = ®_addr_buf;
-
+
fields[2].in_value = NULL;
-
-
+
+
fields[2].in_handler = NULL;
-
+
fields[3].tap = jtag_info->tap;
fields[3].num_bits = 1;
fields[3].out_value = &nr_w_buf;
-
+
fields[3].in_value = NULL;
-
-
+
+
fields[3].in_handler = NULL;
-
+
jtag_add_dr_scan(4, fields, TAP_INVALID);
fields[0].tap = jtag_info->tap;
fields[0].num_bits = 1;
fields[0].out_value = &access_type_buf;
-
+
fields[0].in_value = NULL;
-
-
+
+
fields[0].in_handler = NULL;
-
+
fields[1].tap = jtag_info->tap;
fields[1].num_bits = 32;
fields[1].out_value = cp15_opcode_buf;
-
+
fields[1].in_value = NULL;
-
-
+
+
fields[1].in_handler = NULL;
-
+
fields[2].tap = jtag_info->tap;
fields[2].num_bits = 6;
fields[2].out_value = ®_addr_buf;
-
+
fields[2].in_value = NULL;
-
-
+
+
fields[2].in_handler = NULL;
-
+
fields[3].tap = jtag_info->tap;
fields[3].num_bits = 1;
fields[3].out_value = &nr_w_buf;
-
+
fields[3].in_value = NULL;
-
-
+
+
fields[3].in_handler = NULL;
-
+
jtag_add_dr_scan(4, fields, TAP_INVALID);