This is an automated email from Gerrit.
"Daniel Anselmi " just uploaded a new patch set to Gerrit,
which you can find at https://review.openocd.org/c/openocd/+/8083
-- gerrit
commit 6a654e504944936ee80e6f13fdb7e2b376d7d4d1
Author: Daniel Anselmi
Date: Mon Feb 19 23:22:19 2024 +0100
pld/intel: remove idcodes from intel.c
Remove list of id codes for all families.
Maintain a list with id, bscan-length and check position
in the tcl config files for each family.
The Intel FPGA Driver option 'family' is not otional anymore.
Change-Id: I9a40a041069e84f6b4728f2cd715756a36759c89
Signed-off-by: Daniel Anselmi
diff --git a/doc/openocd.texi b/doc/openocd.texi
index 38c8970456..ed7e8f2d92 100644
--- a/doc/openocd.texi
+++ b/doc/openocd.texi
@@ -8872,13 +8872,12 @@ For the option @option{-family} @var{name} is one of
@var{trion|titanium}.
@end deffn
-@deffn {FPGA Driver} {intel} [@option{-family} ]
+@deffn {FPGA Driver} {intel} @option{-family}
This driver can be used to load the bitstream into Intel (former Altera) FPGAs.
The families Cyclone III, Cyclone IV, Cyclone V, Cyclone 10, Arria II are
supported.
@c Arria V and Arria 10, MAX II, MAX V, MAX10)
-For the option @option{-family} @var{name} is one of @var{cycloneiii cycloneiv
cyclonev cyclone10 arriaii}.
-This is needed when the JTAG ID of the device is ambiguous (same ID is used
for chips in different families).
+The option @option{-family} @var{name} is one of @var{cycloneiii cycloneiv
cyclonev cyclone10 arriaii}.
As input file format the driver supports a '.rbf' (raw bitstream file) file.
The '.rbf' file can be generated
from a '.sof' file with @verb{|quartus_cpf -c blinker.sof blinker.rbf|}
diff --git a/src/jtag/tcl.c b/src/jtag/tcl.c
index 7995529018..151ddec09d 100644
--- a/src/jtag/tcl.c
+++ b/src/jtag/tcl.c
@@ -667,6 +667,22 @@ COMMAND_HANDLER(handle_jtag_names)
return ERROR_OK;
}
+COMMAND_HANDLER(handle_jtag_getid)
+{
+ if (CMD_ARGC != 1)
+ return ERROR_COMMAND_SYNTAX_ERROR;
+
+ struct jtag_tap *t = jtag_tap_by_string(CMD_ARGV[0]);
+ if (!t) {
+ command_print(CMD, "Tap '%s' could not be found", CMD_ARGV[0]);
+ return ERROR_COMMAND_ARGUMENT_INVALID;
+ }
+ uint32_t id = t->idcode;
+ command_print(CMD, "0x%8.8" PRIx32, id);
+
+ return ERROR_OK;
+}
+
COMMAND_HANDLER(handle_jtag_init_command)
{
if (CMD_ARGC != 0)
@@ -770,6 +786,13 @@ static const struct command_registration
jtag_subcommand_handlers[] = {
.help = "Returns list of all JTAG tap names.",
.usage = "",
},
+ {
+ .name = "getid",
+ .mode = COMMAND_ANY,
+ .handler = handle_jtag_getid,
+ .help = "Returns the id of the given TAP.",
+ .usage = "tap_name",
+ },
{
.chain = jtag_command_handlers_to_move,
},
diff --git a/src/pld/intel.c b/src/pld/intel.c
index fe85cd62cf..a4bdabe26f 100644
--- a/src/pld/intel.c
+++ b/src/pld/intel.c
@@ -37,142 +37,11 @@ struct intel_pld_device {
enum intel_family_e family;
};
-struct intel_device_parameters_elem {
- uint32_t id;
- unsigned int boundary_scan_length;
- int checkpos;
- enum intel_family_e family;
-};
-
-static const struct intel_device_parameters_elem intel_device_parameters[] = {
- {0x020f10dd, 603, 226, INTEL_CYCLONEIII}, /* EP3C5 EP3C10 */
- {0x020f20dd, 1080, 409, INTEL_CYCLONEIII}, /* EP3C16 */
- {0x020f30dd, 732, 286, INTEL_CYCLONEIII}, /* EP3C25 */
- {0x020f40dd, 1632, 604, INTEL_CYCLONEIII}, /* EP3C40 */
- {0x020f50dd, 1164, 442, INTEL_CYCLONEIII}, /* EP3C55 */
- {0x020f60dd, 1314, 502, INTEL_CYCLONEIII}, /* EP3C80 */
- {0x020f70dd, 1620, 613, INTEL_CYCLONEIII}, /* EP3C120*/
- {0x027010dd, 1314, 226, INTEL_CYCLONEIII}, /* EP3CLS70 */
- {0x027000dd, 1314, 226, INTEL_CYCLONEIII}, /* EP3CLS100 */
- {0x027030dd, 1314, 409, INTEL_CYCLONEIII}, /* EP3CLS150 */
- {0x027020dd, 1314, 409, INTEL_CYCLONEIII}, /* EP3CLS200 */
-
- {0x020f10dd, 603, 226, INTEL_CYCLONEIV}, /* EP4CE6 EP4CE10 */
- {0x020f20dd, 1080, 409, INTEL_CYCLONEIV}, /* EP4CE15 */
- {0x020f30dd, 732, 286, INTEL_CYCLONEIV}, /* EP4CE22 */
- {0x020f40dd, 1632, 604, INTEL_CYCLONEIV}, /* EP4CE30 EP4CE40 */
- {0x020f50dd, 1164, 442, INTEL_CYCLONEIV}, /* EP4CE55 */
- {0x020f60dd, 1314, 502, INTEL_CYCLONEIV}, /* EP4CE75 */
- {0x020f70dd, 1620, 613, INTEL_CYCLONEIV}, /* EP4CE115 */
- {0x028010dd, 260, 229, INTEL_CYCLONEIV}, /* EP4CGX15 */
- {0x028120dd, 494, 463, INTEL_CYCLONEIV}, /* EP4CGX22 */
- {0x028020dd, 494, 463, INTEL_CYCLONEIV}, /* EP4CGX30 */
- {0x028230dd, 1006, 943, INTEL_CYCLONEIV}, /* EP4CGX30 */
- {0x028130dd, 1006, 943, INTEL_CYCLONEIV}, /* EP4CGX50 */
-