
82C814
912-3000-047
Revision: 1.0
Page 19
January 08, 1998
OPTi
4.8
Interrupt or SMI service software should perform the following
steps:
Status Change Service Routine
1. Read PCICFG 68h[7, 5:4] to determine whether a dock-
ing station has been recognized.
Test: PCICFG 68h[7] = 0
Yes - Device recognized.
No - Device not recognized. Go to “Retest” section.
Test: PCICFG 68[5:4] = 11
Yes - Docking station recognized.
No - Not a docking station. Exit procedure so that Card-
Bus software can handle event.
2. Read PCICFG 68h[2:1]. The card detection sequencer 
drives CVS1 and CVS2 low after detection, so CD1-2# 
will stay low.
Test: PCICFG 68h[2:1] = 00
Yes - Docking confirmed.
No - A non zero value indicates that the connection is not 
valid or that an undock event has taken place.
3. Read PCICFG 60h to determine the event that caused 
the interrupt. Write this same value back to the register to 
clear these events, and cause the IRQ line that was 
active to go inactive. Also clear PMI event on host chipset 
if this was an SMI.
4. Test: Was docking confirmed in step 2
Yes - Go to “Docking Event” section.
No - Force a retest by writing PCICFG 6Dh[6] = 1, and go 
to step 1. If this is the second time through, then proceed 
to “Undocking Event” section.
4.8.1
1. Read PCICFG 69h to determine the docking station volt-
age.
Docking Event
2. Power up the interface by writing PCICFG 70h[6:4] with 
the correct VCC value. PCICFG 70h is typically written to 
20h for a 5.0V docking station.
3. Read PCICFG 68h again to check power cycling.
Test: PCICFG 68h[3] = 1
Yes - Continue to next step.
No - There is a problem. Check PCICFG 69h[1] to see if 
the VCC value chosen is allowable. If necessary, force a 
retest and then start over at step 1.
4. Select PCICLK skew through PCICFG 52h[7:4]. This 
value will have to be determined according to the design 
of the docking station. Depending on the type of PCICLK 
routing used on the docking station, the internal clock 
may need to be skewed 1-15ns.
5. Write PCICFG 3Eh[6] = 0 to deassert PCIRST# to the 
dock.
The Docking Station devices can now be configured in the
usual manner for PCI devices.
4.8.2
The following step should be followed if an undock event has
been detected.
Undocking Event
1. Test whether PCICFG 69h[0] = 1. If so, data may have 
been lost in the undocking event.
On an undock event, no other steps are necessary. The con-
troller automatically powers down the dock, tristates the inter-
face, and asserts the CRST# line.
4.8.3
When undocking, the user can notify the system software
(Windows 95) first so that the system software can turn off
the 82C814 docking side to make a graceful undock. This is
the safest scheme to implement but is not always practical in
a real system because of cost.
Notes on Undocking
If hot undocking is required without notifying the system soft-
ware, shorter CD1-2# pins are required on the docking con-
nector. The CD1-2# pins will change first. The 82C814 will
complete the current cycle on the secondary, and will not
attempt to start another.
The undocking event generates an interrupt to the system, so
that software can check to determine if any posted write data
was left in the FIFO. PCICFG 5Fh returns the number of
retries attempted in flushing the FIFO, which can be used to
determine whether any data was left after the hot undock.
4.8.4
Whenever the result of a test is ambiguous, software should
force the controller to retest the detection pins. Force a retest
by writing PCICFG 6Dh[6] = 1, then start the full service rou-
tine over again. If after several times through this retest
sequence the status cannot be determined, assume an
“undocked” state.
Retest