xref: /linux/drivers/pcmcia/Kconfig (revision 0fc8f6200d2313278fbf4539bbab74677c685531)
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	depends on HAS_IOMEM
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 && HAS_IOPORT
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 PCMCIA_ALCHEMY_DEVBOARD
123	tristate "Alchemy Db/Pb1xxx PCMCIA socket services"
124	depends on MIPS_DB1XXX && PCMCIA
125	help
126	  Enable this driver of you want PCMCIA support on your Alchemy
127	  Db1000, Db/Pb1100, Db/Pb1500, Db/Pb1550, Db/Pb1200, DB1300
128	  board.  NOT suitable for the PB1000!
129
130	  This driver is also available as a module called db1xxx_ss.ko
131
132config PCMCIA_XXS1500
133	tristate "MyCable XXS1500 PCMCIA socket support"
134	depends on PCMCIA && MIPS_XXS1500
135	help
136	  Support for the PCMCIA/CF socket interface on MyCable XXS1500
137	  systems.
138
139	  This driver is also available as a module called xxs1500_ss.ko
140
141config PCMCIA_BCM63XX
142	tristate "bcm63xx pcmcia support"
143	depends on BCM63XX && PCMCIA
144
145config PCMCIA_SOC_COMMON
146	tristate
147
148config PCMCIA_SA11XX_BASE
149	tristate
150
151config PCMCIA_SA1100
152	tristate "SA1100 support"
153	depends on ARM && ARCH_SA1100 && PCMCIA
154	select PCMCIA_SOC_COMMON
155	select PCMCIA_SA11XX_BASE
156	help
157	  Say Y here to include support for SA11x0-based PCMCIA or CF
158	  sockets, found on HP iPAQs, Yopy, and other StrongARM(R)/
159	  Xscale(R) embedded machines.
160
161	  This driver is also available as a module called sa1100_cs.
162
163config PCMCIA_SA1111
164	tristate "SA1111 support"
165	depends on ARM && SA1111 && PCMCIA
166	select PCMCIA_SOC_COMMON
167	select PCMCIA_SA11XX_BASE
168	select PCMCIA_MAX1600 if ASSABET_NEPONSET
169	help
170	  Say Y  here to include support for SA1111-based PCMCIA or CF
171	  sockets, found on the Jornada 720, Graphicsmaster and other
172	  StrongARM(R)/Xscale(R) embedded machines.
173
174	  This driver is also available as a module called sa1111_cs.
175
176config PCMCIA_PXA2XX
177	tristate "PXA2xx support"
178	depends on ARM && ARCH_PXA && PCMCIA && PXA_SHARPSL
179	select PCMCIA_SOC_COMMON
180	help
181	  Say Y here to include support for the PXA2xx PCMCIA controller
182
183config PCMCIA_DEBUG
184	bool "Enable debugging"
185	depends on (PCMCIA_SA1111 || PCMCIA_SA1100 || PCMCIA_PXA2XX)
186	help
187	  Say Y here to enable debugging for the SoC PCMCIA layer.
188	  You will need to choose the debugging level either via the
189	  kernel command line, or module options depending whether
190	  you build the drivers as modules.
191
192	  The kernel command line options are:
193	    sa11xx_core.pc_debug=N
194	    pxa2xx_core.pc_debug=N
195
196	  The module option is called pc_debug=N
197
198	  In all the above examples, N is the debugging verbosity
199	  level.
200
201config PCMCIA_PROBE
202	bool
203	default y if ISA && !ARCH_SA1100 && !PARISC
204
205config OMAP_CF
206	tristate "OMAP CompactFlash Controller"
207	depends on PCMCIA
208	depends on ARCH_OMAP16XX || (ARM && COMPILE_TEST)
209	help
210	  Say Y here to support the CompactFlash controller on OMAP.
211	  Note that this doesn't support "True IDE" mode.
212
213config ELECTRA_CF
214	tristate "Electra CompactFlash Controller"
215	depends on PCMCIA && PPC_PASEMI
216	help
217	  Say Y here to support the CompactFlash controller on the
218	  PA Semi Electra eval board.
219
220config PCCARD_NONSTATIC
221	bool
222
223endif	# PCCARD
224