config BACKPORT_SSB_POSSIBLE
	bool
	depends on !SSB_POSSIBLE
	depends on HAS_IOMEM && HAS_DMA
	default y

menu "Sonics Silicon Backplane"
	depends on BACKPORT_SSB_POSSIBLE

config BACKPORT_SSB
	tristate "Sonics Silicon Backplane support"
	depends on !SSB
	depends on BACKPORT_SSB_POSSIBLE
	help
	  Support for the Sonics Silicon Backplane bus.
	  You only need to enable this option, if you are
	  configuring a kernel for an embedded system with
	  this bus.
	  It will be auto-selected if needed in other
	  environments.

	  The module will be called ssb.

	  If unsure, say N.

# Common SPROM support routines
config BACKPORT_SSB_SPROM
	bool
	depends on !SSB_SPROM

# Support for Block-I/O. SELECT this from the driver that needs it.
config BACKPORT_SSB_BLOCKIO
	bool
	depends on !SSB_BLOCKIO
	depends on BACKPORT_SSB

config BACKPORT_SSB_PCIHOST_POSSIBLE
	bool
	depends on !SSB_PCIHOST_POSSIBLE
	depends on BACKPORT_SSB && (PCI = y || PCI = BACKPORT_SSB)
	default y

config BACKPORT_SSB_PCIHOST
	bool "Support for SSB on PCI-bus host"
	depends on !SSB_PCIHOST
	depends on BACKPORT_SSB_PCIHOST_POSSIBLE
	select BACKPORT_SSB_SPROM
	default y
	help
	  Support for a Sonics Silicon Backplane on top
	  of a PCI device.

	  If unsure, say Y

config BACKPORT_SSB_B43_PCI_BRIDGE
	bool
	depends on !SSB_B43_PCI_BRIDGE
	depends on BACKPORT_SSB_PCIHOST
	default n

config BACKPORT_SSB_PCMCIAHOST_POSSIBLE
	bool
	depends on !SSB_PCMCIAHOST_POSSIBLE
	depends on BACKPORT_SSB && (PCMCIA = y || PCMCIA = BACKPORT_SSB)
	default y

config BACKPORT_SSB_PCMCIAHOST
	bool "Support for SSB on PCMCIA-bus host"
	depends on !SSB_PCMCIAHOST
	depends on BACKPORT_SSB_PCMCIAHOST_POSSIBLE
	select BACKPORT_SSB_SPROM
	help
	  Support for a Sonics Silicon Backplane on top
	  of a PCMCIA device.

	  If unsure, say N

config BACKPORT_SSB_SDIOHOST_POSSIBLE
	bool
	depends on !SSB_SDIOHOST_POSSIBLE
	depends on BACKPORT_SSB && (MMC = y || MMC = BACKPORT_SSB)
	default y

config BACKPORT_SSB_SDIOHOST
	bool "Support for SSB on SDIO-bus host"
	depends on !SSB_SDIOHOST
	depends on BACKPORT_SSB_SDIOHOST_POSSIBLE
	help
	  Support for a Sonics Silicon Backplane on top
	  of a SDIO device.

	  If unsure, say N

config BACKPORT_SSB_SILENT
	bool "No SSB kernel messages"
	depends on !SSB_SILENT
	depends on BACKPORT_SSB && EXPERT
	help
	  This option turns off all Sonics Silicon Backplane printks.
	  Note that you won't be able to identify problems, once
	  messages are turned off.
	  This might only be desired for production kernels on
	  embedded devices to reduce the kernel size.

	  Say N

config BACKPORT_SSB_DEBUG
	bool "SSB debugging"
	depends on !SSB_DEBUG
	depends on BACKPORT_SSB && !SSB_SILENT
	help
	  This turns on additional runtime checks and debugging
	  messages. Turn this on for BACKPORT_SSB troubleshooting.

	  If unsure, say N

config BACKPORT_SSB_SERIAL
	bool
	depends on !SSB_SERIAL
	depends on BACKPORT_SSB
	# ChipCommon and ExtIf serial support routines.

config BACKPORT_SSB_DRIVER_PCICORE_POSSIBLE
	bool
	depends on !SSB_DRIVER_PCICORE_POSSIBLE
	depends on BACKPORT_SSB_PCIHOST
	default y

config BACKPORT_SSB_DRIVER_PCICORE
	bool "SSB PCI core driver"
	depends on !SSB_DRIVER_PCICORE
	depends on BACKPORT_SSB_DRIVER_PCICORE_POSSIBLE
	help
	  Driver for the Sonics Silicon Backplane attached
	  Broadcom PCI core.

	  If unsure, say Y

config BACKPORT_SSB_PCICORE_HOSTMODE
	bool "Hostmode support for SSB PCI core"
	depends on !SSB_PCICORE_HOSTMODE
	depends on BACKPORT_SSB_DRIVER_PCICORE && BACKPORT_SSB_DRIVER_MIPS
	help
	  PCIcore hostmode operation (external PCI bus).

config BACKPORT_SSB_DRIVER_MIPS
	bool "SSB Broadcom MIPS core driver"
	depends on !SSB_DRIVER_MIPS
	depends on BACKPORT_SSB && MIPS
	select BACKPORT_SSB_SERIAL
	help
	  Driver for the Sonics Silicon Backplane attached
	  Broadcom MIPS core.

	  If unsure, say N

config BACKPORT_SSB_SFLASH
	bool "SSB serial flash support"
	depends on !SSB_SFLASH
	depends on BACKPORT_SSB_DRIVER_MIPS
	default y

# Assumption: We are on embedded, if we compile the MIPS core.
config BACKPORT_SSB_EMBEDDED
	bool
	depends on !SSB_EMBEDDED
	depends on BACKPORT_SSB_DRIVER_MIPS && BACKPORT_SSB_PCICORE_HOSTMODE
	default y

config BACKPORT_SSB_DRIVER_EXTIF
	bool "SSB Broadcom EXTIF core driver"
	depends on !SSB_DRIVER_EXTIF
	depends on BACKPORT_SSB_DRIVER_MIPS
	help
	  Driver for the Sonics Silicon Backplane attached
	  Broadcom EXTIF core.

	  If unsure, say N

config BACKPORT_SSB_DRIVER_GIGE
	bool "SSB Broadcom Gigabit Ethernet driver"
	depends on !SSB_DRIVER_GIGE
	depends on BACKPORT_SSB_PCIHOST_POSSIBLE && BACKPORT_SSB_EMBEDDED && MIPS
	help
	  Driver for the Sonics Silicon Backplane attached
	  Broadcom Gigabit Ethernet.

	  If unsure, say N

config BACKPORT_SSB_DRIVER_GPIO
	bool "SSB GPIO driver"
	depends on !SSB_DRIVER_GPIO
	depends on BACKPORT_SSB && GPIOLIB
	select IRQ_DOMAIN if BACKPORT_SSB_EMBEDDED
	help
	  Driver to provide access to the GPIO pins on the bus.

	  If unsure, say N

endmenu
