0001 # SPDX-License-Identifier: GPL-2.0-only
0002 #
0003 # PCCARD (PCMCIA/CardBus) bus subsystem configuration
0004 #
0005
0006 menuconfig PCCARD
0007 tristate "PCCard (PCMCIA/CardBus) support"
0008 depends on !UML
0009 help
0010 Say Y here if you want to attach PCMCIA- or PC-cards to your Linux
0011 computer. These are credit-card size devices such as network cards,
0012 modems or hard drives often used with laptops computers. There are
0013 actually two varieties of these cards: 16 bit PCMCIA and 32 bit
0014 CardBus cards.
0015
0016 To compile this driver as modules, choose M here: the
0017 module will be called pcmcia_core.
0018
0019 if PCCARD
0020
0021 config PCMCIA
0022 tristate "16-bit PCMCIA support"
0023 select CRC32
0024 default y
0025 help
0026 This option enables support for 16-bit PCMCIA cards. Most older
0027 PC-cards are such 16-bit PCMCIA cards, so unless you know you're
0028 only using 32-bit CardBus cards, say Y or M here.
0029
0030 To use 16-bit PCMCIA cards, you will need supporting software in
0031 most cases. (see the file <file:Documentation/Changes> for
0032 location and details).
0033
0034 To compile this driver as modules, choose M here: the
0035 module will be called pcmcia.
0036
0037 If unsure, say Y.
0038
0039 config PCMCIA_LOAD_CIS
0040 bool "Load CIS updates from userspace"
0041 depends on PCMCIA
0042 select FW_LOADER
0043 default y
0044 help
0045 Some PCMCIA cards require an updated Card Information Structure (CIS)
0046 to be loaded from userspace to work correctly. If you say Y here,
0047 and your userspace is arranged correctly, this will be loaded
0048 automatically using the in-kernel firmware loader and the hotplug
0049 subsystem, instead of relying on cardmgr from pcmcia-cs to do so.
0050
0051 If unsure, say Y.
0052
0053 config CARDBUS
0054 bool "32-bit CardBus support"
0055 depends on PCI
0056 default y
0057 help
0058 CardBus is a bus mastering architecture for PC-cards, which allows
0059 for 32 bit PC-cards (the original PCMCIA standard specifies only
0060 a 16 bit wide bus). Many newer PC-cards are actually CardBus cards.
0061
0062 To use 32 bit PC-cards, you also need a CardBus compatible host
0063 bridge. Virtually all modern PCMCIA bridges do this, and most of
0064 them are "yenta-compatible", so say Y or M there, too.
0065
0066 If unsure, say Y.
0067
0068 config PCMCIA_MAX1600
0069 tristate
0070
0071 comment "PC-card bridges"
0072
0073 config YENTA
0074 tristate "CardBus yenta-compatible bridge support"
0075 depends on PCI
0076 select CARDBUS if !EXPERT
0077 select PCCARD_NONSTATIC if PCMCIA != n
0078 help
0079 This option enables support for CardBus host bridges. Virtually
0080 all modern PCMCIA bridges are CardBus compatible. A "bridge" is
0081 the hardware inside your computer that PCMCIA cards are plugged
0082 into.
0083
0084 To compile this driver as modules, choose M here: the
0085 module will be called yenta_socket.
0086
0087 If unsure, say Y.
0088
0089 config YENTA_O2
0090 default y
0091 bool "Special initialization for O2Micro bridges" if EXPERT
0092 depends on YENTA
0093
0094 config YENTA_RICOH
0095 default y
0096 bool "Special initialization for Ricoh bridges" if EXPERT
0097 depends on YENTA
0098
0099 config YENTA_TI
0100 default y
0101 bool "Special initialization for TI and EnE bridges" if EXPERT
0102 depends on YENTA
0103
0104 config YENTA_ENE_TUNE
0105 default y
0106 bool "Auto-tune EnE bridges for CB cards" if EXPERT
0107 depends on YENTA_TI && CARDBUS
0108
0109 config YENTA_TOSHIBA
0110 default y
0111 bool "Special initialization for Toshiba ToPIC bridges" if EXPERT
0112 depends on YENTA
0113
0114 config PD6729
0115 tristate "Cirrus PD6729 compatible bridge support"
0116 depends on PCMCIA && PCI
0117 select PCCARD_NONSTATIC
0118 help
0119 This provides support for the Cirrus PD6729 PCI-to-PCMCIA bridge
0120 device, found in some older laptops and PCMCIA card readers.
0121
0122 config I82092
0123 tristate "i82092 compatible bridge support"
0124 depends on PCMCIA && PCI
0125 select PCCARD_NONSTATIC
0126 help
0127 This provides support for the Intel I82092AA PCI-to-PCMCIA bridge device,
0128 found in some older laptops and more commonly in evaluation boards for the
0129 chip.
0130
0131 config I82365
0132 tristate "i82365 compatible bridge support"
0133 depends on PCMCIA && ISA
0134 select PCCARD_NONSTATIC
0135 help
0136 Say Y here to include support for ISA-bus PCMCIA host bridges that
0137 are register compatible with the Intel i82365. These are found on
0138 older laptops and ISA-bus card readers for desktop systems. A
0139 "bridge" is the hardware inside your computer that PCMCIA cards are
0140 plugged into. If unsure, say N.
0141
0142 config TCIC
0143 tristate "Databook TCIC host bridge support"
0144 depends on PCMCIA && ISA
0145 select PCCARD_NONSTATIC
0146 help
0147 Say Y here to include support for the Databook TCIC family of PCMCIA
0148 host bridges. These are only found on a handful of old systems.
0149 "Bridge" is the name used for the hardware inside your computer that
0150 PCMCIA cards are plugged into. If unsure, say N.
0151
0152 config PCMCIA_ALCHEMY_DEVBOARD
0153 tristate "Alchemy Db/Pb1xxx PCMCIA socket services"
0154 depends on MIPS_DB1XXX && PCMCIA
0155 help
0156 Enable this driver of you want PCMCIA support on your Alchemy
0157 Db1000, Db/Pb1100, Db/Pb1500, Db/Pb1550, Db/Pb1200, DB1300
0158 board. NOT suitable for the PB1000!
0159
0160 This driver is also available as a module called db1xxx_ss.ko
0161
0162 config PCMCIA_XXS1500
0163 tristate "MyCable XXS1500 PCMCIA socket support"
0164 depends on PCMCIA && MIPS_XXS1500
0165 help
0166 Support for the PCMCIA/CF socket interface on MyCable XXS1500
0167 systems.
0168
0169 This driver is also available as a module called xxs1500_ss.ko
0170
0171 config PCMCIA_BCM63XX
0172 tristate "bcm63xx pcmcia support"
0173 depends on BCM63XX && PCMCIA
0174
0175 config PCMCIA_SOC_COMMON
0176 tristate
0177
0178 config PCMCIA_SA11XX_BASE
0179 tristate
0180
0181 config PCMCIA_SA1100
0182 tristate "SA1100 support"
0183 depends on ARM && ARCH_SA1100 && PCMCIA
0184 select PCMCIA_SOC_COMMON
0185 select PCMCIA_SA11XX_BASE
0186 help
0187 Say Y here to include support for SA11x0-based PCMCIA or CF
0188 sockets, found on HP iPAQs, Yopy, and other StrongARM(R)/
0189 Xscale(R) embedded machines.
0190
0191 This driver is also available as a module called sa1100_cs.
0192
0193 config PCMCIA_SA1111
0194 tristate "SA1111 support"
0195 depends on ARM && SA1111 && PCMCIA
0196 select PCMCIA_SOC_COMMON
0197 select PCMCIA_SA11XX_BASE if ARCH_SA1100
0198 select PCMCIA_PXA2XX if ARCH_LUBBOCK && SA1111
0199 select PCMCIA_MAX1600 if ASSABET_NEPONSET
0200 select PCMCIA_MAX1600 if ARCH_LUBBOCK && SA1111
0201 help
0202 Say Y here to include support for SA1111-based PCMCIA or CF
0203 sockets, found on the Jornada 720, Graphicsmaster and other
0204 StrongARM(R)/Xscale(R) embedded machines.
0205
0206 This driver is also available as a module called sa1111_cs.
0207
0208 config PCMCIA_PXA2XX
0209 tristate "PXA2xx support"
0210 depends on ARM && ARCH_PXA && PCMCIA
0211 depends on (ARCH_LUBBOCK || MACH_MAINSTONE || PXA_SHARPSL \
0212 || ARCH_PXA_PALM || TRIZEPS_PCMCIA \
0213 || ARCOM_PCMCIA || ARCH_PXA_ESERIES \
0214 || MACH_VPAC270 || MACH_BALLOON3 || MACH_COLIBRI \
0215 || MACH_COLIBRI320 || MACH_H4700)
0216 select PCMCIA_SOC_COMMON
0217 select PCMCIA_MAX1600 if MACH_MAINSTONE
0218 help
0219 Say Y here to include support for the PXA2xx PCMCIA controller
0220
0221 config PCMCIA_DEBUG
0222 bool "Enable debugging"
0223 depends on (PCMCIA_SA1111 || PCMCIA_SA1100 || PCMCIA_PXA2XX)
0224 help
0225 Say Y here to enable debugging for the SoC PCMCIA layer.
0226 You will need to choose the debugging level either via the
0227 kernel command line, or module options depending whether
0228 you build the drivers as modules.
0229
0230 The kernel command line options are:
0231 sa11xx_core.pc_debug=N
0232 pxa2xx_core.pc_debug=N
0233
0234 The module option is called pc_debug=N
0235
0236 In all the above examples, N is the debugging verbosity
0237 level.
0238
0239 config PCMCIA_PROBE
0240 bool
0241 default y if ISA && !ARCH_SA1100 && !PARISC
0242
0243 config PCMCIA_VRC4171
0244 tristate "NEC VRC4171 Card Controllers support"
0245 depends on CPU_VR41XX && ISA && PCMCIA
0246
0247 config OMAP_CF
0248 tristate "OMAP CompactFlash Controller"
0249 depends on PCMCIA
0250 depends on ARCH_OMAP16XX || (ARM && COMPILE_TEST)
0251 help
0252 Say Y here to support the CompactFlash controller on OMAP.
0253 Note that this doesn't support "True IDE" mode.
0254
0255 config AT91_CF
0256 tristate "AT91 CompactFlash Controller"
0257 depends on PCI
0258 depends on OF
0259 depends on PCMCIA && ARCH_AT91
0260 help
0261 Say Y here to support the CompactFlash controller on AT91 chips.
0262 Or choose M to compile the driver as a module named "at91_cf".
0263
0264 config ELECTRA_CF
0265 tristate "Electra CompactFlash Controller"
0266 depends on PCMCIA && PPC_PASEMI
0267 help
0268 Say Y here to support the CompactFlash controller on the
0269 PA Semi Electra eval board.
0270
0271 config PCCARD_NONSTATIC
0272 bool
0273
0274 config PCCARD_IODYN
0275 bool
0276
0277 endif # PCCARD