menuconfig CAN_SJA1000
	tristate "Philips/NXP SJA1000 devices"
	depends on CAN_DEV && 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.

config CAN_SJA1000_OF_PLATFORM
	tristate "Generic OF Platform Bus based SJA1000 driver"
	depends on PPC_OF
	---help---
	  This driver adds support for the SJA1000 chips connected to
	  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
	---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 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/)

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
