May 1, 2000
Overview
Version 2.0.0 of the V6M6 software and FPGA and CPLD configurations includes the following changes:
Support for New V6M6HS Base Boards
The V6M6HS base board is the next generation of Mini-PCI carrier boards
for VMEbus.
The new features of the this board include:
E-mail
info@cacdsp.com
for further information about the V6M6HS and compatibility with specific
mini-PCI module types and revisions.
Most applications written for the V6M6 board should be source-code
compatible with the V6M6HS board.
The exceptions are those programs that access the micro-processor on
the V6M6 for obtaining information stored in the Flash or EEROMs on
the base board and modules.
Many of the host support programs and diagnostic programs have been
extensively modified to support the V6M6HS.
This includes support for handling board information access,
testing and configuring the base board MIPS processor
and supporting the various new objects loaded in the flash memory.
Device Driver Modifications
A new ioctl, PCI_VMEIRQBRQ, to determine the VME interrupt vector,
interrupt level and bus request number for V6M6 or V6M6HS boards.
The PCI_RESET ioctl now re-determines the board type (V6M6 or V6M6HS).
This feature is primarily used for diagnostic purposes when a board
may be swapped out for one of a different type.
The device driver now uses only minor device numbers for existing
PIO modules.
This does not affect Solaris or VxWorks installations but does
allow more boards to be installed for a SunOS (4.1.x) system.
See important note 3, below.
For Solaris 7, modifications were made to handle the different data type
declared for the data pointer argument of the ioctl entry point.
Notes:
On SunOS (4.1.x) the pci device nodes in /dev must be rebuilt using
the makepcidev script in $CAC/pci/pcisundev.
On Solaris (2.x) the device entries in /etc/path_to_inst need to be
regenerated.
This can be accomplished by rebooting the system.
From a running system use the command reboot -- -r
or, from the OpenBoot prompt (ok>), boot -r.
For Solaris 7 (2.7) or higher with 64-bit kernel capability,
it will be necessary to halt the system and boot the 32-bit
Kernel from the OpenBoot prompt with the command,
boot kernel/unix -r.
New Library Functions for Accessing EEROM and Flash Data
For those users who have included such operations in their applications,
the following information provides information necessary for porting
to the new library functions.
The auxiliary library file, $CAC/lib/libpciop.a, is no longer included
or supported.
The following functions have been replaced.
The old functions required the application to set global variables,
fdata_adr and fstat_adr, to specific offsets within
the memory mapped space of the TDM resource of a V6M6 board.
The new functions require, instead, a PCI_TDM pointer to be passed as
an argument.
For more information, please review the comments in the source files,
$CAC/pci/libsrc/pci_eerom.c and $CAC/pci/libsrc/pci_flash.c, or e-mail
support@cacdsp.com
for further information.
Software and Hardware Modifications for DM5420 DSP Modules
The PCI addressing mode for the DM5420 has been modified.
The previous version used three address to encode the initiator
of a read access to the DM5420.
These bits were compared on subsequent accesses to ensure that
prefetched data was delivered to the proper initiator.
The new version stores and compares the target address for
reads of prefected data.
Although it is possible for prefetched data to be retrieved by a
different initiator than the one initially requesting the data,
the data is guaranteed to come from the proper target address.
This method reduces the PCI address space requirement of the DM5420 from
256MB to 32 MB.
The pciinit program is modified to adjust the PCI address space
allocated for DM5420 modules to the new requirements.
Software Modifications for 512K Version of DM2C31 DSP Modules
Support for AMI FS6370 Clock Generators
The changes in this release of the V6M6 host software are primarily related
to the support of the new V6M6HS base board.
The V6M6 device drivers for SunOS, Solaris and VxWorks are modified
to recognize and support V6M6HS base boards.
The added support includes:
Due to the differences between the V6M6 and the V6M6HS in the way
Flash and EEROMs are accessed,
the functions for performing these operations have been changed.
These changes will not affect most users because they are primarily used
by the support and diagnostic programs provided by CAC or are embedded
in higher-level library functions.
Old Functions
New Functions
eerom_read
eerom_write
eerom_erase
flash_read
flash_read_byte
no previous equivalent
flash_write
flash_write_byte
no previous equivalent
flash_erase
flash_erase
flash_erase_nostat
tdm_eerom_read
tdm_eerom_write
tdm_eerom_erase
tdm_flash_read_seg
tdm_flash_read_byte
tdm_flash_read_word
tdm_flash_write_seg
tdm_flash_write_byte
tdm_flash_write_word
tdm_flash_erase_seg
tdm_flash_erase_all
tdm_flash_erase_seg_nostat
Internal DMA prefetch buffers are increased from 8 words to 16 words.
The pciinit program and dm2c31_open library function are
modified to properly account for the address gap between the memory for
the two DSPs on the 512K version for the DM2C31 DSP modules.
New library functions and code in the utility programs, pciserial,
pcifreq and dmfreq support the AMI FS6370 PLL chips used
to generate the clocks on V6M6HS base boards, DM5420 modules and other
future modules that use similar clock generators.
Along with this support are included files with a .pll extension
in the $CAC/pci/flash directory.
These files specify FS6370 register settings for the various clock
frequencies supported by the modules and base board.