March 4, 2002
Overview
The following changes are introduced in this release:
Note: This release includes a new FPGA configuration required for H.100 functionality and other improvements. Run the dpflashup program after installation to update the FPGA configuration data on the DPT4 board(s).
Previous versions of the DPT4 software did not properly account for
unconfigured boards.
This version includes changes that allow unconfigured boards to be
recognized in the system and for the utilities to function enough to recover
the flash information on the board.
Specific changes to utilities and the Solaris device driver are described
in sections, below.
The local source 1 parameters are removed from the
h100_slave and h100_master library functions.
They are not needed because local source 1 is not connected on the DPT4's
H.100 framer.
The initialization of the local frame position is changed from "late"
to "straddle" (configuration register 9 in the H.100 framer).
Macros for H.100 functions are added to the dputil.h header file.
The code for dph100test program is cleaned up to make it more
understandable and the program is now included in the Windows version
of the DPT4 software.
A new program, dp54xdiag, shows how to configure a DSP on a DM5420 module
to send and receive data to either the Comet framer or the H.100 interface
via the TDM bus.
A new function, pci_get_hdlc_channel is added to the HDLC library.
It returns a pointer to the PCI_CHAN structure for the HDLC channel.
The raw packet buffer size in the HDLC library is increased from 1024 to 4096
to improve efficiency.
A problem is fixed that would incorrectly return an error status indicating
a protocol error.
This problem prevented recovery from other protocol errors.
T1 support is added to the HDLC example programs,
hdlcsend and hdlcrec.
Options are added to hdlcrec for non-blocking reads and
to have it quit after detecting a specified number of errors.
An option is added to the hdlcsend program to have it send more
messages per second.
Functions in dp_io.c are modified to handle retries when performing
indirect reads of the expansion memory region.
Changes in dp_tdm.c support mapping TDM bus connections
to the H.100 interface.
Changes in dp_chan.c add support for the connectors on the
optional, off-board Trompeter transmitter header.
Functions in dp_ecoff.c are modified to skip loading code sections
with the STRCPY section flag set.
A bug is fixed in the pci_run_chan function which was incorrectly
indicating that the hardware configuration register was written incorrectly.
A bug is fixed in the DM5420 library for Windows that prevented interrupts
from being enabled.
The dptp12config program is now included in the software release.
It is required for recovering the flash contents of unconfigured boards.
Devices names starting with "dpt" rather than "pci" are now acceptable in the
command line arguments for the dpclock and dptp12config
programs.
The dpdumpcfg program now works with unconfigured DPT4 boards.
The dpinit is fixed to write the correct value to the hardware
configuration register for Rev 2 boards configured with expansion.
The dpinit program also has a new -c option that toggles
the cold reset of the MIPS processor.
This option should be used when the MIPS processor does not run properly
after running dpinit normally.
The dpdebug program is enhanced to allow reading and writing the
indirect registers of the H.100 framer.
The dpflashup, dpserial and dpinfo programs now refer
to the module expansion bridge FPGA as the "Expansion" or "Exp" FPGA
and the host bridge FPGA as the "Host" FPGA.
The dpserial and dpinfo programs no longer display the setting
of the EE_OPT_E1MODE bit in the flash options field.
This setting is no longer used or supported.
The error message from dpflashup is fixed concerning data mismatches
detected when verifying flash data.
The dpchantest_mt has a new option to set the number of threads to run.
The example program, dpsend, is fixed to truncate data files so they
will contain an even number of frames.
This ensures that the data is properly frame-aligned when the file data
is repeated.
Reporting of the available buffer size and number of repeats of the data file
is also added.
The dp54xled program is fixed to properly create resource names
for the DM5420 module.
To handle unconfigured DPT4 boards, the device driver must be uninstalled
and reinstalled telling it to recognize unconfigured boards using the
commands:
The code in soldev/chan.c is modified to fix a bug in handling the
data argument for the PCI_CHAN_NBLOCK and PCI_CHAN_GET_SIG ioctl requests.
Modifications for Handling Unconfigured Boards
Under some circumstances the DPT4 flash memory may be erased or become corrupt.
When this happens the FPGAs on the DPT will not be configured and the board
will not function in the system.
In most cases the boards are recoverable in the field following the procedure
outlined in section 13 of the DPT4 Hardware Reference Manual.
Software and Hardware Changes for Improved H.100 Support
The library code and diagnostics for H.100 support were cleaned up
and some functional changes were implemented.
Bug Fixes and Changes for HDLC Support
Bug Fixes and Changes in the API Library
Changes are made in the files, dp_io.c, dp_open.c
and dputil.h,
to prevent burst writes to FPGA address space.
Various Changes to Utility Programs
Changes to the Solaris Device Driver
The Solaris device driver code and installation is modified to only recognize
the DPT4 subsystem vendor and device ID when installed normally.
This prevents possible collision with other PCI boards that use the same
PCI bridge interface.
make uninstall-drv
make install-uncfg
More details are provided in section 13 of the DPT4 Hardware Reference Manual.
The Expansion Bridge FPGA (dpe1b1-2-3.mcs) is modified to allow H.100 slave mode and to use "straddle" mode for the local frame sync. The clock logic is modified to use tri-state multiplexors.
The version number for the PLD configuration file (dpe1c1-2-3.xsvf) is updated for version control but there are no changes in the logic.