↑↑ Home | ↑ Hardware |
The GODIL board was a low-cost FPGA board made by the small German company
OHO Elektronik and sold by
Trenz
.
At about 50 Euros, it was affordable for private citizens who want to play
around with an FPGA. It contains a Xilinx Spartan3E FPGA, configuration flash
RAM and level converters that can drive 5V TTL inputs (though only at rather
low currents). It was apparently designed for stand-alone operation.
A USB version was available that added a TI3410 microcontroller acting as a USB-serial bridge that allows transferring data from and to a computer. The manufacturer provides only a Windoze driver. The Linux kernel contains a driver for the TI microcontroller, but insists on trying to load the microcontroller firmware and gives up on the device when that fails. Besides the DTR (Data Terminal Ready) line of the FPGA-side serial interface is (ab)used to trigger its reconfiguration, and Linux asserts that line when opening a serial device.
After developing a kernel patch at work (where I use the board), I decided to create a more convenient solution in my own Copious Free Time™ to make it freely available. The tarball below contains the source code of a GODIL-specific kernel module that can be compiled separately. It is mostly a copy of the regular TI3410 driver, with edits to prevent firmware loading and assertion of DTR, and with code for the TI3410. You will need to have the kernel header package of your distribution installed (that is, the kernel headers for compiling kernel modules, not the API headers).
Download GODIL driver for v3.6 kernel
Download GODIL driver for v3.9 kernel
Download GODIL driver for v3.12 kernel (confirmed to work up to v4.14)
Download GODIL driver for v5.15 kernel
Download GODIL driver for v6.1 kernel
Download GODIL driver for v6.5 kernel
I will try to update this driver periodically for later kernels. If your kernel version is between the driver versions, the next older one may work. If not, it helps to obtain the kernel sources of both versions and apply the differences in drivers/usb/serial/ti_usb_3410_5052.c and .h to my driver. If you have a kernel older than 3.6, you are probably out of luck.