18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ci#
38c2ecf20Sopenharmony_ci# PCCARD (PCMCIA/CardBus) bus subsystem configuration
48c2ecf20Sopenharmony_ci#
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_cimenuconfig PCCARD
78c2ecf20Sopenharmony_ci	tristate "PCCard (PCMCIA/CardBus) support"
88c2ecf20Sopenharmony_ci	depends on !UML
98c2ecf20Sopenharmony_ci	help
108c2ecf20Sopenharmony_ci	  Say Y here if you want to attach PCMCIA- or PC-cards to your Linux
118c2ecf20Sopenharmony_ci	  computer.  These are credit-card size devices such as network cards,
128c2ecf20Sopenharmony_ci	  modems or hard drives often used with laptops computers.  There are
138c2ecf20Sopenharmony_ci	  actually two varieties of these cards: 16 bit PCMCIA and 32 bit
148c2ecf20Sopenharmony_ci	  CardBus cards.
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci	  To compile this driver as modules, choose M here: the
178c2ecf20Sopenharmony_ci	  module will be called pcmcia_core.
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ciif PCCARD
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ciconfig PCMCIA
228c2ecf20Sopenharmony_ci	tristate "16-bit PCMCIA support"
238c2ecf20Sopenharmony_ci	select CRC32
248c2ecf20Sopenharmony_ci	default y
258c2ecf20Sopenharmony_ci	help
268c2ecf20Sopenharmony_ci	   This option enables support for 16-bit PCMCIA cards. Most older
278c2ecf20Sopenharmony_ci	   PC-cards are such 16-bit PCMCIA cards, so unless you know you're
288c2ecf20Sopenharmony_ci	   only using 32-bit CardBus cards, say Y or M here.
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci	   To use 16-bit PCMCIA cards, you will need supporting software in
318c2ecf20Sopenharmony_ci	   most cases. (see the file <file:Documentation/Changes> for
328c2ecf20Sopenharmony_ci	   location and details).
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ci	   To compile this driver as modules, choose M here: the
358c2ecf20Sopenharmony_ci	   module will be called pcmcia.
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci	   If unsure, say Y.
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ciconfig PCMCIA_LOAD_CIS
408c2ecf20Sopenharmony_ci	bool "Load CIS updates from userspace"
418c2ecf20Sopenharmony_ci	depends on PCMCIA
428c2ecf20Sopenharmony_ci	select FW_LOADER
438c2ecf20Sopenharmony_ci	default y
448c2ecf20Sopenharmony_ci	help
458c2ecf20Sopenharmony_ci	  Some PCMCIA cards require an updated Card Information Structure (CIS)
468c2ecf20Sopenharmony_ci	  to be loaded from userspace to work correctly. If you say Y here,
478c2ecf20Sopenharmony_ci	  and your userspace is arranged correctly, this will be loaded
488c2ecf20Sopenharmony_ci	  automatically using the in-kernel firmware loader and the hotplug
498c2ecf20Sopenharmony_ci	  subsystem, instead of relying on cardmgr from pcmcia-cs to do so.
508c2ecf20Sopenharmony_ci
518c2ecf20Sopenharmony_ci	  If unsure, say Y.
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ciconfig CARDBUS
548c2ecf20Sopenharmony_ci	bool "32-bit CardBus support"
558c2ecf20Sopenharmony_ci	depends on PCI
568c2ecf20Sopenharmony_ci	default y
578c2ecf20Sopenharmony_ci	help
588c2ecf20Sopenharmony_ci	  CardBus is a bus mastering architecture for PC-cards, which allows
598c2ecf20Sopenharmony_ci	  for 32 bit PC-cards (the original PCMCIA standard specifies only
608c2ecf20Sopenharmony_ci	  a 16 bit wide bus). Many newer PC-cards are actually CardBus cards.
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_ci	  To use 32 bit PC-cards, you also need a CardBus compatible host
638c2ecf20Sopenharmony_ci	  bridge. Virtually all modern PCMCIA bridges do this, and most of
648c2ecf20Sopenharmony_ci	  them are "yenta-compatible", so say Y or M there, too.
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ci	  If unsure, say Y.
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_ciconfig PCMCIA_MAX1600
698c2ecf20Sopenharmony_ci	tristate
708c2ecf20Sopenharmony_ci
718c2ecf20Sopenharmony_cicomment "PC-card bridges"
728c2ecf20Sopenharmony_ci
738c2ecf20Sopenharmony_ciconfig YENTA
748c2ecf20Sopenharmony_ci	tristate "CardBus yenta-compatible bridge support"
758c2ecf20Sopenharmony_ci	depends on PCI
768c2ecf20Sopenharmony_ci	select CARDBUS if !EXPERT
778c2ecf20Sopenharmony_ci	select PCCARD_NONSTATIC if PCMCIA != n
788c2ecf20Sopenharmony_ci	help
798c2ecf20Sopenharmony_ci	  This option enables support for CardBus host bridges.  Virtually
808c2ecf20Sopenharmony_ci	  all modern PCMCIA bridges are CardBus compatible.  A "bridge" is
818c2ecf20Sopenharmony_ci	  the hardware inside your computer that PCMCIA cards are plugged
828c2ecf20Sopenharmony_ci	  into.
838c2ecf20Sopenharmony_ci
848c2ecf20Sopenharmony_ci	  To compile this driver as modules, choose M here: the
858c2ecf20Sopenharmony_ci	  module will be called yenta_socket.
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_ci	  If unsure, say Y.
888c2ecf20Sopenharmony_ci
898c2ecf20Sopenharmony_ciconfig YENTA_O2
908c2ecf20Sopenharmony_ci	default y
918c2ecf20Sopenharmony_ci	bool "Special initialization for O2Micro bridges" if EXPERT
928c2ecf20Sopenharmony_ci	depends on YENTA
938c2ecf20Sopenharmony_ci
948c2ecf20Sopenharmony_ciconfig YENTA_RICOH
958c2ecf20Sopenharmony_ci	default y
968c2ecf20Sopenharmony_ci	bool "Special initialization for Ricoh bridges" if EXPERT
978c2ecf20Sopenharmony_ci	depends on YENTA
988c2ecf20Sopenharmony_ci
998c2ecf20Sopenharmony_ciconfig YENTA_TI
1008c2ecf20Sopenharmony_ci	default y
1018c2ecf20Sopenharmony_ci	bool "Special initialization for TI and EnE bridges" if EXPERT
1028c2ecf20Sopenharmony_ci	depends on YENTA
1038c2ecf20Sopenharmony_ci
1048c2ecf20Sopenharmony_ciconfig YENTA_ENE_TUNE
1058c2ecf20Sopenharmony_ci	default y
1068c2ecf20Sopenharmony_ci	bool "Auto-tune EnE bridges for CB cards" if EXPERT
1078c2ecf20Sopenharmony_ci	depends on YENTA_TI && CARDBUS
1088c2ecf20Sopenharmony_ci
1098c2ecf20Sopenharmony_ciconfig YENTA_TOSHIBA
1108c2ecf20Sopenharmony_ci	default y
1118c2ecf20Sopenharmony_ci	bool "Special initialization for Toshiba ToPIC bridges" if EXPERT
1128c2ecf20Sopenharmony_ci	depends on YENTA
1138c2ecf20Sopenharmony_ci
1148c2ecf20Sopenharmony_ciconfig PD6729
1158c2ecf20Sopenharmony_ci	tristate "Cirrus PD6729 compatible bridge support"
1168c2ecf20Sopenharmony_ci	depends on PCMCIA && PCI
1178c2ecf20Sopenharmony_ci	select PCCARD_NONSTATIC
1188c2ecf20Sopenharmony_ci	help
1198c2ecf20Sopenharmony_ci	  This provides support for the Cirrus PD6729 PCI-to-PCMCIA bridge
1208c2ecf20Sopenharmony_ci	  device, found in some older laptops and PCMCIA card readers.
1218c2ecf20Sopenharmony_ci
1228c2ecf20Sopenharmony_ciconfig I82092
1238c2ecf20Sopenharmony_ci	tristate "i82092 compatible bridge support"
1248c2ecf20Sopenharmony_ci	depends on PCMCIA && PCI
1258c2ecf20Sopenharmony_ci	select PCCARD_NONSTATIC
1268c2ecf20Sopenharmony_ci	help
1278c2ecf20Sopenharmony_ci	  This provides support for the Intel I82092AA PCI-to-PCMCIA bridge device,
1288c2ecf20Sopenharmony_ci	  found in some older laptops and more commonly in evaluation boards for the
1298c2ecf20Sopenharmony_ci	  chip.
1308c2ecf20Sopenharmony_ci
1318c2ecf20Sopenharmony_ciconfig I82365
1328c2ecf20Sopenharmony_ci	tristate "i82365 compatible bridge support"
1338c2ecf20Sopenharmony_ci	depends on PCMCIA && ISA
1348c2ecf20Sopenharmony_ci	select PCCARD_NONSTATIC
1358c2ecf20Sopenharmony_ci	help
1368c2ecf20Sopenharmony_ci	  Say Y here to include support for ISA-bus PCMCIA host bridges that
1378c2ecf20Sopenharmony_ci	  are register compatible with the Intel i82365.  These are found on
1388c2ecf20Sopenharmony_ci	  older laptops and ISA-bus card readers for desktop systems.  A
1398c2ecf20Sopenharmony_ci	  "bridge" is the hardware inside your computer that PCMCIA cards are
1408c2ecf20Sopenharmony_ci	  plugged into. If unsure, say N.
1418c2ecf20Sopenharmony_ci
1428c2ecf20Sopenharmony_ciconfig TCIC
1438c2ecf20Sopenharmony_ci	tristate "Databook TCIC host bridge support"
1448c2ecf20Sopenharmony_ci	depends on PCMCIA && ISA
1458c2ecf20Sopenharmony_ci	select PCCARD_NONSTATIC
1468c2ecf20Sopenharmony_ci	help
1478c2ecf20Sopenharmony_ci	  Say Y here to include support for the Databook TCIC family of PCMCIA
1488c2ecf20Sopenharmony_ci	  host bridges. These are only found on a handful of old systems.
1498c2ecf20Sopenharmony_ci	  "Bridge" is the name used for the hardware inside your computer that
1508c2ecf20Sopenharmony_ci	  PCMCIA cards are plugged into. If unsure, say N.
1518c2ecf20Sopenharmony_ci
1528c2ecf20Sopenharmony_ciconfig PCMCIA_ALCHEMY_DEVBOARD
1538c2ecf20Sopenharmony_ci	tristate "Alchemy Db/Pb1xxx PCMCIA socket services"
1548c2ecf20Sopenharmony_ci	depends on MIPS_DB1XXX && PCMCIA
1558c2ecf20Sopenharmony_ci	help
1568c2ecf20Sopenharmony_ci	  Enable this driver of you want PCMCIA support on your Alchemy
1578c2ecf20Sopenharmony_ci	  Db1000, Db/Pb1100, Db/Pb1500, Db/Pb1550, Db/Pb1200, DB1300
1588c2ecf20Sopenharmony_ci	  board.  NOT suitable for the PB1000!
1598c2ecf20Sopenharmony_ci
1608c2ecf20Sopenharmony_ci	  This driver is also available as a module called db1xxx_ss.ko
1618c2ecf20Sopenharmony_ci
1628c2ecf20Sopenharmony_ciconfig PCMCIA_XXS1500
1638c2ecf20Sopenharmony_ci	tristate "MyCable XXS1500 PCMCIA socket support"
1648c2ecf20Sopenharmony_ci	depends on PCMCIA && MIPS_XXS1500
1658c2ecf20Sopenharmony_ci	help
1668c2ecf20Sopenharmony_ci	  Support for the PCMCIA/CF socket interface on MyCable XXS1500
1678c2ecf20Sopenharmony_ci	  systems.
1688c2ecf20Sopenharmony_ci
1698c2ecf20Sopenharmony_ci	  This driver is also available as a module called xxs1500_ss.ko
1708c2ecf20Sopenharmony_ci
1718c2ecf20Sopenharmony_ciconfig PCMCIA_BCM63XX
1728c2ecf20Sopenharmony_ci	tristate "bcm63xx pcmcia support"
1738c2ecf20Sopenharmony_ci	depends on BCM63XX && PCMCIA
1748c2ecf20Sopenharmony_ci
1758c2ecf20Sopenharmony_ciconfig PCMCIA_SOC_COMMON
1768c2ecf20Sopenharmony_ci	tristate
1778c2ecf20Sopenharmony_ci
1788c2ecf20Sopenharmony_ciconfig PCMCIA_SA11XX_BASE
1798c2ecf20Sopenharmony_ci	tristate
1808c2ecf20Sopenharmony_ci
1818c2ecf20Sopenharmony_ciconfig PCMCIA_SA1100
1828c2ecf20Sopenharmony_ci	tristate "SA1100 support"
1838c2ecf20Sopenharmony_ci	depends on ARM && ARCH_SA1100 && PCMCIA
1848c2ecf20Sopenharmony_ci	select PCMCIA_SOC_COMMON
1858c2ecf20Sopenharmony_ci	select PCMCIA_SA11XX_BASE
1868c2ecf20Sopenharmony_ci	help
1878c2ecf20Sopenharmony_ci	  Say Y here to include support for SA11x0-based PCMCIA or CF
1888c2ecf20Sopenharmony_ci	  sockets, found on HP iPAQs, Yopy, and other StrongARM(R)/
1898c2ecf20Sopenharmony_ci	  Xscale(R) embedded machines.
1908c2ecf20Sopenharmony_ci
1918c2ecf20Sopenharmony_ci	  This driver is also available as a module called sa1100_cs.
1928c2ecf20Sopenharmony_ci
1938c2ecf20Sopenharmony_ciconfig PCMCIA_SA1111
1948c2ecf20Sopenharmony_ci	tristate "SA1111 support"
1958c2ecf20Sopenharmony_ci	depends on ARM && SA1111 && PCMCIA
1968c2ecf20Sopenharmony_ci	select PCMCIA_SOC_COMMON
1978c2ecf20Sopenharmony_ci	select PCMCIA_SA11XX_BASE if ARCH_SA1100
1988c2ecf20Sopenharmony_ci	select PCMCIA_PXA2XX if ARCH_LUBBOCK && SA1111
1998c2ecf20Sopenharmony_ci	select PCMCIA_MAX1600 if ASSABET_NEPONSET
2008c2ecf20Sopenharmony_ci	select PCMCIA_MAX1600 if ARCH_LUBBOCK && SA1111
2018c2ecf20Sopenharmony_ci	help
2028c2ecf20Sopenharmony_ci	  Say Y  here to include support for SA1111-based PCMCIA or CF
2038c2ecf20Sopenharmony_ci	  sockets, found on the Jornada 720, Graphicsmaster and other
2048c2ecf20Sopenharmony_ci	  StrongARM(R)/Xscale(R) embedded machines.
2058c2ecf20Sopenharmony_ci
2068c2ecf20Sopenharmony_ci	  This driver is also available as a module called sa1111_cs.
2078c2ecf20Sopenharmony_ci
2088c2ecf20Sopenharmony_ciconfig PCMCIA_PXA2XX
2098c2ecf20Sopenharmony_ci	tristate "PXA2xx support"
2108c2ecf20Sopenharmony_ci	depends on ARM && ARCH_PXA && PCMCIA
2118c2ecf20Sopenharmony_ci	depends on (ARCH_LUBBOCK || MACH_MAINSTONE || PXA_SHARPSL \
2128c2ecf20Sopenharmony_ci		    || MACH_ARMCORE || ARCH_PXA_PALM || TRIZEPS_PCMCIA \
2138c2ecf20Sopenharmony_ci		    || ARCOM_PCMCIA || ARCH_PXA_ESERIES || MACH_STARGATE2 \
2148c2ecf20Sopenharmony_ci		    || MACH_VPAC270 || MACH_BALLOON3 || MACH_COLIBRI \
2158c2ecf20Sopenharmony_ci		    || MACH_COLIBRI320 || MACH_H4700)
2168c2ecf20Sopenharmony_ci	select PCMCIA_SOC_COMMON
2178c2ecf20Sopenharmony_ci	select PCMCIA_MAX1600 if MACH_MAINSTONE
2188c2ecf20Sopenharmony_ci	help
2198c2ecf20Sopenharmony_ci	  Say Y here to include support for the PXA2xx PCMCIA controller
2208c2ecf20Sopenharmony_ci
2218c2ecf20Sopenharmony_ciconfig PCMCIA_DEBUG
2228c2ecf20Sopenharmony_ci	bool "Enable debugging"
2238c2ecf20Sopenharmony_ci	depends on (PCMCIA_SA1111 || PCMCIA_SA1100 || PCMCIA_PXA2XX)
2248c2ecf20Sopenharmony_ci	help
2258c2ecf20Sopenharmony_ci	  Say Y here to enable debugging for the SoC PCMCIA layer.
2268c2ecf20Sopenharmony_ci	  You will need to choose the debugging level either via the
2278c2ecf20Sopenharmony_ci	  kernel command line, or module options depending whether
2288c2ecf20Sopenharmony_ci	  you build the drivers as modules.
2298c2ecf20Sopenharmony_ci
2308c2ecf20Sopenharmony_ci	  The kernel command line options are:
2318c2ecf20Sopenharmony_ci	    sa11xx_core.pc_debug=N
2328c2ecf20Sopenharmony_ci	    pxa2xx_core.pc_debug=N
2338c2ecf20Sopenharmony_ci
2348c2ecf20Sopenharmony_ci	  The module option is called pc_debug=N
2358c2ecf20Sopenharmony_ci
2368c2ecf20Sopenharmony_ci	  In all the above examples, N is the debugging verbosity
2378c2ecf20Sopenharmony_ci	  level.
2388c2ecf20Sopenharmony_ci
2398c2ecf20Sopenharmony_ciconfig PCMCIA_PROBE
2408c2ecf20Sopenharmony_ci	bool
2418c2ecf20Sopenharmony_ci	default y if ISA && !ARCH_SA1100 && !PARISC
2428c2ecf20Sopenharmony_ci
2438c2ecf20Sopenharmony_ciconfig PCMCIA_VRC4171
2448c2ecf20Sopenharmony_ci	tristate "NEC VRC4171 Card Controllers support"
2458c2ecf20Sopenharmony_ci	depends on CPU_VR41XX && ISA && PCMCIA
2468c2ecf20Sopenharmony_ci
2478c2ecf20Sopenharmony_ciconfig PCMCIA_VRC4173
2488c2ecf20Sopenharmony_ci	tristate "NEC VRC4173 CARDU support"
2498c2ecf20Sopenharmony_ci	depends on CPU_VR41XX && PCI && PCMCIA
2508c2ecf20Sopenharmony_ci
2518c2ecf20Sopenharmony_ciconfig OMAP_CF
2528c2ecf20Sopenharmony_ci	tristate "OMAP CompactFlash Controller"
2538c2ecf20Sopenharmony_ci	depends on PCMCIA && ARCH_OMAP16XX
2548c2ecf20Sopenharmony_ci	help
2558c2ecf20Sopenharmony_ci	  Say Y here to support the CompactFlash controller on OMAP.
2568c2ecf20Sopenharmony_ci	  Note that this doesn't support "True IDE" mode.
2578c2ecf20Sopenharmony_ci
2588c2ecf20Sopenharmony_ciconfig AT91_CF
2598c2ecf20Sopenharmony_ci	tristate "AT91 CompactFlash Controller"
2608c2ecf20Sopenharmony_ci	depends on PCI
2618c2ecf20Sopenharmony_ci	depends on PCMCIA && ARCH_AT91
2628c2ecf20Sopenharmony_ci	help
2638c2ecf20Sopenharmony_ci	  Say Y here to support the CompactFlash controller on AT91 chips.
2648c2ecf20Sopenharmony_ci	  Or choose M to compile the driver as a module named "at91_cf".
2658c2ecf20Sopenharmony_ci
2668c2ecf20Sopenharmony_ciconfig ELECTRA_CF
2678c2ecf20Sopenharmony_ci	tristate "Electra CompactFlash Controller"
2688c2ecf20Sopenharmony_ci	depends on PCMCIA && PPC_PASEMI
2698c2ecf20Sopenharmony_ci	help
2708c2ecf20Sopenharmony_ci	  Say Y here to support the CompactFlash controller on the
2718c2ecf20Sopenharmony_ci	  PA Semi Electra eval board.
2728c2ecf20Sopenharmony_ci
2738c2ecf20Sopenharmony_ciconfig PCCARD_NONSTATIC
2748c2ecf20Sopenharmony_ci	bool
2758c2ecf20Sopenharmony_ci
2768c2ecf20Sopenharmony_ciconfig PCCARD_IODYN
2778c2ecf20Sopenharmony_ci	bool
2788c2ecf20Sopenharmony_ci
2798c2ecf20Sopenharmony_ciendif	# PCCARD
280