#
# MEN Chameleon Bus (MCB) support
#

menuconfig MCB
	   tristate "MCB support"
	   default n
	   depends on HAS_IOMEM
	   help

	   The MCB (MEN Chameleon Bus) is a Bus specific to MEN Mikroelektronik
	   FPGA based devices. It is used to identify MCB based IP-Cores within
	   an FPGA and provide the necessary framework for instantiating drivers
	   for these devices.

	   If build as a module, the module is called mcb.ko

if MCB
config MCB_PCI
	   tristate "PCI based MCB carrier"
	   default n
	   depends on PCI
	   help

	   This is a MCB carrier on a PCI device. Both PCI attached on-board
	   FPGAs as well as CompactPCI attached MCB FPGAs are supported with
	   this driver.

	   If build as a module, the module is called mcb-pci.ko

config MCB_LPC
	   tristate "LPC (non PCI) based MCB carrier"
	   default n
	   help

	   This is a MCB carrier on a LPC or non PCI device.

	   If build as a module, the module is called mcb-lpc.ko

endif # MCB
