diff options
author | Daniel Anselmi <danselmi@gmx.ch> | 2022-12-17 13:11:30 +0100 |
---|---|---|
committer | Antonio Borneo <borneo.antonio@gmail.com> | 2023-09-23 14:35:20 +0000 |
commit | 2d4fd58fca2afe32138ea66afbc458471c67046a (patch) | |
tree | 7ccdcc5027ebea0ca0fb928d2f4f189c703970c2 /src | |
parent | b2a22943e1d76b549c5ff5e84b95658abbd89a69 (diff) | |
download | riscv-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')
-rw-r--r-- | src/pld/virtex2.c | 16 |
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, }; |