-------------------------------------------------------------------
                 Configuring the Digital ATMworks 350
-------------------------------------------------------------------

CONTENTS
--------

   Section 1   PCI BIOS
                   1.1  Introduction
		   1.2  Configuration Guidelines

   Section 2   Digital PCI Configuration Utility
                   2.1  Introduction
		   2.2  pconf.exe
		   2.3  pview.exe
		   2.4  Typical Usage
		   2.5  Compatibility List


Section 1: PCI BIOS
-------------------

1.1 Introduction
----------------

PCI controllers are designed to be auto-configured through a system
PCI BIOS.  Some systems include a system configuration utility
either built into the BIOS or run as a standalone utility.  These 
utilities can offer configuration options for PCI slots.

For those systems that include user-configurable options for PCI
slots, some of the options offered include:

   PCI Slot Enable/Disable
      This option specifies whether the PCI slot is enabled or
      disabled.  For the ATMworks 350 adapter, the PCI slot 
      must be enabled.
        
   Bus Master Enable/Disable
      This option specifies whether PCI Bus Mastering is enabled
      or disabled for this PCI slot.  The ATMworks 350 must 
      be installed in a Bus Mastering slot and must have
      Bus Mastering enabled.  

   Interrupt Level (IRQ) Select
      This option specifies the interrupt level or IRQ value for 
      this PCI slot.  The ATMworks 350 must have an interrupt 
      selected.  

   Latency Timer Select	
      Should be 88h for most systems.	 

1.2 Configuration Guidelines
----------------------------

   1. Install the ATMworks 350 in a Bus Mastering capable PCI slot.

   2. If the system offers user-configurable PCI options, configure 
      the PCI slot as follows:

        A. Enable the PCI slot.
        B. Enable Bus Mastering.
        C. Select a non-shared interrupt level.

   3. If it is impossible to set a non-shared interrupt level, select
      an interrupt level that is shared with other adapters that 
      also support shared interrupts. 
     
      Note: Even though a driver for the ATMworks 350 supports
      shared interrupts it does NOT mean that other adapters 
      select unique interrupt levels for each device in the system.


Section 2: Digital PCI Configuration Utility
---------------------------------------------

2.1 Introduction
-----------------

The DECchip 21050 PCI-to-PCI Bridge DOS Utilities are provided to be used on 
DOS PCI systems that do not have PCI-to-PCI bridge (hereafter referred to as 
PPB) BIOS support. They are to be used until your development system is 
upgraded with BIOS that supports PPBs. These utilities allow the user to 
configure the PPBs and all PCI devices downstream of the PPBs without BIOS 
support.

PCI-to-PCI bridges and PCI devices behind the bridges need to be configured 
by software during powerup of a system. Typically, configuration code in the 
systems BIOS performs this function. These utilities are written to be used 
on systems with BIOS that doesn't have PPB support yet, so the PPBs and 
PCI devices downstream of the PPBs can be configured. The benefit of having 
BIOS configure the entire system is that all the devices that are behind PPBs 
can be used to boot the operating system or for display. Without BIOS, this 
is not possible. 

2.2 PCONF.EXE
-------------

This utility will enumerate all the PCI-to-PCI bridges and configure all 
PCI devices that it finds in the target system, with exception of the PCI 
devices (non PCI-to-PCI bridges) it finds on bus 0. The devices on bus 0 have
been configured by the system BIOS, so there is no need to reconfigure them. 

Usage:

C:\> pconf [optional switches]

  where [optional switches] are:
  
  -b          (use system BIOS for all low level I/O)
  -q          (quiet switch)
  -h          (help screen) 
  -io ADDRESS (this will start the IO mapping at ADDRESS)

Example:

This example shows the pconf command without any switches. It has mapped 
all devices behind any PCI-to-PCI bridges. Notice that the two devices have
been mapped in memory space. 

C:\>pconf

Build Date: May 15 1995, PCI Config Mechanism: #2, BIOS version: 2.0
For help use pconf -h

Network, [1,3], bridge:[0,7], 4194304 bytes Memory, base: 7F400000h 
Network, [2,0], bridge:[0,8], 4194304 bytes Memory, base: 7E000000h 
found 8 PCI devices
mapped 2 PCI devices


2.3 PVIEW.EXE
-------------

This utility allows the user to view and modify all the PCI devices in the 
system. The user can also tailor the PCI devices (including PCI-to-PCI 
bridges) to reflect any possible configuration. Care should be taken when 
reconfiguring the system. pView does not prevent the user from 
misconfiguring the system. 

pView will display all the PCI devices in the system that have been configured.
You should run pConf before running pView to configure all the PCI devices in 
the system because the PPBs and PCI devices behind them are not configured 
(assuming no BIOS support) unless pConf is run.

The following is displayed with pView:

bus*    : The number of the physical bus that the PCI device is attached to. 
          pConf will assign all non-0 bus numbers.
slot    : The address line that generates the IDSEL this PCI device responds
          to by asserting DEVSEL during a configuration access. 
vendor  : The vendor ID, each vendor has a different ID.
device  : The device ID, unique for each vendor's PCI device.
rev     : The revision number of the PCI device.
class   : A string that describes the PCI device from its class codes.
cmnd    : The value in the PCI device command register.
IoBase* : The I/O space that this PCI device has been mapped to.
MemBase*: The memory space that this PCI device has been mapped to.

* Special handling is used here for PCI-to-PCI bridges. The bus field will 
  display two numbers on a PCI-to-PCI bridge line. The first value being the 
  primary bus and the second value being the secondary bus of the bridge. 
  Byte 0 of the IoBase field contains the IoBase address and byte 1 contains 
  the IoLimit value that has been programmed into the PCI-to-PCI bridge. Word 
  0 of the MemBase field contains the MemBase address and word 1 contains the 
  MemLimit value that has been programmed into the PCI-to-PCI bridge. 
  
pView uses colors to display each bus and its PCI devices. Each PCI bus is 
a different color.

Usage:

C:\> pview [optional switches and parameters]

  where [optional switches] are:
  
  -b                                (use system BIOS for all I/O)
  -v                                (verbose flag, show bridges)
  -wd bus slot func regOffset data  (write dword, 32 bits) 
  -ww bus slot func regOffset data  (write word, 16 bits) 
  -wb bus slot func regOffset data  (write byte, 8 bits) 
  -rd bus slot func regOffset       (read dword, 32 bits)
  -rw bus slot func regOffset       (read word, 16 bits)
  -rb bus slot func regOffset       (read byte, 8 bits)
  -d                                (dump all devices' configuration registers)
  -h                                (help screen) 



Examples:

This example shows the pview -v command display of a system with an ATMworks
350 installed.  The DEC 21050 bridge chip is found on bus 0 in slot 7, while 
the ATMworks 350 is located on bus 1 in slot 0.  


C:>pview -v
pView V1.2 Apr 04 1995, Copyright (c) 1995 Digital Equipment Corporation
For help use pview -h, PCI Config Mechanism: #2

PCI->PCI Bridges found: 1

Bus  Slot  Vendor Device  Rev  Class             Cmnd     IoBase    MemBase
===  ====  ====== ======  ===  ================  ====     ======    =======
  0     0   8086h  0483h  02h  Host Bridge         6h         0h         0h
  0     1   1000h  0001h  01h  SCSI Bus          107h      D101h  20400000h
  0     2   8086h  0484h  00h  ISA Bridge          7h         0h         0h
  0     6   1002h  4158h  01h  VGA                 3h         0h  20000000h
0 1     7*  1011h  0001h  02h  PCI->PCI Bridge   107h      F0F0h* 7FF07F00h*
  1     0*  1011h  0016h  04h* Network             6h         0h  7F400000h*

  * Indicates values that may be inconsistent with particular configurations.



This next example shows the pview command reading a word on the PCI device  
on bus 1, slot 0, func 0, reg off 2h. pView returns with the value 1011h
This value is the vendor ID (Digital is 1011h).

C:\>pview -rw 1 0 0 2
1011h


The following example shows a portion of the output of the pview -d -v 
command of a system with an ATMworks 350 installed.  

C:\pview -d -v
pView V1.0 Mar 15 1995, Copyright (c) 1994 Digital Equipment Corporation
For help use pview -h, PCI Config Mechanism: #2
                                    .
                                    .
                                    .
[Config Regs for PCI device on bus: 0, slot: 7, class: PCI->PCI Bridge]
 00h: 00011011h   04h: 02800107h   08h: 06040002h   0Ch: 0001F800h  
 10h: 00000000h   14h: 00000000h   18h: F8010100h   1Ch: 2280E0E0h  
 20h: 7FF07F00h   24h: 0000FFF0h   28h: 00000000h   2Ch: 00000000h  	   
 30h: 00000000h   34h: 00000000h   38h: 00000000h   3Ch: 00060000h  

[Config Regs for PCI device on bus: 1, slot: 0, class: Network]
 00h: 00161011h   04h: 04000006h   08h: 02800004h   0Ch: 00000000h  
 10h: 7F400000h   14h: 00000000h   18h: 00000000h   1Ch: 00000000h  
 20h: 00000000h   24h: 00000000h   28h: 00000000h   2Ch: 00000000h  
 30h: 00000000h   34h: 00000000h   38h: 00000000h   3Ch: 000001FFh  



2.4 Typical Usage
-----------------

1. Determine if the system BIOS has located and configured the ATMworks 350 
---------------------------------------------------------------------------

The user can determine if the target system BIOS supports PCI-to-PCI bridges
by running pView at the DOS prompt.  If the ATMworks 350 is found and
configured correctly, then there is no need to reconfigure the system.  
If this command fails, try using the pview -b command. 

The following is an example of what the user should see if the ATMworks
350 was found and correctly configured:

  C:\pview -v

or

  C:\pview -v -b
                                    .
                                    .
                                    .
									
0 1     7*  1011h  0001h  02h  PCI->PCI Bridge   107h      F0F0h* 7FF07F00h*
  1     0*  1011h  0016h  04h* Network             6h         0h  7F400000h*

  * indicates values that may be different for a particular system.

                                    .
                                    .
                                    .


2. Configure system with pConf
------------------------------

The user should run the pConf utility from the DOS prompt if the system
BIOS failed to locate and configure the ATMworks 350.  pView should be
executed to determine whether pConf was successful or not.  If the bridge
and ATMworks 350 are still not detected, try running pConf with the -b 
switch.  If the boards are still not configured, then the system is not
compatible with the ATMworks 350.  However, if a future BIOS upgrade that 
supports PCI-to-PCI bridges becomes available from the system vendor, the 
ATMworks 350 should work with the use of any additional utility. Here is 
an example of what pConf should display:


  C:\> pconf

or

  C:\> pconf -b


Build Date: May 15 1995, PCI Config Mechanism: #2, BIOS version: 2.0
For help use pconf -h

Network, [1,0], bridge:[0,7], 4194304 bytes Memory, base: 7F400000h 
found 7* PCI devices
mapped 1 PCI devices



3. Modify any incorrect PCI configuration values
------------------------------------------------- 

Use pView to customize any value in the bridges or PCI devices. For instance,
if a PCI device (behind a bridge) was on bus 1, slot 5, func 0, the Int Line 
of a PCI device can be written with this command:  

C:\> pview -wb 1 5 0 3C 9

This would write a byte of data (9) to configuration space offset 3Ch on the 
PCI device on bus 1, IDSEL (slot) 5, func 0. Data is verified by using the 
-rb switch, which will read configuration space offset 3Ch on bus 1, slot 5.

C:\> pview -rb 1 5 0 3C
09h


2.5  Compatibility List
------------------------

The DECchip 21050 DOS PPB Utilities have been verified to work on over 25 
different DOS PCI systems. The majority of the systems had one of the 
following chipsets.

o Intel 82430       (Configuration Mechanism #2)
o Intel 82420       (Configuration Mechanism #2)
o Opti  82C822      (Configuration Mechanism #1)

The pConf and pView utilities have been verified for use on Digital's 
DECpc XL 466d2, DECpc XL 433d2, Celebris XL, and Prioris processors.
pView should work on all PCI systems.  




***TRADEMARKS***

DEC, DECpc, and Digital are trademarks of Digital Equipment Corporation. 

Intel is a registered trademark of Intel Corporation.

Microsoft, MS, and MS-DOS are registered trademarks and Windows
and Windows NT are trademarks of Microsoft Corporation.  
