Free Electrons

Embedded Linux Experts

# SPDX-License-Identifier: GPL-2.0
config BCMA_POSSIBLE
	bool
	depends on HAS_IOMEM && HAS_DMA
	default y

menuconfig BCMA
	tristate "Broadcom specific AMBA"
	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

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
	select BCMA_DRIVER_PCI
	default y

config BCMA_HOST_SOC
	bool "Support for BCMA in a SoC"
	depends on BCMA
	help
	  Host interface for a Broadcom AIX bus directly mapped into
	  the memory. This only works with the Broadcom SoCs from the
	  BCM47XX line.

	  If unsure, say N

config BCMA_DRIVER_PCI
	bool "BCMA Broadcom PCI core driver"
	depends on BCMA && PCI
	default y
	help
	  BCMA bus may have many versions of PCIe core. This driver
	  supports:
	  1) PCIe core working in clientmode
	  2) PCIe Gen 2 clientmode core

	  In general PCIe (Gen 2) clientmode core is required on PCIe
	  hosted buses. It's responsible for initialization and basic
	  hardware management.
	  This driver is also prerequisite for a hostmode PCIe core
	  support.

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

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_PFLASH
	bool
	depends on BCMA_DRIVER_MIPS
	default y

config BCMA_SFLASH
	bool "ChipCommon-attached serial flash support"
	depends on BCMA_HOST_SOC
	default y
	help
	  Some cheap devices have serial flash connected to the ChipCommon
	  instead of independent SPI controller. It requires using a separated
	  driver that implements ChipCommon specific interface communication.

	  Enabling this symbol will let bcma recognize serial flash and register
	  it as platform device.

config BCMA_NFLASH
	bool
	depends on BCMA_DRIVER_MIPS
	default y

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_DRIVER_GPIO
	bool "BCMA GPIO driver"
	depends on BCMA && GPIOLIB
	select GPIOLIB_IRQCHIP if BCMA_HOST_SOC
	help
	  Driver to provide access to the GPIO pins of the bcma 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