ChangeLog for the EDT PCI CD software/driver package ---------------------------------------------------- NOTE: Prior to version 4.1.3.3, logging of changes was incomplete, therefore not all of the changes for those earlier versions may be listed here. For LINUX device drivers, see also CHANGELOG_LINUX.txt HEAD: ----------------------------------------------- V. 4.2.4.3 4/27/2010 Production Release ----------------------------------------------- PCIe8lx QSH board support Changes to SRXL/SRXL2: The srxl2_debugger now has the capability of loading the TI Graychips with a customized set of filter coefficients and settings by calling the srxl2_gc_test.c. After doing a DMA on channel 2 using the srxl2_debugger, an FFT can be performed on any one of the 16 Graychip channels using gc_fft.c. Also a bug fixed in the sclk command. Newer rev Linux release support -- see CHANGELOG_LINUX.txt ----------------------------------------------- V. 4.2.3.4 1/19/2010 Engineering Release ----------------------------------------------- Add new SRXL and DRX16 bitfiles, add lib_drx16.[ch] and drx16_debugger.c Added msp430 timecode firmware patch to PCD and PDV drivers. The following two lines are not part of 4.2.3.4: Added README.pdma to Linux package. Added Engineering Sample dvb_asi.bit bitfile for the MSDV mezzanine board. ----------------------------------------------- V. 4.2.2.10 11/14/2009 Engineering Release ----------------------------------------------- Add error checking to mezzload.c for missing bitfiles. Add ddsp bitfile support. ----------------------------------------------- V. 4.2.2.8 10/26/2009 Engineering Release ----------------------------------------------- Add oc192_de1 bitfile, update ocm_de1 bitfile with support for mapping each STM1 to a DMA channel. Update lib_sdh.c, lib_sdh.h, and stm1e1prbs15.c to support STM1/DMA channel mapping plus STM-64 on the oc192 mezzanine board. time_msp430_fw.txt (firmware for IRIG-B timecode) has been updated to add watchdog-reset to restart the msp430 if it stalls during powerup on SRXL2 mezzanine boards, add PPS signal from IRIG-B signal, and add a raw BCD timestamp packet to the firmware and to libedt_timing.c and .h. ----------------------------------------------- V. 4.2.2.6 10/02/2009 Engineering Release ----------------------------------------------- Updated ocm_de1 bitfiles and lib_sdh. ----------------------------------------------- V. 4.2.1.7 05/15/2008 Production Release ----------------------------------------------- aggregate bitfile and other updates for production release ----------------------------------------------- V. 4.2.1.6 11/24/2008 engineering release ----------------------------------------------- time_msp430_fw.txt: Fixed leap-year calculation bug, now version 4 ----------------------------------------------- V. 4.2.1.6 11/24/2008 engineering release ----------------------------------------------- 1. Removed bitload from srxl_debugger since it is not needed 2. Updates for new Linux versions (see CHANGELOG_LINUX.txt) ----------------------------------------------- V. 4.2.1.2 11/24/2008 engineering Release ----------------------------------------------- 1. Fixed fatal timestamp bug in engineering package 4.2.1.1 2. bitload strips off path (if any) in bitfile header before storing 3. General support updates for SRXL2 4. Changed devid for 16 channel LX PCIe8 to hex 97 ----------------------------------------------- V. 4.1.9.9 9/3/2008 Engineering Release ----------------------------------------------- 1. Added ethernet.bit for channel 0 on OCM (and bug fixes on channel 1) 2. Modifications to lib_ocm.c and ocm_snap.c to allow channel 0 ethernet 3. Add si570 support to SSE; fix pciclk in eclopt_sse.bit ----------------------------------------------- V. 4.1.9.8 9/3/2008 Engineering Release ----------------------------------------------- 1. New PCD bitfiles for OCM ethernet 2. Added e_data_test and ocm_margin C programs for OCM ethernet 3. Minor fixes to ocm_snap and lib_ocm ----------------------------------------------- V. 4.1.9.7 8/1/2008 Engineering Release ----------------------------------------------- 1. Updated srxl2 and timecode ----------------------------------------------- V. 4.1.9.6 7/18/2008 (production release) ----------------------------------------------- 1. Fixed device driver problem introduced in 4.1.9.2 that was causing causing system crashes on some 64-bit Linux systems 2. New bitfiles for SRXL2 and NET10G; timecode support plus recent development ----------------------------------------------- V. 4.1.9.3 6/12/2008 (production release) ----------------------------------------------- 1. Aggregate changes for production release ----------------------------------------------- V. 4.1.9.2 5/23/2008 (release candidate) ----------------------------------------------- 1. Added support for OCM-P in the form of mezzanine bitfiles and PCIe8 LX bitfiles. 2. Linux kernel 2.6.24 kernel support added for Fedora 9, Ubuntu 8 and others. 3. Fixed edt_get_dma_info for Solaris and Linux; would leave USED and possibly ACTIVE set even after a close. ----------------------------------------------- V. 4.1.8.7 3/27/2008 (eng) ----------------------------------------------- 1. Added pciload support for PCIe8LX. NOTE: first rev boards require -s 3 argument to load segment 3, default user boot segment for these revs. Will go away in future versions of of the board once segment 1 becomes the default. Board funcionality is unaffected by this. 2. 3x3g changes to support ethernet. ----------------------------------------------- V. 4.1.8.5 2/8/2008 (eng) ----------------------------------------------- 1. Added SRXL2 software to the srxl directory. 2. Modified Windows srxl code to use a static library built in \edt\pcd\srxl. 3. Added tagging option for OC192 to ocm_snap and lib_ocm.c. 4. Added '-m' option to ocm_snap to allow overriding mezzanine bitfile name. ----------------------------------------------- V. 4.1.8.2 12/18/2007 (production release) ----------------------------------------------- 1. Added SRXL2 support to mezzload. 2. Added MSDV support to mezzload, and added msdv specific software: msdv_snap.c and lib_msdv.c, and config file 3. Added support for the Silicon Labs SI5326 clock chip, including computing parameters to match a particular output frequency: edt_si5326.c and edt_si5326.h. 4. Fixed the inf file so the current 32-bit Windows driver runs on Vista 32-bit. 5. Timing board support for GS main board: sample programs, flash loader, api calls - see EDT Timing Board Users Guide. ----------------------------------------------- V. 4.1.7.5 10/30/2007 (eng) ----------------------------------------------- 1. Added a new application, mezzload, which replaces the following now DEPRECATED applications: ocmload, otuload, sseload, srxlload, and x3gload. mezzload provides the same functionality as the older applications. Users should now call mezzload and except for changes in text output it should behave exactly as the older applications. Users can now call edt_bitload() and pass the BITLOAD_FLAGS_MEZZANINE flag to load a mezzanine bitfile. The internal functions edt_program_ocm and edt_program_srxl will be removed in a future release. 2. Added LX IDs to edtreg and other hooks for PCIe LX but still need some more work for LX to be fully integrated. ----------------------------------------------- V. 4.1.7.1 08/10/2007 (production release) ----------------------------------------------- Aggregate changes for production release ----------------------------------------------- V. 4.1.6.7 08/02/2007 (eng) ----------------------------------------------- 1. Fixed srxlload for 16-channel version of srxl interface bitfile, and fixed sslooptest to work for srxl. sslooptest now uses edt_get_board_description to get mezzanine id. ----------------------------------------------- V. 4.1.6.6 07/08/2007 (eng) ----------------------------------------------- 1. Changed devname to edt_devname in example programs. 2. General driver cleanup - removed support (which was obsolete) for AIX, IRIX, HPUX. ----------------------------------------------- V. 4.1.6.4 07/08/2007 (eng) ----------------------------------------------- 1. Add edt_reg_clearset() and edt_reg_setclear() to perform double-register accesses efficiently (for ETW). ----------------------------------------------- V. 4.1.6.2 06/29/2007 (eng) ----------------------------------------------- 1. Made edt_set_direction an ioctl call to speed up edt_read/edt_write on PCD ----------------------------------------------- V. 4.1.6.1 06/18/2007 (eng) ----------------------------------------------- The following changes should not modify driver behaviour except to make the driver thread-safe when accessing the remote FPGA register set. 1. Critical sections were added where necessary to protect the two-step remote register access method. 2. Remote register writes using EDT_DMA_INTCFG were changed to use EDT_DMA_INTCFG_ONLY to avoid overwriting the remote register offset byte during the two-step remote register access method. 3. Solaris driver code which provides a data buffer to edt_ioctl was ported to edt_lnx.c. A stack-based data buffer is used for small (<= 32 bytes) transactions, and a large single buffer is used for large ioctl transactions. Hence large ioctl transactions are still thread-unsafe and that will be addressed soon in a later driver. 4. Preliminary support for new PCIe8 LX products 5. Modified check_gap_ss to better measure across multi-channels. ----------------------------------------------- V. 4.1.5.4 03/30/2007 (production release) ----------------------------------------------- Customer Release. Minor fixes from 4.1.5.3. ----------------------------------------------- V. 4.1.5.3 03/23/2007 (eng) ----------------------------------------------- Release candidate. Minor fixes from 4.1.4.9. ----------------------------------------------- V. 4.1.4.9 03/08/2007 (eng) ----------------------------------------------- Added Doxygen comments to lib_ocm.c and edt_ocm.h. Added demux functions to lib_ocm.c. ----------------------------------------------- V. 4.1.4.8 02/20/2007 (eng) ----------------------------------------------- Added "reserved pages" to the Linux driver for Intel EM64T 64-bit systems with more than 3.5 GB of RAM. Revised lib_ocm to bring OCM and OC192 code more in line with each other, added edt_ocx_ functions to work with either mezzanine type. ----------------------------------------------- V. 4.1.4.7 02/07/2007 (eng) ----------------------------------------------- Added support for PCI Express boards to pciload (no PCD yet, but soon.) ----------------------------------------------- V. 4.1.4.6 01/16/2007 ----------------------------------------------- Fixed COMBOIII ECL in sslooptest.c ----------------------------------------------- V. 4.1.4.5 12/26/2006 ----------------------------------------------- Moved oc192_set code into lib_ocm.c. ----------------------------------------------- V. 4.1.4.4 12/20/2006 ----------------------------------------------- Added board description info to the EdtDev structure, so it can be used to carry info about mezzanine boards, bitfiles, etc. with the EdtDev pointer. To fill it in call edt_get_board_description; to print it out call edt_dump_board_description. See extbdid.c for example. Modified ocm_snap.c to use library file lib_ocm.c, so the same code works for OCM and OC192. ----------------------------------------------- V. 4.1.4.3 11/10/2006 ----------------------------------------------- Release. Fixed a bug in extbdid that made it fail for SRXL board. Fixed bugs in xfp_sfp library. ----------------------------------------------- V. 4.1.4.1 11/10/2006 ----------------------------------------------- Release candidate. For the curious, EDT version numbers start at 1 instead of 0 because that's the way Microsoft likes it. Moved edt_optstring into the library. The executable is extbdid, which was already present but now prints extended board id and any option strings in the bitfile, by calling edt_get_board_description which fills in a structure EdtBoardDescriptor with as much info as it can, then calling edt_dump_board_description. Added -D_FILE_OFFSET_BITS=64 to the Linux makefile, to allow reading and writing files > 2 GB. Made the "bitload -f" fast option the default. The options for bitload are now '-s (slow)' and '-S (sleep)'. ----------------------------------------------- V. 4.1.3.9 10/27/2006 ----------------------------------------------- Added a library for setting E3/T3 on Combo 3 and 16TE3 mezzanine boards - in lib_e3t3.[ch]. Added -T option to 16te3_set_e3 and c3_set_e3 programs to set T3 instead of E3. Added fast option for bitload without readback from the DMA_CFG register. Added new ioctl call EDTS_PROG_READBACK to set the parameter. New flags for edt_bitload - BITLOAD_FLAGS_READBACK and BITLOAD_LFLAGS_SLEEP to call edt_msleep(0) while programming for better interactivity. Added -f (fast) and -s (sleep) options for bitload program. pciload -v (or pciload verify) bug in 4.1.3.3, would sometimes bail out saying "ids differ" even if they were the same; fixed Bitfiles: Added te3_16io.bit for VP50 and VP70. ----------------------------------------------- V. 4.1.3.8 10/20/2006 ----------------------------------------------- Fixed bug in edtinit so that rev 1 boards work in Linux. Fixed a memory leak in the Linux driver. ----------------------------------------------- V. 4.1.3.7 10/16/2006 ----------------------------------------------- Added oc192 to sslooptest. Added edt_trace.[ch] and trace.c so driver tracing is programatically accessible. Added libedtdma.c to pcd driver, first pass at low-latency dma routines. Added low-latency fields to EdtDev, removed unused fields such as edt_p->edt_p. Doxygen changes - many new comments. Fixed for pciload SS/GS reality check, so the wrong flash file won't be loaded. Linux rpm verify now works. Fixed bug where calling edt_msg_output_perror resulted in segfault. Add edt_get_board_id() to libedt.c and libedt.h, which will return the mezzanine id (assuming correct interface bitfile loaded). Bitfiles: Updated srxl_top.bit to rev03 : This configuration file fixed a critical problem with the gain control settings for the IF and L-Band channels. Previous configuration files may not set the gain control DAC to the level specified by the user. ocm12.bit: fixed STM1 framing ocm48.bit: demux delay and led fixed oc48m.bit: fixed framing Fixed a DMA reset bug in the 4 channel PCI Xilinx bitfiles (cda4.bit, dcdl4.bit, cdhss4.bit, pcigs4.bit pciss4.bit). ----------------------------------------------- V. 4.1.3.6 09/14/2006 ----------------------------------------------- Added c3_demux, demux, and ss_time_lib to go with new Combo and Combo3 bitfiles which can do E3 demux and insert timestamps in the data. ss_time_lib.c and ss_time_lib.h allow setting and reading the onboard clock. edt_ss_time.c exercises the library. Fixed otuload.c to deal with compressed bitfiles, added a function edt_bitfile_access which will automatically uncompress bitfiles (in edt_bitload.c) Fixed edt_system() to behave on linux and apple as it does on Sun. Fixed id keywords, and removed old comment. Bitfiles: Added the following bitfiles for VP50, VP70, 600E, 1000E, 2000E Xilinx FPGAs: combo_pdh_demuxin.bit combo3_pdh_demuxin.bit ----------------------------------------------- V. 4.1.3.5 08/31/2006 ----------------------------------------------- pciload "update" option modified to automatically parse and handle bitfile ids that include '-' rev numbers. Bitfiles: Added eclopt_sse.bit ----------------------------------------------- V. 4.1.3.4 08/08/2006 (Official Release) ----------------------------------------------- Fix time_t in timestring for 64 bit. The Linux uninstall scripts now remove driver and /dev entries (by calling edtinit stop or p53binit stop) if the package is either p53b or is the last to be removed (that is, /etc/sysconfig/edt is empty). Bitfiles: Updated srxl_top.bit from from rev00 to rev02 (rev01 is the first production bitfile and rev02 adds a PRBS generator for in house testing. Updated the bitfiles that had reverted to old versions in 4.1.3.3 back to the proper versions: pcd20.bit, pcd40.bit, pcd60.bit, pcd16.bit, pcd64.bit, pcdssd.bit, pcdt.bit. ----------------------------------------------- V. 4.1.3.3 08/02/2006 ----------------------------------------------- Linux edtinit: look for lspci in various directories, so edtinit works on ubuntu,debian (/usr/bin/lspci) as well as others (/sbin/lspci). ----------------------------------------------- V. 4.1.3.2 07/20/2006 ----------------------------------------------- Bitfiles: ocm12.bit: multi-frequency capabilities are supported now ----------------------------------------------- V. 4.1.3.1 07/11/2006 ----------------------------------------------- Added AMD64 Solaris build. Bitfiles: XC2S100E and XC2S600E xtest.bit now built with newer (version 8.1.2) Xilinx tools. ssd16io.bit now built with 8.1.2 Xilinx tools. ----------------------------------------------- V. 4.1.2.9 06/23/2006 ----------------------------------------------- Linux: Added code to remove (and stash) bitfiles that look like our unzipped files during install, so bitload doesn't use those that the uninstall left. Added ocm_play. Bitfiles: ocm12.bit: updated from 2.8 (2006/03/16) to 2.9 (2006/06/13) version (synchronized TX frame) oc192.bit: updated from 2006/05/24 to 2006/06/15 version (oc192 1.0 release; added revision ID string) Added 1.0 release of ethernet.bit (2006/05/08). ----------------------------------------------- V. 4.1.2.8 06/07/2006 ----------------------------------------------- Added mmap option for kernel buffers to linux driver. See ChangeLog.driver for example.