Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
[firefly-linux-kernel-4.4.55.git] / drivers / pcmcia / Kconfig
1 #
2 # PCCARD (PCMCIA/CardBus) bus subsystem configuration
3 #
4
5 menuconfig PCCARD
6         tristate "PCCard (PCMCIA/CardBus) support"
7         ---help---
8           Say Y here if you want to attach PCMCIA- or PC-cards to your Linux
9           computer.  These are credit-card size devices such as network cards,
10           modems or hard drives often used with laptops computers.  There are
11           actually two varieties of these cards: 16 bit PCMCIA and 32 bit
12           CardBus cards.
13
14           To compile this driver as modules, choose M here: the
15           module will be called pcmcia_core.
16
17 if PCCARD
18
19 config PCMCIA
20         tristate "16-bit PCMCIA support"
21         select CRC32
22         default y
23         ---help---
24            This option enables support for 16-bit PCMCIA cards. Most older
25            PC-cards are such 16-bit PCMCIA cards, so unless you know you're
26            only using 32-bit CardBus cards, say Y or M here.
27
28            To use 16-bit PCMCIA cards, you will need supporting software in
29            most cases. (see the file <file:Documentation/Changes> for
30            location and details).
31
32            To compile this driver as modules, choose M here: the
33            module will be called pcmcia.
34
35            If unsure, say Y.
36
37 config PCMCIA_LOAD_CIS
38         bool "Load CIS updates from userspace"
39         depends on PCMCIA
40         select FW_LOADER
41         default y
42         help
43           Some PCMCIA cards require an updated Card Information Structure (CIS)
44           to be loaded from userspace to work correctly. If you say Y here,
45           and your userspace is arranged correctly, this will be loaded
46           automatically using the in-kernel firmware loader and the hotplug
47           subsystem, instead of relying on cardmgr from pcmcia-cs to do so.
48
49           If unsure, say Y.
50
51 config CARDBUS
52         bool "32-bit CardBus support"
53         depends on PCI
54         default y
55         ---help---
56           CardBus is a bus mastering architecture for PC-cards, which allows
57           for 32 bit PC-cards (the original PCMCIA standard specifies only
58           a 16 bit wide bus). Many newer PC-cards are actually CardBus cards.
59
60           To use 32 bit PC-cards, you also need a CardBus compatible host
61           bridge. Virtually all modern PCMCIA bridges do this, and most of
62           them are "yenta-compatible", so say Y or M there, too.
63
64           If unsure, say Y.
65
66 comment "PC-card bridges"
67
68 config YENTA
69         tristate "CardBus yenta-compatible bridge support"
70         depends on PCI
71         select CARDBUS if !EXPERT
72         select PCCARD_NONSTATIC if PCMCIA != n
73         ---help---
74           This option enables support for CardBus host bridges.  Virtually
75           all modern PCMCIA bridges are CardBus compatible.  A "bridge" is
76           the hardware inside your computer that PCMCIA cards are plugged
77           into.
78
79           To compile this driver as modules, choose M here: the
80           module will be called yenta_socket.
81
82           If unsure, say Y.
83
84 config YENTA_O2
85         default y
86         bool "Special initialization for O2Micro bridges" if EXPERT
87         depends on YENTA
88
89 config YENTA_RICOH
90         default y
91         bool "Special initialization for Ricoh bridges" if EXPERT
92         depends on YENTA
93
94 config YENTA_TI
95         default y
96         bool "Special initialization for TI and EnE bridges" if EXPERT
97         depends on YENTA
98
99 config YENTA_ENE_TUNE
100         default y
101         bool "Auto-tune EnE bridges for CB cards" if EXPERT
102         depends on YENTA_TI && CARDBUS
103
104 config YENTA_TOSHIBA
105         default y
106         bool "Special initialization for Toshiba ToPIC bridges" if EXPERT
107         depends on YENTA
108
109 config PD6729
110         tristate "Cirrus PD6729 compatible bridge support"
111         depends on PCMCIA && PCI
112         select PCCARD_NONSTATIC
113         help
114           This provides support for the Cirrus PD6729 PCI-to-PCMCIA bridge
115           device, found in some older laptops and PCMCIA card readers.
116
117 config I82092
118         tristate "i82092 compatible bridge support"
119         depends on PCMCIA && PCI
120         select PCCARD_NONSTATIC
121         help
122           This provides support for the Intel I82092AA PCI-to-PCMCIA bridge device,
123           found in some older laptops and more commonly in evaluation boards for the
124           chip.
125
126 config I82365
127         tristate "i82365 compatible bridge support"
128         depends on PCMCIA && ISA
129         select PCCARD_NONSTATIC
130         help
131           Say Y here to include support for ISA-bus PCMCIA host bridges that
132           are register compatible with the Intel i82365.  These are found on
133           older laptops and ISA-bus card readers for desktop systems.  A
134           "bridge" is the hardware inside your computer that PCMCIA cards are
135           plugged into. If unsure, say N.
136
137 config TCIC
138         tristate "Databook TCIC host bridge support"
139         depends on PCMCIA && ISA
140         select PCCARD_NONSTATIC
141         help
142           Say Y here to include support for the Databook TCIC family of PCMCIA
143           host bridges. These are only found on a handful of old systems.
144           "Bridge" is the name used for the hardware inside your computer that
145           PCMCIA cards are plugged into. If unsure, say N.
146
147 config PCMCIA_ALCHEMY_DEVBOARD
148         tristate "Alchemy Db/Pb1xxx PCMCIA socket services"
149         depends on MIPS_ALCHEMY && PCMCIA
150         select 64BIT_PHYS_ADDR
151         help
152           Enable this driver of you want PCMCIA support on your Alchemy
153           Db1000, Db/Pb1100, Db/Pb1500, Db/Pb1550, Db/Pb1200, DB1300
154           board.  NOT suitable for the PB1000!
155
156           This driver is also available as a module called db1xxx_ss.ko
157
158 config PCMCIA_XXS1500
159         tristate "MyCable XXS1500 PCMCIA socket support"
160         depends on PCMCIA && MIPS_XXS1500
161         select 64BIT_PHYS_ADDR
162         help
163           Support for the PCMCIA/CF socket interface on MyCable XXS1500
164           systems.
165
166           This driver is also available as a module called xxs1500_ss.ko
167
168 config PCMCIA_BCM63XX
169         tristate "bcm63xx pcmcia support"
170         depends on BCM63XX && PCMCIA
171
172 config PCMCIA_SOC_COMMON
173         tristate
174
175 config PCMCIA_SA11XX_BASE
176         tristate
177
178 config PCMCIA_SA1100
179         tristate "SA1100 support"
180         depends on ARM && ARCH_SA1100 && PCMCIA
181         select PCMCIA_SOC_COMMON
182         select PCMCIA_SA11XX_BASE
183         help
184           Say Y here to include support for SA11x0-based PCMCIA or CF
185           sockets, found on HP iPAQs, Yopy, and other StrongARM(R)/
186           Xscale(R) embedded machines.
187
188           This driver is also available as a module called sa1100_cs.
189
190 config PCMCIA_SA1111
191         tristate "SA1111 support"
192         depends on ARM && SA1111 && PCMCIA
193         select PCMCIA_SOC_COMMON
194         select PCMCIA_SA11XX_BASE if ARCH_SA1100
195         select PCMCIA_PXA2XX if ARCH_LUBBOCK && SA1111
196         help
197           Say Y  here to include support for SA1111-based PCMCIA or CF
198           sockets, found on the Jornada 720, Graphicsmaster and other
199           StrongARM(R)/Xscale(R) embedded machines.
200
201           This driver is also available as a module called sa1111_cs.
202
203 config PCMCIA_PXA2XX
204         tristate "PXA2xx support"
205         depends on ARM && ARCH_PXA && PCMCIA
206         depends on (ARCH_LUBBOCK || MACH_MAINSTONE || PXA_SHARPSL \
207                     || MACH_ARMCORE || ARCH_PXA_PALM || TRIZEPS_PCMCIA \
208                     || ARCOM_PCMCIA || ARCH_PXA_ESERIES || MACH_STARGATE2 \
209                     || MACH_VPAC270 || MACH_BALLOON3 || MACH_COLIBRI \
210                     || MACH_COLIBRI320 || MACH_H4700)
211         select PCMCIA_SOC_COMMON
212         help
213           Say Y here to include support for the PXA2xx PCMCIA controller
214
215 config PCMCIA_DEBUG
216         bool "Enable debugging"
217         depends on (PCMCIA_SA1111 || PCMCIA_SA1100 || PCMCIA_PXA2XX)
218         help
219           Say Y here to enable debugging for the SoC PCMCIA layer.
220           You will need to choose the debugging level either via the
221           kernel command line, or module options depending whether
222           you build the drivers as modules.
223
224           The kernel command line options are:
225             sa11xx_core.pc_debug=N
226             pxa2xx_core.pc_debug=N
227
228           The module option is called pc_debug=N
229
230           In all the above examples, N is the debugging verbosity
231           level.
232
233 config PCMCIA_PROBE
234         bool
235         default y if ISA && !ARCH_SA1100 && !PARISC
236
237 config M32R_PCC
238         bool "M32R PCMCIA I/F"
239         depends on M32R && CHIP_M32700 && PCMCIA
240         help
241           Say Y here to use the M32R PCMCIA controller.
242
243 config M32R_CFC
244         bool "M32R CF I/F Controller"
245         depends on M32R && (PLAT_USRV || PLAT_M32700UT || PLAT_MAPPI2 || PLAT_MAPPI3 || PLAT_OPSPUT)
246         help
247           Say Y here to use the M32R CompactFlash controller.
248
249 config M32R_CFC_NUM
250         int "M32R CF I/F number"
251         depends on M32R_CFC
252         default "1" if PLAT_USRV || PLAT_M32700UT || PLAT_MAPPI2 || PLAT_MAPPI3 || PLAT_OPSPUT
253         help
254           Set the number of M32R CF slots.
255
256 config PCMCIA_VRC4171
257         tristate "NEC VRC4171 Card Controllers support"
258         depends on CPU_VR41XX && ISA && PCMCIA
259
260 config PCMCIA_VRC4173
261         tristate "NEC VRC4173 CARDU support"
262         depends on CPU_VR41XX && PCI && PCMCIA
263
264 config OMAP_CF
265         tristate "OMAP CompactFlash Controller"
266         depends on PCMCIA && ARCH_OMAP16XX
267         help
268           Say Y here to support the CompactFlash controller on OMAP.
269           Note that this doesn't support "True IDE" mode.
270
271 config BFIN_CFPCMCIA
272         tristate "Blackfin CompactFlash PCMCIA Driver"
273         depends on PCMCIA && BLACKFIN
274         help
275           Say Y here to support the CompactFlash PCMCIA driver for Blackfin.
276
277
278 config AT91_CF
279         tristate "AT91 CompactFlash Controller"
280         depends on PCMCIA && ARCH_AT91
281         help
282           Say Y here to support the CompactFlash controller on AT91 chips.
283           Or choose M to compile the driver as a module named "at91_cf".
284
285 config ELECTRA_CF
286         tristate "Electra CompactFlash Controller"
287         depends on PCMCIA && PPC_PASEMI
288         help
289           Say Y here to support the CompactFlash controller on the
290           PA Semi Electra eval board.
291
292 config PCCARD_NONSTATIC
293         bool
294
295 config PCCARD_IODYN
296         bool
297
298 endif   # PCCARD