PCIC(4) BSD Kernel Interfaces Manual PCIC(4)
pcic -- PC Card bridge driver
The pcic driver controls the PC Card subsystem. The pcic driver supports
most ExCA devices attached to either ISA or PCI bus. The pcic 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.
The following ISA devices, or true clones, are supported in the current
Intel i82365SL Step A
Intel i82365SL Step B
Intel i82365SL Step C Intel's original 16-bit PC Card controller.
Intel i82365SL-DF Intel's last version of this device. 3.3V support
VLSI 82C146 An older VLSI part with some issues on some
Cirrus Logic PD-6710
Cirrus Logic PD-6720
Cirrus Logic PD-6722 Cirrus Logic's pcic controller. Compatible with
the i82365SL Step C with the addition of a differ-
ent 3.3V control.
Ricoh RF5C396 Ricoh's PC Card bridge chips. These are compati-
ble with the i82365SL Step C, but with yet another
different 3.3V control.
Vadem 465 Compatible with i82365SL Step C.
Vadem 469 Like the earlier Vadem models, but with Vadem's
own, incompatible, 3.3V control system.
IBM PCIC IBM clone of the original i82365SL part, with its
own ID register value. Has no 3.3V ability.
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.
Many other vendors made parts in this arena, but most of them were com-
patible with one of the above chipsets.
The following PCI cardbus and pcmcia bridges are supported:
Cirrus Logic PD6729
Cirrus Logic PD6730 These chips require special configuration when
they are on an add-in PCI card.
Cirrus Logic PD6832
Cirrus Logic PD6833
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.
/dev/card0 Character device for the pcic driver.
MODES OF OPERATION
The ISA device supports routing ISA interrupts only. You cannot share
ISA interrupts. Every interrupt must be unique.
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.
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 hw.pcic.intr_path=1 in
/boot/loader.conf. For the present, unless you have a one slot machine,
you should set hw.pcic.irq=0 to force polling mode. Two slot machines
have minor issues with using an ISA interrupt for the CSC interrupt.
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 gener-
ally should not be needed on laptops. The default is 0.
Some machines can tolerate interrupt routing selection at the
cardbus bridge level. Others fail when you mess with these reg-
isters. 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.
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 FreeBSD can use to route
interrupts properly. These laptops may need to set this to 1 and
hw.pcic.irq to a value (or 0 for polling). The default is 2.
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 irq N clause in config file. If you
are using a PCI device in ISA interrupt mode (see
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.
Defaults to 0. Set to 1 to completely ignore the cardbus bridge.
This may help some old laptops work. Setting to 1 on newer lap-
tops will almost certainly fail.
Too long to detail in the man page.
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 driv-
ers are known as OLDCARD in other parts of the documentation.
BSD August 25, 2001 BSD