1# SPDX-License-Identifier: GPL-2.0-only
2#
3# PCCARD (PCMCIA/CardBus) bus subsystem configuration
4#
5
6menuconfig PCCARD
7	tristate "PCCard (PCMCIA/CardBus) support"
8	depends on !UML
9	help
10	  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
13	  actually two varieties of these cards: 16 bit PCMCIA and 32 bit
14	  CardBus cards.
15
16	  To compile this driver as modules, choose M here: the
17	  module will be called pcmcia_core.
18
19if PCCARD
20
21config PCMCIA
22	tristate "16-bit PCMCIA support"
23	select CRC32
24	default y
25	help
26	   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
30	   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).
33
34	   To compile this driver as modules, choose M here: the
35	   module will be called pcmcia.
36
37	   If unsure, say Y.
38
39config PCMCIA_LOAD_CIS
40	bool "Load CIS updates from userspace"
41	depends on PCMCIA
42	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
53config CARDBUS
54	bool "32-bit CardBus support"
55	depends on PCI
56	default y
57	help
58	  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
68config PCMCIA_MAX1600
69	tristate
70
71comment "PC-card bridges"
72
73config YENTA
74	tristate "CardBus yenta-compatible bridge support"
75	depends on PCI
76	select CARDBUS if !EXPERT
77	select PCCARD_NONSTATIC if PCMCIA != n
78	help
79	  This option enables support for CardBus host bridges.  Virtually
80	  all modern PCMCIA bridges are CardBus compatible.  A "bridge" is
81	  the hardware inside your computer that PCMCIA cards are plugged
82	  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
89config YENTA_O2
90	default y
91	bool "Special initialization for O2Micro bridges" if EXPERT
92	depends on YENTA
93
94config YENTA_RICOH
95	default y
96	bool "Special initialization for Ricoh bridges" if EXPERT
97	depends on YENTA
98
99config YENTA_TI
100	default y
101	bool "Special initialization for TI and EnE bridges" if EXPERT
102	depends on YENTA
103
104config YENTA_ENE_TUNE
105	default y
106	bool "Auto-tune EnE bridges for CB cards" if EXPERT
107	depends on YENTA_TI && CARDBUS
108
109config YENTA_TOSHIBA
110	default y
111	bool "Special initialization for Toshiba ToPIC bridges" if EXPERT
112	depends on YENTA
113
114config PD6729
115	tristate "Cirrus PD6729 compatible bridge support"
116	depends on PCMCIA && PCI
117	select PCCARD_NONSTATIC
118	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
125	select PCCARD_NONSTATIC
126	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"
144	depends on PCMCIA && ISA
145	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
152config PCMCIA_ALCHEMY_DEVBOARD
153	tristate "Alchemy Db/Pb1xxx PCMCIA socket services"
154	depends on MIPS_ALCHEMY && PCMCIA
155	help
156	  Enable this driver of you want PCMCIA support on your Alchemy
157	  Db1000, Db/Pb1100, Db/Pb1500, Db/Pb1550, Db/Pb1200, DB1300
158	  board.  NOT suitable for the PB1000!
159
160	  This driver is also available as a module called db1xxx_ss.ko
161
162config PCMCIA_XXS1500
163	tristate "MyCable XXS1500 PCMCIA socket support"
164	depends on PCMCIA && MIPS_XXS1500
165	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
171config PCMCIA_BCM63XX
172	tristate "bcm63xx pcmcia support"
173	depends on BCM63XX && PCMCIA
174
175config PCMCIA_SOC_COMMON
176	tristate
177
178config PCMCIA_SA11XX_BASE
179	tristate
180
181config PCMCIA_SA1100
182	tristate "SA1100 support"
183	depends on ARM && ARCH_SA1100 && PCMCIA
184	select PCMCIA_SOC_COMMON
185	select PCMCIA_SA11XX_BASE
186	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"
195	depends on ARM && SA1111 && PCMCIA
196	select PCMCIA_SOC_COMMON
197	select PCMCIA_SA11XX_BASE if ARCH_SA1100
198	select PCMCIA_PXA2XX if ARCH_LUBBOCK && SA1111
199	select PCMCIA_MAX1600 if ASSABET_NEPONSET
200	select PCMCIA_MAX1600 if ARCH_LUBBOCK && SA1111
201	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
211	depends on (ARCH_LUBBOCK || MACH_MAINSTONE || PXA_SHARPSL \
212		    || MACH_ARMCORE || ARCH_PXA_PALM || TRIZEPS_PCMCIA \
213		    || ARCOM_PCMCIA || ARCH_PXA_ESERIES || MACH_STARGATE2 \
214		    || MACH_VPAC270 || MACH_BALLOON3 || MACH_COLIBRI \
215		    || MACH_COLIBRI320 || MACH_H4700)
216	select PCMCIA_SOC_COMMON
217	select PCMCIA_MAX1600 if MACH_MAINSTONE
218	help
219	  Say Y here to include support for the PXA2xx PCMCIA controller
220
221config 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
239config PCMCIA_PROBE
240	bool
241	default y if ISA && !ARCH_SA1100 && !PARISC
242
243config PCMCIA_VRC4171
244	tristate "NEC VRC4171 Card Controllers support"
245	depends on CPU_VR41XX && ISA && PCMCIA
246
247config OMAP_CF
248	tristate "OMAP CompactFlash Controller"
249	depends on PCMCIA && ARCH_OMAP16XX
250	help
251	  Say Y here to support the CompactFlash controller on OMAP.
252	  Note that this doesn't support "True IDE" mode.
253
254config AT91_CF
255	tristate "AT91 CompactFlash Controller"
256	depends on PCI
257	depends on OF
258	depends on PCMCIA && ARCH_AT91
259	help
260	  Say Y here to support the CompactFlash controller on AT91 chips.
261	  Or choose M to compile the driver as a module named "at91_cf".
262
263config ELECTRA_CF
264	tristate "Electra CompactFlash Controller"
265	depends on PCMCIA && PPC_PASEMI
266	help
267	  Say Y here to support the CompactFlash controller on the
268	  PA Semi Electra eval board.
269
270config PCCARD_NONSTATIC
271	bool
272
273config PCCARD_IODYN
274	bool
275
276endif	# PCCARD
277