The comms/openfpgaloader port
openfpgaloader-1.1.1pl20260714 – universal utility for programming FPGAs (cvsweb github mirror)
Description
Universal utility for programming FPGAs. Compatible with many boards, cables and FPGA from major manufacturers (Xilinx, Altera/Intel, Lattice, Gowin, Efinix, Anlogic, Cologne Chip).WWW: https://github.com/trabucayre/openFPGALoader
Readme
+-------------------------------------------------------------------------------
| Running ${PKGSTEM} on OpenBSD
+-------------------------------------------------------------------------------
Note about uftdi(4)
===================
On OpenBSD, libusb/libftdi cannot correctly access some devices if they're
attached to the uftdi driver. You might see error messages like this:
fail to read data usb bulk read failed
JTAG init failed with: low level FTDI init failed
OpenBSD does not allow detaching a device from a driver at runtime, so you
will need to modify the kernel or kernel configuration to prevent uftdi(4)
from attaching to the device.
uftdi(4) can be disabled completely without a kernel recompile, or the
driver can be modified to avoid attaching to a device with a specific
vendor/product id (this requires kernel sources and a recompile).
In either case, the device will attach to ugen(4) as a fallback.
Disabling as a one-off from the boot loader
-------------------------------------------
boot> boot -c
...
User Kernel Config
UKC> disable uftdi
360 uftdi* disabled
UKC> quit
Disabling uftdi(4) with bsd.re-config(5)
----------------------------------------
This can be done with the following commands:
echo "disable uftdi" >>/etc/bsd.re-config
/usr/libexec/reorder_kernel
reboot
Patching the kernel
-------------------
This method is only recommended if developing your FPGA project on a
machine with an additional FTDI USB to UART adapter with different ID
that needs to connect as a serial port, otherwise it is simpler to
disable ftdi(4).
Obtain source for your version of OpenBSD and prepare to
compile a kernel, see https://www.openbsd.org/faq/faq5.html#Options
Identify the vendor and product code of your device and look up the
definitions:
$ usbdevs -v
...
addr 06: 0403:6010 Future Technology Devices, 2232C Serial
...
driver: uftdi0
...
$ grep ^vendor.*0x0403 /sys/dev/usb/usbdevs
vendor FTDI 0x0403 Future Technology Devices
$ grep "^product.*0x6010" /sys/dev/usb/usbdevs
product FTDI SERIAL_2232C 0x6010 2232C Serial
Edit /sys/dev/usb/uftdi.c and comment-out the entry for your vendor/product
codes in the uftdi_devs[] array. The above device would be USB_VENDOR_FTDI
and USB_PRODUCT_FTDI_SERIAL_2232C, so you could edit as follows:
{ USB_VENDOR_FTDI, USB_PRODUCT_FTDI_SEMC_DSS20 },
// { USB_VENDOR_FTDI, USB_PRODUCT_FTDI_SERIAL_2232C },
{ USB_VENDOR_FTDI, USB_PRODUCT_FTDI_SERIAL_2232L },
Rebuild the kernel as shown in faq5 and reboot.
Maintainer
Thomas Dettbarn
Only for arches
aarch64 alpha amd64 arm hppa i386 mips64 mips64el powerpc powerpc64 riscv64 sparc64
Categories
Library dependencies
Build dependencies
Files
- /usr/local/bin/openFPGALoader
- /usr/local/share/doc/pkg-readmes/openfpgaloader
- /usr/local/share/openFPGALoader/
- /usr/local/share/openFPGALoader/bpiOverJtag_xc7k480tffg1156.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_10cl006144.rbf.gz
- /usr/local/share/openFPGALoader/spiOverJtag_10cl016484.rbf.gz
- /usr/local/share/openFPGALoader/spiOverJtag_10cl025256.rbf.gz
- /usr/local/share/openFPGALoader/spiOverJtag_10cl055484.rbf.gz
- /usr/local/share/openFPGALoader/spiOverJtag_5ce215.rbf.gz
- /usr/local/share/openFPGALoader/spiOverJtag_5ce223.rbf.gz
- /usr/local/share/openFPGALoader/spiOverJtag_5ce423.rbf.gz
- /usr/local/share/openFPGALoader/spiOverJtag_5ce523.rbf.gz
- /usr/local/share/openFPGALoader/spiOverJtag_5ce927.rbf.gz
- /usr/local/share/openFPGALoader/spiOverJtag_5sgsd5.rbf.gz
- /usr/local/share/openFPGALoader/spiOverJtag_efinix_t120f324.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_efinix_t13f256.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_efinix_t8f81.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_efinix_ti180j484.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_efinix_ti375n484.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_efinix_ti60f225.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_ep4ce1017.rbf.gz
- /usr/local/share/openFPGALoader/spiOverJtag_ep4ce11523.rbf.gz
- /usr/local/share/openFPGALoader/spiOverJtag_ep4ce1523.rbf.gz
- /usr/local/share/openFPGALoader/spiOverJtag_ep4ce2217.rbf.gz
- /usr/local/share/openFPGALoader/spiOverJtag_ep4ce622.rbf.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc3s500evq100.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc6slx100fgg484.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc6slx150tcsg484.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc6slx150tfgg484.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc6slx16csg324.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc6slx16ftg256.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc6slx25csg324.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc6slx25tcsg324.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc6slx45csg324.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc6slx45tfgg484.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc6slx9csg324.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc6slx9tqg144.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc6vlx130tff784.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a100t.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a100tcsg324.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a100tfgg484.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a100tftg256.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a12t.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a12tcpg238.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a12tcsg325.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a15t.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a15tcpg236.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a15tcsg324.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a15tcsg325.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a15tfgg484.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a15tftg256.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a200t.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a200tfbg484.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a200tfbg676.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a200tffg1156.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a200tsbg484.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a25t.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a25tcpg238.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a25tcsg325.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a35t.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a35tcpg236.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a35tcsg324.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a35tcsg325.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a35tfgg484.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a35tftg256.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a50t.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a50tcpg236.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a50tcsg324.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a50tcsg325.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a50tcsg325_1v35.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a50tfgg484.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a50tftg256.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a75t.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a75tcsg324.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a75tfgg484.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a75tfgg676.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7a75tftg256.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7k160tffg676.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7k325tfbg900.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7k325tffg676.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7k325tffg900.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7k420tffg901.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7k70tfbg484.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7k70tfbg676.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7s100.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7s100fgga484.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7s100fgga676.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7s15.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7s15cpga196.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7s15csga225.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7s15ftgb196.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7s25.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7s25csga225.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7s25csga324.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7s25ftgb196.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7s50.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7s50csga324.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7s50fgga484.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7s50ftgb196.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7s6.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7s6cpga196.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7s6csga225.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7s6ftgb196.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7s75.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7s75fgga484.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7s75fgga676.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xc7vx330tffg1157.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xcau10p-ffvb676.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xcau15p-ffvb676.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xcku040-ffva1156.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xcku060-ffva1156.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xcku3p-ffva676.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xcku3p-ffvb676.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xcku5p-ffvb676.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xcvu37p-fsvh2892.bit.gz
- /usr/local/share/openFPGALoader/spiOverJtag_xcvu9p-flga2104.bit.gz