1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-25 11:37:56 +00:00
freebsd/share/man/man4/oldcard.4

245 lines
7.2 KiB
Groff

.\"
.\" 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.
.\"
.\" $FreeBSD$
.\"
.Dd August 25, 2001
.Dt PCIC 4
.Os
.Sh NAME
.Nm pcic
.Nd PC Card bridge driver
.Sh SYNOPSIS
.Cd device pcic
.Cd device card
.Sh DESCRIPTION
The
.Nm
driver controls the PC Card subsystem.
The
.Nm
driver supports most
.Tn ExCA
devices attached to either
.Tn ISA
or
.Tn PCI
bus.
The
.Nm
driver does not support the so-called TCIC controllers made by
Databook.
Nor does it support the MECIA chipset found in some early PC98
NOTE PC machines.
The mecia driver now supports that bridge.
.Pp
The following
.Tn ISA
devices, or true clones, are supported in the current code.
.Pp
.Bl -tag -width "Intel i82365SL Step A" -compact
.It Intel i82365SL Step A
.It Intel i82365SL Step B
.It Intel i82365SL Step C
.Tn Intel Ns 's
original 16-bit PC Card controller.
.It Intel i82365SL-DF
.Tn Intel Ns 's
last version of this device.
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.
Compatible with the i82365SL Step C with the addition of a different
3.3V control.
.It Ricoh RF5C296
.It Ricoh RF5C396
Ricoh's PC Card bridge chips.
These are compatible with the i82365SL Step C, but with yet another
different 3.3V control.
.It Vadem 365
.It Vadem 465
Compatible with i82365SL Step C.
.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
clone of the original i82365SL part, with its own ID register value.
Has no 3.3V ability.
.It IBM KING
A strange clone of i82365SL.
This part has many restrictions not found in the i82365SL, plus some
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.
.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
.Bl -tag -width "Intel i82365SL Step A" -compact
.It Cirrus Logic PD6729
.It Cirrus Logic PD6730
These chips require special configuration when they are on an add-in
PCI card.
.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
.It Toshiba ToPIC100
.El
.Sh FILES
.Bl -tag -width ".Pa /dev/card0" -compact
.It Pa /dev/card0
Character device for the
.Nm
driver.
.El
.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
.Li hw.pcic.intr_path=1
in
.Pa /boot/loader.conf .
For the present, unless you have a one slot machine, you should set
.Li hw.pcic.irq=0
to force polling mode.
Two slot machines have minor issues with using an ISA interrupt for the
CSC interrupt.
.Sh TUNABLES
.Bl -tag -width indent
.It Va hw.pcic.ignore_function_1
Needed for some, improperly manufactured PCI cards made by Orinoco.
It disables function 1 completely.
Set to 0 to enable function 1.
Set to 1 to disable function 1.
This tunable generally should not be needed on laptops.
The default is 0.
.It Va hw.pcic.init_routing
Some machines can tolerate interrupt routing selection at the cardbus
bridge level.
Others fail when you mess with these registers.
Set to 1 to force the chipset to route via parallel PCI interrupts (as
well as a few other little things).
Setting to 0, the default, forces the code to leave these registers as the
code finds them.
Most laptops will not need to set this tunable.
Many PCI cards with cardbus chips on them are believed to need this
tunable set to 1.
The default is 0.
.It Va hw.pcic.intr_path
Should PCI pcic devices route interrupts via ISA or PCI.
A value of 1 means route via ISA.
A value of 2 means route via PCI.
This is ignored for the ISA device.
Many older laptops do not have PCI BIOS implementations that
.Fx
can use to route interrupts properly.
These laptops may need to set this to 1 and
.Va hw.pcic.irq
to a value
(or 0 for polling).
The default is 2.
.It Va hw.pcic.irq
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
.Cd "irq N"
clause in config file.
If you are using a PCI device in ISA interrupt mode (see
.Va hw.pcic.intr_path ) ,
then you must set the interrupt with this
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.
.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.
.El
.Sh HISTORY
Too long to detail in the man page.
.Sh BUGS
Too many to list.
Some are the fault of the standard.
Some are the fault of bad standard compliance.
Some are Warner's fault.
These drivers are known as OLDCARD in other parts of the documentation.