Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

# SPDX-License-Identifier: GPL-2.0-only
#
# CONFIG_PCCARD (CONFIG_PCMCIA/CardBus) bus subsystem configuration
#

menuconfig CONFIG_PCCARD
	tristate "PCCard (PCMCIA/CardBus) support"
	depends on !CONFIG_UML
	---help---
	  Say Y here if you want to attach CONFIG_PCMCIA- or PC-cards to your Linux
	  computer.  These are credit-card size devices such as network cards,
	  modems or hard drives often used with laptops computers.  There are
	  actually two varieties of these cards: 16 bit CONFIG_PCMCIA and 32 bit
	  CardBus cards.

	  To compile this driver as modules, choose CONFIG_M here: the
	  module will be called pcmcia_core.

if CONFIG_PCCARD

config CONFIG_PCMCIA
	tristate "16-bit PCMCIA support"
	select CONFIG_CRC32
	default y
	---help---
	   This option enables support for 16-bit CONFIG_PCMCIA cards. Most older
	   PC-cards are such 16-bit CONFIG_PCMCIA cards, so unless you know you're
	   only using 32-bit CardBus cards, say Y or CONFIG_M here.

	   To use 16-bit CONFIG_PCMCIA cards, you will need supporting software in
	   most cases. (see the file <file:Documentation/Changes> for
	   location and details).

	   To compile this driver as modules, choose CONFIG_M here: the
	   module will be called pcmcia.

	   If unsure, say Y.

config CONFIG_PCMCIA_LOAD_CIS
	bool "Load CIS updates from userspace"
	depends on CONFIG_PCMCIA
	select CONFIG_FW_LOADER
	default y
	help
	  Some CONFIG_PCMCIA cards require an updated Card Information Structure (CIS)
	  to be loaded from userspace to work correctly. If you say Y here,
	  and your userspace is arranged correctly, this will be loaded
	  automatically using the in-kernel firmware loader and the hotplug
	  subsystem, instead of relying on cardmgr from pcmcia-cs to do so.

	  If unsure, say Y.

config CONFIG_CARDBUS
	bool "32-bit CardBus support"
	depends on CONFIG_PCI
	default y
	---help---
	  CardBus is a bus mastering architecture for PC-cards, which allows
	  for 32 bit PC-cards (the original CONFIG_PCMCIA standard specifies only
	  a 16 bit wide bus). Many newer PC-cards are actually CardBus cards.

	  To use 32 bit PC-cards, you also need a CardBus compatible host
	  bridge. Virtually all modern CONFIG_PCMCIA bridges do this, and most of
	  them are "yenta-compatible", so say Y or CONFIG_M there, too.

	  If unsure, say Y.

config CONFIG_PCMCIA_MAX1600
	tristate

comment "PC-card bridges"

config CONFIG_YENTA
	tristate "CardBus yenta-compatible bridge support"
	depends on CONFIG_PCI
	select CONFIG_CARDBUS if !CONFIG_EXPERT
	select CONFIG_PCCARD_NONSTATIC if CONFIG_PCMCIA != n
	---help---
	  This option enables support for CardBus host bridges.  Virtually
	  all modern CONFIG_PCMCIA bridges are CardBus compatible.  CONFIG_A "bridge" is
	  the hardware inside your computer that CONFIG_PCMCIA cards are plugged
	  into.

	  To compile this driver as modules, choose CONFIG_M here: the
	  module will be called yenta_socket.

	  If unsure, say Y.

config CONFIG_YENTA_O2
	default y
	bool "Special initialization for O2Micro bridges" if CONFIG_EXPERT
	depends on CONFIG_YENTA

config CONFIG_YENTA_RICOH
	default y
	bool "Special initialization for Ricoh bridges" if CONFIG_EXPERT
	depends on CONFIG_YENTA

config CONFIG_YENTA_TI
	default y
	bool "Special initialization for TI and EnE bridges" if CONFIG_EXPERT
	depends on CONFIG_YENTA

config CONFIG_YENTA_ENE_TUNE
	default y
	bool "Auto-tune EnE bridges for CB cards" if CONFIG_EXPERT
	depends on CONFIG_YENTA_TI && CONFIG_CARDBUS

config CONFIG_YENTA_TOSHIBA
	default y
	bool "Special initialization for Toshiba ToPIC bridges" if CONFIG_EXPERT
	depends on CONFIG_YENTA

config CONFIG_PD6729
	tristate "Cirrus PD6729 compatible bridge support"
	depends on CONFIG_PCMCIA && CONFIG_PCI
	select CONFIG_PCCARD_NONSTATIC
	help
	  This provides support for the Cirrus CONFIG_PD6729 CONFIG_PCI-to-CONFIG_PCMCIA bridge
	  device, found in some older laptops and CONFIG_PCMCIA card readers.

config CONFIG_I82092
	tristate "i82092 compatible bridge support"
	depends on CONFIG_PCMCIA && CONFIG_PCI
	select CONFIG_PCCARD_NONSTATIC
	help
	  This provides support for the Intel I82092AA CONFIG_PCI-to-CONFIG_PCMCIA bridge device,
	  found in some older laptops and more commonly in evaluation boards for the
	  chip.

config CONFIG_I82365
	tristate "i82365 compatible bridge support"
	depends on CONFIG_PCMCIA && CONFIG_ISA
	select CONFIG_PCCARD_NONSTATIC
	help
	  Say Y here to include support for CONFIG_ISA-bus CONFIG_PCMCIA host bridges that
	  are register compatible with the Intel i82365.  These are found on
	  older laptops and CONFIG_ISA-bus card readers for desktop systems.  CONFIG_A
	  "bridge" is the hardware inside your computer that CONFIG_PCMCIA cards are
	  plugged into. If unsure, say N.

config CONFIG_TCIC
	tristate "Databook TCIC host bridge support"
	depends on CONFIG_PCMCIA && CONFIG_ISA
	select CONFIG_PCCARD_NONSTATIC
	help
	  Say Y here to include support for the Databook CONFIG_TCIC family of CONFIG_PCMCIA
	  host bridges. These are only found on a handful of old systems.
	  "Bridge" is the name used for the hardware inside your computer that
	  CONFIG_PCMCIA cards are plugged into. If unsure, say N.

config CONFIG_PCMCIA_ALCHEMY_DEVBOARD
	tristate "Alchemy Db/Pb1xxx PCMCIA socket services"
	depends on CONFIG_MIPS_ALCHEMY && CONFIG_PCMCIA
	help
	  Enable this driver of you want CONFIG_PCMCIA support on your Alchemy
	  Db1000, Db/Pb1100, Db/Pb1500, Db/Pb1550, Db/Pb1200, DB1300
	  board.  NOT suitable for the PB1000!

	  This driver is also available as a module called db1xxx_ss.ko

config CONFIG_PCMCIA_XXS1500
	tristate "MyCable XXS1500 PCMCIA socket support"
	depends on CONFIG_PCMCIA && CONFIG_MIPS_XXS1500
	help
	  Support for the CONFIG_PCMCIA/CF socket interface on MyCable XXS1500
	  systems.

	  This driver is also available as a module called xxs1500_ss.ko

config CONFIG_PCMCIA_BCM63XX
	tristate "bcm63xx pcmcia support"
	depends on CONFIG_BCM63XX && CONFIG_PCMCIA

config CONFIG_PCMCIA_SOC_COMMON
	tristate

config CONFIG_PCMCIA_SA11XX_BASE
	tristate

config CONFIG_PCMCIA_SA1100
	tristate "SA1100 support"
	depends on CONFIG_ARM && CONFIG_ARCH_SA1100 && CONFIG_PCMCIA
	select CONFIG_PCMCIA_SOC_COMMON
	select CONFIG_PCMCIA_SA11XX_BASE
	help
	  Say Y here to include support for SA11x0-based CONFIG_PCMCIA or CF
	  sockets, found on HP iPAQs, Yopy, and other StrongARM(R)/
	  Xscale(R) embedded machines.

	  This driver is also available as a module called sa1100_cs.

config CONFIG_PCMCIA_SA1111
	tristate "SA1111 support"
	depends on CONFIG_ARM && CONFIG_SA1111 && CONFIG_PCMCIA
	select CONFIG_PCMCIA_SOC_COMMON
	select CONFIG_PCMCIA_SA11XX_BASE if CONFIG_ARCH_SA1100
	select CONFIG_PCMCIA_PXA2XX if CONFIG_ARCH_LUBBOCK && CONFIG_SA1111
	select CONFIG_PCMCIA_MAX1600 if CONFIG_ASSABET_NEPONSET
	select CONFIG_PCMCIA_MAX1600 if CONFIG_ARCH_LUBBOCK && CONFIG_SA1111
	help
	  Say Y  here to include support for CONFIG_SA1111-based CONFIG_PCMCIA or CF
	  sockets, found on the Jornada 720, Graphicsmaster and other
	  StrongARM(R)/Xscale(R) embedded machines.

	  This driver is also available as a module called sa1111_cs.

config CONFIG_PCMCIA_PXA2XX
	tristate "PXA2xx support"
	depends on CONFIG_ARM && CONFIG_ARCH_PXA && CONFIG_PCMCIA
	depends on (CONFIG_ARCH_LUBBOCK || CONFIG_MACH_MAINSTONE || CONFIG_PXA_SHARPSL \
		    || CONFIG_MACH_ARMCORE || CONFIG_ARCH_PXA_PALM || CONFIG_TRIZEPS_PCMCIA \
		    || CONFIG_ARCOM_PCMCIA || CONFIG_ARCH_PXA_ESERIES || CONFIG_MACH_STARGATE2 \
		    || CONFIG_MACH_VPAC270 || CONFIG_MACH_BALLOON3 || CONFIG_MACH_COLIBRI \
		    || CONFIG_MACH_COLIBRI320 || CONFIG_MACH_H4700)
	select CONFIG_PCMCIA_SOC_COMMON
	select CONFIG_PCMCIA_MAX1600 if CONFIG_MACH_MAINSTONE
	help
	  Say Y here to include support for the PXA2xx CONFIG_PCMCIA controller

config CONFIG_PCMCIA_DEBUG
	bool "Enable debugging"
	depends on (CONFIG_PCMCIA_SA1111 || CONFIG_PCMCIA_SA1100 || CONFIG_PCMCIA_PXA2XX)
	help
	  Say Y here to enable debugging for the SoC CONFIG_PCMCIA layer.
	  You will need to choose the debugging level either via the
	  kernel command line, or module options depending whether
	  you build the drivers as modules.

	  The kernel command line options are:
	    sa11xx_core.pc_debug=N
	    pxa2xx_core.pc_debug=N

	  The module option is called pc_debug=N

	  In all the above examples, N is the debugging verbosity
	  level.

config CONFIG_PCMCIA_PROBE
	bool
	default y if CONFIG_ISA && !CONFIG_ARCH_SA1100 && !CONFIG_PARISC

config CONFIG_PCMCIA_VRC4171
	tristate "NEC VRC4171 Card Controllers support"
	depends on CONFIG_CPU_VR41XX && CONFIG_ISA && CONFIG_PCMCIA

config CONFIG_PCMCIA_VRC4173
	tristate "NEC VRC4173 CARDU support"
	depends on CONFIG_CPU_VR41XX && CONFIG_PCI && CONFIG_PCMCIA

config CONFIG_OMAP_CF
	tristate "OMAP CompactFlash Controller"
	depends on CONFIG_PCMCIA && CONFIG_ARCH_OMAP16XX
	help
	  Say Y here to support the CompactFlash controller on OMAP.
	  Note that this doesn't support "True IDE" mode.

config CONFIG_AT91_CF
	tristate "AT91 CompactFlash Controller"
	depends on CONFIG_PCI
	depends on CONFIG_PCMCIA && CONFIG_ARCH_AT91
	help
	  Say Y here to support the CompactFlash controller on AT91 chips.
	  Or choose CONFIG_M to compile the driver as a module named "at91_cf".

config CONFIG_ELECTRA_CF
	tristate "Electra CompactFlash Controller"
	depends on CONFIG_PCMCIA && CONFIG_PPC_PASEMI
	help
	  Say Y here to support the CompactFlash controller on the
	  PA Semi Electra eval board.

config CONFIG_PCCARD_NONSTATIC
	bool

config CONFIG_PCCARD_IODYN
	bool

endif	# CONFIG_PCCARD