Merge tag 'for-linus-6.1-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git...
[platform/kernel/linux-starfive.git] / drivers / pcmcia / Kconfig
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         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
19 if PCCARD
20
21 config 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
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
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
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 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
208 config PCMCIA_PXA2XX
209         tristate "PXA2xx support"
210         depends on ARM && ARCH_PXA && PCMCIA
211         depends on (ARCH_LUBBOCK || MACH_MAINSTONE || PXA_SHARPSL \
212                     || ARCH_PXA_PALM || TRIZEPS_PCMCIA \
213                     || ARCOM_PCMCIA || ARCH_PXA_ESERIES \
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
221 config 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
239 config PCMCIA_PROBE
240         bool
241         default y if ISA && !ARCH_SA1100 && !PARISC
242
243 config OMAP_CF
244         tristate "OMAP CompactFlash Controller"
245         depends on PCMCIA
246         depends on ARCH_OMAP16XX || (ARM && COMPILE_TEST)
247         help
248           Say Y here to support the CompactFlash controller on OMAP.
249           Note that this doesn't support "True IDE" mode.
250
251 config ELECTRA_CF
252         tristate "Electra CompactFlash Controller"
253         depends on PCMCIA && PPC_PASEMI
254         help
255           Say Y here to support the CompactFlash controller on the
256           PA Semi Electra eval board.
257
258 config PCCARD_NONSTATIC
259         bool
260
261 config PCCARD_IODYN
262         bool
263
264 endif   # PCCARD