diff --git a/doc/FPGAs.yml b/doc/FPGAs.yml index 97d6968..81b376a 100644 --- a/doc/FPGAs.yml +++ b/doc/FPGAs.yml @@ -178,7 +178,7 @@ Xilinx: - xc7k325t URL: https://www.xilinx.com/products/silicon-devices/fpga/kintex-7.html#productTable Memory: OK - Flash: NT + Flash: OK - Description: Spartan 3 Model: xc3s200 diff --git a/doc/boards.yml b/doc/boards.yml index 2913278..a44b65f 100644 --- a/doc/boards.yml +++ b/doc/boards.yml @@ -346,6 +346,13 @@ Memory: OK Flash: OK +- ID: qmtechKintex7 + Description: QMTech Kintex7 Core Board + URL: https://www.aliexpress.com/item/1005003668804223.html + FPGA: Kintex xc7k325tffg676 + Memory: OK + Flash: OK + - ID: runber Description: SeeedStudio Gowin RUNBER URL: https://www.seeedstudio.com/Gowin-RUNBER-Development-Board-p-4779.html diff --git a/spiOverJtag/constr_xc7k_ffg676.xdc b/spiOverJtag/constr_xc7k_ffg676.xdc new file mode 100644 index 0000000..b64bfdf --- /dev/null +++ b/spiOverJtag/constr_xc7k_ffg676.xdc @@ -0,0 +1,10 @@ +set_property CFGBVS VCCO [current_design] +set_property CONFIG_VOLTAGE 3.3 [current_design] +set_property BITSTREAM.CONFIG.SPI_BUSWIDTH {4} [current_design] + +set_property -dict {PACKAGE_PIN C23 IOSTANDARD LVTTL} [get_ports {csn}] +set_property -dict {PACKAGE_PIN B24 IOSTANDARD LVTTL} [get_ports {sdi_dq0}] +set_property -dict {PACKAGE_PIN A25 IOSTANDARD LVTTL} [get_ports {sdo_dq1}] +set_property -dict {PACKAGE_PIN B22 IOSTANDARD LVTTL} [get_ports {wpn_dq2}] +set_property -dict {PACKAGE_PIN A22 IOSTANDARD LVTTL} [get_ports {hldn_dq3}] + diff --git a/spiOverJtag/spiOverJtag_xc7k325tffg676.bit.gz b/spiOverJtag/spiOverJtag_xc7k325tffg676.bit.gz new file mode 100644 index 0000000..4df3112 Binary files /dev/null and b/spiOverJtag/spiOverJtag_xc7k325tffg676.bit.gz differ diff --git a/spiOverJtag/xilinx_spiOverJtag.tcl b/spiOverJtag/xilinx_spiOverJtag.tcl index d9a436e..1a8d6ad 100644 --- a/spiOverJtag/xilinx_spiOverJtag.tcl +++ b/spiOverJtag/xilinx_spiOverJtag.tcl @@ -14,6 +14,7 @@ set grade [dict create \ xc7a75tfgg484 -2 \ xc7a100tfgg484 -2 \ xc7a200tsbg484 -1 \ + xc7k325tffg676 -1 \ xc7s50csga324 -1 \ ] @@ -26,6 +27,7 @@ set pkg_name [dict create \ xc7a100tfgg484 xc7a_fgg484 \ xc7a200tsbg484 xc7a_sbg484 \ xc7a200tfbg484 xc7a_fbg484 \ + xc7k325tffg676 xc7k_ffg676 \ xc7s50csga324 xc7s_csga324 \ ] diff --git a/src/board.hpp b/src/board.hpp index 0217be5..9860e70 100644 --- a/src/board.hpp +++ b/src/board.hpp @@ -160,6 +160,7 @@ static std::map board_list = { DFU_BOARD("orangeCrab", "", "dfu", 0x1209, 0x5af0, 0), JTAG_BOARD("qmtechCycloneIV", "ep4ce1523", "", 0, 0, CABLE_DEFAULT), JTAG_BOARD("qmtechCycloneV", "5ce223", "", 0, 0, CABLE_DEFAULT), + JTAG_BOARD("qmtechKintex7", "xc7k325tffg676", "", 0, 0, CABLE_DEFAULT), JTAG_BOARD("runber", "", "ft232", 0, 0, CABLE_DEFAULT), JTAG_BOARD("tangnano", "", "ch552_jtag", 0, 0, CABLE_DEFAULT), JTAG_BOARD("tangnano1k", "", "ft2232", 0, 0, CABLE_DEFAULT), diff --git a/src/spiFlashdb.hpp b/src/spiFlashdb.hpp index a072da2..98c14b5 100644 --- a/src/spiFlashdb.hpp +++ b/src/spiFlashdb.hpp @@ -59,6 +59,19 @@ static std::map flash_list = { .bp_len = 3, .bp_offset = {(1 << 2), (1 << 3), (1 << 4), 0}} }, + {0x016019, { + .manufacturer = "spansion", + .model = "S25FL256L", + .nr_sector = 512, + .sector_erase = true, + .subsector_erase = false, + .has_extended = true, + .tb_otp = false, + .tb_offset = (1 << 6), + .tb_register = STATR, + .bp_len = 4, + .bp_offset = {(1 << 2), (1 << 3), (1 << 4), (1 << 5)}} + }, {0x0020ba16, { .manufacturer = "micron", .model = "N25Q32",