xref: /kernel/linux/linux-6.6/drivers/ssb/Kconfig (revision 62306a36)
162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ciconfig SSB_POSSIBLE
362306a36Sopenharmony_ci	bool
462306a36Sopenharmony_ci	depends on HAS_IOMEM && HAS_DMA
562306a36Sopenharmony_ci	default y
662306a36Sopenharmony_ci
762306a36Sopenharmony_cimenuconfig SSB
862306a36Sopenharmony_ci	tristate "Sonics Silicon Backplane support"
962306a36Sopenharmony_ci	depends on SSB_POSSIBLE
1062306a36Sopenharmony_ci	help
1162306a36Sopenharmony_ci	  Support for the Sonics Silicon Backplane bus.
1262306a36Sopenharmony_ci	  You only need to enable this option, if you are
1362306a36Sopenharmony_ci	  configuring a kernel for an embedded system with
1462306a36Sopenharmony_ci	  this bus.
1562306a36Sopenharmony_ci	  It will be auto-selected if needed in other
1662306a36Sopenharmony_ci	  environments.
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci	  The module will be called ssb.
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci	  If unsure, say N.
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ciif SSB
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci# Common SPROM support routines
2562306a36Sopenharmony_ciconfig SSB_SPROM
2662306a36Sopenharmony_ci	bool
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci# Support for Block-I/O. SELECT this from the driver that needs it.
2962306a36Sopenharmony_ciconfig SSB_BLOCKIO
3062306a36Sopenharmony_ci	bool
3162306a36Sopenharmony_ci	depends on SSB
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ciconfig SSB_PCIHOST_POSSIBLE
3462306a36Sopenharmony_ci	bool
3562306a36Sopenharmony_ci	depends on SSB && (PCI = y || PCI = SSB) && (PCI_DRIVERS_LEGACY || !MIPS)
3662306a36Sopenharmony_ci	default y
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ciconfig SSB_PCIHOST
3962306a36Sopenharmony_ci	bool "Support for SSB on PCI-bus host"
4062306a36Sopenharmony_ci	depends on SSB_PCIHOST_POSSIBLE
4162306a36Sopenharmony_ci	select SSB_SPROM
4262306a36Sopenharmony_ci	default y
4362306a36Sopenharmony_ci	help
4462306a36Sopenharmony_ci	  Support for a Sonics Silicon Backplane on top
4562306a36Sopenharmony_ci	  of a PCI device.
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci	  If unsure, say Y
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ciconfig SSB_B43_PCI_BRIDGE
5062306a36Sopenharmony_ci	bool
5162306a36Sopenharmony_ci	depends on SSB_PCIHOST
5262306a36Sopenharmony_ci	default n
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ciconfig SSB_PCMCIAHOST_POSSIBLE
5562306a36Sopenharmony_ci	bool
5662306a36Sopenharmony_ci	depends on SSB && (PCMCIA = y || PCMCIA = SSB)
5762306a36Sopenharmony_ci	default y
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ciconfig SSB_PCMCIAHOST
6062306a36Sopenharmony_ci	bool "Support for SSB on PCMCIA-bus host"
6162306a36Sopenharmony_ci	depends on SSB_PCMCIAHOST_POSSIBLE
6262306a36Sopenharmony_ci	select SSB_SPROM
6362306a36Sopenharmony_ci	help
6462306a36Sopenharmony_ci	  Support for a Sonics Silicon Backplane on top
6562306a36Sopenharmony_ci	  of a PCMCIA device.
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci	  If unsure, say N
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ciconfig SSB_SDIOHOST_POSSIBLE
7062306a36Sopenharmony_ci	bool
7162306a36Sopenharmony_ci	depends on SSB && (MMC = y || MMC = SSB)
7262306a36Sopenharmony_ci	default y
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ciconfig SSB_SDIOHOST
7562306a36Sopenharmony_ci	bool "Support for SSB on SDIO-bus host"
7662306a36Sopenharmony_ci	depends on SSB_SDIOHOST_POSSIBLE
7762306a36Sopenharmony_ci	help
7862306a36Sopenharmony_ci	  Support for a Sonics Silicon Backplane on top
7962306a36Sopenharmony_ci	  of a SDIO device.
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci	  If unsure, say N
8262306a36Sopenharmony_ci
8362306a36Sopenharmony_ciconfig SSB_HOST_SOC
8462306a36Sopenharmony_ci	bool "Support for SSB bus on SoC"
8562306a36Sopenharmony_ci	depends on SSB && BCM47XX_NVRAM
8662306a36Sopenharmony_ci	select SSB_SPROM
8762306a36Sopenharmony_ci	help
8862306a36Sopenharmony_ci	  Host interface for a SSB directly mapped into memory. This is
8962306a36Sopenharmony_ci	  for some Broadcom SoCs from the BCM47xx and BCM53xx lines.
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ci	  If unsure, say N
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ciconfig SSB_SERIAL
9462306a36Sopenharmony_ci	bool
9562306a36Sopenharmony_ci	depends on SSB
9662306a36Sopenharmony_ci	# ChipCommon and ExtIf serial support routines.
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ciconfig SSB_DRIVER_PCICORE_POSSIBLE
9962306a36Sopenharmony_ci	bool
10062306a36Sopenharmony_ci	depends on SSB_PCIHOST
10162306a36Sopenharmony_ci	default y
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_ciconfig SSB_DRIVER_PCICORE
10462306a36Sopenharmony_ci	bool "SSB PCI core driver"
10562306a36Sopenharmony_ci	depends on SSB_DRIVER_PCICORE_POSSIBLE
10662306a36Sopenharmony_ci	help
10762306a36Sopenharmony_ci	  Driver for the Sonics Silicon Backplane attached
10862306a36Sopenharmony_ci	  Broadcom PCI core.
10962306a36Sopenharmony_ci
11062306a36Sopenharmony_ci	  If unsure, say Y
11162306a36Sopenharmony_ci
11262306a36Sopenharmony_ciconfig SSB_PCICORE_HOSTMODE
11362306a36Sopenharmony_ci	bool "Hostmode support for SSB PCI core"
11462306a36Sopenharmony_ci	depends on SSB_DRIVER_PCICORE && SSB_DRIVER_MIPS && SSB = y
11562306a36Sopenharmony_ci	help
11662306a36Sopenharmony_ci	  PCIcore hostmode operation (external PCI bus).
11762306a36Sopenharmony_ci
11862306a36Sopenharmony_ciconfig SSB_DRIVER_MIPS
11962306a36Sopenharmony_ci	bool "SSB Broadcom MIPS core driver"
12062306a36Sopenharmony_ci	depends on SSB && MIPS
12162306a36Sopenharmony_ci	select SSB_SERIAL
12262306a36Sopenharmony_ci	select SSB_SFLASH
12362306a36Sopenharmony_ci	help
12462306a36Sopenharmony_ci	  Driver for the Sonics Silicon Backplane attached
12562306a36Sopenharmony_ci	  Broadcom MIPS core.
12662306a36Sopenharmony_ci
12762306a36Sopenharmony_ci	  If unsure, say N
12862306a36Sopenharmony_ci
12962306a36Sopenharmony_ciconfig SSB_SFLASH
13062306a36Sopenharmony_ci	bool "SSB serial flash support"
13162306a36Sopenharmony_ci	depends on SSB_DRIVER_MIPS
13262306a36Sopenharmony_ci	default y
13362306a36Sopenharmony_ci
13462306a36Sopenharmony_ci# Assumption: We are on embedded, if we compile the MIPS core.
13562306a36Sopenharmony_ciconfig SSB_EMBEDDED
13662306a36Sopenharmony_ci	bool
13762306a36Sopenharmony_ci	depends on SSB_DRIVER_MIPS && SSB_PCICORE_HOSTMODE
13862306a36Sopenharmony_ci	default y
13962306a36Sopenharmony_ci
14062306a36Sopenharmony_ciconfig SSB_DRIVER_EXTIF
14162306a36Sopenharmony_ci	bool "SSB Broadcom EXTIF core driver"
14262306a36Sopenharmony_ci	depends on SSB_DRIVER_MIPS
14362306a36Sopenharmony_ci	help
14462306a36Sopenharmony_ci	  Driver for the Sonics Silicon Backplane attached
14562306a36Sopenharmony_ci	  Broadcom EXTIF core.
14662306a36Sopenharmony_ci
14762306a36Sopenharmony_ci	  If unsure, say N
14862306a36Sopenharmony_ci
14962306a36Sopenharmony_ciconfig SSB_DRIVER_GIGE
15062306a36Sopenharmony_ci	bool "SSB Broadcom Gigabit Ethernet driver"
15162306a36Sopenharmony_ci	depends on SSB_PCIHOST_POSSIBLE && SSB_EMBEDDED && MIPS
15262306a36Sopenharmony_ci	help
15362306a36Sopenharmony_ci	  Driver for the Sonics Silicon Backplane attached
15462306a36Sopenharmony_ci	  Broadcom Gigabit Ethernet.
15562306a36Sopenharmony_ci
15662306a36Sopenharmony_ci	  If unsure, say N
15762306a36Sopenharmony_ci
15862306a36Sopenharmony_ciconfig SSB_DRIVER_GPIO
15962306a36Sopenharmony_ci	bool "SSB GPIO driver"
16062306a36Sopenharmony_ci	depends on SSB && GPIOLIB
16162306a36Sopenharmony_ci	select IRQ_DOMAIN if SSB_EMBEDDED
16262306a36Sopenharmony_ci	help
16362306a36Sopenharmony_ci	  Driver to provide access to the GPIO pins on the bus.
16462306a36Sopenharmony_ci
16562306a36Sopenharmony_ci	  If unsure, say N
16662306a36Sopenharmony_ci
16762306a36Sopenharmony_ciendif # SSB
168