162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci# 362306a36Sopenharmony_ci# PCCARD (PCMCIA/CardBus) bus subsystem configuration 462306a36Sopenharmony_ci# 562306a36Sopenharmony_ci 662306a36Sopenharmony_cimenuconfig PCCARD 762306a36Sopenharmony_ci tristate "PCCard (PCMCIA/CardBus) support" 862306a36Sopenharmony_ci help 962306a36Sopenharmony_ci Say Y here if you want to attach PCMCIA- or PC-cards to your Linux 1062306a36Sopenharmony_ci computer. These are credit-card size devices such as network cards, 1162306a36Sopenharmony_ci modems or hard drives often used with laptops computers. There are 1262306a36Sopenharmony_ci actually two varieties of these cards: 16 bit PCMCIA and 32 bit 1362306a36Sopenharmony_ci CardBus cards. 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci To compile this driver as modules, choose M here: the 1662306a36Sopenharmony_ci module will be called pcmcia_core. 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ciif PCCARD 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ciconfig PCMCIA 2162306a36Sopenharmony_ci tristate "16-bit PCMCIA support" 2262306a36Sopenharmony_ci depends on HAS_IOMEM 2362306a36Sopenharmony_ci select CRC32 2462306a36Sopenharmony_ci default y 2562306a36Sopenharmony_ci help 2662306a36Sopenharmony_ci This option enables support for 16-bit PCMCIA cards. Most older 2762306a36Sopenharmony_ci PC-cards are such 16-bit PCMCIA cards, so unless you know you're 2862306a36Sopenharmony_ci only using 32-bit CardBus cards, say Y or M here. 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci To use 16-bit PCMCIA cards, you will need supporting software in 3162306a36Sopenharmony_ci most cases. (see the file <file:Documentation/Changes> for 3262306a36Sopenharmony_ci location and details). 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci To compile this driver as modules, choose M here: the 3562306a36Sopenharmony_ci module will be called pcmcia. 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci If unsure, say Y. 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ciconfig PCMCIA_LOAD_CIS 4062306a36Sopenharmony_ci bool "Load CIS updates from userspace" 4162306a36Sopenharmony_ci depends on PCMCIA 4262306a36Sopenharmony_ci select FW_LOADER 4362306a36Sopenharmony_ci default y 4462306a36Sopenharmony_ci help 4562306a36Sopenharmony_ci Some PCMCIA cards require an updated Card Information Structure (CIS) 4662306a36Sopenharmony_ci to be loaded from userspace to work correctly. If you say Y here, 4762306a36Sopenharmony_ci and your userspace is arranged correctly, this will be loaded 4862306a36Sopenharmony_ci automatically using the in-kernel firmware loader and the hotplug 4962306a36Sopenharmony_ci subsystem, instead of relying on cardmgr from pcmcia-cs to do so. 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci If unsure, say Y. 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ciconfig CARDBUS 5462306a36Sopenharmony_ci bool "32-bit CardBus support" 5562306a36Sopenharmony_ci depends on PCI 5662306a36Sopenharmony_ci default y 5762306a36Sopenharmony_ci help 5862306a36Sopenharmony_ci CardBus is a bus mastering architecture for PC-cards, which allows 5962306a36Sopenharmony_ci for 32 bit PC-cards (the original PCMCIA standard specifies only 6062306a36Sopenharmony_ci a 16 bit wide bus). Many newer PC-cards are actually CardBus cards. 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ci To use 32 bit PC-cards, you also need a CardBus compatible host 6362306a36Sopenharmony_ci bridge. Virtually all modern PCMCIA bridges do this, and most of 6462306a36Sopenharmony_ci them are "yenta-compatible", so say Y or M there, too. 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci If unsure, say Y. 6762306a36Sopenharmony_ci 6862306a36Sopenharmony_ciconfig PCMCIA_MAX1600 6962306a36Sopenharmony_ci tristate 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_cicomment "PC-card bridges" 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ciconfig YENTA 7462306a36Sopenharmony_ci tristate "CardBus yenta-compatible bridge support" 7562306a36Sopenharmony_ci depends on PCI 7662306a36Sopenharmony_ci select CARDBUS if !EXPERT 7762306a36Sopenharmony_ci select PCCARD_NONSTATIC if PCMCIA != n 7862306a36Sopenharmony_ci help 7962306a36Sopenharmony_ci This option enables support for CardBus host bridges. Virtually 8062306a36Sopenharmony_ci all modern PCMCIA bridges are CardBus compatible. A "bridge" is 8162306a36Sopenharmony_ci the hardware inside your computer that PCMCIA cards are plugged 8262306a36Sopenharmony_ci into. 8362306a36Sopenharmony_ci 8462306a36Sopenharmony_ci To compile this driver as modules, choose M here: the 8562306a36Sopenharmony_ci module will be called yenta_socket. 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ci If unsure, say Y. 8862306a36Sopenharmony_ci 8962306a36Sopenharmony_ciconfig YENTA_O2 9062306a36Sopenharmony_ci default y 9162306a36Sopenharmony_ci bool "Special initialization for O2Micro bridges" if EXPERT 9262306a36Sopenharmony_ci depends on YENTA 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ciconfig YENTA_RICOH 9562306a36Sopenharmony_ci default y 9662306a36Sopenharmony_ci bool "Special initialization for Ricoh bridges" if EXPERT 9762306a36Sopenharmony_ci depends on YENTA 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ciconfig YENTA_TI 10062306a36Sopenharmony_ci default y 10162306a36Sopenharmony_ci bool "Special initialization for TI and EnE bridges" if EXPERT 10262306a36Sopenharmony_ci depends on YENTA 10362306a36Sopenharmony_ci 10462306a36Sopenharmony_ciconfig YENTA_ENE_TUNE 10562306a36Sopenharmony_ci default y 10662306a36Sopenharmony_ci bool "Auto-tune EnE bridges for CB cards" if EXPERT 10762306a36Sopenharmony_ci depends on YENTA_TI && CARDBUS 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ciconfig YENTA_TOSHIBA 11062306a36Sopenharmony_ci default y 11162306a36Sopenharmony_ci bool "Special initialization for Toshiba ToPIC bridges" if EXPERT 11262306a36Sopenharmony_ci depends on YENTA 11362306a36Sopenharmony_ci 11462306a36Sopenharmony_ciconfig PD6729 11562306a36Sopenharmony_ci tristate "Cirrus PD6729 compatible bridge support" 11662306a36Sopenharmony_ci depends on PCMCIA && PCI && HAS_IOPORT 11762306a36Sopenharmony_ci select PCCARD_NONSTATIC 11862306a36Sopenharmony_ci help 11962306a36Sopenharmony_ci This provides support for the Cirrus PD6729 PCI-to-PCMCIA bridge 12062306a36Sopenharmony_ci device, found in some older laptops and PCMCIA card readers. 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ciconfig I82092 12362306a36Sopenharmony_ci tristate "i82092 compatible bridge support" 12462306a36Sopenharmony_ci depends on PCMCIA && PCI && HAS_IOPORT 12562306a36Sopenharmony_ci select PCCARD_NONSTATIC 12662306a36Sopenharmony_ci help 12762306a36Sopenharmony_ci This provides support for the Intel I82092AA PCI-to-PCMCIA bridge device, 12862306a36Sopenharmony_ci found in some older laptops and more commonly in evaluation boards for the 12962306a36Sopenharmony_ci chip. 13062306a36Sopenharmony_ci 13162306a36Sopenharmony_ciconfig I82365 13262306a36Sopenharmony_ci tristate "i82365 compatible bridge support" 13362306a36Sopenharmony_ci depends on PCMCIA && ISA 13462306a36Sopenharmony_ci select PCCARD_NONSTATIC 13562306a36Sopenharmony_ci help 13662306a36Sopenharmony_ci Say Y here to include support for ISA-bus PCMCIA host bridges that 13762306a36Sopenharmony_ci are register compatible with the Intel i82365. These are found on 13862306a36Sopenharmony_ci older laptops and ISA-bus card readers for desktop systems. A 13962306a36Sopenharmony_ci "bridge" is the hardware inside your computer that PCMCIA cards are 14062306a36Sopenharmony_ci plugged into. If unsure, say N. 14162306a36Sopenharmony_ci 14262306a36Sopenharmony_ciconfig TCIC 14362306a36Sopenharmony_ci tristate "Databook TCIC host bridge support" 14462306a36Sopenharmony_ci depends on PCMCIA && ISA 14562306a36Sopenharmony_ci select PCCARD_NONSTATIC 14662306a36Sopenharmony_ci help 14762306a36Sopenharmony_ci Say Y here to include support for the Databook TCIC family of PCMCIA 14862306a36Sopenharmony_ci host bridges. These are only found on a handful of old systems. 14962306a36Sopenharmony_ci "Bridge" is the name used for the hardware inside your computer that 15062306a36Sopenharmony_ci PCMCIA cards are plugged into. If unsure, say N. 15162306a36Sopenharmony_ci 15262306a36Sopenharmony_ciconfig PCMCIA_ALCHEMY_DEVBOARD 15362306a36Sopenharmony_ci tristate "Alchemy Db/Pb1xxx PCMCIA socket services" 15462306a36Sopenharmony_ci depends on MIPS_DB1XXX && PCMCIA 15562306a36Sopenharmony_ci help 15662306a36Sopenharmony_ci Enable this driver of you want PCMCIA support on your Alchemy 15762306a36Sopenharmony_ci Db1000, Db/Pb1100, Db/Pb1500, Db/Pb1550, Db/Pb1200, DB1300 15862306a36Sopenharmony_ci board. NOT suitable for the PB1000! 15962306a36Sopenharmony_ci 16062306a36Sopenharmony_ci This driver is also available as a module called db1xxx_ss.ko 16162306a36Sopenharmony_ci 16262306a36Sopenharmony_ciconfig PCMCIA_XXS1500 16362306a36Sopenharmony_ci tristate "MyCable XXS1500 PCMCIA socket support" 16462306a36Sopenharmony_ci depends on PCMCIA && MIPS_XXS1500 16562306a36Sopenharmony_ci help 16662306a36Sopenharmony_ci Support for the PCMCIA/CF socket interface on MyCable XXS1500 16762306a36Sopenharmony_ci systems. 16862306a36Sopenharmony_ci 16962306a36Sopenharmony_ci This driver is also available as a module called xxs1500_ss.ko 17062306a36Sopenharmony_ci 17162306a36Sopenharmony_ciconfig PCMCIA_BCM63XX 17262306a36Sopenharmony_ci tristate "bcm63xx pcmcia support" 17362306a36Sopenharmony_ci depends on BCM63XX && PCMCIA 17462306a36Sopenharmony_ci 17562306a36Sopenharmony_ciconfig PCMCIA_SOC_COMMON 17662306a36Sopenharmony_ci tristate 17762306a36Sopenharmony_ci 17862306a36Sopenharmony_ciconfig PCMCIA_SA11XX_BASE 17962306a36Sopenharmony_ci tristate 18062306a36Sopenharmony_ci 18162306a36Sopenharmony_ciconfig PCMCIA_SA1100 18262306a36Sopenharmony_ci tristate "SA1100 support" 18362306a36Sopenharmony_ci depends on ARM && ARCH_SA1100 && PCMCIA 18462306a36Sopenharmony_ci select PCMCIA_SOC_COMMON 18562306a36Sopenharmony_ci select PCMCIA_SA11XX_BASE 18662306a36Sopenharmony_ci help 18762306a36Sopenharmony_ci Say Y here to include support for SA11x0-based PCMCIA or CF 18862306a36Sopenharmony_ci sockets, found on HP iPAQs, Yopy, and other StrongARM(R)/ 18962306a36Sopenharmony_ci Xscale(R) embedded machines. 19062306a36Sopenharmony_ci 19162306a36Sopenharmony_ci This driver is also available as a module called sa1100_cs. 19262306a36Sopenharmony_ci 19362306a36Sopenharmony_ciconfig PCMCIA_SA1111 19462306a36Sopenharmony_ci tristate "SA1111 support" 19562306a36Sopenharmony_ci depends on ARM && SA1111 && PCMCIA 19662306a36Sopenharmony_ci select PCMCIA_SOC_COMMON 19762306a36Sopenharmony_ci select PCMCIA_SA11XX_BASE 19862306a36Sopenharmony_ci select PCMCIA_MAX1600 if ASSABET_NEPONSET 19962306a36Sopenharmony_ci help 20062306a36Sopenharmony_ci Say Y here to include support for SA1111-based PCMCIA or CF 20162306a36Sopenharmony_ci sockets, found on the Jornada 720, Graphicsmaster and other 20262306a36Sopenharmony_ci StrongARM(R)/Xscale(R) embedded machines. 20362306a36Sopenharmony_ci 20462306a36Sopenharmony_ci This driver is also available as a module called sa1111_cs. 20562306a36Sopenharmony_ci 20662306a36Sopenharmony_ciconfig PCMCIA_PXA2XX 20762306a36Sopenharmony_ci tristate "PXA2xx support" 20862306a36Sopenharmony_ci depends on ARM && ARCH_PXA && PCMCIA && PXA_SHARPSL 20962306a36Sopenharmony_ci select PCMCIA_SOC_COMMON 21062306a36Sopenharmony_ci help 21162306a36Sopenharmony_ci Say Y here to include support for the PXA2xx PCMCIA controller 21262306a36Sopenharmony_ci 21362306a36Sopenharmony_ciconfig PCMCIA_DEBUG 21462306a36Sopenharmony_ci bool "Enable debugging" 21562306a36Sopenharmony_ci depends on (PCMCIA_SA1111 || PCMCIA_SA1100 || PCMCIA_PXA2XX) 21662306a36Sopenharmony_ci help 21762306a36Sopenharmony_ci Say Y here to enable debugging for the SoC PCMCIA layer. 21862306a36Sopenharmony_ci You will need to choose the debugging level either via the 21962306a36Sopenharmony_ci kernel command line, or module options depending whether 22062306a36Sopenharmony_ci you build the drivers as modules. 22162306a36Sopenharmony_ci 22262306a36Sopenharmony_ci The kernel command line options are: 22362306a36Sopenharmony_ci sa11xx_core.pc_debug=N 22462306a36Sopenharmony_ci pxa2xx_core.pc_debug=N 22562306a36Sopenharmony_ci 22662306a36Sopenharmony_ci The module option is called pc_debug=N 22762306a36Sopenharmony_ci 22862306a36Sopenharmony_ci In all the above examples, N is the debugging verbosity 22962306a36Sopenharmony_ci level. 23062306a36Sopenharmony_ci 23162306a36Sopenharmony_ciconfig PCMCIA_PROBE 23262306a36Sopenharmony_ci bool 23362306a36Sopenharmony_ci default y if ISA && !ARCH_SA1100 && !PARISC 23462306a36Sopenharmony_ci 23562306a36Sopenharmony_ciconfig OMAP_CF 23662306a36Sopenharmony_ci tristate "OMAP CompactFlash Controller" 23762306a36Sopenharmony_ci depends on PCMCIA 23862306a36Sopenharmony_ci depends on ARCH_OMAP16XX || (ARM && COMPILE_TEST) 23962306a36Sopenharmony_ci help 24062306a36Sopenharmony_ci Say Y here to support the CompactFlash controller on OMAP. 24162306a36Sopenharmony_ci Note that this doesn't support "True IDE" mode. 24262306a36Sopenharmony_ci 24362306a36Sopenharmony_ciconfig ELECTRA_CF 24462306a36Sopenharmony_ci tristate "Electra CompactFlash Controller" 24562306a36Sopenharmony_ci depends on PCMCIA && PPC_PASEMI 24662306a36Sopenharmony_ci help 24762306a36Sopenharmony_ci Say Y here to support the CompactFlash controller on the 24862306a36Sopenharmony_ci PA Semi Electra eval board. 24962306a36Sopenharmony_ci 25062306a36Sopenharmony_ciconfig PCCARD_NONSTATIC 25162306a36Sopenharmony_ci bool 25262306a36Sopenharmony_ci 25362306a36Sopenharmony_ciconfig PCCARD_IODYN 25462306a36Sopenharmony_ci bool 25562306a36Sopenharmony_ci 25662306a36Sopenharmony_ciendif # PCCARD 257