2001-08-21 20:07:49 +00:00
|
|
|
.\"
|
|
|
|
.\" Copyright (c) 2001 M. Warner Losh
|
|
|
|
.\" All rights reserved.
|
|
|
|
.\"
|
|
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
|
|
.\" modification, are permitted provided that the following conditions
|
|
|
|
.\" are met:
|
|
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
|
|
.\" 2. The name of the author may not be used to endorse or promote products
|
|
|
|
.\" derived from this software without specific prior written permission.
|
|
|
|
.\"
|
|
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
|
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
|
|
.\" SUCH DAMAGE.
|
|
|
|
.\"
|
2005-02-09 18:07:17 +00:00
|
|
|
.\" $FreeBSD$
|
2001-08-21 20:07:49 +00:00
|
|
|
.\"
|
2001-08-26 04:43:16 +00:00
|
|
|
.Dd August 25, 2001
|
2001-08-21 20:07:49 +00:00
|
|
|
.Dt PCIC 4
|
2001-08-28 02:51:15 +00:00
|
|
|
.Os
|
2001-08-21 20:07:49 +00:00
|
|
|
.Sh NAME
|
|
|
|
.Nm pcic
|
2003-08-20 06:49:57 +00:00
|
|
|
.Nd PC Card bridge driver
|
2001-08-21 20:07:49 +00:00
|
|
|
.Sh SYNOPSIS
|
|
|
|
.Cd device pcic
|
|
|
|
.Cd device card
|
|
|
|
.Sh DESCRIPTION
|
|
|
|
The
|
|
|
|
.Nm
|
2003-08-20 06:49:57 +00:00
|
|
|
driver controls the PC Card subsystem.
|
2001-08-21 20:07:49 +00:00
|
|
|
The
|
|
|
|
.Nm
|
|
|
|
driver supports most
|
|
|
|
.Tn ExCA
|
2001-08-28 02:51:15 +00:00
|
|
|
devices attached to either
|
2001-08-21 20:07:49 +00:00
|
|
|
.Tn ISA
|
|
|
|
or
|
|
|
|
.Tn PCI
|
|
|
|
bus.
|
2001-08-26 04:43:16 +00:00
|
|
|
The
|
|
|
|
.Nm
|
2001-08-28 02:51:15 +00:00
|
|
|
driver does not support the so-called TCIC controllers made by
|
|
|
|
Databook.
|
2001-08-26 04:43:16 +00:00
|
|
|
Nor does it support the MECIA chipset found in some early PC98
|
|
|
|
NOTE PC machines.
|
|
|
|
The mecia driver now supports that bridge.
|
2001-08-21 20:07:49 +00:00
|
|
|
.Pp
|
|
|
|
The following
|
|
|
|
.Tn ISA
|
|
|
|
devices, or true clones, are supported in the current code.
|
|
|
|
.Pp
|
2001-08-28 02:51:15 +00:00
|
|
|
.Bl -tag -width "Intel i82365SL Step A" -compact
|
2001-08-21 20:07:49 +00:00
|
|
|
.It Intel i82365SL Step A
|
|
|
|
.It Intel i82365SL Step B
|
|
|
|
.It Intel i82365SL Step C
|
2001-08-28 02:51:15 +00:00
|
|
|
.Tn Intel Ns 's
|
2003-08-20 06:49:57 +00:00
|
|
|
original 16-bit PC Card controller.
|
2001-08-21 20:07:49 +00:00
|
|
|
.It Intel i82365SL-DF
|
2001-08-28 02:51:15 +00:00
|
|
|
.Tn Intel Ns 's
|
|
|
|
last version of this device.
|
2001-08-21 20:07:49 +00:00
|
|
|
3.3V support was added.
|
|
|
|
.It VLSI 82C146
|
|
|
|
An older VLSI part with some issues on some machines.
|
|
|
|
.It Cirrus Logic PD-6710
|
|
|
|
.It Cirrus Logic PD-6720
|
|
|
|
.It Cirrus Logic PD-6722
|
|
|
|
Cirrus Logic's pcic controller.
|
2001-08-28 02:51:15 +00:00
|
|
|
Compatible with the i82365SL Step C with the addition of a different
|
2001-08-21 20:07:49 +00:00
|
|
|
3.3V control.
|
|
|
|
.It Ricoh RF5C296
|
|
|
|
.It Ricoh RF5C396
|
2003-08-20 06:49:57 +00:00
|
|
|
Ricoh's PC Card bridge chips.
|
2001-08-28 02:51:15 +00:00
|
|
|
These are compatible with the i82365SL Step C, but with yet another
|
2001-08-21 20:07:49 +00:00
|
|
|
different 3.3V control.
|
|
|
|
.It Vadem 365
|
|
|
|
.It Vadem 465
|
2001-08-28 02:51:15 +00:00
|
|
|
Compatible with i82365SL Step C.
|
2001-08-21 20:07:49 +00:00
|
|
|
.It Vadem 468
|
|
|
|
.It Vadem 469
|
|
|
|
Like the earlier Vadem models, but with Vadem's own, incompatible, 3.3V
|
|
|
|
control system.
|
|
|
|
.It IBM PCIC
|
|
|
|
.Tn IBM
|
2001-08-28 02:51:15 +00:00
|
|
|
clone of the original i82365SL part, with its own ID register value.
|
2001-08-21 20:07:49 +00:00
|
|
|
Has no 3.3V ability.
|
2001-08-26 04:43:16 +00:00
|
|
|
.It IBM KING
|
2001-08-28 02:51:15 +00:00
|
|
|
A strange clone of i82365SL.
|
|
|
|
This part has many restrictions not found in the i82365SL, plus some
|
2001-08-26 04:43:16 +00:00
|
|
|
strange power control.
|
|
|
|
It has not been tested in ages, but is believed to work.
|
|
|
|
Its use is believed to be confined to model of ISA card, available
|
|
|
|
only in Japan.
|
2001-08-21 20:07:49 +00:00
|
|
|
.El
|
|
|
|
.Pp
|
|
|
|
Many other vendors made parts in this arena, but most of them were
|
|
|
|
compatible with one of the above chipsets.
|
|
|
|
.Pp
|
|
|
|
The following PCI cardbus and pcmcia bridges are supported:
|
|
|
|
.Pp
|
2001-08-28 02:51:15 +00:00
|
|
|
.Bl -tag -width "Intel i82365SL Step A" -compact
|
2001-08-21 20:07:49 +00:00
|
|
|
.It Cirrus Logic PD6729
|
|
|
|
.It Cirrus Logic PD6730
|
2003-05-20 22:08:28 +00:00
|
|
|
These chips require special configuration when they are on an add-in
|
2003-03-29 05:44:49 +00:00
|
|
|
PCI card.
|
2001-08-21 20:07:49 +00:00
|
|
|
.It Cirrus Logic PD6832
|
|
|
|
.It Cirrus Logic PD6833
|
|
|
|
.Pp
|
|
|
|
.It O2micro OZ6729
|
|
|
|
.It O2micro OZ6730
|
|
|
|
.It O2micro OZ6812
|
|
|
|
.It O2micro OZ6832
|
|
|
|
.It O2micro OZ6833
|
|
|
|
.It O2micro OZ6836
|
|
|
|
.It O2micro OZ6860
|
|
|
|
.It O2micro OZ6872
|
|
|
|
O2 Micro chips may be poorly supported because the author does not
|
|
|
|
have good access to machines with one of these bridges in it.
|
|
|
|
.Pp
|
|
|
|
.It Ricoh RL4C475
|
|
|
|
.It Ricoh RL4C476
|
|
|
|
.It Ricoh RL4C477
|
|
|
|
.It Ricoh RL4C478
|
|
|
|
.Pp
|
|
|
|
.It TI PCI-1031
|
|
|
|
.It TI PCI-1130
|
|
|
|
.It TI PCI-1131
|
|
|
|
.It TI PCI-1211
|
|
|
|
.It TI PCI-1220
|
|
|
|
.It TI PCI-1221
|
|
|
|
.It TI PCI-1225
|
|
|
|
.It TI PCI-1250
|
|
|
|
.It TI PCI-1251
|
|
|
|
.It TI PCI-1251B
|
|
|
|
.It TI PCI-1410
|
|
|
|
.It TI PCI-1420
|
|
|
|
.It TI PCI-1450
|
|
|
|
.It TI PCI-1451
|
|
|
|
.It TI PCI-4451
|
|
|
|
.Pp
|
|
|
|
.It Toshiba ToPIC95
|
|
|
|
.It Toshiba ToPIC97
|
2001-08-28 02:51:15 +00:00
|
|
|
.It Toshiba ToPIC100
|
|
|
|
.El
|
2001-08-21 20:07:49 +00:00
|
|
|
.Sh FILES
|
2001-08-28 02:51:15 +00:00
|
|
|
.Bl -tag -width ".Pa /dev/card0" -compact
|
2001-08-21 20:07:49 +00:00
|
|
|
.It Pa /dev/card0
|
|
|
|
Character device for the
|
|
|
|
.Nm
|
|
|
|
driver.
|
|
|
|
.El
|
2001-08-26 04:43:16 +00:00
|
|
|
.Sh MODES OF OPERATION
|
|
|
|
The ISA device supports routing ISA interrupts only.
|
|
|
|
You cannot share ISA interrupts.
|
|
|
|
Every interrupt must be unique.
|
|
|
|
.Pp
|
|
|
|
The PCI device supports routing ISA or PCI interrupts.
|
|
|
|
PCI interrupts are sharable.
|
|
|
|
ISA interrupts are not sharable.
|
|
|
|
PCI interrupts should be used unless your machine has a specific problem using
|
|
|
|
them.
|
|
|
|
.Pp
|
|
|
|
PCI interrupt routing is the default for PCI devices.
|
|
|
|
Some older laptops require ISA interrupt routing to work properly.
|
|
|
|
To enable ISA interrupt routing, you must set the tunable
|
2001-08-28 02:51:15 +00:00
|
|
|
.Li hw.pcic.intr_path=1
|
|
|
|
in
|
|
|
|
.Pa /boot/loader.conf .
|
2001-08-26 04:43:16 +00:00
|
|
|
For the present, unless you have a one slot machine, you should set
|
2001-08-28 02:51:15 +00:00
|
|
|
.Li hw.pcic.irq=0
|
|
|
|
to force polling mode.
|
2001-08-26 04:43:16 +00:00
|
|
|
Two slot machines have minor issues with using an ISA interrupt for the
|
|
|
|
CSC interrupt.
|
2001-08-21 20:07:49 +00:00
|
|
|
.Sh TUNABLES
|
2001-08-28 02:51:15 +00:00
|
|
|
.Bl -tag -width indent
|
|
|
|
.It Va hw.pcic.ignore_function_1
|
|
|
|
Needed for some, improperly manufactured PCI cards made by Orinoco.
|
2001-08-21 20:07:49 +00:00
|
|
|
It disables function 1 completely.
|
|
|
|
Set to 0 to enable function 1.
|
|
|
|
Set to 1 to disable function 1.
|
2001-08-26 04:43:16 +00:00
|
|
|
This tunable generally should not be needed on laptops.
|
|
|
|
The default is 0.
|
2001-08-28 02:51:15 +00:00
|
|
|
.It Va hw.pcic.init_routing
|
2001-08-21 20:07:49 +00:00
|
|
|
Some machines can tolerate interrupt routing selection at the cardbus
|
|
|
|
bridge level.
|
|
|
|
Others fail when you mess with these registers.
|
2001-08-28 02:51:15 +00:00
|
|
|
Set to 1 to force the chipset to route via parallel PCI interrupts (as
|
2001-08-21 20:07:49 +00:00
|
|
|
well as a few other little things).
|
2001-08-28 02:51:15 +00:00
|
|
|
Setting to 0, the default, forces the code to leave these registers as the
|
2001-08-21 20:07:49 +00:00
|
|
|
code finds them.
|
2001-08-26 04:43:16 +00:00
|
|
|
Most laptops will not need to set this tunable.
|
2001-08-28 02:51:15 +00:00
|
|
|
Many PCI cards with cardbus chips on them are believed to need this
|
2001-08-26 04:43:16 +00:00
|
|
|
tunable set to 1.
|
|
|
|
The default is 0.
|
2001-08-28 02:51:15 +00:00
|
|
|
.It Va hw.pcic.intr_path
|
|
|
|
Should PCI pcic devices route interrupts via ISA or PCI.
|
2001-08-26 04:43:16 +00:00
|
|
|
A value of 1 means route via ISA.
|
|
|
|
A value of 2 means route via PCI.
|
|
|
|
This is ignored for the ISA device.
|
2001-08-28 02:51:15 +00:00
|
|
|
Many older laptops do not have PCI BIOS implementations that
|
2001-08-26 04:43:16 +00:00
|
|
|
.Fx
|
|
|
|
can use to route interrupts properly.
|
2001-08-28 02:51:15 +00:00
|
|
|
These laptops may need to set this to 1 and
|
|
|
|
.Va hw.pcic.irq
|
|
|
|
to a value
|
2001-08-26 04:43:16 +00:00
|
|
|
(or 0 for polling).
|
|
|
|
The default is 2.
|
2001-08-28 02:51:15 +00:00
|
|
|
.It Va hw.pcic.irq
|
2001-08-26 04:43:16 +00:00
|
|
|
Overrides the IRQ to use for ISA interrupt routing of the CSC or
|
|
|
|
management interrupt.
|
|
|
|
If you are using the ISA device, you can set this tunable, or use the
|
2001-08-28 02:51:15 +00:00
|
|
|
.Cd "irq N"
|
|
|
|
clause in config file.
|
2001-08-26 04:43:16 +00:00
|
|
|
If you are using a PCI device in ISA interrupt mode (see
|
2001-08-28 02:51:15 +00:00
|
|
|
.Va hw.pcic.intr_path ) ,
|
|
|
|
then you must set the interrupt with this
|
2001-08-26 04:43:16 +00:00
|
|
|
sysctl, or polling mode will be used.
|
|
|
|
Due to limitations in the tunable system, only one interrupt can be selected
|
|
|
|
for all cards.
|
|
|
|
Systems with multiple PCI bridges that need to use ISA routing are encouraged
|
|
|
|
to use polling mode on each of the cards.
|
|
|
|
The default is 0.
|
2002-06-14 06:56:35 +00:00
|
|
|
.It Va hw.pcic.ignore_pci
|
|
|
|
Defaults to 0.
|
|
|
|
Set to 1 to completely ignore the cardbus bridge.
|
|
|
|
This may help some old laptops work.
|
|
|
|
Setting to 1 on newer laptops will almost certainly fail.
|
2001-08-28 02:51:15 +00:00
|
|
|
.El
|
2001-08-21 20:07:49 +00:00
|
|
|
.Sh HISTORY
|
|
|
|
Too long to detail in the man page.
|
|
|
|
.Sh BUGS
|
|
|
|
Too many to list.
|
2001-08-26 04:43:16 +00:00
|
|
|
Some are the fault of the standard.
|
|
|
|
Some are the fault of bad standard compliance.
|
|
|
|
Some are Warner's fault.
|
2003-03-29 05:44:49 +00:00
|
|
|
These drivers are known as OLDCARD in other parts of the documentation.
|