This is a version of FX2 firmware ported to use libfx2 instead of fx2lib.
Firmware enumerates as a device supporting CDC, UVC and UAC. Communication with FPGA goes through slave FIFO interface and the Glasgow Migen FX2 crossbar.
FPGA's DNA being published using USB device serial number. FPGA sends DNA marked with a special non-ASCII starting byte through CDC IN endpoint FIFO. FX2 inspects the data in the buffer and re-enumerates with modified serial number.
This is a version of FX2 firmware ported to use libfx2 instead of fx2lib.
Firmware enumerates as a device supporting CDC, UVC and UAC. Communication with FPGA goes through slave FIFO interface and the Glasgow Migen FX2 crossbar.
FPGA's DNA being published using USB device serial number. FPGA sends DNA marked with a special non-ASCII starting byte through CDC IN endpoint FIFO. FX2 inspects the data in the buffer and re-enumerates with modified serial number.
NOTE: this PR requires libfx2 modification to be able to modify serial number: https://github.com/whitequark/libfx2/pull/3
It is still WIP, because crossbar supports only 2 OUT and 2 IN FIFOs, and we need 3 OUT FIFOs and one IN, so the crossbar has to be further modified.