xref: /linux/drivers/pcmcia/Kconfig (revision 7c7e33b799ac169e5fab8abfc6819fce8b26d53d)
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	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
12	  actually two varieties of these cards: 16 bit PCMCIA and 32 bit
13	  CardBus cards.
14
15	  To compile this driver as modules, choose M here: the
16	  module will be called pcmcia_core.
17
18if PCCARD
19
20config PCMCIA
21	tristate "16-bit PCMCIA support"
22	select CRC32
23	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
29	   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).
32
33	   To compile this driver as modules, choose M here: the
34	   module will be called pcmcia.
35
36	   If unsure, say Y.
37
38config PCMCIA_LOAD_CIS
39	bool "Load CIS updates from userspace"
40	depends on PCMCIA
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
52config CARDBUS
53	bool "32-bit CardBus support"
54	depends on PCI
55	default y
56	help
57	  CardBus is a bus mastering architecture for PC-cards, which allows
58	  for 32 bit PC-cards (the original PCMCIA standard specifies only
59	  a 16 bit wide bus). Many newer PC-cards are actually CardBus cards.
60
61	  To use 32 bit PC-cards, you also need a CardBus compatible host
62	  bridge. Virtually all modern PCMCIA bridges do this, and most of
63	  them are "yenta-compatible", so say Y or M there, too.
64
65	  If unsure, say Y.
66
67config PCMCIA_MAX1600
68	tristate
69
70comment "PC-card bridges"
71
72config YENTA
73	tristate "CardBus yenta-compatible bridge support"
74	depends on PCI
75	select CARDBUS if !EXPERT
76	select PCCARD_NONSTATIC if PCMCIA != n
77	help
78	  This option enables support for CardBus host bridges.  Virtually
79	  all modern PCMCIA bridges are CardBus compatible.  A "bridge" is
80	  the hardware inside your computer that PCMCIA cards are plugged
81	  into.
82
83	  To compile this driver as modules, choose M here: the
84	  module will be called yenta_socket.
85
86	  If unsure, say Y.
87
88config YENTA_O2
89	default y
90	bool "Special initialization for O2Micro bridges" if EXPERT
91	depends on YENTA
92
93config YENTA_RICOH
94	default y
95	bool "Special initialization for Ricoh bridges" if EXPERT
96	depends on YENTA
97
98config YENTA_TI
99	default y
100	bool "Special initialization for TI and EnE bridges" if EXPERT
101	depends on YENTA
102
103config YENTA_ENE_TUNE
104	default y
105	bool "Auto-tune EnE bridges for CB cards" if EXPERT
106	depends on YENTA_TI && CARDBUS
107
108config YENTA_TOSHIBA
109	default y
110	bool "Special initialization for Toshiba ToPIC bridges" if EXPERT
111	depends on YENTA
112
113config PD6729
114	tristate "Cirrus PD6729 compatible bridge support"
115	depends on PCMCIA && PCI && HAS_IOPORT
116	select PCCARD_NONSTATIC
117	help
118	  This provides support for the Cirrus PD6729 PCI-to-PCMCIA bridge
119	  device, found in some older laptops and PCMCIA card readers.
120
121config I82092
122	tristate "i82092 compatible bridge support"
123	depends on PCMCIA && PCI && HAS_IOPORT
124	select PCCARD_NONSTATIC
125	help
126	  This provides support for the Intel I82092AA PCI-to-PCMCIA bridge device,
127	  found in some older laptops and more commonly in evaluation boards for the
128	  chip.
129
130config I82365
131	tristate "i82365 compatible bridge support"
132	depends on PCMCIA && ISA
133	select PCCARD_NONSTATIC
134	help
135	  Say Y here to include support for ISA-bus PCMCIA host bridges that
136	  are register compatible with the Intel i82365.  These are found on
137	  older laptops and ISA-bus card readers for desktop systems.  A
138	  "bridge" is the hardware inside your computer that PCMCIA cards are
139	  plugged into. If unsure, say N.
140
141config TCIC
142	tristate "Databook TCIC host bridge support"
143	depends on PCMCIA && ISA
144	select PCCARD_NONSTATIC
145	help
146	  Say Y here to include support for the Databook TCIC family of PCMCIA
147	  host bridges. These are only found on a handful of old systems.
148	  "Bridge" is the name used for the hardware inside your computer that
149	  PCMCIA cards are plugged into. If unsure, say N.
150
151config PCMCIA_ALCHEMY_DEVBOARD
152	tristate "Alchemy Db/Pb1xxx PCMCIA socket services"
153	depends on MIPS_DB1XXX && PCMCIA
154	help
155	  Enable this driver of you want PCMCIA support on your Alchemy
156	  Db1000, Db/Pb1100, Db/Pb1500, Db/Pb1550, Db/Pb1200, DB1300
157	  board.  NOT suitable for the PB1000!
158
159	  This driver is also available as a module called db1xxx_ss.ko
160
161config PCMCIA_XXS1500
162	tristate "MyCable XXS1500 PCMCIA socket support"
163	depends on PCMCIA && MIPS_XXS1500
164	help
165	  Support for the PCMCIA/CF socket interface on MyCable XXS1500
166	  systems.
167
168	  This driver is also available as a module called xxs1500_ss.ko
169
170config PCMCIA_BCM63XX
171	tristate "bcm63xx pcmcia support"
172	depends on BCM63XX && PCMCIA
173
174config PCMCIA_SOC_COMMON
175	tristate
176
177config PCMCIA_SA11XX_BASE
178	tristate
179
180config PCMCIA_SA1100
181	tristate "SA1100 support"
182	depends on ARM && ARCH_SA1100 && PCMCIA
183	select PCMCIA_SOC_COMMON
184	select PCMCIA_SA11XX_BASE
185	help
186	  Say Y here to include support for SA11x0-based PCMCIA or CF
187	  sockets, found on HP iPAQs, Yopy, and other StrongARM(R)/
188	  Xscale(R) embedded machines.
189
190	  This driver is also available as a module called sa1100_cs.
191
192config PCMCIA_SA1111
193	tristate "SA1111 support"
194	depends on ARM && SA1111 && PCMCIA
195	select PCMCIA_SOC_COMMON
196	select PCMCIA_SA11XX_BASE
197	select PCMCIA_MAX1600 if ASSABET_NEPONSET
198	help
199	  Say Y  here to include support for SA1111-based PCMCIA or CF
200	  sockets, found on the Jornada 720, Graphicsmaster and other
201	  StrongARM(R)/Xscale(R) embedded machines.
202
203	  This driver is also available as a module called sa1111_cs.
204
205config PCMCIA_PXA2XX
206	tristate "PXA2xx support"
207	depends on ARM && ARCH_PXA && PCMCIA && PXA_SHARPSL
208	select PCMCIA_SOC_COMMON
209	help
210	  Say Y here to include support for the PXA2xx PCMCIA controller
211
212config PCMCIA_DEBUG
213	bool "Enable debugging"
214	depends on (PCMCIA_SA1111 || PCMCIA_SA1100 || PCMCIA_PXA2XX)
215	help
216	  Say Y here to enable debugging for the SoC PCMCIA layer.
217	  You will need to choose the debugging level either via the
218	  kernel command line, or module options depending whether
219	  you build the drivers as modules.
220
221	  The kernel command line options are:
222	    sa11xx_core.pc_debug=N
223	    pxa2xx_core.pc_debug=N
224
225	  The module option is called pc_debug=N
226
227	  In all the above examples, N is the debugging verbosity
228	  level.
229
230config PCMCIA_PROBE
231	bool
232	default y if ISA && !ARCH_SA1100 && !PARISC
233
234config OMAP_CF
235	tristate "OMAP CompactFlash Controller"
236	depends on PCMCIA
237	depends on ARCH_OMAP16XX || (ARM && COMPILE_TEST)
238	help
239	  Say Y here to support the CompactFlash controller on OMAP.
240	  Note that this doesn't support "True IDE" mode.
241
242config ELECTRA_CF
243	tristate "Electra CompactFlash Controller"
244	depends on PCMCIA && PPC_PASEMI
245	help
246	  Say Y here to support the CompactFlash controller on the
247	  PA Semi Electra eval board.
248
249config PCCARD_NONSTATIC
250	bool
251
252config PCCARD_IODYN
253	bool
254
255endif	# PCCARD
256