______________________________________________________________________________

Windows CE 5.0 UART Driver for PCI Express Devices
Copyright (C) 2008-2009 Oxford Semiconductor Inc.

Supported devices: OXPCIe952, OXPCIe954, OXPCIe958, OXPCIe200
______________________________________________________________________________

____________________________

Installation
____________________________

1. Install Windows CE 5.00 Platform Builder (PB) to development PC. Note the 
   WINCEROOT, i.e. the path where the CE 5.0 is installed (generally C:\WINCE500).

2. Double click the batch file "CopyDriverToWinCERoot.bat" to execute it. 
   This batch file will prompt the user to enter the WINCEROOT. The batch file 
   will then copy all files and sub-folders of the driver to the WINCEROOT.
   The following directory structure shall be seen:
   
	C:\WINCE500\OXSEMI
	               |------uarts
	               |        |
	               |        |-----....
	               |        |-----buspcie950
	               |        |-----pddpcie950
	               |        |-----serpcie950
	               |        |-----mddpcie950
	               |        |-----isrpcie950
	               |        |-----INC
	               |        \-----....
	               |
	               \------....

3. Start Platform Builder and create a new platform.

4. Click “File->Manage Catalog Features” to start “Manage Catalog Features” dialog

5. Click “Import…” button to start “Import Catalog Features” dialog and import 
   cec files of “pcie950.cec” in the subdirectory of “\uarts\buspcie950\"

6. Add "pcie950" feature to the platform by right-click on its logo and choose
   “Add to Platform”
   
7. Clicking "Project->Set Project Build Order.." to start a "Workspace Project
   Build Order" dialog and, if required, rearrange project build order as shown:
        isrpcie950
        pddpcie950
        serpcie950
        mddpcie950
        compcie950
        buspcie950
        ...

9. Build (or Rebuild) OS using menu command of "Build OS->BUild and Sysgen"
   “Add to Platform” if the OS has not been built yet, or build the PCIe950
   driver by command of "Build Project->Built All Projects" (with "Clean before
   Build" unchecked) 

9. The 1st 9 installed (PCIe950) devices are given conventional names of COM1:
   to COM9: and all subsequently installed PCIe950 devices will be named as 
   CMx1: to CMx9: accordingly, where x is a digit of 1 to 9.

10. Each port can be configured using the built-in application "SUART", which can
   be started by the command of "Start->Run...->suart".
   
______________________________________________________________________________

Modifications required
______________________________________________________________________________

Crystal Frequency
_________________

As PCIE950 family devices have fixed input clock frequency (62.5MHz), the default
Crystal Frequency has been defined in the "buspcie950.Reg" file and should not be
changed in any circumstances.


Interrupt triggering and flow control levels
____________________________________________

Four level control values can be defined in "pci16950.reg" file (brackets indicate
the correcponding 16950 registers, to where the values will be stored when device
driver being loaded):

    "RxIntTrigLevel" ------ Receive Interrupt Triggering Level (RTL)
    "TxIntTrigLevel" ------ Transmit Interrupt Triggering Level (TTL)
    "FlowCtrlLowLevel" ---- Automatic Flow Control Lower Trigger Level (FCL)
    "FlowCtrlHighLevel" --- Automatic Flow Control Higher Trigger Level (FCH)

The level control values defined in "buspcie950.reg" file shall be used as default
values by all UART channels.

The level value are expressed in hexadecimal, NOT DECIMAL. For example, to set
the Receive Interrupt Triggering Level to 95, the following line should exist
under the corresponging key:

    "RxIntTrigLevel"=dword:5F
	
________________________________________________________________________________	
 
 Branding / Configuration File using Oxide:
________________________________________________________________________________

The driver supports branding and customization. The user can generate a branding
(or configuration) file using Oxford Semiconductor's Oxide. Using this file, the 
user can specify values for crystal frequency, fifo levels, line driver values 
etc. 

To support branding files, a few changes need to be done to the reg file:
        
        Add the following two entries to the reg file:
            
                "BrandingFile"="pcie_branding_file.oxbx"
                "ReadBrandFile"=dword:1
                
        Where "pcie_branding_file.oxbx" is the name of the branding file. This
        branding file must be kept in the following folder:
                %WINCEROOT%\OXSEMI\UARTS\BrandingFiles
        The subkey "ReadBrandFile" specifies the driver whether to read the 
        mentioned branding file or not. The value of '1' means the driver will
        read the file.
		
Also, in order to download the branding file on to the target platform, the
.bib file should be modified. Add the following line to the buspcie950.bib file under
the 'FILES' section. Please see the buspcie950.bib for an example.

pcie_branding_file.oxbx $(_WINCEROOT)\OXSEMI\UARTS\BRANDINGFILES\pcie_branding_file.oxbx  NK  SHU

        
The branding file is also used by the SUART application to modify its 
user interface.


