blob: a44733d44ca15a84268b8d7415a512ca21cedfcc [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#
Dominik Brodowskibf45d9b02005-07-07 17:58:58 -07002# PCCARD (PCMCIA/CardBus) bus subsystem configuration
Linus Torvalds1da177e2005-04-16 15:20:36 -07003#
4
Jan Engelhardt42c53232007-10-16 01:23:48 -07005menuconfig PCCARD
Linus Torvalds1da177e2005-04-16 15:20:36 -07006 tristate "PCCard (PCMCIA/CardBus) support"
Andrew Morton135c2942006-07-10 04:43:48 -07007 depends on HOTPLUG
Linus Torvalds1da177e2005-04-16 15:20:36 -07008 ---help---
9 Say Y here if you want to attach PCMCIA- or PC-cards to your Linux
10 computer. These are credit-card size devices such as network cards,
11 modems or hard drives often used with laptops computers. There are
Dominik Brodowski9a5555b2005-06-27 16:28:47 -070012 actually two varieties of these cards: 16 bit PCMCIA and 32 bit
13 CardBus cards.
Linus Torvalds1da177e2005-04-16 15:20:36 -070014
15 To compile this driver as modules, choose M here: the
16 module will be called pcmcia_core.
17
18if PCCARD
19
Linus Torvalds1da177e2005-04-16 15:20:36 -070020config PCMCIA
21 tristate "16-bit PCMCIA support"
Dominik Brodowskif861bd22005-06-27 16:28:57 -070022 select CRC32
Linus Torvalds1da177e2005-04-16 15:20:36 -070023 default y
24 ---help---
25 This option enables support for 16-bit PCMCIA cards. Most older
26 PC-cards are such 16-bit PCMCIA cards, so unless you know you're
27 only using 32-bit CardBus cards, say Y or M here.
28
Dominik Brodowski9a5555b2005-06-27 16:28:47 -070029 To use 16-bit PCMCIA cards, you will need supporting software in
30 most cases. (see the file <file:Documentation/Changes> for
31 location and details).
Linus Torvalds1da177e2005-04-16 15:20:36 -070032
33 To compile this driver as modules, choose M here: the
34 module will be called pcmcia.
35
36 If unsure, say Y.
37
Dominik Brodowskidaa95172005-06-27 16:28:14 -070038config PCMCIA_LOAD_CIS
39 bool "Load CIS updates from userspace (EXPERIMENTAL)"
40 depends on PCMCIA && EXPERIMENTAL
41 select FW_LOADER
42 default y
43 help
44 Some PCMCIA cards require an updated Card Information Structure (CIS)
45 to be loaded from userspace to work correctly. If you say Y here,
46 and your userspace is arranged correctly, this will be loaded
47 automatically using the in-kernel firmware loader and the hotplug
48 subsystem, instead of relying on cardmgr from pcmcia-cs to do so.
49
50 If unsure, say Y.
51
Dominik Brodowski9a5555b2005-06-27 16:28:47 -070052config PCMCIA_IOCTL
Dominik Brodowskibf45d9b02005-07-07 17:58:58 -070053 bool "PCMCIA control ioctl (obsolete)"
Dominik Brodowskia3f916f2010-01-15 23:55:21 +010054 depends on PCMCIA && ARM && !SMP && !PREEMPT
Dominik Brodowski9a5555b2005-06-27 16:28:47 -070055 default y
56 help
57 If you say Y here, the deprecated ioctl interface to the PCMCIA
Dominik Brodowskia3f916f2010-01-15 23:55:21 +010058 subsystem will be built. It is needed by the deprecated pcmcia-cs
59 tools (cardmgr, cardctl) to function properly.
Dominik Brodowski9a5555b2005-06-27 16:28:47 -070060
Dominik Brodowskibf45d9b02005-07-07 17:58:58 -070061 You should use the new pcmciautils package instead (see
62 <file:Documentation/Changes> for location and details).
Dominik Brodowski9a5555b2005-06-27 16:28:47 -070063
Dominik Brodowskia3f916f2010-01-15 23:55:21 +010064 This config option will most likely be removed from kernel 2.6.35,
65 the associated code from kernel 2.6.36.
66
67 As the PCMCIA ioctl is not locking safe, it depends on !SMP and
68 !PREEMPT.
69
70 If unsure, say N.
Dominik Brodowski9a5555b2005-06-27 16:28:47 -070071
Linus Torvalds1da177e2005-04-16 15:20:36 -070072config CARDBUS
Dominik Brodowski9fea84f2009-12-07 22:11:45 +010073 bool "32-bit CardBus support"
Linus Torvalds1da177e2005-04-16 15:20:36 -070074 depends on PCI
75 default y
76 ---help---
77 CardBus is a bus mastering architecture for PC-cards, which allows
78 for 32 bit PC-cards (the original PCMCIA standard specifies only
79 a 16 bit wide bus). Many newer PC-cards are actually CardBus cards.
80
81 To use 32 bit PC-cards, you also need a CardBus compatible host
82 bridge. Virtually all modern PCMCIA bridges do this, and most of
83 them are "yenta-compatible", so say Y or M there, too.
84
85 If unsure, say Y.
86
87comment "PC-card bridges"
88
89config YENTA
90 tristate "CardBus yenta-compatible bridge support"
Dominik Brodowski89b39f52005-07-07 17:59:09 -070091 depends on PCI
92 select CARDBUS if !EMBEDDED
Michal Marek9d9c98e2010-01-07 21:03:11 +010093 select PCCARD_NONSTATIC if PCMCIA != n
Linus Torvalds1da177e2005-04-16 15:20:36 -070094 ---help---
95 This option enables support for CardBus host bridges. Virtually
Dominik Brodowski9fea84f2009-12-07 22:11:45 +010096 all modern PCMCIA bridges are CardBus compatible. A "bridge" is
97 the hardware inside your computer that PCMCIA cards are plugged
Linus Torvalds1da177e2005-04-16 15:20:36 -070098 into.
99
100 To compile this driver as modules, choose M here: the
101 module will be called yenta_socket.
102
103 If unsure, say Y.
104
Daniel Ritz63e7ebd2005-11-03 21:12:14 +0100105config YENTA_O2
106 default y
107 bool "Special initialization for O2Micro bridges" if EMBEDDED
108 depends on YENTA
109
110config YENTA_RICOH
111 default y
112 bool "Special initialization for Ricoh bridges" if EMBEDDED
113 depends on YENTA
114
115config YENTA_TI
116 default y
117 bool "Special initialization for TI and EnE bridges" if EMBEDDED
118 depends on YENTA
119
120config YENTA_ENE_TUNE
121 default y
122 bool "Auto-tune EnE bridges for CB cards" if EMBEDDED
123 depends on YENTA_TI && CARDBUS
124
125config YENTA_TOSHIBA
126 default y
127 bool "Special initialization for Toshiba ToPIC bridges" if EMBEDDED
128 depends on YENTA
129
Linus Torvalds1da177e2005-04-16 15:20:36 -0700130config PD6729
131 tristate "Cirrus PD6729 compatible bridge support"
132 depends on PCMCIA && PCI
133 select PCCARD_NONSTATIC
134 help
135 This provides support for the Cirrus PD6729 PCI-to-PCMCIA bridge
136 device, found in some older laptops and PCMCIA card readers.
137
138config I82092
139 tristate "i82092 compatible bridge support"
140 depends on PCMCIA && PCI
141 select PCCARD_NONSTATIC
142 help
143 This provides support for the Intel I82092AA PCI-to-PCMCIA bridge device,
144 found in some older laptops and more commonly in evaluation boards for the
145 chip.
146
147config I82365
148 tristate "i82365 compatible bridge support"
149 depends on PCMCIA && ISA
150 select PCCARD_NONSTATIC
151 help
152 Say Y here to include support for ISA-bus PCMCIA host bridges that
153 are register compatible with the Intel i82365. These are found on
154 older laptops and ISA-bus card readers for desktop systems. A
155 "bridge" is the hardware inside your computer that PCMCIA cards are
156 plugged into. If unsure, say N.
157
158config TCIC
159 tristate "Databook TCIC host bridge support"
Komuro81000802005-09-24 23:12:40 -0700160 depends on PCMCIA && ISA
Linus Torvalds1da177e2005-04-16 15:20:36 -0700161 select PCCARD_NONSTATIC
162 help
163 Say Y here to include support for the Databook TCIC family of PCMCIA
164 host bridges. These are only found on a handful of old systems.
165 "Bridge" is the name used for the hardware inside your computer that
166 PCMCIA cards are plugged into. If unsure, say N.
167
Marcelo Tosattide957c82005-10-28 17:46:13 -0700168config PCMCIA_M8XX
Vitaly Bordug80128ff2007-07-09 11:37:35 -0700169 tristate "MPC8xx PCMCIA support"
Michal Marek9d9c98e2010-01-07 21:03:11 +0100170 depends on PCCARD && PPC && 8xx
171 select PCCARD_IODYN if PCMCIA != n
Vitaly Bordug80128ff2007-07-09 11:37:35 -0700172 help
173 Say Y here to include support for PowerPC 8xx series PCMCIA
174 controller.
Marcelo Tosattide957c82005-10-28 17:46:13 -0700175
Vitaly Bordug80128ff2007-07-09 11:37:35 -0700176 This driver is also available as a module called m8xx_pcmcia.
Marcelo Tosattide957c82005-10-28 17:46:13 -0700177
Linus Torvalds1da177e2005-04-16 15:20:36 -0700178config PCMCIA_AU1X00
179 tristate "Au1x00 pcmcia support"
180 depends on SOC_AU1X00 && PCMCIA
181
Manuel Lauss66213b32009-10-04 14:55:27 +0200182config PCMCIA_ALCHEMY_DEVBOARD
183 tristate "Alchemy Db/Pb1xxx PCMCIA socket services"
184 depends on SOC_AU1X00 && PCMCIA
185 select 64BIT_PHYS_ADDR
186 help
187 Enable this driver of you want PCMCIA support on your Alchemy
188 Db1000, Db/Pb1100, Db/Pb1500, Db/Pb1550, Db/Pb1200 board.
189 NOT suitable for the PB1000!
190
191 This driver is also available as a module called db1xxx_ss.ko
192
Manuel Lauss0273b4e2009-10-04 14:55:29 +0200193config PCMCIA_XXS1500
194 tristate "MyCable XXS1500 PCMCIA socket support"
195 depends on PCMCIA && MIPS_XXS1500
196 select 64BIT_PHYS_ADDR
197 help
198 Support for the PCMCIA/CF socket interface on MyCable XXS1500
199 systems.
200
201 This driver is also available as a module called xxs1500_ss.ko
202
Maxime Bizon553d6d52009-09-28 14:49:43 +0200203config PCMCIA_BCM63XX
204 tristate "bcm63xx pcmcia support"
205 depends on BCM63XX && PCMCIA
206
Russell King - ARM Linux0f767de2009-03-26 21:14:19 +0000207config PCMCIA_SOC_COMMON
Russell King1bf8e622009-12-06 16:58:50 +0000208 tristate
Russell King - ARM Linux0f767de2009-03-26 21:14:19 +0000209
Linus Torvalds1da177e2005-04-16 15:20:36 -0700210config PCMCIA_SA1100
211 tristate "SA1100 support"
212 depends on ARM && ARCH_SA1100 && PCMCIA
Russell King - ARM Linux0f767de2009-03-26 21:14:19 +0000213 select PCMCIA_SOC_COMMON
Linus Torvalds1da177e2005-04-16 15:20:36 -0700214 help
215 Say Y here to include support for SA11x0-based PCMCIA or CF
216 sockets, found on HP iPAQs, Yopy, and other StrongARM(R)/
217 Xscale(R) embedded machines.
218
219 This driver is also available as a module called sa1100_cs.
220
221config PCMCIA_SA1111
222 tristate "SA1111 support"
223 depends on ARM && ARCH_SA1100 && SA1111 && PCMCIA
Russell King - ARM Linux0f767de2009-03-26 21:14:19 +0000224 select PCMCIA_SOC_COMMON
Linus Torvalds1da177e2005-04-16 15:20:36 -0700225 help
226 Say Y here to include support for SA1111-based PCMCIA or CF
227 sockets, found on the Jornada 720, Graphicsmaster and other
228 StrongARM(R)/Xscale(R) embedded machines.
229
230 This driver is also available as a module called sa1111_cs.
231
232config PCMCIA_PXA2XX
233 tristate "PXA2xx support"
234 depends on ARM && ARCH_PXA && PCMCIA
Marek VaĊĦut35978402008-07-07 17:28:59 +0100235 depends on (ARCH_LUBBOCK || MACH_MAINSTONE || PXA_SHARPSL \
Russell Kingcc513ac2008-10-07 19:08:32 +0100236 || MACH_ARMCORE || ARCH_PXA_PALM || TRIZEPS_PCMCIA \
Marek Vasutaddff0f2010-03-10 04:16:28 +0100237 || ARCOM_PCMCIA || ARCH_PXA_ESERIES || MACH_STARGATE2 \
238 || MACH_VPAC270)
Russell King - ARM Linux0f767de2009-03-26 21:14:19 +0000239 select PCMCIA_SOC_COMMON
Linus Torvalds1da177e2005-04-16 15:20:36 -0700240 help
241 Say Y here to include support for the PXA2xx PCMCIA controller
242
Dominik Brodowskic9f50dd2009-10-23 12:56:46 +0200243config PCMCIA_DEBUG
244 bool "Enable debugging"
245 depends on (PCMCIA_SA1111 || PCMCIA_SA1100 || PCMCIA_PXA2XX)
246 help
247 Say Y here to enable debugging for the SoC PCMCIA layer.
248 You will need to choose the debugging level either via the
249 kernel command line, or module options depending whether
250 you build the drivers as modules.
251
252 The kernel command line options are:
253 sa11xx_core.pc_debug=N
254 pxa2xx_core.pc_debug=N
255
256 The module option is called pc_debug=N
257
258 In all the above examples, N is the debugging verbosity
259 level.
260
Linus Torvalds1da177e2005-04-16 15:20:36 -0700261config PCMCIA_PROBE
262 bool
Dominik Brodowski6423efa2005-12-11 20:47:44 +0100263 default y if ISA && !ARCH_SA1100 && !ARCH_CLPS711X && !PARISC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700264
265config M32R_PCC
266 bool "M32R PCMCIA I/F"
267 depends on M32R && CHIP_M32700 && PCMCIA
268 help
269 Say Y here to use the M32R PCMCIA controller.
270
271config M32R_CFC
272 bool "M32R CF I/F Controller"
Hirokazu Takata934bb7f2005-06-21 17:16:14 -0700273 depends on M32R && (PLAT_USRV || PLAT_M32700UT || PLAT_MAPPI2 || PLAT_MAPPI3 || PLAT_OPSPUT)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700274 help
275 Say Y here to use the M32R CompactFlash controller.
276
277config M32R_CFC_NUM
278 int "M32R CF I/F number"
279 depends on M32R_CFC
Hirokazu Takata934bb7f2005-06-21 17:16:14 -0700280 default "1" if PLAT_USRV || PLAT_M32700UT || PLAT_MAPPI2 || PLAT_MAPPI3 || PLAT_OPSPUT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700281 help
282 Set the number of M32R CF slots.
283
284config PCMCIA_VRC4171
285 tristate "NEC VRC4171 Card Controllers support"
Yoichi Yuasadaaeb722006-04-06 15:08:29 +0900286 depends on CPU_VR41XX && ISA && PCMCIA
Linus Torvalds1da177e2005-04-16 15:20:36 -0700287
288config PCMCIA_VRC4173
289 tristate "NEC VRC4173 CARDU support"
290 depends on CPU_VR41XX && PCI && PCMCIA
291
David Brownellf74e48a2005-09-09 13:03:28 -0700292config OMAP_CF
293 tristate "OMAP CompactFlash Controller"
294 depends on PCMCIA && ARCH_OMAP16XX
295 help
296 Say Y here to support the CompactFlash controller on OMAP.
297 Note that this doesn't support "True IDE" mode.
298
Michael Hennerich785e8212008-06-11 09:06:16 +0200299config BFIN_CFPCMCIA
300 tristate "Blackfin CompactFlash PCMCIA Driver"
301 depends on PCMCIA && BLACKFIN
302 help
303 Say Y here to support the CompactFlash PCMCIA driver for Blackfin.
304
305
Andrew Victor2c1f3b72006-02-21 12:56:52 +0200306config AT91_CF
307 tristate "AT91 CompactFlash Controller"
308 depends on PCMCIA && ARCH_AT91RM9200
309 help
310 Say Y here to support the CompactFlash controller on AT91 chips.
311 Or choose M to compile the driver as a module named "at91_cf".
312
Olof Johansson2b571a02007-10-16 23:26:20 -0700313config ELECTRA_CF
314 tristate "Electra CompactFlash Controller"
315 depends on PCMCIA && PPC_PASEMI
316 help
317 Say Y here to support the CompactFlash controller on the
318 PA Semi Electra eval board.
319
Linus Torvalds1da177e2005-04-16 15:20:36 -0700320config PCCARD_NONSTATIC
321 tristate
322
Dominik Brodowski3b27e942005-12-07 12:32:20 +0100323config PCCARD_IODYN
324 bool
325
Linus Torvalds1da177e2005-04-16 15:20:36 -0700326endif # PCCARD