menuconfig CAN_SJA1000
	tristate "Philips/NXP SJA1000 devices"
	depends on HAS_IOMEM

if CAN_SJA1000

config CAN_SJA1000_ISA
	tristate "ISA Bus based legacy SJA1000 driver"
	---help---
	  This driver adds legacy support for SJA1000 chips connected to
	  the ISA bus using I/O port, memory mapped or indirect access.

config CAN_SJA1000_PLATFORM
	tristate "Generic Platform Bus based SJA1000 driver"
	---help---
	  This driver adds support for the SJA1000 chips connected to
	  the "platform bus" (Linux abstraction for directly to the
	  processor attached devices).  Which can be found on various
	  boards from Phytec (http://www.phytec.de) like the PCM027,
	  PCM038. It also provides the OpenFirmware "platform bus" found
	  on embedded systems with OpenFirmware bindings, e.g. if you
	  have a PowerPC based system you may want to enable this option.

config CAN_EMS_PCMCIA
	tristate "EMS CPC-CARD Card"
	depends on PCMCIA
	---help---
	  This driver is for the one or two channel CPC-CARD cards from
	  EMS Dr. Thomas Wuensche (http://www.ems-wuensche.de).

config CAN_EMS_PCI
	tristate "EMS CPC-PCI, CPC-PCIe and CPC-104P Card"
	depends on PCI
	---help---
	  This driver is for the one, two or four channel CPC-PCI,
	  CPC-PCIe and CPC-104P cards from EMS Dr. Thomas Wuensche
	  (http://www.ems-wuensche.de).

config CAN_PEAK_PCMCIA
	tristate "PEAK PCAN-PC Card"
	depends on PCMCIA
	depends on HAS_IOPORT_MAP
	---help---
	  This driver is for the PCAN-PC Card PCMCIA adapter (1 or 2 channels)
	  from PEAK-System (http://www.peak-system.com). To compile this
	  driver as a module, choose M here: the module will be called
	  peak_pcmcia.

config CAN_PEAK_PCI
	tristate "PEAK PCAN-PCI/PCIe/miniPCI Cards"
	depends on PCI
	---help---
	  This driver is for the PCAN-PCI/PCIe/miniPCI cards
	  (1, 2, 3 or 4 channels) from PEAK-System Technik
	  (http://www.peak-system.com).

config CAN_PEAK_PCIEC
	bool "PEAK PCAN-ExpressCard Cards"
	depends on CAN_PEAK_PCI
	select I2C
	select I2C_ALGOBIT
	default y
	---help---
	  Say Y here if you want to use a PCAN-ExpressCard from PEAK-System
	  Technik. This will also automatically select I2C and I2C_ALGO
	  configuration options.

config CAN_KVASER_PCI
	tristate "Kvaser PCIcanx and Kvaser PCIcan PCI Cards"
	depends on PCI
	---help---
	  This driver is for the PCIcanx and PCIcan cards (1, 2 or
	  4 channel) from Kvaser (http://www.kvaser.com).

config CAN_PLX_PCI
	tristate "PLX90xx PCI-bridge based Cards"
	depends on PCI
	---help---
	  This driver is for CAN interface cards based on
	  the PLX90xx PCI bridge.
	  Driver supports now:
	   - Adlink PCI-7841/cPCI-7841 card (http://www.adlinktech.com/)
	   - Adlink PCI-7841/cPCI-7841 SE card
	   - esd CAN-PCI/CPCI/PCI104/200 (http://www.esd.eu/)
	   - esd CAN-PCI/PMC/266
	   - esd CAN-PCIe/2000
	   - Marathon CAN-bus-PCI card (http://www.marathon.ru/)
	   - TEWS TECHNOLOGIES TPMC810 card (http://www.tews.com/)
	   - IXXAT Automation PC-I 04/PCI card (http://www.ixxat.com/)
	   - Connect Tech Inc. CANpro/104-Plus Opto (CRG001) card (http://www.connecttech.com)

config CAN_TSCAN1
	tristate "TS-CAN1 PC104 boards"
	depends on ISA
	help
	  This driver is for Technologic Systems' TSCAN-1 PC104 boards.
	  http://www.embeddedarm.com/products/board-detail.php?product=TS-CAN1
	  The driver supports multiple boards and automatically configures them:
	  PLD IO base addresses are read from jumpers JP1 and JP2,
	  IRQ numbers are read from jumpers JP4 and JP5,
	  SJA1000 IO base addresses are chosen heuristically (first that works).

endif
