RELEASE NOTES for Symmetricom BC635/637PCIe-V2 Time and Frequency Processor
Date: Sept, 2009
Release: 8.0
Released By: Symmetricom Inc.



INSTALLATION
------------

The software is delivered as a Solaris package called BC635PCI.

To Install this package follow these stpes:

1. Untar the package tar file. Note <vvv> is the release version and <aaa>
is the three digit build number.
For SPARC architecture
/export/home/user> tar xf BCPCI-V<vvv>-sparc64-build<aaa>.tar
For x86 architecture
/export/home/user> tar xf BCPCI-V<vvv>-x86_64-build<aaa>.tar

2. Become super user
/export/home/user> su

3. Use the Solaris 'pkgadd' command to install the package. Answer
'y' to the question when prompted.
# pkgadd -d . BC635PCI

4. Reboot your computer.

After your computer rebooted, you can inspect the installed package
using Solaris 'pkginfo' command (output of other install packages
are removed for clarity).

/export/home/user> pkginfo | more
Symmetricom BC635PCI                         BC635/637PCIe-V2 Solaris driver

The source code and demo program are installed in /opt/BC635PCI.
You can run the 'bc63xPCIcfg' program to test your installation.

/export/home/user> cd /opt/BC635PCI/src
/opt/BC635PCI/src> ./bc63xPCIcfg


Alternatively, you can also use the provided 'install.sh' script to
install the software. This script is in the directory where you find
the tar file. You must run 'install.sh' as root. Use 'su' to become
root and then 'cd' to the directory that contains both the tar file
and the 'install.sh' script. Typpe './install.sh' to execute the script.
The script combines the 'untar' and 'pkgadd' together. Again, remember
to reboot your machine after finishing the script.

The driver should work correctly in its current binary form on 
Solaris 8,9, and 10 SPARC machines.


REMOVAL
-------

To remove the software package follow these steps:

1. Become super user
/export/home/user> su

2. Use the Solaris 'pkgrm' command to remove the 'BC635PCI' package. Answer
'y' to the two questions when prompted.
# pkgrm BC635PCI




RELEASE NOTES
-------------
--------------------------- Version 8.0 --------------------------------
- Renamed demo program name from 'pcidemo' to 'bc63xPCIcfg'.
- Updated to support event2 and event3. The read event/event2/event3 all
  returns the 100ns digit. Added Read/Write register to the demo program.

--------------------------- Version 7.0 --------------------------------
- Updated the code to support V2 hardware. The PCI configure register
  Revision ID is used to distinguish between V1 and V2 hardware. V2
  hardware has Revision ID in the range of [0x20, 0x2F].

- Added new APIs at the end of bc635pci.c file. The new APIs return FALSE
  when the hardware does not support the feature.

- Updated the demo program to show new time codes (input and output)
  support and the DDS functions.

--------------------------- Version 4.4 --------------------------------
- Fixed strobe function. The event registers were used in ver2.2 instead 
  of the strobe registers.

- Added a new commands to support the new pci hardware (12083)	

- Added a sample test program to exercise the commands of the card

--------------------------- Version 2.2 --------------------------------
- Removed debug messages and hc11_diagnostic call at attach time.

- Lengthened binary backoff timeout of send_command from 9 to 20 iterations

- Added delays to key commands to prevent hanging

- Added getdata_t to stfpio.h, and GETDATA ioctl to system to implement
  command 0x19. Thanks to CRS for optimization of getdata_t to use union,
  and associated program code.

- Reimplemented SETTIME function to take simple major time in seconds from 1970

- Added test program source, stfp.c source and stfpio.h to package.

- Moved sample source and driver source to /opt/BC635

- Cleaned up packaging to correctly install /dev links and set reasonable
  permissions on /devices node. Removes all on pkgrm.

--------------------------- Version B3 --------------------------------
- Added version identifier to modldrv.  Returned by modinfo(1M)

- Added check for card not being seen in PCI space.

- Added HC11 diagnostic.

- Tested SETPERIODIC ioctl.  Still unsure about results from changing divisors
  in testsig application.   Changing divisors did not affect the rate of
  signals being generated from the driver.

--------------------------- Version B2 --------------------------------
- Using ddi_get and ddi_put routines.

- Corrected code for WRSTROBE and WRSTROBETV.

- Removed old ifdefed out Sbus code.

--------------------------- Version B1 --------------------------------
- Version B1 has been through only preliminary testing.

- The latest sources have been compiled, so there is no need to recompile.
  The driver is located in ./B1/driver and the applications in ./B1/apps.

- There is a console output message which cannot be turned off in the current
  driver.  This output message indicates if the 635PCI adapter booted as would
  be expected.  If it does not boot correctly, the driver will not attach.
  Try doing a warm reboot without rem_drv'ing the driver.

		Messages: "635PCI Booted Correctly"
		          "635PCI Did Not Boot Correctly - Try system warm reboot"

- Prior to doing the install be sure that the card is being seen by the
  system.  Run prtconf.  If a device named pci12e2,4013 does not show, then
  the system must be rebooted and power cycled.

 - The following ioctls do not work correctly, or may crash the driver.
		 WRSTROBE
		 WRSTROBETV

- To add the driver:
	- Run Make in ./drv directory.(NOTE it has already been compiled.)

	- copy file "stfp" to /usr/kernel/drv

	- Note there is no need for a .conf file.

	- Create an entry in /etc/devlink.tab which reads:
			type=ddi_pseudo;name=pci12e2,4013	stfp\M0

	- add_drv -i '"pci12e2,4013"' stfp

	- There is a make reallyinstall target for reference.

