162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ciconfig BCMA_POSSIBLE
362306a36Sopenharmony_ci	bool
462306a36Sopenharmony_ci	depends on HAS_IOMEM && HAS_DMA
562306a36Sopenharmony_ci	default y
662306a36Sopenharmony_ci
762306a36Sopenharmony_cimenuconfig BCMA
862306a36Sopenharmony_ci	tristate "Broadcom specific AMBA"
962306a36Sopenharmony_ci	depends on BCMA_POSSIBLE
1062306a36Sopenharmony_ci	help
1162306a36Sopenharmony_ci	  Bus driver for Broadcom specific Advanced Microcontroller Bus
1262306a36Sopenharmony_ci	  Architecture.
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ciif BCMA
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci# Support for Block-I/O. SELECT this from the driver that needs it.
1762306a36Sopenharmony_ciconfig BCMA_BLOCKIO
1862306a36Sopenharmony_ci	bool
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciconfig BCMA_HOST_PCI_POSSIBLE
2162306a36Sopenharmony_ci	bool
2262306a36Sopenharmony_ci	depends on PCI = y
2362306a36Sopenharmony_ci	default y
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ciconfig BCMA_HOST_PCI
2662306a36Sopenharmony_ci	bool "Support for BCMA on PCI-host bus"
2762306a36Sopenharmony_ci	depends on BCMA_HOST_PCI_POSSIBLE
2862306a36Sopenharmony_ci	select BCMA_DRIVER_PCI
2962306a36Sopenharmony_ci	default y
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ciconfig BCMA_HOST_SOC
3262306a36Sopenharmony_ci	bool "Support for BCMA in a SoC"
3362306a36Sopenharmony_ci	depends on HAS_IOMEM
3462306a36Sopenharmony_ci	help
3562306a36Sopenharmony_ci	  Host interface for a Broadcom AIX bus directly mapped into
3662306a36Sopenharmony_ci	  the memory. This only works with the Broadcom SoCs from the
3762306a36Sopenharmony_ci	  BCM47XX line.
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci	  If unsure, say N
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ciconfig BCMA_DRIVER_PCI
4262306a36Sopenharmony_ci	bool "BCMA Broadcom PCI core driver"
4362306a36Sopenharmony_ci	depends on PCI
4462306a36Sopenharmony_ci	default y
4562306a36Sopenharmony_ci	help
4662306a36Sopenharmony_ci	  BCMA bus may have many versions of PCIe core. This driver
4762306a36Sopenharmony_ci	  supports:
4862306a36Sopenharmony_ci	  1) PCIe core working in clientmode
4962306a36Sopenharmony_ci	  2) PCIe Gen 2 clientmode core
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci	  In general PCIe (Gen 2) clientmode core is required on PCIe
5262306a36Sopenharmony_ci	  hosted buses. It's responsible for initialization and basic
5362306a36Sopenharmony_ci	  hardware management.
5462306a36Sopenharmony_ci	  This driver is also prerequisite for a hostmode PCIe core
5562306a36Sopenharmony_ci	  support.
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ciconfig BCMA_DRIVER_PCI_HOSTMODE
5862306a36Sopenharmony_ci	bool "Driver for PCI core working in hostmode"
5962306a36Sopenharmony_ci	depends on MIPS && BCMA_DRIVER_PCI && PCI_DRIVERS_LEGACY && BCMA = y
6062306a36Sopenharmony_ci	help
6162306a36Sopenharmony_ci	  PCI core hostmode operation (external PCI bus).
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ciconfig BCMA_DRIVER_MIPS
6462306a36Sopenharmony_ci	bool "BCMA Broadcom MIPS core driver"
6562306a36Sopenharmony_ci	depends on MIPS || COMPILE_TEST
6662306a36Sopenharmony_ci	help
6762306a36Sopenharmony_ci	  Driver for the Broadcom MIPS core attached to Broadcom specific
6862306a36Sopenharmony_ci	  Advanced Microcontroller Bus.
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci	  If unsure, say N
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ciconfig BCMA_PFLASH
7362306a36Sopenharmony_ci	bool
7462306a36Sopenharmony_ci	depends on BCMA_DRIVER_MIPS
7562306a36Sopenharmony_ci	default y
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ciconfig BCMA_SFLASH
7862306a36Sopenharmony_ci	bool "ChipCommon-attached serial flash support"
7962306a36Sopenharmony_ci	depends on BCMA_HOST_SOC
8062306a36Sopenharmony_ci	default y
8162306a36Sopenharmony_ci	help
8262306a36Sopenharmony_ci	  Some cheap devices have serial flash connected to the ChipCommon
8362306a36Sopenharmony_ci	  instead of independent SPI controller. It requires using a separated
8462306a36Sopenharmony_ci	  driver that implements ChipCommon specific interface communication.
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci	  Enabling this symbol will let bcma recognize serial flash and register
8762306a36Sopenharmony_ci	  it as platform device.
8862306a36Sopenharmony_ci
8962306a36Sopenharmony_ciconfig BCMA_NFLASH
9062306a36Sopenharmony_ci	bool
9162306a36Sopenharmony_ci	depends on BCMA_DRIVER_MIPS
9262306a36Sopenharmony_ci	default y
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ciconfig BCMA_DRIVER_GMAC_CMN
9562306a36Sopenharmony_ci	bool "BCMA Broadcom GBIT MAC COMMON core driver"
9662306a36Sopenharmony_ci	help
9762306a36Sopenharmony_ci	  Driver for the Broadcom GBIT MAC COMMON core attached to Broadcom
9862306a36Sopenharmony_ci	  specific Advanced Microcontroller Bus.
9962306a36Sopenharmony_ci
10062306a36Sopenharmony_ci	  If unsure, say N
10162306a36Sopenharmony_ci
10262306a36Sopenharmony_ciconfig BCMA_DRIVER_GPIO
10362306a36Sopenharmony_ci	bool "BCMA GPIO driver"
10462306a36Sopenharmony_ci	depends on GPIOLIB
10562306a36Sopenharmony_ci	select GPIOLIB_IRQCHIP if BCMA_HOST_SOC
10662306a36Sopenharmony_ci	help
10762306a36Sopenharmony_ci	  Driver to provide access to the GPIO pins of the bcma bus.
10862306a36Sopenharmony_ci
10962306a36Sopenharmony_ci	  If unsure, say N
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_ciconfig BCMA_DEBUG
11262306a36Sopenharmony_ci	bool "BCMA debugging"
11362306a36Sopenharmony_ci	help
11462306a36Sopenharmony_ci	  This turns on additional debugging messages.
11562306a36Sopenharmony_ci
11662306a36Sopenharmony_ci	  If unsure, say N
11762306a36Sopenharmony_ci
11862306a36Sopenharmony_ciendif # BCMA
119