18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ciconfig SSB_POSSIBLE
38c2ecf20Sopenharmony_ci	bool
48c2ecf20Sopenharmony_ci	depends on HAS_IOMEM && HAS_DMA
58c2ecf20Sopenharmony_ci	default y
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cimenuconfig SSB
88c2ecf20Sopenharmony_ci	tristate "Sonics Silicon Backplane support"
98c2ecf20Sopenharmony_ci	depends on SSB_POSSIBLE
108c2ecf20Sopenharmony_ci	help
118c2ecf20Sopenharmony_ci	  Support for the Sonics Silicon Backplane bus.
128c2ecf20Sopenharmony_ci	  You only need to enable this option, if you are
138c2ecf20Sopenharmony_ci	  configuring a kernel for an embedded system with
148c2ecf20Sopenharmony_ci	  this bus.
158c2ecf20Sopenharmony_ci	  It will be auto-selected if needed in other
168c2ecf20Sopenharmony_ci	  environments.
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ci	  The module will be called ssb.
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci	  If unsure, say N.
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ciif SSB
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ci# Common SPROM support routines
258c2ecf20Sopenharmony_ciconfig SSB_SPROM
268c2ecf20Sopenharmony_ci	bool
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci# Support for Block-I/O. SELECT this from the driver that needs it.
298c2ecf20Sopenharmony_ciconfig SSB_BLOCKIO
308c2ecf20Sopenharmony_ci	bool
318c2ecf20Sopenharmony_ci	depends on SSB
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ciconfig SSB_PCIHOST_POSSIBLE
348c2ecf20Sopenharmony_ci	bool
358c2ecf20Sopenharmony_ci	depends on SSB && (PCI = y || PCI = SSB) && (PCI_DRIVERS_LEGACY || !MIPS)
368c2ecf20Sopenharmony_ci	default y
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ciconfig SSB_PCIHOST
398c2ecf20Sopenharmony_ci	bool "Support for SSB on PCI-bus host"
408c2ecf20Sopenharmony_ci	depends on SSB_PCIHOST_POSSIBLE
418c2ecf20Sopenharmony_ci	select SSB_SPROM
428c2ecf20Sopenharmony_ci	default y
438c2ecf20Sopenharmony_ci	help
448c2ecf20Sopenharmony_ci	  Support for a Sonics Silicon Backplane on top
458c2ecf20Sopenharmony_ci	  of a PCI device.
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci	  If unsure, say Y
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ciconfig SSB_B43_PCI_BRIDGE
508c2ecf20Sopenharmony_ci	bool
518c2ecf20Sopenharmony_ci	depends on SSB_PCIHOST
528c2ecf20Sopenharmony_ci	default n
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_ciconfig SSB_PCMCIAHOST_POSSIBLE
558c2ecf20Sopenharmony_ci	bool
568c2ecf20Sopenharmony_ci	depends on SSB && (PCMCIA = y || PCMCIA = SSB)
578c2ecf20Sopenharmony_ci	default y
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ciconfig SSB_PCMCIAHOST
608c2ecf20Sopenharmony_ci	bool "Support for SSB on PCMCIA-bus host"
618c2ecf20Sopenharmony_ci	depends on SSB_PCMCIAHOST_POSSIBLE
628c2ecf20Sopenharmony_ci	select SSB_SPROM
638c2ecf20Sopenharmony_ci	help
648c2ecf20Sopenharmony_ci	  Support for a Sonics Silicon Backplane on top
658c2ecf20Sopenharmony_ci	  of a PCMCIA device.
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_ci	  If unsure, say N
688c2ecf20Sopenharmony_ci
698c2ecf20Sopenharmony_ciconfig SSB_SDIOHOST_POSSIBLE
708c2ecf20Sopenharmony_ci	bool
718c2ecf20Sopenharmony_ci	depends on SSB && (MMC = y || MMC = SSB)
728c2ecf20Sopenharmony_ci	default y
738c2ecf20Sopenharmony_ci
748c2ecf20Sopenharmony_ciconfig SSB_SDIOHOST
758c2ecf20Sopenharmony_ci	bool "Support for SSB on SDIO-bus host"
768c2ecf20Sopenharmony_ci	depends on SSB_SDIOHOST_POSSIBLE
778c2ecf20Sopenharmony_ci	help
788c2ecf20Sopenharmony_ci	  Support for a Sonics Silicon Backplane on top
798c2ecf20Sopenharmony_ci	  of a SDIO device.
808c2ecf20Sopenharmony_ci
818c2ecf20Sopenharmony_ci	  If unsure, say N
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_ciconfig SSB_HOST_SOC
848c2ecf20Sopenharmony_ci	bool "Support for SSB bus on SoC"
858c2ecf20Sopenharmony_ci	depends on SSB && BCM47XX_NVRAM
868c2ecf20Sopenharmony_ci	select SSB_SPROM
878c2ecf20Sopenharmony_ci	help
888c2ecf20Sopenharmony_ci	  Host interface for a SSB directly mapped into memory. This is
898c2ecf20Sopenharmony_ci	  for some Broadcom SoCs from the BCM47xx and BCM53xx lines.
908c2ecf20Sopenharmony_ci
918c2ecf20Sopenharmony_ci	  If unsure, say N
928c2ecf20Sopenharmony_ci
938c2ecf20Sopenharmony_ciconfig SSB_SERIAL
948c2ecf20Sopenharmony_ci	bool
958c2ecf20Sopenharmony_ci	depends on SSB
968c2ecf20Sopenharmony_ci	# ChipCommon and ExtIf serial support routines.
978c2ecf20Sopenharmony_ci
988c2ecf20Sopenharmony_ciconfig SSB_DRIVER_PCICORE_POSSIBLE
998c2ecf20Sopenharmony_ci	bool
1008c2ecf20Sopenharmony_ci	depends on SSB_PCIHOST
1018c2ecf20Sopenharmony_ci	default y
1028c2ecf20Sopenharmony_ci
1038c2ecf20Sopenharmony_ciconfig SSB_DRIVER_PCICORE
1048c2ecf20Sopenharmony_ci	bool "SSB PCI core driver"
1058c2ecf20Sopenharmony_ci	depends on SSB_DRIVER_PCICORE_POSSIBLE
1068c2ecf20Sopenharmony_ci	help
1078c2ecf20Sopenharmony_ci	  Driver for the Sonics Silicon Backplane attached
1088c2ecf20Sopenharmony_ci	  Broadcom PCI core.
1098c2ecf20Sopenharmony_ci
1108c2ecf20Sopenharmony_ci	  If unsure, say Y
1118c2ecf20Sopenharmony_ci
1128c2ecf20Sopenharmony_ciconfig SSB_PCICORE_HOSTMODE
1138c2ecf20Sopenharmony_ci	bool "Hostmode support for SSB PCI core"
1148c2ecf20Sopenharmony_ci	depends on SSB_DRIVER_PCICORE && SSB_DRIVER_MIPS && SSB = y
1158c2ecf20Sopenharmony_ci	help
1168c2ecf20Sopenharmony_ci	  PCIcore hostmode operation (external PCI bus).
1178c2ecf20Sopenharmony_ci
1188c2ecf20Sopenharmony_ciconfig SSB_DRIVER_MIPS
1198c2ecf20Sopenharmony_ci	bool "SSB Broadcom MIPS core driver"
1208c2ecf20Sopenharmony_ci	depends on SSB && MIPS
1218c2ecf20Sopenharmony_ci	select SSB_SERIAL
1228c2ecf20Sopenharmony_ci	select SSB_SFLASH
1238c2ecf20Sopenharmony_ci	help
1248c2ecf20Sopenharmony_ci	  Driver for the Sonics Silicon Backplane attached
1258c2ecf20Sopenharmony_ci	  Broadcom MIPS core.
1268c2ecf20Sopenharmony_ci
1278c2ecf20Sopenharmony_ci	  If unsure, say N
1288c2ecf20Sopenharmony_ci
1298c2ecf20Sopenharmony_ciconfig SSB_SFLASH
1308c2ecf20Sopenharmony_ci	bool "SSB serial flash support"
1318c2ecf20Sopenharmony_ci	depends on SSB_DRIVER_MIPS
1328c2ecf20Sopenharmony_ci	default y
1338c2ecf20Sopenharmony_ci
1348c2ecf20Sopenharmony_ci# Assumption: We are on embedded, if we compile the MIPS core.
1358c2ecf20Sopenharmony_ciconfig SSB_EMBEDDED
1368c2ecf20Sopenharmony_ci	bool
1378c2ecf20Sopenharmony_ci	depends on SSB_DRIVER_MIPS && SSB_PCICORE_HOSTMODE
1388c2ecf20Sopenharmony_ci	default y
1398c2ecf20Sopenharmony_ci
1408c2ecf20Sopenharmony_ciconfig SSB_DRIVER_EXTIF
1418c2ecf20Sopenharmony_ci	bool "SSB Broadcom EXTIF core driver"
1428c2ecf20Sopenharmony_ci	depends on SSB_DRIVER_MIPS
1438c2ecf20Sopenharmony_ci	help
1448c2ecf20Sopenharmony_ci	  Driver for the Sonics Silicon Backplane attached
1458c2ecf20Sopenharmony_ci	  Broadcom EXTIF core.
1468c2ecf20Sopenharmony_ci
1478c2ecf20Sopenharmony_ci	  If unsure, say N
1488c2ecf20Sopenharmony_ci
1498c2ecf20Sopenharmony_ciconfig SSB_DRIVER_GIGE
1508c2ecf20Sopenharmony_ci	bool "SSB Broadcom Gigabit Ethernet driver"
1518c2ecf20Sopenharmony_ci	depends on SSB_PCIHOST_POSSIBLE && SSB_EMBEDDED && MIPS
1528c2ecf20Sopenharmony_ci	help
1538c2ecf20Sopenharmony_ci	  Driver for the Sonics Silicon Backplane attached
1548c2ecf20Sopenharmony_ci	  Broadcom Gigabit Ethernet.
1558c2ecf20Sopenharmony_ci
1568c2ecf20Sopenharmony_ci	  If unsure, say N
1578c2ecf20Sopenharmony_ci
1588c2ecf20Sopenharmony_ciconfig SSB_DRIVER_GPIO
1598c2ecf20Sopenharmony_ci	bool "SSB GPIO driver"
1608c2ecf20Sopenharmony_ci	depends on SSB && GPIOLIB
1618c2ecf20Sopenharmony_ci	select IRQ_DOMAIN if SSB_EMBEDDED
1628c2ecf20Sopenharmony_ci	help
1638c2ecf20Sopenharmony_ci	  Driver to provide access to the GPIO pins on the bus.
1648c2ecf20Sopenharmony_ci
1658c2ecf20Sopenharmony_ci	  If unsure, say N
1668c2ecf20Sopenharmony_ci
1678c2ecf20Sopenharmony_ciendif # SSB
168