board: add vid/pid for DFU at board level

This commit is contained in:
Gwenhael Goavec-Merou 2021-07-17 08:34:44 +02:00
parent 7113f4b36b
commit b8e2939776
1 changed files with 10 additions and 7 deletions

View File

@ -81,20 +81,23 @@ typedef struct {
jtag_pins_conf_t jtag_pins_config; /*! for bitbang, provide struct with pins value */
spi_pins_conf_t spi_pins_config; /*! for SPI, provide struct with pins value */
uint32_t default_freq; /* Default clock speed: 0 = use cable default */
uint16_t vid; /* optional VID: used only with DFU */
uint16_t pid; /* optional VID: used only with DFU */
} target_board_t;
#define CABLE_DEFAULT 0
#define CABLE_MHZ(_m) ((_m) * 1000000)
#define JTAG_BOARD(_name, _fpga_part, _cable, _rst, _done, _freq) \
{_name, {"", _cable, _fpga_part, _rst, _done, COMM_JTAG, {}, {}, _freq}}
{_name, {"", _cable, _fpga_part, _rst, _done, COMM_JTAG, {}, {}, _freq, 0, 0}}
#define JTAG_BITBANG_BOARD(_name, _fpga_part, _cable, _rst, _done, _tms, _tck, _tdi, _tdo, _freq) \
{_name, {"", _cable, _fpga_part, _rst, _done, COMM_JTAG, { _tms, _tck, _tdi, _tdo }, {}, _freq}}
{_name, {"", _cable, _fpga_part, _rst, _done, COMM_JTAG, { _tms, _tck, _tdi, _tdo }, {}, \
_freq, 0, 0}}
#define SPI_BOARD(_name, _manufacturer, _cable, _rst, _done, _cs, _sck, _si, _so, _holdn, _wpn, _freq) \
{_name, {_manufacturer, _cable, "", _rst, _done, COMM_SPI, {}, \
{_cs, _sck, _so, _si, _holdn, _wpn}, _freq}}
#define DFU_BOARD(_name, _fpga_part, _cable) \
{_name, {"", _cable, _fpga_part, 0, 0, COMM_DFU, {}, {}, 0}}
{_cs, _sck, _so, _si, _holdn, _wpn}, _freq, 0, 0}}
#define DFU_BOARD(_name, _fpga_part, _cable, _vid, _pid) \
{_name, {"", _cable, _fpga_part, 0, 0, COMM_DFU, {}, {}, 0, _vid, _pid}}
static std::map <std::string, target_board_t> board_list = {
JTAG_BOARD("acornCle215", "xc7a200tsbg484", "", 0, 0, CABLE_DEFAULT),
@ -114,7 +117,7 @@ static std::map <std::string, target_board_t> board_list = {
JTAG_BOARD("ecp5_evn", "", "ft2232", 0, 0, CABLE_DEFAULT),
SPI_BOARD("fireant", "efinix", "ft232",
DBUS4, DBUS5, DBUS3, DBUS0, DBUS1, DBUS2, DBUS6, 0, CABLE_DEFAULT),
DFU_BOARD("fomu", "", "dfu" ),
DFU_BOARD("fomu", "", "dfu", 0x1209, 0x5bf0),
/* most ice40 boards uses the same pinout */
SPI_BOARD("ice40_generic", "lattice", "ft2232",
DBUS7, DBUS6,
@ -129,7 +132,7 @@ static std::map <std::string, target_board_t> board_list = {
JTAG_BOARD("spartanEdgeAccelBoard", "", "",0, 0, CABLE_DEFAULT),
JTAG_BOARD("pipistrello", "xc6slx45csg324", "ft2232", 0, 0, CABLE_DEFAULT),
JTAG_BOARD("minispartan6", "", "ft2232", 0, 0, CABLE_DEFAULT),
DFU_BOARD("orangeCrab", "", "dfu" ),
DFU_BOARD("orangeCrab", "", "dfu", 0x1209, 0x5af0),
JTAG_BOARD("qmtechCycloneV", "5ce223", "", 0, 0, CABLE_DEFAULT),
JTAG_BOARD("runber", "", "ft232", 0, 0, CABLE_DEFAULT),
JTAG_BOARD("tangnano", "", "ft2232", 0, 0, CABLE_DEFAULT),