1# SPDX-License-Identifier: GPL-2.0
2config BCMA_POSSIBLE
3	bool
4	depends on HAS_IOMEM && HAS_DMA
5	default y
6
7menuconfig BCMA
8	tristate "Broadcom specific AMBA"
9	depends on BCMA_POSSIBLE
10	help
11	  Bus driver for Broadcom specific Advanced Microcontroller Bus
12	  Architecture.
13
14if BCMA
15
16# Support for Block-I/O. SELECT this from the driver that needs it.
17config BCMA_BLOCKIO
18	bool
19
20config BCMA_HOST_PCI_POSSIBLE
21	bool
22	depends on PCI = y
23	default y
24
25config BCMA_HOST_PCI
26	bool "Support for BCMA on PCI-host bus"
27	depends on BCMA_HOST_PCI_POSSIBLE
28	select BCMA_DRIVER_PCI
29	default y
30
31config BCMA_HOST_SOC
32	bool "Support for BCMA in a SoC"
33	depends on HAS_IOMEM
34	help
35	  Host interface for a Broadcom AIX bus directly mapped into
36	  the memory. This only works with the Broadcom SoCs from the
37	  BCM47XX line.
38
39	  If unsure, say N
40
41config BCMA_DRIVER_PCI
42	bool "BCMA Broadcom PCI core driver"
43	depends on PCI
44	default y
45	help
46	  BCMA bus may have many versions of PCIe core. This driver
47	  supports:
48	  1) PCIe core working in clientmode
49	  2) PCIe Gen 2 clientmode core
50
51	  In general PCIe (Gen 2) clientmode core is required on PCIe
52	  hosted buses. It's responsible for initialization and basic
53	  hardware management.
54	  This driver is also prerequisite for a hostmode PCIe core
55	  support.
56
57config BCMA_DRIVER_PCI_HOSTMODE
58	bool "Driver for PCI core working in hostmode"
59	depends on MIPS && BCMA_DRIVER_PCI && PCI_DRIVERS_LEGACY && BCMA = y
60	help
61	  PCI core hostmode operation (external PCI bus).
62
63config BCMA_DRIVER_MIPS
64	bool "BCMA Broadcom MIPS core driver"
65	depends on MIPS || COMPILE_TEST
66	help
67	  Driver for the Broadcom MIPS core attached to Broadcom specific
68	  Advanced Microcontroller Bus.
69
70	  If unsure, say N
71
72config BCMA_PFLASH
73	bool
74	depends on BCMA_DRIVER_MIPS
75	default y
76
77config BCMA_SFLASH
78	bool "ChipCommon-attached serial flash support"
79	depends on BCMA_HOST_SOC
80	default y
81	help
82	  Some cheap devices have serial flash connected to the ChipCommon
83	  instead of independent SPI controller. It requires using a separated
84	  driver that implements ChipCommon specific interface communication.
85
86	  Enabling this symbol will let bcma recognize serial flash and register
87	  it as platform device.
88
89config BCMA_NFLASH
90	bool
91	depends on BCMA_DRIVER_MIPS
92	default y
93
94config BCMA_DRIVER_GMAC_CMN
95	bool "BCMA Broadcom GBIT MAC COMMON core driver"
96	help
97	  Driver for the Broadcom GBIT MAC COMMON core attached to Broadcom
98	  specific Advanced Microcontroller Bus.
99
100	  If unsure, say N
101
102config BCMA_DRIVER_GPIO
103	bool "BCMA GPIO driver"
104	depends on GPIOLIB
105	select GPIOLIB_IRQCHIP if BCMA_HOST_SOC
106	help
107	  Driver to provide access to the GPIO pins of the bcma bus.
108
109	  If unsure, say N
110
111config BCMA_DEBUG
112	bool "BCMA debugging"
113	help
114	  This turns on additional debugging messages.
115
116	  If unsure, say N
117
118endif # BCMA
119