Initial import from FreeBSD RELENG_4:
[dragonfly.git] / share / man / man4 / pcic.4
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: src/share/man/man4/pcic.4,v 1.2.2.2 2001/12/17 11:30:12 ru Exp $
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
37 The
38 .Nm
39 driver controls the pccard subsystem.
40 The
41 .Nm
42 driver supports most
43 .Tn ExCA
44 devices attached to either
45 .Tn ISA
46 or
47 .Tn PCI
48 bus.
49 The
50 .Nm
51 driver does not support the so-called TCIC controllers made by
52 Databook.
53 Nor does it support the MECIA chipset found in some early PC98
54 NOTE PC machines.
55 The mecia driver now supports that bridge.
56 .Pp
57 The following
58 .Tn ISA
59 devices, 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
66 original 16-bit pccard controller.
67 .It Intel i82365SL-DF
68 .Tn Intel Ns 's
69 last version of this device.
70 3.3V support was added.
71 .It VLSI 82C146
72 An 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
76 Cirrus Logic's pcic controller.
77 Compatible with the i82365SL Step C with the addition of a different
78 3.3V control.
79 .It Ricoh RF5C296
80 .It Ricoh RF5C396
81 Ricoh's pccard bridge chips.
82 These are compatible with the i82365SL Step C, but with yet another
83 different 3.3V control.
84 .It Vadem 365
85 .It Vadem 465
86 Compatible with i82365SL Step C.
87 .It Vadem 468
88 .It Vadem 469
89 Like the earlier Vadem models, but with Vadem's own, incompatible, 3.3V
90 control system.
91 .It IBM PCIC
92 .Tn IBM
93 clone of the original i82365SL part, with its own ID register value.
94 Has no 3.3V ability.
95 .It IBM KING
96 A strange clone of i82365SL.
97 This part has many restrictions not found in the i82365SL, plus some
98 strange power control.
99 It has not been tested in ages, but is believed to work.
100 Its use is believed to be confined to model of ISA card, available
101 only in Japan.
102 .El
103 .Pp
104 Many other vendors made parts in this arena, but most of them were
105 compatible with one of the above chipsets.
106 .Pp
107 The 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
112 These 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
124 O2 Micro chips may be poorly supported because the author does not
125 have 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
155 Character device for the
156 .Nm
157 driver.
158 .El
159 .Sh MODES OF OPERATION
160 The ISA device supports routing ISA interrupts only.
161 You cannot share ISA interrupts.
162 Every interrupt must be unique.
163 .Pp
164 The PCI device supports routing ISA or PCI interrupts.
165 PCI interrupts are sharable.
166 ISA interrupts are not sharable.
167 PCI interrupts should be used unless your machine has a specific problem using
168 them.
169 .Pp
170 PCI interrupt routing is the default for PCI devices.
171 Some older laptops require ISA interrupt routing to work properly.
172 To enable ISA interrupt routing, you must set the tunable
173 .Li hw.pcic.intr_path=1
174 in
175 .Pa /boot/loader.conf .
176 For the present, unless you have a one slot machine, you should set
177 .Li hw.pcic.irq=0
178 to force polling mode.
179 Two slot machines have minor issues with using an ISA interrupt for the
180 CSC interrupt.
181 .Sh TUNABLES
182 .Bl -tag -width indent
183 .It Va hw.pcic.ignore_function_1
184 Needed for some, improperly manufactured PCI cards made by Orinoco.
185 It disables function 1 completely.
186 Set to 0 to enable function 1.
187 Set to 1 to disable function 1.
188 This tunable generally should not be needed on laptops.
189 The default is 0.
190 .It Va hw.pcic.init_routing
191 Some machines can tolerate interrupt routing selection at the cardbus
192 bridge level.
193 Others fail when you mess with these registers.
194 Set to 1 to force the chipset to route via parallel PCI interrupts (as
195 well as a few other little things).
196 Setting to 0, the default, forces the code to leave these registers as the
197 code finds them.
198 Most laptops will not need to set this tunable.
199 Many PCI cards with cardbus chips on them are believed to need this
200 tunable set to 1.
201 The default is 0.
202 .It Va hw.pcic.intr_path
203 Should PCI pcic devices route interrupts via ISA or PCI.
204 A value of 1 means route via ISA.
205 A value of 2 means route via PCI.
206 This is ignored for the ISA device.
207 Many older laptops do not have PCI BIOS implementations that
208 .Fx
209 can use to route interrupts properly.
210 These laptops may need to set this to 1 and
211 .Va hw.pcic.irq
212 to a value
213 (or 0 for polling).
214 The default is 2.
215 .It Va hw.pcic.irq
216 Overrides the IRQ to use for ISA interrupt routing of the CSC or
217 management interrupt.
218 If you are using the ISA device, you can set this tunable, or use the
219 .Cd "irq N"
220 clause in config file.
221 If you are using a PCI device in ISA interrupt mode (see
222 .Va hw.pcic.intr_path ) ,
223 then you must set the interrupt with this
224 sysctl, or polling mode will be used.
225 Due to limitations in the tunable system, only one interrupt can be selected
226 for all cards.
227 Systems with multiple PCI bridges that need to use ISA routing are encouraged
228 to use polling mode on each of the cards.
229 The default is 0.
230 .El
231 .Sh HISTORY
232 Too long to detail in the man page.
233 .Sh BUGS
234 Too many to list.
235 Some are the fault of the standard.
236 Some are the fault of bad standard compliance.
237 Some are Warner's fault.