xref: /openbmc/linux/drivers/pcmcia/Kconfig (revision ea6add0b)
11da177e4SLinus Torvalds#
2bf45d9b0SDominik Brodowski# PCCARD (PCMCIA/CardBus) bus subsystem configuration
31da177e4SLinus Torvalds#
41da177e4SLinus Torvalds
542c5323cSJan Engelhardtmenuconfig PCCARD
61da177e4SLinus Torvalds	tristate "PCCard (PCMCIA/CardBus) support"
7135c294fSAndrew Morton	depends on HOTPLUG
81da177e4SLinus Torvalds	---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"
22f861bd23SDominik Brodowski	select CRC32
231da177e4SLinus Torvalds	default y
241da177e4SLinus Torvalds	---help---
251da177e4SLinus Torvalds	   This option enables support for 16-bit PCMCIA cards. Most older
261da177e4SLinus Torvalds	   PC-cards are such 16-bit PCMCIA cards, so unless you know you're
271da177e4SLinus Torvalds	   only using 32-bit CardBus cards, say Y or M here.
281da177e4SLinus Torvalds
299a5555b8SDominik Brodowski	   To use 16-bit PCMCIA cards, you will need supporting software in
309a5555b8SDominik Brodowski	   most cases. (see the file <file:Documentation/Changes> for
319a5555b8SDominik Brodowski	   location and details).
321da177e4SLinus Torvalds
331da177e4SLinus Torvalds	   To compile this driver as modules, choose M here: the
341da177e4SLinus Torvalds	   module will be called pcmcia.
351da177e4SLinus Torvalds
361da177e4SLinus Torvalds	   If unsure, say Y.
371da177e4SLinus Torvalds
38daa9517dSDominik Brodowskiconfig PCMCIA_LOAD_CIS
39204911fbSKees Cook	bool "Load CIS updates from userspace"
40204911fbSKees Cook	depends on PCMCIA
41daa9517dSDominik Brodowski	select FW_LOADER
42daa9517dSDominik Brodowski	default y
43daa9517dSDominik Brodowski	help
44daa9517dSDominik Brodowski	  Some PCMCIA cards require an updated Card Information Structure (CIS)
45daa9517dSDominik Brodowski	  to be loaded from userspace to work correctly. If you say Y here,
46daa9517dSDominik Brodowski	  and your userspace is arranged correctly, this will be loaded
47daa9517dSDominik Brodowski	  automatically using the in-kernel firmware loader and the hotplug
48daa9517dSDominik Brodowski	  subsystem, instead of relying on cardmgr from pcmcia-cs to do so.
49daa9517dSDominik Brodowski
50daa9517dSDominik Brodowski	  If unsure, say Y.
51daa9517dSDominik Brodowski
521da177e4SLinus Torvaldsconfig CARDBUS
531da177e4SLinus Torvalds	bool "32-bit CardBus support"
541da177e4SLinus Torvalds	depends on PCI
551da177e4SLinus Torvalds	default y
561da177e4SLinus Torvalds	---help---
571da177e4SLinus Torvalds	  CardBus is a bus mastering architecture for PC-cards, which allows
581da177e4SLinus Torvalds	  for 32 bit PC-cards (the original PCMCIA standard specifies only
591da177e4SLinus Torvalds	  a 16 bit wide bus). Many newer PC-cards are actually CardBus cards.
601da177e4SLinus Torvalds
611da177e4SLinus Torvalds	  To use 32 bit PC-cards, you also need a CardBus compatible host
621da177e4SLinus Torvalds	  bridge. Virtually all modern PCMCIA bridges do this, and most of
631da177e4SLinus Torvalds	  them are "yenta-compatible", so say Y or M there, too.
641da177e4SLinus Torvalds
651da177e4SLinus Torvalds	  If unsure, say Y.
661da177e4SLinus Torvalds
671da177e4SLinus Torvaldscomment "PC-card bridges"
681da177e4SLinus Torvalds
691da177e4SLinus Torvaldsconfig YENTA
701da177e4SLinus Torvalds	tristate "CardBus yenta-compatible bridge support"
7189b39f5dSDominik Brodowski	depends on PCI
726a108a14SDavid Rientjes	select CARDBUS if !EXPERT
739d9c98e8SMichal Marek	select PCCARD_NONSTATIC if PCMCIA != n
741da177e4SLinus Torvalds	---help---
751da177e4SLinus Torvalds	  This option enables support for CardBus host bridges.  Virtually
761da177e4SLinus Torvalds	  all modern PCMCIA bridges are CardBus compatible.  A "bridge" is
771da177e4SLinus Torvalds	  the hardware inside your computer that PCMCIA cards are plugged
781da177e4SLinus Torvalds	  into.
791da177e4SLinus Torvalds
801da177e4SLinus Torvalds	  To compile this driver as modules, choose M here: the
811da177e4SLinus Torvalds	  module will be called yenta_socket.
821da177e4SLinus Torvalds
831da177e4SLinus Torvalds	  If unsure, say Y.
841da177e4SLinus Torvalds
8563e7ebd0SDaniel Ritzconfig YENTA_O2
8663e7ebd0SDaniel Ritz	default y
876a108a14SDavid Rientjes	bool "Special initialization for O2Micro bridges" if EXPERT
8863e7ebd0SDaniel Ritz	depends on YENTA
8963e7ebd0SDaniel Ritz
9063e7ebd0SDaniel Ritzconfig YENTA_RICOH
9163e7ebd0SDaniel Ritz	default y
926a108a14SDavid Rientjes	bool "Special initialization for Ricoh bridges" if EXPERT
9363e7ebd0SDaniel Ritz	depends on YENTA
9463e7ebd0SDaniel Ritz
9563e7ebd0SDaniel Ritzconfig YENTA_TI
9663e7ebd0SDaniel Ritz	default y
976a108a14SDavid Rientjes	bool "Special initialization for TI and EnE bridges" if EXPERT
9863e7ebd0SDaniel Ritz	depends on YENTA
9963e7ebd0SDaniel Ritz
10063e7ebd0SDaniel Ritzconfig YENTA_ENE_TUNE
10163e7ebd0SDaniel Ritz	default y
1026a108a14SDavid Rientjes	bool "Auto-tune EnE bridges for CB cards" if EXPERT
10363e7ebd0SDaniel Ritz	depends on YENTA_TI && CARDBUS
10463e7ebd0SDaniel Ritz
10563e7ebd0SDaniel Ritzconfig YENTA_TOSHIBA
10663e7ebd0SDaniel Ritz	default y
1076a108a14SDavid Rientjes	bool "Special initialization for Toshiba ToPIC bridges" if EXPERT
10863e7ebd0SDaniel Ritz	depends on YENTA
10963e7ebd0SDaniel Ritz
1101da177e4SLinus Torvaldsconfig PD6729
1111da177e4SLinus Torvalds	tristate "Cirrus PD6729 compatible bridge support"
1121da177e4SLinus Torvalds	depends on PCMCIA && PCI
1131da177e4SLinus Torvalds	select PCCARD_NONSTATIC
1141da177e4SLinus Torvalds	help
1151da177e4SLinus Torvalds	  This provides support for the Cirrus PD6729 PCI-to-PCMCIA bridge
1161da177e4SLinus Torvalds	  device, found in some older laptops and PCMCIA card readers.
1171da177e4SLinus Torvalds
1181da177e4SLinus Torvaldsconfig I82092
1191da177e4SLinus Torvalds	tristate "i82092 compatible bridge support"
1201da177e4SLinus Torvalds	depends on PCMCIA && PCI
1211da177e4SLinus Torvalds	select PCCARD_NONSTATIC
1221da177e4SLinus Torvalds	help
1231da177e4SLinus Torvalds	  This provides support for the Intel I82092AA PCI-to-PCMCIA bridge device,
1241da177e4SLinus Torvalds	  found in some older laptops and more commonly in evaluation boards for the
1251da177e4SLinus Torvalds	  chip.
1261da177e4SLinus Torvalds
1271da177e4SLinus Torvaldsconfig I82365
1281da177e4SLinus Torvalds	tristate "i82365 compatible bridge support"
1291da177e4SLinus Torvalds	depends on PCMCIA && ISA
1301da177e4SLinus Torvalds	select PCCARD_NONSTATIC
1311da177e4SLinus Torvalds	help
1321da177e4SLinus Torvalds	  Say Y here to include support for ISA-bus PCMCIA host bridges that
1331da177e4SLinus Torvalds	  are register compatible with the Intel i82365.  These are found on
1341da177e4SLinus Torvalds	  older laptops and ISA-bus card readers for desktop systems.  A
1351da177e4SLinus Torvalds	  "bridge" is the hardware inside your computer that PCMCIA cards are
1361da177e4SLinus Torvalds	  plugged into. If unsure, say N.
1371da177e4SLinus Torvalds
1381da177e4SLinus Torvaldsconfig TCIC
1391da177e4SLinus Torvalds	tristate "Databook TCIC host bridge support"
14081000808SKomuro	depends on PCMCIA && ISA
1411da177e4SLinus Torvalds	select PCCARD_NONSTATIC
1421da177e4SLinus Torvalds	help
1431da177e4SLinus Torvalds	  Say Y here to include support for the Databook TCIC family of PCMCIA
1441da177e4SLinus Torvalds	  host bridges. These are only found on a handful of old systems.
1451da177e4SLinus Torvalds	  "Bridge" is the name used for the hardware inside your computer that
1461da177e4SLinus Torvalds	  PCMCIA cards are plugged into. If unsure, say N.
1471da177e4SLinus Torvalds
148de957c89SMarcelo Tosatticonfig PCMCIA_M8XX
149de957c89SMarcelo Tosatti	tristate "MPC8xx PCMCIA support"
1509d9c98e8SMichal Marek	depends on PCCARD && PPC && 8xx
1519d9c98e8SMichal Marek	select PCCARD_IODYN if PCMCIA != n
152de957c89SMarcelo Tosatti	help
153de957c89SMarcelo Tosatti	  Say Y here to include support for PowerPC 8xx series PCMCIA
154de957c89SMarcelo Tosatti	  controller.
155de957c89SMarcelo Tosatti
156de957c89SMarcelo Tosatti	  This driver is also available as a module called m8xx_pcmcia.
157de957c89SMarcelo Tosatti
15866213b3cSManuel Laussconfig PCMCIA_ALCHEMY_DEVBOARD
15966213b3cSManuel Lauss	tristate "Alchemy Db/Pb1xxx PCMCIA socket services"
16042a4f17dSManuel Lauss	depends on MIPS_ALCHEMY && PCMCIA
16166213b3cSManuel Lauss	select 64BIT_PHYS_ADDR
16266213b3cSManuel Lauss	help
16366213b3cSManuel Lauss	  Enable this driver of you want PCMCIA support on your Alchemy
16464cd04d0SManuel Lauss	  Db1000, Db/Pb1100, Db/Pb1500, Db/Pb1550, Db/Pb1200, DB1300
16564cd04d0SManuel Lauss	  board.  NOT suitable for the PB1000!
16666213b3cSManuel Lauss
16766213b3cSManuel Lauss	  This driver is also available as a module called db1xxx_ss.ko
16866213b3cSManuel Lauss
1690273b4efSManuel Laussconfig PCMCIA_XXS1500
1700273b4efSManuel Lauss	tristate "MyCable XXS1500 PCMCIA socket support"
1710273b4efSManuel Lauss	depends on PCMCIA && MIPS_XXS1500
1720273b4efSManuel Lauss	select 64BIT_PHYS_ADDR
1730273b4efSManuel Lauss	help
1740273b4efSManuel Lauss	  Support for the PCMCIA/CF socket interface on MyCable XXS1500
1750273b4efSManuel Lauss	  systems.
1760273b4efSManuel Lauss
1770273b4efSManuel Lauss	  This driver is also available as a module called xxs1500_ss.ko
1780273b4efSManuel Lauss
179553d6d5fSMaxime Bizonconfig PCMCIA_BCM63XX
180553d6d5fSMaxime Bizon	tristate "bcm63xx pcmcia support"
181553d6d5fSMaxime Bizon	depends on BCM63XX && PCMCIA
182553d6d5fSMaxime Bizon
1830f767de6SRussell King - ARM Linuxconfig PCMCIA_SOC_COMMON
1841bf8e621SRussell King	tristate
1850f767de6SRussell King - ARM Linux
186136b758bSRussell Kingconfig PCMCIA_SA11XX_BASE
187136b758bSRussell King	tristate
188136b758bSRussell King
1891da177e4SLinus Torvaldsconfig PCMCIA_SA1100
1901da177e4SLinus Torvalds	tristate "SA1100 support"
1911da177e4SLinus Torvalds	depends on ARM && ARCH_SA1100 && PCMCIA
1920f767de6SRussell King - ARM Linux	select PCMCIA_SOC_COMMON
193136b758bSRussell King	select PCMCIA_SA11XX_BASE
1941da177e4SLinus Torvalds	help
1951da177e4SLinus Torvalds	  Say Y here to include support for SA11x0-based PCMCIA or CF
1961da177e4SLinus Torvalds	  sockets, found on HP iPAQs, Yopy, and other StrongARM(R)/
1971da177e4SLinus Torvalds	  Xscale(R) embedded machines.
1981da177e4SLinus Torvalds
1991da177e4SLinus Torvalds	  This driver is also available as a module called sa1100_cs.
2001da177e4SLinus Torvalds
2011da177e4SLinus Torvaldsconfig PCMCIA_SA1111
2021da177e4SLinus Torvalds	tristate "SA1111 support"
20311990b2bSRussell King	depends on ARM && SA1111 && PCMCIA
2040f767de6SRussell King - ARM Linux	select PCMCIA_SOC_COMMON
20511990b2bSRussell King	select PCMCIA_SA11XX_BASE if ARCH_SA1100
2061da177e4SLinus Torvalds	help
2071da177e4SLinus Torvalds	  Say Y  here to include support for SA1111-based PCMCIA or CF
2081da177e4SLinus Torvalds	  sockets, found on the Jornada 720, Graphicsmaster and other
2091da177e4SLinus Torvalds	  StrongARM(R)/Xscale(R) embedded machines.
2101da177e4SLinus Torvalds
2111da177e4SLinus Torvalds	  This driver is also available as a module called sa1111_cs.
2121da177e4SLinus Torvalds
2131da177e4SLinus Torvaldsconfig PCMCIA_PXA2XX
2141da177e4SLinus Torvalds	tristate "PXA2xx support"
2151da177e4SLinus Torvalds	depends on ARM && ARCH_PXA && PCMCIA
21635978408SMarek Vašut	depends on (ARCH_LUBBOCK || MACH_MAINSTONE || PXA_SHARPSL \
217cc513ac0SRussell King		    || MACH_ARMCORE || ARCH_PXA_PALM || TRIZEPS_PCMCIA \
218addff0faSMarek Vasut		    || ARCOM_PCMCIA || ARCH_PXA_ESERIES || MACH_STARGATE2 \
219fd62999bSMarek Vasut		    || MACH_VPAC270 || MACH_BALLOON3 || MACH_COLIBRI \
22095244306SPaul Parsons		    || MACH_COLIBRI320 || MACH_H4700)
22111990b2bSRussell King	select PCMCIA_SA1111 if ARCH_LUBBOCK && SA1111
2220f767de6SRussell King - ARM Linux	select PCMCIA_SOC_COMMON
2231da177e4SLinus Torvalds	help
2241da177e4SLinus Torvalds	  Say Y here to include support for the PXA2xx PCMCIA controller
2251da177e4SLinus Torvalds
226c9f50dddSDominik Brodowskiconfig PCMCIA_DEBUG
227c9f50dddSDominik Brodowski	bool "Enable debugging"
228c9f50dddSDominik Brodowski	depends on (PCMCIA_SA1111 || PCMCIA_SA1100 || PCMCIA_PXA2XX)
229c9f50dddSDominik Brodowski	help
230c9f50dddSDominik Brodowski	  Say Y here to enable debugging for the SoC PCMCIA layer.
231c9f50dddSDominik Brodowski	  You will need to choose the debugging level either via the
232c9f50dddSDominik Brodowski	  kernel command line, or module options depending whether
233c9f50dddSDominik Brodowski	  you build the drivers as modules.
234c9f50dddSDominik Brodowski
235c9f50dddSDominik Brodowski	  The kernel command line options are:
236c9f50dddSDominik Brodowski	    sa11xx_core.pc_debug=N
237c9f50dddSDominik Brodowski	    pxa2xx_core.pc_debug=N
238c9f50dddSDominik Brodowski
239c9f50dddSDominik Brodowski	  The module option is called pc_debug=N
240c9f50dddSDominik Brodowski
241c9f50dddSDominik Brodowski	  In all the above examples, N is the debugging verbosity
242c9f50dddSDominik Brodowski	  level.
243c9f50dddSDominik Brodowski
2441da177e4SLinus Torvaldsconfig PCMCIA_PROBE
2451da177e4SLinus Torvalds	bool
246ea6add0bSAlexander Shiyan	default y if ISA && !ARCH_SA1100 && !PARISC
2471da177e4SLinus Torvalds
2481da177e4SLinus Torvaldsconfig M32R_PCC
2491da177e4SLinus Torvalds	bool "M32R PCMCIA I/F"
2501da177e4SLinus Torvalds	depends on M32R && CHIP_M32700 && PCMCIA
2511da177e4SLinus Torvalds	help
2521da177e4SLinus Torvalds	  Say Y here to use the M32R PCMCIA controller.
2531da177e4SLinus Torvalds
2541da177e4SLinus Torvaldsconfig M32R_CFC
2551da177e4SLinus Torvalds	bool "M32R CF I/F Controller"
256934bb7f8SHirokazu Takata	depends on M32R && (PLAT_USRV || PLAT_M32700UT || PLAT_MAPPI2 || PLAT_MAPPI3 || PLAT_OPSPUT)
2571da177e4SLinus Torvalds	help
2581da177e4SLinus Torvalds	  Say Y here to use the M32R CompactFlash controller.
2591da177e4SLinus Torvalds
2601da177e4SLinus Torvaldsconfig M32R_CFC_NUM
2611da177e4SLinus Torvalds	int "M32R CF I/F number"
2621da177e4SLinus Torvalds	depends on M32R_CFC
263934bb7f8SHirokazu Takata	default "1" if PLAT_USRV || PLAT_M32700UT || PLAT_MAPPI2 || PLAT_MAPPI3 || PLAT_OPSPUT
2641da177e4SLinus Torvalds	help
2651da177e4SLinus Torvalds	  Set the number of M32R CF slots.
2661da177e4SLinus Torvalds
2671da177e4SLinus Torvaldsconfig PCMCIA_VRC4171
2681da177e4SLinus Torvalds	tristate "NEC VRC4171 Card Controllers support"
269daaeb72bSYoichi Yuasa	depends on CPU_VR41XX && ISA && PCMCIA
2701da177e4SLinus Torvalds
2711da177e4SLinus Torvaldsconfig PCMCIA_VRC4173
2721da177e4SLinus Torvalds	tristate "NEC VRC4173 CARDU support"
2731da177e4SLinus Torvalds	depends on CPU_VR41XX && PCI && PCMCIA
2741da177e4SLinus Torvalds
275f74e48a5SDavid Brownellconfig OMAP_CF
276f74e48a5SDavid Brownell	tristate "OMAP CompactFlash Controller"
277f74e48a5SDavid Brownell	depends on PCMCIA && ARCH_OMAP16XX
278f74e48a5SDavid Brownell	help
279f74e48a5SDavid Brownell	  Say Y here to support the CompactFlash controller on OMAP.
280f74e48a5SDavid Brownell	  Note that this doesn't support "True IDE" mode.
281f74e48a5SDavid Brownell
282785e821eSMichael Hennerichconfig BFIN_CFPCMCIA
283785e821eSMichael Hennerich	tristate "Blackfin CompactFlash PCMCIA Driver"
284785e821eSMichael Hennerich	depends on PCMCIA && BLACKFIN
285785e821eSMichael Hennerich	help
286785e821eSMichael Hennerich	  Say Y here to support the CompactFlash PCMCIA driver for Blackfin.
287785e821eSMichael Hennerich
288785e821eSMichael Hennerich
2892c1f3b7aSAndrew Victorconfig AT91_CF
2902c1f3b7aSAndrew Victor	tristate "AT91 CompactFlash Controller"
291ed9084ecSJoachim Eastwood	depends on PCMCIA && ARCH_AT91
2922c1f3b7aSAndrew Victor	help
2932c1f3b7aSAndrew Victor	  Say Y here to support the CompactFlash controller on AT91 chips.
2942c1f3b7aSAndrew Victor	  Or choose M to compile the driver as a module named "at91_cf".
2952c1f3b7aSAndrew Victor
2962b571a06SOlof Johanssonconfig ELECTRA_CF
2972b571a06SOlof Johansson	tristate "Electra CompactFlash Controller"
2982b571a06SOlof Johansson	depends on PCMCIA && PPC_PASEMI
2992b571a06SOlof Johansson	help
3002b571a06SOlof Johansson	  Say Y here to support the CompactFlash controller on the
3012b571a06SOlof Johansson	  PA Semi Electra eval board.
3022b571a06SOlof Johansson
3031da177e4SLinus Torvaldsconfig PCCARD_NONSTATIC
30449b1153aSDominik Brodowski	bool
3051da177e4SLinus Torvalds
3063b27e942SDominik Brodowskiconfig PCCARD_IODYN
3073b27e942SDominik Brodowski	bool
3083b27e942SDominik Brodowski
3091da177e4SLinus Torvaldsendif	# PCCARD
310