aboutsummaryrefslogtreecommitdiff
path: root/src/pld/efinix.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/pld/efinix.c')
-rw-r--r--src/pld/efinix.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/pld/efinix.c b/src/pld/efinix.c
index f084394..370f184 100644
--- a/src/pld/efinix.c
+++ b/src/pld/efinix.c
@@ -188,14 +188,17 @@ static int efinix_load(struct pld_device *pld_device, const char *filename)
return retval;
}
-PLD_DEVICE_COMMAND_HANDLER(efinix_pld_device_command)
+PLD_CREATE_COMMAND_HANDLER(efinix_pld_create_command)
{
- if (CMD_ARGC != 2)
+ if (CMD_ARGC != 4)
return ERROR_COMMAND_SYNTAX_ERROR;
- struct jtag_tap *tap = jtag_tap_by_string(CMD_ARGV[1]);
+ if (strcmp(CMD_ARGV[2], "-chain-position") != 0)
+ return ERROR_COMMAND_SYNTAX_ERROR;
+
+ struct jtag_tap *tap = jtag_tap_by_string(CMD_ARGV[3]);
if (!tap) {
- command_print(CMD, "Tap: %s does not exist", CMD_ARGV[1]);
+ command_print(CMD, "Tap: %s does not exist", CMD_ARGV[3]);
return ERROR_FAIL;
}
@@ -213,6 +216,6 @@ PLD_DEVICE_COMMAND_HANDLER(efinix_pld_device_command)
struct pld_driver efinix_pld = {
.name = "efinix",
- .pld_device_command = &efinix_pld_device_command,
+ .pld_create_command = &efinix_pld_create_command,
.load = &efinix_load,
};