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>
This commit is contained in:
parent
b2a22943e1
commit
2d4fd58fca
|
@ -326,6 +326,21 @@ static int xilinx_get_ipdbg_hub(int user_num, struct pld_device *pld_device, str
|
||||||
return ERROR_OK;
|
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)
|
COMMAND_HANDLER(virtex2_handle_set_instuction_codes_command)
|
||||||
{
|
{
|
||||||
if (CMD_ARGC < 6 || CMD_ARGC > (6 + VIRTEX2_MAX_USER_INSTRUCTIONS))
|
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,
|
.pld_create_command = &virtex2_pld_create_command,
|
||||||
.load = &virtex2_load,
|
.load = &virtex2_load,
|
||||||
.get_ipdbg_hub = xilinx_get_ipdbg_hub,
|
.get_ipdbg_hub = xilinx_get_ipdbg_hub,
|
||||||
|
.get_jtagspi_userircode = xilinx_get_jtagspi_userircode,
|
||||||
};
|
};
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
# digilent CMOD S7
|
||||||
|
# https://digilent.com/reference/programmable-logic/cmod-s7/reference-manual
|
||||||
|
|
||||||
|
|
||||||
|
adapter driver ftdi
|
||||||
|
ftdi channel 0
|
||||||
|
ftdi layout_init 0x0008 0x008b
|
||||||
|
ftdi vid_pid 0x0403 0x6010
|
||||||
|
reset_config none
|
||||||
|
transport select jtag
|
||||||
|
|
||||||
|
adapter speed 10000
|
||||||
|
|
||||||
|
source [find cpld/xilinx-xc7.cfg]
|
||||||
|
|
||||||
|
# "ipdbg -start -tap xc7.tap -hub 0x02 -tool 0 -port 5555"
|
||||||
|
#openocd -f board/digilent_cmod_s7.cfg -c "init" -c "pld load xc7.pld shared_folder/cmod_s7_fast.bit"
|
||||||
|
|
||||||
|
set JTAGSPI_CHAIN_ID xc7.pld
|
||||||
|
source [find cpld/jtagspi.cfg]
|
||||||
|
|
||||||
|
#jtagspi_init xc7.pld "shared_folder/bscan_spi_xc7s25.bit" 0xab
|
||||||
|
#jtagspi_program shared_folder/cmod_s7_fast.bit 0
|
Loading…
Reference in New Issue