diff --git a/modules/script/script.c b/modules/script/script.c index 70c67dc..3b47a85 100644 --- a/modules/script/script.c +++ b/modules/script/script.c @@ -1533,8 +1533,16 @@ static int cmd_autoinit(script_ctx *ctx, char *line) { if (jtagcore_get_number_of_pins(jc, dev_nb) > 0) { - // Device already loaded ! - ctx->script_printf(ctx, MSG_WARNING, "Device %d BSDL already loaded ! ID conflit ?\n", dev_nb); + // A BSDL is already attached to this device. + // Several files can legitimately share one + // IDCODE (same die in different packages, or + // twins like SmartFusion2 / IGLOO2). Keep the + // first match and just note the others, rather + // than overwriting it and crying "conflict". + ctx->script_printf(ctx, MSG_INFO_0, + "[skip] %s also matches device %d's IDCODE; keeping the BSDL already loaded\n", + fileinfo.filename, dev_nb); + continue; } // The BSDL ID match with the device.