aboutsummaryrefslogtreecommitdiff
path: root/src/pld
diff options
context:
space:
mode:
authorDaniel Anselmi <danselmi@gmx.ch>2022-12-17 13:11:30 +0100
committerAntonio Borneo <borneo.antonio@gmail.com>2023-09-23 14:35:20 +0000
commit2d4fd58fca2afe32138ea66afbc458471c67046a (patch)
tree7ccdcc5027ebea0ca0fb928d2f4f189c703970c2 /src/pld
parentb2a22943e1d76b549c5ff5e84b95658abbd89a69 (diff)
downloadriscv-openocd-2d4fd58fca2afe32138ea66afbc458471c67046a.zip
riscv-openocd-2d4fd58fca2afe32138ea66afbc458471c67046a.tar.gz
riscv-openocd-2d4fd58fca2afe32138ea66afbc458471c67046a.tar.bz2
jtagspi/pld: add support from xilinx driver
Provide jtagspi with information to use jtagspi for programming spi-flash devices on xilinx devices using a proxy bitstream. Change-Id: I68000d71de25118ed8a8603e544cff1dc69bd9ba Signed-off-by: Daniel Anselmi <danselmi@gmx.ch> Reviewed-on: https://review.openocd.org/c/openocd/+/7836 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Diffstat (limited to 'src/pld')
-rw-r--r--src/pld/virtex2.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/pld/virtex2.c b/src/pld/virtex2.c
index 9b4a097..fce764c 100644
--- a/src/pld/virtex2.c
+++ b/src/pld/virtex2.c
@@ -326,6 +326,21 @@ static int xilinx_get_ipdbg_hub(int user_num, struct pld_device *pld_device, str
return ERROR_OK;
}
+static int xilinx_get_jtagspi_userircode(struct pld_device *pld_device, unsigned int *ir)
+{
+ if (!pld_device || !pld_device->driver_priv)
+ return ERROR_FAIL;
+ struct virtex2_pld_device *pld_device_info = pld_device->driver_priv;
+
+ if (pld_device_info->command_set.num_user < 1) {
+ LOG_ERROR("code for command 'select user1' is unknown");
+ return ERROR_FAIL;
+ }
+
+ *ir = pld_device_info->command_set.user[0];
+ return ERROR_OK;
+}
+
COMMAND_HANDLER(virtex2_handle_set_instuction_codes_command)
{
if (CMD_ARGC < 6 || CMD_ARGC > (6 + VIRTEX2_MAX_USER_INSTRUCTIONS))
@@ -460,4 +475,5 @@ struct pld_driver virtex2_pld = {
.pld_create_command = &virtex2_pld_create_command,
.load = &virtex2_load,
.get_ipdbg_hub = xilinx_get_ipdbg_hub,
+ .get_jtagspi_userircode = xilinx_get_jtagspi_userircode,
};