1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # PCCARD (PCMCIA/CardBus) bus subsystem configuration
4 #
5 
6 menuconfig 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 
18 if PCCARD
19 
20 config 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 
39 config 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 
53 config 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 
68 config PCMCIA_MAX1600
69 	tristate
70 
71 comment "PC-card bridges"
72 
73 config 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 
89 config YENTA_O2
90 	default y
91 	bool "Special initialization for O2Micro bridges" if EXPERT
92 	depends on YENTA
93 
94 config YENTA_RICOH
95 	default y
96 	bool "Special initialization for Ricoh bridges" if EXPERT
97 	depends on YENTA
98 
99 config YENTA_TI
100 	default y
101 	bool "Special initialization for TI and EnE bridges" if EXPERT
102 	depends on YENTA
103 
104 config YENTA_ENE_TUNE
105 	default y
106 	bool "Auto-tune EnE bridges for CB cards" if EXPERT
107 	depends on YENTA_TI && CARDBUS
108 
109 config YENTA_TOSHIBA
110 	default y
111 	bool "Special initialization for Toshiba ToPIC bridges" if EXPERT
112 	depends on YENTA
113 
114 config 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 
122 config I82092
123 	tristate "i82092 compatible bridge support"
124 	depends on PCMCIA && PCI && HAS_IOPORT
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 
131 config 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 
142 config 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 
152 config PCMCIA_ALCHEMY_DEVBOARD
153 	tristate "Alchemy Db/Pb1xxx PCMCIA socket services"
154 	depends on MIPS_DB1XXX && 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 
162 config 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 
171 config PCMCIA_BCM63XX
172 	tristate "bcm63xx pcmcia support"
173 	depends on BCM63XX && PCMCIA
174 
175 config PCMCIA_SOC_COMMON
176 	tristate
177 
178 config PCMCIA_SA11XX_BASE
179 	tristate
180 
181 config 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 
193 config PCMCIA_SA1111
194 	tristate "SA1111 support"
195 	depends on ARM && SA1111 && PCMCIA
196 	select PCMCIA_SOC_COMMON
197 	select PCMCIA_SA11XX_BASE
198 	select PCMCIA_MAX1600 if ASSABET_NEPONSET
199 	help
200 	  Say Y  here to include support for SA1111-based PCMCIA or CF
201 	  sockets, found on the Jornada 720, Graphicsmaster and other
202 	  StrongARM(R)/Xscale(R) embedded machines.
203 
204 	  This driver is also available as a module called sa1111_cs.
205 
206 config PCMCIA_PXA2XX
207 	tristate "PXA2xx support"
208 	depends on ARM && ARCH_PXA && PCMCIA && PXA_SHARPSL
209 	select PCMCIA_SOC_COMMON
210 	help
211 	  Say Y here to include support for the PXA2xx PCMCIA controller
212 
213 config PCMCIA_DEBUG
214 	bool "Enable debugging"
215 	depends on (PCMCIA_SA1111 || PCMCIA_SA1100 || PCMCIA_PXA2XX)
216 	help
217 	  Say Y here to enable debugging for the SoC PCMCIA layer.
218 	  You will need to choose the debugging level either via the
219 	  kernel command line, or module options depending whether
220 	  you build the drivers as modules.
221 
222 	  The kernel command line options are:
223 	    sa11xx_core.pc_debug=N
224 	    pxa2xx_core.pc_debug=N
225 
226 	  The module option is called pc_debug=N
227 
228 	  In all the above examples, N is the debugging verbosity
229 	  level.
230 
231 config PCMCIA_PROBE
232 	bool
233 	default y if ISA && !ARCH_SA1100 && !PARISC
234 
235 config OMAP_CF
236 	tristate "OMAP CompactFlash Controller"
237 	depends on PCMCIA
238 	depends on ARCH_OMAP16XX || (ARM && COMPILE_TEST)
239 	help
240 	  Say Y here to support the CompactFlash controller on OMAP.
241 	  Note that this doesn't support "True IDE" mode.
242 
243 config ELECTRA_CF
244 	tristate "Electra CompactFlash Controller"
245 	depends on PCMCIA && PPC_PASEMI
246 	help
247 	  Say Y here to support the CompactFlash controller on the
248 	  PA Semi Electra eval board.
249 
250 config PCCARD_NONSTATIC
251 	bool
252 
253 config PCCARD_IODYN
254 	bool
255 
256 endif	# PCCARD
257