blob: 82d10b6661c73cd2a6ddfc888a63670e9084a7ae [file] [log] [blame]
Thomas Gleixnerec8f24b2019-05-19 13:07:45 +01001# SPDX-License-Identifier: GPL-2.0-only
Linus Torvalds1da177e2005-04-16 15:20:36 -07002#
Dominik Brodowskibf45d9b02005-07-07 17:58:58 -07003# PCCARD (PCMCIA/CardBus) bus subsystem configuration
Linus Torvalds1da177e2005-04-16 15:20:36 -07004#
5
Jan Engelhardt42c53232007-10-16 01:23:48 -07006menuconfig PCCARD
Linus Torvalds1da177e2005-04-16 15:20:36 -07007 tristate "PCCard (PCMCIA/CardBus) support"
Christoph Hellwig8fb71ef2018-11-15 20:05:35 +01008 depends on !UML
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +09009 help
Linus Torvalds1da177e2005-04-16 15:20:36 -070010 Say Y here if you want to attach PCMCIA- or PC-cards to your Linux
11 computer. These are credit-card size devices such as network cards,
12 modems or hard drives often used with laptops computers. There are
Dominik Brodowski9a5555b2005-06-27 16:28:47 -070013 actually two varieties of these cards: 16 bit PCMCIA and 32 bit
14 CardBus cards.
Linus Torvalds1da177e2005-04-16 15:20:36 -070015
16 To compile this driver as modules, choose M here: the
17 module will be called pcmcia_core.
18
19if PCCARD
20
Linus Torvalds1da177e2005-04-16 15:20:36 -070021config PCMCIA
22 tristate "16-bit PCMCIA support"
Dominik Brodowskif861bd22005-06-27 16:28:57 -070023 select CRC32
Linus Torvalds1da177e2005-04-16 15:20:36 -070024 default y
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +090025 help
Linus Torvalds1da177e2005-04-16 15:20:36 -070026 This option enables support for 16-bit PCMCIA cards. Most older
27 PC-cards are such 16-bit PCMCIA cards, so unless you know you're
28 only using 32-bit CardBus cards, say Y or M here.
29
Dominik Brodowski9a5555b2005-06-27 16:28:47 -070030 To use 16-bit PCMCIA cards, you will need supporting software in
31 most cases. (see the file <file:Documentation/Changes> for
32 location and details).
Linus Torvalds1da177e2005-04-16 15:20:36 -070033
34 To compile this driver as modules, choose M here: the
35 module will be called pcmcia.
36
37 If unsure, say Y.
38
Dominik Brodowskidaa95172005-06-27 16:28:14 -070039config PCMCIA_LOAD_CIS
Kees Cook204911f2012-10-02 11:18:44 -070040 bool "Load CIS updates from userspace"
41 depends on PCMCIA
Dominik Brodowskidaa95172005-06-27 16:28:14 -070042 select FW_LOADER
43 default y
44 help
45 Some PCMCIA cards require an updated Card Information Structure (CIS)
46 to be loaded from userspace to work correctly. If you say Y here,
47 and your userspace is arranged correctly, this will be loaded
48 automatically using the in-kernel firmware loader and the hotplug
49 subsystem, instead of relying on cardmgr from pcmcia-cs to do so.
50
51 If unsure, say Y.
52
Linus Torvalds1da177e2005-04-16 15:20:36 -070053config CARDBUS
Dominik Brodowski9fea84f2009-12-07 22:11:45 +010054 bool "32-bit CardBus support"
Linus Torvalds1da177e2005-04-16 15:20:36 -070055 depends on PCI
56 default y
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +090057 help
Linus Torvalds1da177e2005-04-16 15:20:36 -070058 CardBus is a bus mastering architecture for PC-cards, which allows
59 for 32 bit PC-cards (the original PCMCIA standard specifies only
60 a 16 bit wide bus). Many newer PC-cards are actually CardBus cards.
61
62 To use 32 bit PC-cards, you also need a CardBus compatible host
63 bridge. Virtually all modern PCMCIA bridges do this, and most of
64 them are "yenta-compatible", so say Y or M there, too.
65
66 If unsure, say Y.
67
Russell Kingbebdf982018-11-28 13:57:23 +000068config PCMCIA_MAX1600
69 tristate
70
Linus Torvalds1da177e2005-04-16 15:20:36 -070071comment "PC-card bridges"
72
73config YENTA
74 tristate "CardBus yenta-compatible bridge support"
Dominik Brodowski89b39f52005-07-07 17:59:09 -070075 depends on PCI
David Rientjes6a108a12011-01-20 14:44:16 -080076 select CARDBUS if !EXPERT
Greg Kroah-Hartman3d7a8272015-03-11 14:21:23 +010077 select PCCARD_NONSTATIC if PCMCIA != n
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +090078 help
Linus Torvalds1da177e2005-04-16 15:20:36 -070079 This option enables support for CardBus host bridges. Virtually
Dominik Brodowski9fea84f2009-12-07 22:11:45 +010080 all modern PCMCIA bridges are CardBus compatible. A "bridge" is
81 the hardware inside your computer that PCMCIA cards are plugged
Linus Torvalds1da177e2005-04-16 15:20:36 -070082 into.
83
84 To compile this driver as modules, choose M here: the
85 module will be called yenta_socket.
86
87 If unsure, say Y.
88
Daniel Ritz63e7ebd2005-11-03 21:12:14 +010089config YENTA_O2
90 default y
David Rientjes6a108a12011-01-20 14:44:16 -080091 bool "Special initialization for O2Micro bridges" if EXPERT
Daniel Ritz63e7ebd2005-11-03 21:12:14 +010092 depends on YENTA
93
94config YENTA_RICOH
95 default y
David Rientjes6a108a12011-01-20 14:44:16 -080096 bool "Special initialization for Ricoh bridges" if EXPERT
Daniel Ritz63e7ebd2005-11-03 21:12:14 +010097 depends on YENTA
98
99config YENTA_TI
100 default y
David Rientjes6a108a12011-01-20 14:44:16 -0800101 bool "Special initialization for TI and EnE bridges" if EXPERT
Daniel Ritz63e7ebd2005-11-03 21:12:14 +0100102 depends on YENTA
103
104config YENTA_ENE_TUNE
105 default y
David Rientjes6a108a12011-01-20 14:44:16 -0800106 bool "Auto-tune EnE bridges for CB cards" if EXPERT
Daniel Ritz63e7ebd2005-11-03 21:12:14 +0100107 depends on YENTA_TI && CARDBUS
108
109config YENTA_TOSHIBA
110 default y
David Rientjes6a108a12011-01-20 14:44:16 -0800111 bool "Special initialization for Toshiba ToPIC bridges" if EXPERT
Daniel Ritz63e7ebd2005-11-03 21:12:14 +0100112 depends on YENTA
113
Linus Torvalds1da177e2005-04-16 15:20:36 -0700114config PD6729
115 tristate "Cirrus PD6729 compatible bridge support"
116 depends on PCMCIA && PCI
Greg Kroah-Hartman3d7a8272015-03-11 14:21:23 +0100117 select PCCARD_NONSTATIC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700118 help
119 This provides support for the Cirrus PD6729 PCI-to-PCMCIA bridge
120 device, found in some older laptops and PCMCIA card readers.
121
122config I82092
123 tristate "i82092 compatible bridge support"
124 depends on PCMCIA && PCI
Greg Kroah-Hartman3d7a8272015-03-11 14:21:23 +0100125 select PCCARD_NONSTATIC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700126 help
127 This provides support for the Intel I82092AA PCI-to-PCMCIA bridge device,
128 found in some older laptops and more commonly in evaluation boards for the
129 chip.
130
131config I82365
132 tristate "i82365 compatible bridge support"
133 depends on PCMCIA && ISA
134 select PCCARD_NONSTATIC
135 help
136 Say Y here to include support for ISA-bus PCMCIA host bridges that
137 are register compatible with the Intel i82365. These are found on
138 older laptops and ISA-bus card readers for desktop systems. A
139 "bridge" is the hardware inside your computer that PCMCIA cards are
140 plugged into. If unsure, say N.
141
142config TCIC
143 tristate "Databook TCIC host bridge support"
Komuro81000802005-09-24 23:12:40 -0700144 depends on PCMCIA && ISA
Linus Torvalds1da177e2005-04-16 15:20:36 -0700145 select PCCARD_NONSTATIC
146 help
147 Say Y here to include support for the Databook TCIC family of PCMCIA
148 host bridges. These are only found on a handful of old systems.
149 "Bridge" is the name used for the hardware inside your computer that
150 PCMCIA cards are plugged into. If unsure, say N.
151
Manuel Lauss66213b32009-10-04 14:55:27 +0200152config PCMCIA_ALCHEMY_DEVBOARD
153 tristate "Alchemy Db/Pb1xxx PCMCIA socket services"
Manuel Lauss42a4f172010-07-15 21:45:04 +0200154 depends on MIPS_ALCHEMY && PCMCIA
Manuel Lauss66213b32009-10-04 14:55:27 +0200155 help
156 Enable this driver of you want PCMCIA support on your Alchemy
Manuel Lauss64cd04d2011-11-10 12:03:26 +0000157 Db1000, Db/Pb1100, Db/Pb1500, Db/Pb1550, Db/Pb1200, DB1300
158 board. NOT suitable for the PB1000!
Manuel Lauss66213b32009-10-04 14:55:27 +0200159
160 This driver is also available as a module called db1xxx_ss.ko
161
Manuel Lauss0273b4e2009-10-04 14:55:29 +0200162config PCMCIA_XXS1500
163 tristate "MyCable XXS1500 PCMCIA socket support"
164 depends on PCMCIA && MIPS_XXS1500
Manuel Lauss0273b4e2009-10-04 14:55:29 +0200165 help
166 Support for the PCMCIA/CF socket interface on MyCable XXS1500
167 systems.
168
169 This driver is also available as a module called xxs1500_ss.ko
170
Maxime Bizon553d6d52009-09-28 14:49:43 +0200171config PCMCIA_BCM63XX
172 tristate "bcm63xx pcmcia support"
173 depends on BCM63XX && PCMCIA
174
Russell King - ARM Linux0f767de2009-03-26 21:14:19 +0000175config PCMCIA_SOC_COMMON
Russell King1bf8e622009-12-06 16:58:50 +0000176 tristate
Russell King - ARM Linux0f767de2009-03-26 21:14:19 +0000177
Russell King136b7582012-01-17 22:36:45 +0000178config PCMCIA_SA11XX_BASE
179 tristate
180
Linus Torvalds1da177e2005-04-16 15:20:36 -0700181config PCMCIA_SA1100
182 tristate "SA1100 support"
183 depends on ARM && ARCH_SA1100 && PCMCIA
Russell King - ARM Linux0f767de2009-03-26 21:14:19 +0000184 select PCMCIA_SOC_COMMON
Russell King136b7582012-01-17 22:36:45 +0000185 select PCMCIA_SA11XX_BASE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700186 help
187 Say Y here to include support for SA11x0-based PCMCIA or CF
188 sockets, found on HP iPAQs, Yopy, and other StrongARM(R)/
189 Xscale(R) embedded machines.
190
191 This driver is also available as a module called sa1100_cs.
192
193config PCMCIA_SA1111
194 tristate "SA1111 support"
Russell King11990b22012-01-17 22:43:20 +0000195 depends on ARM && SA1111 && PCMCIA
Russell King - ARM Linux0f767de2009-03-26 21:14:19 +0000196 select PCMCIA_SOC_COMMON
Russell King11990b22012-01-17 22:43:20 +0000197 select PCMCIA_SA11XX_BASE if ARCH_SA1100
Arnd Bergmannf1674f22014-06-05 23:05:48 +0200198 select PCMCIA_PXA2XX if ARCH_LUBBOCK && SA1111
Russell Kinge2125d02018-11-28 13:57:23 +0000199 select PCMCIA_MAX1600 if ASSABET_NEPONSET
Russell Kingf1f05ee2018-11-28 13:57:23 +0000200 select PCMCIA_MAX1600 if ARCH_LUBBOCK && SA1111
Linus Torvalds1da177e2005-04-16 15:20:36 -0700201 help
202 Say Y here to include support for SA1111-based PCMCIA or CF
203 sockets, found on the Jornada 720, Graphicsmaster and other
204 StrongARM(R)/Xscale(R) embedded machines.
205
206 This driver is also available as a module called sa1111_cs.
207
208config PCMCIA_PXA2XX
209 tristate "PXA2xx support"
210 depends on ARM && ARCH_PXA && PCMCIA
Marek VaĊĦut35978402008-07-07 17:28:59 +0100211 depends on (ARCH_LUBBOCK || MACH_MAINSTONE || PXA_SHARPSL \
Russell Kingcc513ac2008-10-07 19:08:32 +0100212 || MACH_ARMCORE || ARCH_PXA_PALM || TRIZEPS_PCMCIA \
Marek Vasutaddff0f2010-03-10 04:16:28 +0100213 || ARCOM_PCMCIA || ARCH_PXA_ESERIES || MACH_STARGATE2 \
Marek Vasutfd629992010-08-11 05:04:53 +0200214 || MACH_VPAC270 || MACH_BALLOON3 || MACH_COLIBRI \
Paul Parsons95244302012-05-06 01:09:19 +0100215 || MACH_COLIBRI320 || MACH_H4700)
Russell King - ARM Linux0f767de2009-03-26 21:14:19 +0000216 select PCMCIA_SOC_COMMON
Russell King34fdbe62018-11-28 13:57:23 +0000217 select PCMCIA_MAX1600 if MACH_MAINSTONE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700218 help
219 Say Y here to include support for the PXA2xx PCMCIA controller
220
Dominik Brodowskic9f50dd2009-10-23 12:56:46 +0200221config PCMCIA_DEBUG
222 bool "Enable debugging"
223 depends on (PCMCIA_SA1111 || PCMCIA_SA1100 || PCMCIA_PXA2XX)
224 help
225 Say Y here to enable debugging for the SoC PCMCIA layer.
226 You will need to choose the debugging level either via the
227 kernel command line, or module options depending whether
228 you build the drivers as modules.
229
230 The kernel command line options are:
231 sa11xx_core.pc_debug=N
232 pxa2xx_core.pc_debug=N
233
234 The module option is called pc_debug=N
235
236 In all the above examples, N is the debugging verbosity
237 level.
238
Linus Torvalds1da177e2005-04-16 15:20:36 -0700239config PCMCIA_PROBE
240 bool
Alexander Shiyanea6add02013-06-16 22:42:05 +0400241 default y if ISA && !ARCH_SA1100 && !PARISC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700242
Linus Torvalds1da177e2005-04-16 15:20:36 -0700243config PCMCIA_VRC4171
244 tristate "NEC VRC4171 Card Controllers support"
Yoichi Yuasadaaeb722006-04-06 15:08:29 +0900245 depends on CPU_VR41XX && ISA && PCMCIA
Linus Torvalds1da177e2005-04-16 15:20:36 -0700246
247config PCMCIA_VRC4173
248 tristate "NEC VRC4173 CARDU support"
249 depends on CPU_VR41XX && PCI && PCMCIA
250
David Brownellf74e48a2005-09-09 13:03:28 -0700251config OMAP_CF
252 tristate "OMAP CompactFlash Controller"
253 depends on PCMCIA && ARCH_OMAP16XX
254 help
255 Say Y here to support the CompactFlash controller on OMAP.
256 Note that this doesn't support "True IDE" mode.
257
Andrew Victor2c1f3b72006-02-21 12:56:52 +0200258config AT91_CF
259 tristate "AT91 CompactFlash Controller"
Arnd Bergmann1be27c62015-03-12 15:54:23 +0100260 depends on PCI
Joachim Eastwooded9084e2013-06-06 10:24:18 +0200261 depends on PCMCIA && ARCH_AT91
Andrew Victor2c1f3b72006-02-21 12:56:52 +0200262 help
263 Say Y here to support the CompactFlash controller on AT91 chips.
264 Or choose M to compile the driver as a module named "at91_cf".
265
Olof Johansson2b571a02007-10-16 23:26:20 -0700266config ELECTRA_CF
267 tristate "Electra CompactFlash Controller"
268 depends on PCMCIA && PPC_PASEMI
269 help
270 Say Y here to support the CompactFlash controller on the
271 PA Semi Electra eval board.
272
Linus Torvalds1da177e2005-04-16 15:20:36 -0700273config PCCARD_NONSTATIC
Dominik Brodowski49b11532010-03-07 16:41:57 +0100274 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700275
Dominik Brodowski3b27e942005-12-07 12:32:20 +0100276config PCCARD_IODYN
277 bool
278
Linus Torvalds1da177e2005-04-16 15:20:36 -0700279endif # PCCARD