1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 21da177e4SLinus Torvalds# 3bf45d9b0SDominik Brodowski# PCCARD (PCMCIA/CardBus) bus subsystem configuration 41da177e4SLinus Torvalds# 51da177e4SLinus Torvalds 642c5323cSJan Engelhardtmenuconfig PCCARD 71da177e4SLinus Torvalds tristate "PCCard (PCMCIA/CardBus) support" 8a7f7f624SMasahiro Yamada help 91da177e4SLinus Torvalds Say Y here if you want to attach PCMCIA- or PC-cards to your Linux 101da177e4SLinus Torvalds computer. These are credit-card size devices such as network cards, 111da177e4SLinus Torvalds modems or hard drives often used with laptops computers. There are 129a5555b8SDominik Brodowski actually two varieties of these cards: 16 bit PCMCIA and 32 bit 139a5555b8SDominik Brodowski CardBus cards. 141da177e4SLinus Torvalds 151da177e4SLinus Torvalds To compile this driver as modules, choose M here: the 161da177e4SLinus Torvalds module will be called pcmcia_core. 171da177e4SLinus Torvalds 181da177e4SLinus Torvaldsif PCCARD 191da177e4SLinus Torvalds 201da177e4SLinus Torvaldsconfig PCMCIA 211da177e4SLinus Torvalds tristate "16-bit PCMCIA support" 22*acdbfa04SBaoquan He depends on HAS_IOMEM 23f861bd23SDominik Brodowski select CRC32 241da177e4SLinus Torvalds default y 25a7f7f624SMasahiro Yamada help 261da177e4SLinus Torvalds This option enables support for 16-bit PCMCIA cards. Most older 271da177e4SLinus Torvalds PC-cards are such 16-bit PCMCIA cards, so unless you know you're 281da177e4SLinus Torvalds only using 32-bit CardBus cards, say Y or M here. 291da177e4SLinus Torvalds 309a5555b8SDominik Brodowski To use 16-bit PCMCIA cards, you will need supporting software in 319a5555b8SDominik Brodowski most cases. (see the file <file:Documentation/Changes> for 329a5555b8SDominik Brodowski location and details). 331da177e4SLinus Torvalds 341da177e4SLinus Torvalds To compile this driver as modules, choose M here: the 351da177e4SLinus Torvalds module will be called pcmcia. 361da177e4SLinus Torvalds 371da177e4SLinus Torvalds If unsure, say Y. 381da177e4SLinus Torvalds 39daa9517dSDominik Brodowskiconfig PCMCIA_LOAD_CIS 40204911fbSKees Cook bool "Load CIS updates from userspace" 41204911fbSKees Cook depends on PCMCIA 42daa9517dSDominik Brodowski select FW_LOADER 43daa9517dSDominik Brodowski default y 44daa9517dSDominik Brodowski help 45daa9517dSDominik Brodowski Some PCMCIA cards require an updated Card Information Structure (CIS) 46daa9517dSDominik Brodowski to be loaded from userspace to work correctly. If you say Y here, 47daa9517dSDominik Brodowski and your userspace is arranged correctly, this will be loaded 48daa9517dSDominik Brodowski automatically using the in-kernel firmware loader and the hotplug 49daa9517dSDominik Brodowski subsystem, instead of relying on cardmgr from pcmcia-cs to do so. 50daa9517dSDominik Brodowski 51daa9517dSDominik Brodowski If unsure, say Y. 52daa9517dSDominik Brodowski 531da177e4SLinus Torvaldsconfig CARDBUS 541da177e4SLinus Torvalds bool "32-bit CardBus support" 551da177e4SLinus Torvalds depends on PCI 561da177e4SLinus Torvalds default y 57a7f7f624SMasahiro Yamada help 581da177e4SLinus Torvalds CardBus is a bus mastering architecture for PC-cards, which allows 591da177e4SLinus Torvalds for 32 bit PC-cards (the original PCMCIA standard specifies only 601da177e4SLinus Torvalds a 16 bit wide bus). Many newer PC-cards are actually CardBus cards. 611da177e4SLinus Torvalds 621da177e4SLinus Torvalds To use 32 bit PC-cards, you also need a CardBus compatible host 631da177e4SLinus Torvalds bridge. Virtually all modern PCMCIA bridges do this, and most of 641da177e4SLinus Torvalds them are "yenta-compatible", so say Y or M there, too. 651da177e4SLinus Torvalds 661da177e4SLinus Torvalds If unsure, say Y. 671da177e4SLinus Torvalds 68bebdf98aSRussell Kingconfig PCMCIA_MAX1600 69bebdf98aSRussell King tristate 70bebdf98aSRussell King 711da177e4SLinus Torvaldscomment "PC-card bridges" 721da177e4SLinus Torvalds 731da177e4SLinus Torvaldsconfig YENTA 741da177e4SLinus Torvalds tristate "CardBus yenta-compatible bridge support" 7589b39f5dSDominik Brodowski depends on PCI 766a108a14SDavid Rientjes select CARDBUS if !EXPERT 773d7a8278SGreg Kroah-Hartman select PCCARD_NONSTATIC if PCMCIA != n 78a7f7f624SMasahiro Yamada help 791da177e4SLinus Torvalds This option enables support for CardBus host bridges. Virtually 801da177e4SLinus Torvalds all modern PCMCIA bridges are CardBus compatible. A "bridge" is 811da177e4SLinus Torvalds the hardware inside your computer that PCMCIA cards are plugged 821da177e4SLinus Torvalds into. 831da177e4SLinus Torvalds 841da177e4SLinus Torvalds To compile this driver as modules, choose M here: the 851da177e4SLinus Torvalds module will be called yenta_socket. 861da177e4SLinus Torvalds 871da177e4SLinus Torvalds If unsure, say Y. 881da177e4SLinus Torvalds 8963e7ebd0SDaniel Ritzconfig YENTA_O2 9063e7ebd0SDaniel Ritz default y 916a108a14SDavid Rientjes bool "Special initialization for O2Micro bridges" if EXPERT 9263e7ebd0SDaniel Ritz depends on YENTA 9363e7ebd0SDaniel Ritz 9463e7ebd0SDaniel Ritzconfig YENTA_RICOH 9563e7ebd0SDaniel Ritz default y 966a108a14SDavid Rientjes bool "Special initialization for Ricoh bridges" if EXPERT 9763e7ebd0SDaniel Ritz depends on YENTA 9863e7ebd0SDaniel Ritz 9963e7ebd0SDaniel Ritzconfig YENTA_TI 10063e7ebd0SDaniel Ritz default y 1016a108a14SDavid Rientjes bool "Special initialization for TI and EnE bridges" if EXPERT 10263e7ebd0SDaniel Ritz depends on YENTA 10363e7ebd0SDaniel Ritz 10463e7ebd0SDaniel Ritzconfig YENTA_ENE_TUNE 10563e7ebd0SDaniel Ritz default y 1066a108a14SDavid Rientjes bool "Auto-tune EnE bridges for CB cards" if EXPERT 10763e7ebd0SDaniel Ritz depends on YENTA_TI && CARDBUS 10863e7ebd0SDaniel Ritz 10963e7ebd0SDaniel Ritzconfig YENTA_TOSHIBA 11063e7ebd0SDaniel Ritz default y 1116a108a14SDavid Rientjes bool "Special initialization for Toshiba ToPIC bridges" if EXPERT 11263e7ebd0SDaniel Ritz depends on YENTA 11363e7ebd0SDaniel Ritz 1141da177e4SLinus Torvaldsconfig PD6729 1151da177e4SLinus Torvalds tristate "Cirrus PD6729 compatible bridge support" 11634ff9e51SNiklas Schnelle depends on PCMCIA && PCI && HAS_IOPORT 1173d7a8278SGreg Kroah-Hartman select PCCARD_NONSTATIC 1181da177e4SLinus Torvalds help 1191da177e4SLinus Torvalds This provides support for the Cirrus PD6729 PCI-to-PCMCIA bridge 1201da177e4SLinus Torvalds device, found in some older laptops and PCMCIA card readers. 1211da177e4SLinus Torvalds 1221da177e4SLinus Torvaldsconfig I82092 1231da177e4SLinus Torvalds tristate "i82092 compatible bridge support" 12434ff9e51SNiklas Schnelle depends on PCMCIA && PCI && HAS_IOPORT 1253d7a8278SGreg Kroah-Hartman select PCCARD_NONSTATIC 1261da177e4SLinus Torvalds help 1271da177e4SLinus Torvalds This provides support for the Intel I82092AA PCI-to-PCMCIA bridge device, 1281da177e4SLinus Torvalds found in some older laptops and more commonly in evaluation boards for the 1291da177e4SLinus Torvalds chip. 1301da177e4SLinus Torvalds 1311da177e4SLinus Torvaldsconfig I82365 1321da177e4SLinus Torvalds tristate "i82365 compatible bridge support" 1331da177e4SLinus Torvalds depends on PCMCIA && ISA 1341da177e4SLinus Torvalds select PCCARD_NONSTATIC 1351da177e4SLinus Torvalds help 1361da177e4SLinus Torvalds Say Y here to include support for ISA-bus PCMCIA host bridges that 1371da177e4SLinus Torvalds are register compatible with the Intel i82365. These are found on 1381da177e4SLinus Torvalds older laptops and ISA-bus card readers for desktop systems. A 1391da177e4SLinus Torvalds "bridge" is the hardware inside your computer that PCMCIA cards are 1401da177e4SLinus Torvalds plugged into. If unsure, say N. 1411da177e4SLinus Torvalds 1421da177e4SLinus Torvaldsconfig TCIC 1431da177e4SLinus Torvalds tristate "Databook TCIC host bridge support" 14481000808SKomuro depends on PCMCIA && ISA 1451da177e4SLinus Torvalds select PCCARD_NONSTATIC 1461da177e4SLinus Torvalds help 1471da177e4SLinus Torvalds Say Y here to include support for the Databook TCIC family of PCMCIA 1481da177e4SLinus Torvalds host bridges. These are only found on a handful of old systems. 1491da177e4SLinus Torvalds "Bridge" is the name used for the hardware inside your computer that 1501da177e4SLinus Torvalds PCMCIA cards are plugged into. If unsure, say N. 1511da177e4SLinus Torvalds 15266213b3cSManuel Laussconfig PCMCIA_ALCHEMY_DEVBOARD 15366213b3cSManuel Lauss tristate "Alchemy Db/Pb1xxx PCMCIA socket services" 1543928cf08SRandy Dunlap depends on MIPS_DB1XXX && PCMCIA 15566213b3cSManuel Lauss help 15666213b3cSManuel Lauss Enable this driver of you want PCMCIA support on your Alchemy 15764cd04d0SManuel Lauss Db1000, Db/Pb1100, Db/Pb1500, Db/Pb1550, Db/Pb1200, DB1300 15864cd04d0SManuel Lauss board. NOT suitable for the PB1000! 15966213b3cSManuel Lauss 16066213b3cSManuel Lauss This driver is also available as a module called db1xxx_ss.ko 16166213b3cSManuel Lauss 1620273b4efSManuel Laussconfig PCMCIA_XXS1500 1630273b4efSManuel Lauss tristate "MyCable XXS1500 PCMCIA socket support" 1640273b4efSManuel Lauss depends on PCMCIA && MIPS_XXS1500 1650273b4efSManuel Lauss help 1660273b4efSManuel Lauss Support for the PCMCIA/CF socket interface on MyCable XXS1500 1670273b4efSManuel Lauss systems. 1680273b4efSManuel Lauss 1690273b4efSManuel Lauss This driver is also available as a module called xxs1500_ss.ko 1700273b4efSManuel Lauss 171553d6d5fSMaxime Bizonconfig PCMCIA_BCM63XX 172553d6d5fSMaxime Bizon tristate "bcm63xx pcmcia support" 173553d6d5fSMaxime Bizon depends on BCM63XX && PCMCIA 174553d6d5fSMaxime Bizon 1750f767de6SRussell King - ARM Linuxconfig PCMCIA_SOC_COMMON 1761bf8e621SRussell King tristate 1770f767de6SRussell King - ARM Linux 178136b758bSRussell Kingconfig PCMCIA_SA11XX_BASE 179136b758bSRussell King tristate 180136b758bSRussell King 1811da177e4SLinus Torvaldsconfig PCMCIA_SA1100 1821da177e4SLinus Torvalds tristate "SA1100 support" 1831da177e4SLinus Torvalds depends on ARM && ARCH_SA1100 && PCMCIA 1840f767de6SRussell King - ARM Linux select PCMCIA_SOC_COMMON 185136b758bSRussell King select PCMCIA_SA11XX_BASE 1861da177e4SLinus Torvalds help 1871da177e4SLinus Torvalds Say Y here to include support for SA11x0-based PCMCIA or CF 1881da177e4SLinus Torvalds sockets, found on HP iPAQs, Yopy, and other StrongARM(R)/ 1891da177e4SLinus Torvalds Xscale(R) embedded machines. 1901da177e4SLinus Torvalds 1911da177e4SLinus Torvalds This driver is also available as a module called sa1100_cs. 1921da177e4SLinus Torvalds 1931da177e4SLinus Torvaldsconfig PCMCIA_SA1111 1941da177e4SLinus Torvalds tristate "SA1111 support" 19511990b2bSRussell King depends on ARM && SA1111 && PCMCIA 1960f767de6SRussell King - ARM Linux select PCMCIA_SOC_COMMON 1977aeffbf2SArnd Bergmann select PCMCIA_SA11XX_BASE 198e2125d05SRussell King select PCMCIA_MAX1600 if ASSABET_NEPONSET 1991da177e4SLinus Torvalds help 2001da177e4SLinus Torvalds Say Y here to include support for SA1111-based PCMCIA or CF 2011da177e4SLinus Torvalds sockets, found on the Jornada 720, Graphicsmaster and other 2021da177e4SLinus Torvalds StrongARM(R)/Xscale(R) embedded machines. 2031da177e4SLinus Torvalds 2041da177e4SLinus Torvalds This driver is also available as a module called sa1111_cs. 2051da177e4SLinus Torvalds 2061da177e4SLinus Torvaldsconfig PCMCIA_PXA2XX 2071da177e4SLinus Torvalds tristate "PXA2xx support" 2087aeffbf2SArnd Bergmann depends on ARM && ARCH_PXA && PCMCIA && PXA_SHARPSL 2090f767de6SRussell King - ARM Linux select PCMCIA_SOC_COMMON 2101da177e4SLinus Torvalds help 2111da177e4SLinus Torvalds Say Y here to include support for the PXA2xx PCMCIA controller 2121da177e4SLinus Torvalds 213c9f50dddSDominik Brodowskiconfig PCMCIA_DEBUG 214c9f50dddSDominik Brodowski bool "Enable debugging" 215c9f50dddSDominik Brodowski depends on (PCMCIA_SA1111 || PCMCIA_SA1100 || PCMCIA_PXA2XX) 216c9f50dddSDominik Brodowski help 217c9f50dddSDominik Brodowski Say Y here to enable debugging for the SoC PCMCIA layer. 218c9f50dddSDominik Brodowski You will need to choose the debugging level either via the 219c9f50dddSDominik Brodowski kernel command line, or module options depending whether 220c9f50dddSDominik Brodowski you build the drivers as modules. 221c9f50dddSDominik Brodowski 222c9f50dddSDominik Brodowski The kernel command line options are: 223c9f50dddSDominik Brodowski sa11xx_core.pc_debug=N 224c9f50dddSDominik Brodowski pxa2xx_core.pc_debug=N 225c9f50dddSDominik Brodowski 226c9f50dddSDominik Brodowski The module option is called pc_debug=N 227c9f50dddSDominik Brodowski 228c9f50dddSDominik Brodowski In all the above examples, N is the debugging verbosity 229c9f50dddSDominik Brodowski level. 230c9f50dddSDominik Brodowski 2311da177e4SLinus Torvaldsconfig PCMCIA_PROBE 2321da177e4SLinus Torvalds bool 233ea6add0bSAlexander Shiyan default y if ISA && !ARCH_SA1100 && !PARISC 2341da177e4SLinus Torvalds 235f74e48a5SDavid Brownellconfig OMAP_CF 236f74e48a5SDavid Brownell tristate "OMAP CompactFlash Controller" 237d87d44f7SArnd Bergmann depends on PCMCIA 238d87d44f7SArnd Bergmann depends on ARCH_OMAP16XX || (ARM && COMPILE_TEST) 239f74e48a5SDavid Brownell help 240f74e48a5SDavid Brownell Say Y here to support the CompactFlash controller on OMAP. 241f74e48a5SDavid Brownell Note that this doesn't support "True IDE" mode. 242f74e48a5SDavid Brownell 2432b571a06SOlof Johanssonconfig ELECTRA_CF 2442b571a06SOlof Johansson tristate "Electra CompactFlash Controller" 2452b571a06SOlof Johansson depends on PCMCIA && PPC_PASEMI 2462b571a06SOlof Johansson help 2472b571a06SOlof Johansson Say Y here to support the CompactFlash controller on the 2482b571a06SOlof Johansson PA Semi Electra eval board. 2492b571a06SOlof Johansson 2501da177e4SLinus Torvaldsconfig PCCARD_NONSTATIC 25149b1153aSDominik Brodowski bool 2521da177e4SLinus Torvalds 2533b27e942SDominik Brodowskiconfig PCCARD_IODYN 2543b27e942SDominik Brodowski bool 2553b27e942SDominik Brodowski 2561da177e4SLinus Torvaldsendif # PCCARD 257