xref: /openbmc/linux/drivers/pcmcia/Kconfig (revision acdbfa04)
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