xref: /freebsd/share/man/man4/pcic.4 (revision 2a4a1db342263067035ce69a4017c645da63455d)
1.\"
2.\" Copyright (c) 2001 M. Warner Losh
3.\" All rights reserved.
4.\"
5.\" Redistribution and use in source and binary forms, with or without
6.\" modification, are permitted provided that the following conditions
7.\" are met:
8.\" 1. Redistributions of source code must retain the above copyright
9.\"    notice, this list of conditions and the following disclaimer.
10.\" 2. The name of the author may not be used to endorse or promote products
11.\"    derived from this software without specific prior written permission.
12.\"
13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23.\" SUCH DAMAGE.
24.\"
25.\"	$FreeBSD$
26.\"
27.Dd August 25, 2001
28.Dt PCIC 4
29.Os
30.Sh NAME
31.Nm pcic
32.Nd pccard bridge driver
33.Sh SYNOPSIS
34.Cd device pcic
35.Cd device card
36.Sh DESCRIPTION
37The
38.Nm
39driver controls the pccard subsystem.
40The
41.Nm
42driver supports most
43.Tn ExCA
44devices attached to either
45.Tn ISA
46or
47.Tn PCI
48bus.
49The
50.Nm
51driver does not support the so-called TCIC controllers made by
52Databook.
53Nor does it support the MECIA chipset found in some early PC98
54NOTE PC machines.
55The mecia driver now supports that bridge.
56.Pp
57The following
58.Tn ISA
59devices, or true clones, are supported in the current code.
60.Pp
61.Bl -tag -width "Intel i82365SL Step A" -compact
62.It Intel i82365SL Step A
63.It Intel i82365SL Step B
64.It Intel i82365SL Step C
65.Tn Intel Ns 's
66original 16-bit pccard controller.
67.It Intel i82365SL-DF
68.Tn Intel Ns 's
69last version of this device.
703.3V support was added.
71.It VLSI 82C146
72An older VLSI part with some issues on some machines.
73.It Cirrus Logic PD-6710
74.It Cirrus Logic PD-6720
75.It Cirrus Logic PD-6722
76Cirrus Logic's pcic controller.
77Compatible with the i82365SL Step C with the addition of a different
783.3V control.
79.It Ricoh RF5C296
80.It Ricoh RF5C396
81Ricoh's pccard bridge chips.
82These are compatible with the i82365SL Step C, but with yet another
83different 3.3V control.
84.It Vadem 365
85.It Vadem 465
86Compatible with i82365SL Step C.
87.It Vadem 468
88.It Vadem 469
89Like the earlier Vadem models, but with Vadem's own, incompatible, 3.3V
90control system.
91.It IBM PCIC
92.Tn IBM
93clone of the original i82365SL part, with its own ID register value.
94Has no 3.3V ability.
95.It IBM KING
96A strange clone of i82365SL.
97This part has many restrictions not found in the i82365SL, plus some
98strange power control.
99It has not been tested in ages, but is believed to work.
100Its use is believed to be confined to model of ISA card, available
101only in Japan.
102.El
103.Pp
104Many other vendors made parts in this arena, but most of them were
105compatible with one of the above chipsets.
106.Pp
107The following PCI cardbus and pcmcia bridges are supported:
108.Pp
109.Bl -tag -width "Intel i82365SL Step A" -compact
110.It Cirrus Logic PD6729
111.It Cirrus Logic PD6730
112These two might be broken at the moment.
113.It Cirrus Logic PD6832
114.It Cirrus Logic PD6833
115.Pp
116.It O2micro OZ6729
117.It O2micro OZ6730
118.It O2micro OZ6812
119.It O2micro OZ6832
120.It O2micro OZ6833
121.It O2micro OZ6836
122.It O2micro OZ6860
123.It O2micro OZ6872
124O2 Micro chips may be poorly supported because the author does not
125have good access to machines with one of these bridges in it.
126.Pp
127.It Ricoh RL4C475
128.It Ricoh RL4C476
129.It Ricoh RL4C477
130.It Ricoh RL4C478
131.Pp
132.It TI PCI-1031
133.It TI PCI-1130
134.It TI PCI-1131
135.It TI PCI-1211
136.It TI PCI-1220
137.It TI PCI-1221
138.It TI PCI-1225
139.It TI PCI-1250
140.It TI PCI-1251
141.It TI PCI-1251B
142.It TI PCI-1410
143.It TI PCI-1420
144.It TI PCI-1450
145.It TI PCI-1451
146.It TI PCI-4451
147.Pp
148.It Toshiba ToPIC95
149.It Toshiba ToPIC97
150.It Toshiba ToPIC100
151.El
152.Sh FILES
153.Bl -tag -width ".Pa /dev/card0" -compact
154.It Pa /dev/card0
155Character device for the
156.Nm
157driver.
158.El
159.Sh MODES OF OPERATION
160The ISA device supports routing ISA interrupts only.
161You cannot share ISA interrupts.
162Every interrupt must be unique.
163.Pp
164The PCI device supports routing ISA or PCI interrupts.
165PCI interrupts are sharable.
166ISA interrupts are not sharable.
167PCI interrupts should be used unless your machine has a specific problem using
168them.
169.Pp
170PCI interrupt routing is the default for PCI devices.
171Some older laptops require ISA interrupt routing to work properly.
172To enable ISA interrupt routing, you must set the tunable
173.Li hw.pcic.intr_path=1
174in
175.Pa /boot/loader.conf .
176For the present, unless you have a one slot machine, you should set
177.Li hw.pcic.irq=0
178to force polling mode.
179Two slot machines have minor issues with using an ISA interrupt for the
180CSC interrupt.
181.Sh TUNABLES
182.Bl -tag -width indent
183.It Va hw.pcic.ignore_function_1
184Needed for some, improperly manufactured PCI cards made by Orinoco.
185It disables function 1 completely.
186Set to 0 to enable function 1.
187Set to 1 to disable function 1.
188This tunable generally should not be needed on laptops.
189The default is 0.
190.It Va hw.pcic.init_routing
191Some machines can tolerate interrupt routing selection at the cardbus
192bridge level.
193Others fail when you mess with these registers.
194Set to 1 to force the chipset to route via parallel PCI interrupts (as
195well as a few other little things).
196Setting to 0, the default, forces the code to leave these registers as the
197code finds them.
198Most laptops will not need to set this tunable.
199Many PCI cards with cardbus chips on them are believed to need this
200tunable set to 1.
201The default is 0.
202.It Va hw.pcic.intr_path
203Should PCI pcic devices route interrupts via ISA or PCI.
204A value of 1 means route via ISA.
205A value of 2 means route via PCI.
206This is ignored for the ISA device.
207Many older laptops do not have PCI BIOS implementations that
208.Fx
209can use to route interrupts properly.
210These laptops may need to set this to 1 and
211.Va hw.pcic.irq
212to a value
213(or 0 for polling).
214The default is 2.
215.It Va hw.pcic.irq
216Overrides the IRQ to use for ISA interrupt routing of the CSC or
217management interrupt.
218If you are using the ISA device, you can set this tunable, or use the
219.Cd "irq N"
220clause in config file.
221If you are using a PCI device in ISA interrupt mode (see
222.Va hw.pcic.intr_path ) ,
223then you must set the interrupt with this
224sysctl, or polling mode will be used.
225Due to limitations in the tunable system, only one interrupt can be selected
226for all cards.
227Systems with multiple PCI bridges that need to use ISA routing are encouraged
228to use polling mode on each of the cards.
229The default is 0.
230.El
231.Sh HISTORY
232Too long to detail in the man page.
233.Sh BUGS
234Too many to list.
235Some are the fault of the standard.
236Some are the fault of bad standard compliance.
237Some are Warner's fault.
238