.\" .\" 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: src/share/man/man4/pcic.4,v 1.2.2.2 2001/12/17 11:30:12 ru Exp $ .\" $DragonFly: src/share/man/man4/Attic/pcic.4,v 1.2 2003/06/17 04:36:59 dillon Exp $ .\" .Dd August 25, 2001 .Dt PCIC 4 .Os .Sh NAME .Nm pcic .Nd pccard bridge driver .Sh SYNOPSIS .Cd device pcic .Cd device card .Sh DESCRIPTION The .Nm driver controls the pccard 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 pccard 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 pccard 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 two might be broken at the moment. .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. .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.