]> git.gag.com Git - fw/openocd/blobdiff - src/target/arm_adi_v5.c
scan_field_t -> struct scan_field
[fw/openocd] / src / target / arm_adi_v5.c
index 33641320639e6d51072ca426b1c04b7127598185..7fc22d0ef61d0afddd00cc9989fa0bdd159d1dc7 100644 (file)
@@ -74,7 +74,7 @@ static uint32_t max_tar_block_size(uint32_t tar_autoincr_block, uint32_t address
 int adi_jtag_dp_scan(swjdp_common_t *swjdp, uint8_t instr, uint8_t reg_addr, uint8_t RnW, uint8_t *outvalue, uint8_t *invalue, uint8_t *ack)
 {
        arm_jtag_t *jtag_info = swjdp->jtag_info;
-       scan_field_t fields[2];
+       struct scan_field fields[2];
        uint8_t out_addr_buf;
 
        jtag_set_end_state(TAP_IDLE);
@@ -104,7 +104,7 @@ int adi_jtag_dp_scan(swjdp_common_t *swjdp, uint8_t instr, uint8_t reg_addr, uin
 int adi_jtag_dp_scan_u32(swjdp_common_t *swjdp, uint8_t instr, uint8_t reg_addr, uint8_t RnW, uint32_t outvalue, uint32_t *invalue, uint8_t *ack)
 {
        arm_jtag_t *jtag_info = swjdp->jtag_info;
-       scan_field_t fields[2];
+       struct scan_field fields[2];
        uint8_t out_value_buf[4];
        uint8_t out_addr_buf;
 
@@ -1364,16 +1364,23 @@ int dap_info_command(struct command_context_s *cmd_ctx, swjdp_common_t *swjdp, i
        return ERROR_OK;
 }
 
-int dap_baseaddr_command(struct command_context_s *cmd_ctx,
-               swjdp_common_t *swjdp, char **args, int argc)
+DAP_COMMAND_HANDLER(dap_baseaddr_command)
 {
        uint32_t apsel, apselsave, baseaddr;
        int retval;
 
-       apsel = swjdp->apsel;
        apselsave = swjdp->apsel;
-       if (argc > 0)
-               apsel = strtoul(args[0], NULL, 0);
+       switch (argc) {
+       case 0:
+               apsel = swjdp->apsel;
+               break;
+       case 1:
+               COMMAND_PARSE_NUMBER(u32, args[0], apsel);
+               break;
+       default:
+               return ERROR_COMMAND_SYNTAX_ERROR;
+       }
+
        if (apselsave != apsel)
                dap_ap_select(swjdp, apsel);
 
@@ -1387,31 +1394,43 @@ int dap_baseaddr_command(struct command_context_s *cmd_ctx,
        return retval;
 }
 
-int dap_memaccess_command(struct command_context_s *cmd_ctx,
-               swjdp_common_t *swjdp, char **args, int argc)
+DAP_COMMAND_HANDLER(dap_memaccess_command)
 {
        uint32_t memaccess_tck;
 
-       memaccess_tck = swjdp->memaccess_tck;
-       if (argc > 0)
-               memaccess_tck = strtoul(args[0], NULL, 0);
-
+       switch (argc) {
+       case 0:
+               memaccess_tck = swjdp->memaccess_tck;
+               break;
+       case 1:
+               COMMAND_PARSE_NUMBER(u32, args[0], memaccess_tck);
+               break;
+       default:
+               return ERROR_COMMAND_SYNTAX_ERROR;
+       }
        swjdp->memaccess_tck = memaccess_tck;
+
        command_print(cmd_ctx, "memory bus access delay set to %" PRIi32 " tck",
                        swjdp->memaccess_tck);
 
        return ERROR_OK;
 }
 
-int dap_apsel_command(struct command_context_s *cmd_ctx,
-               swjdp_common_t *swjdp, char **args, int argc)
+DAP_COMMAND_HANDLER(dap_apsel_command)
 {
        uint32_t apsel, apid;
        int retval;
 
-       apsel = 0;
-       if (argc > 0)
-               apsel = strtoul(args[0], NULL, 0);
+       switch (argc) {
+       case 0:
+               apsel = 0;
+               break;
+       case 1:
+               COMMAND_PARSE_NUMBER(u32, args[0], apsel);
+               break;
+       default:
+               return ERROR_COMMAND_SYNTAX_ERROR;
+       }
 
        dap_ap_select(swjdp, apsel);
        dap_ap_read_reg_u32(swjdp, 0xFC, &apid);
@@ -1422,16 +1441,22 @@ int dap_apsel_command(struct command_context_s *cmd_ctx,
        return retval;
 }
 
-int dap_apid_command(struct command_context_s *cmd_ctx,
-               swjdp_common_t *swjdp, char **args, int argc)
+DAP_COMMAND_HANDLER(dap_apid_command)
 {
        uint32_t apsel, apselsave, apid;
        int retval;
 
-       apsel = swjdp->apsel;
        apselsave = swjdp->apsel;
-       if (argc > 0)
-               apsel = strtoul(args[0], NULL, 0);
+       switch (argc) {
+       case 0:
+               apsel = swjdp->apsel;
+               break;
+       case 1:
+               COMMAND_PARSE_NUMBER(u32, args[0], apsel);
+               break;
+       default:
+               return ERROR_COMMAND_SYNTAX_ERROR;
+       }
 
        if (apselsave != apsel)
                dap_ap_select(swjdp, apsel);
@@ -1444,5 +1469,3 @@ int dap_apid_command(struct command_context_s *cmd_ctx,
 
        return retval;
 }
-
-