config BCMA_POSSIBLE
	bool
	depends on HAS_IOMEM && HAS_DMA
	default y

menu "Broadcom specific AMBA"
	depends on BCMA_POSSIBLE

config BCMA
	tristate "BCMA support"
	depends on BCMA_POSSIBLE
	help
	  Bus driver for Broadcom specific Advanced Microcontroller Bus
	  Architecture.

# Support for Block-I/O. SELECT this from the driver that needs it.
config BCMA_BLOCKIO
	bool
	depends on BCMA
	default y

config BCMA_HOST_PCI_POSSIBLE
	bool
	depends on BCMA && PCI = y
	default y

config BCMA_HOST_PCI
	bool "Support for BCMA on PCI-host bus"
	depends on BCMA_HOST_PCI_POSSIBLE

config BCMA_DRIVER_PCI_HOSTMODE
	bool "Driver for PCI core working in hostmode"
	depends on BCMA && MIPS && BCMA_HOST_PCI
	help
	  PCI core hostmode operation (external PCI bus).

config BCMA_HOST_SOC
	bool
	depends on BCMA_DRIVER_MIPS

config BCMA_DRIVER_MIPS
	bool "BCMA Broadcom MIPS core driver"
	depends on BCMA && MIPS
	help
	  Driver for the Broadcom MIPS core attached to Broadcom specific
	  Advanced Microcontroller Bus.

	  If unsure, say N

config BCMA_DRIVER_GMAC_CMN
	bool "BCMA Broadcom GBIT MAC COMMON core driver"
	depends on BCMA
	help
	  Driver for the Broadcom GBIT MAC COMMON core attached to Broadcom
	  specific Advanced Microcontroller Bus.

	  If unsure, say N

config BCMA_DEBUG
	bool "BCMA debugging"
	depends on BCMA
	help
	  This turns on additional debugging messages.

	  If unsure, say N

endmenu
