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_PCI
	tristate "PEAK PCAN PCI/PCIe Cards"
	depends on PCI
	---help---
	  This driver is for the PCAN PCI/PCIe cards (1, 2, 3 or 4 channels)
	  from PEAK Systems (http://www.peak-system.com).

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/)

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
