Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 61e115a5 authored by Michael Buesch's avatar Michael Buesch Committed by David S. Miller
Browse files

[SSB]: add Sonics Silicon Backplane bus support



SSB is an SoC bus used in a number of embedded devices.  The most
well-known of these devices is probably the Linksys WRT54G, but there
are others as well.  The bus is also used internally on the BCM43xx
and BCM44xx devices from Broadcom.

This patch also includes support for SSB ID tables in modules, so
that SSB drivers can be loaded automatically.

Signed-off-by: default avatarMichael Buesch <mb@bu3sch.de>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 5ee3afba
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -3446,6 +3446,12 @@ M: tsbogend@alpha.franken.de
L:	netdev@vger.kernel.org
S:	Maintained

SONICS SILICON BACKPLANE DRIVER (SSB)
P:	Michael Buesch
M:	mb@bu3sch.de
L:	netdev@vger.kernel.org
S:	Maintained

SONY VAIO CONTROL DEVICE DRIVER
P:	Mattia Dongili
M:	malattia@linux.it
+2 −0
Original line number Diff line number Diff line
@@ -58,6 +58,8 @@ source "drivers/power/Kconfig"

source "drivers/hwmon/Kconfig"

source "drivers/ssb/Kconfig"

source "drivers/mfd/Kconfig"

source "drivers/media/Kconfig"
+1 −0
Original line number Diff line number Diff line
@@ -88,3 +88,4 @@ obj-$(CONFIG_DMA_ENGINE) += dma/
obj-$(CONFIG_HID)		+= hid/
obj-$(CONFIG_PPC_PS3)		+= ps3/
obj-$(CONFIG_OF)		+= of/
obj-$(CONFIG_SSB)		+= ssb/

drivers/ssb/Kconfig

0 → 100644
+117 −0
Original line number Diff line number Diff line
menu "Sonics Silicon Backplane"

config SSB_POSSIBLE
	bool
	depends on HAS_IOMEM
	default y

config SSB
	tristate "Sonics Silicon Backplane support"
	depends on 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.

config SSB_PCIHOST_POSSIBLE
	bool
	depends on SSB && PCI
	default y

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

	  If unsure, say Y

config SSB_PCMCIAHOST_POSSIBLE
	bool
	depends on SSB && PCMCIA && EXPERIMENTAL
	default y

config SSB_PCMCIAHOST
	bool "Support for SSB on PCMCIA-bus host (EXPERIMENTAL)"
	depends on SSB_PCMCIAHOST_POSSIBLE
	help
	  Support for a Sonics Silicon Backplane on top
	  of a PCMCIA device.

	  If unsure, say N

config SSB_SILENT
	bool "No SSB kernel messages"
	depends on SSB && EMBEDDED
	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 SSB_DEBUG
	bool "SSB debugging"
	depends on SSB && !SSB_SILENT
	help
	  This turns on additional runtime checks and debugging
	  messages. Turn this on for SSB troubleshooting.

	  If unsure, say N

config SSB_SERIAL
	bool
	depends on SSB
	# ChipCommon and ExtIf serial support routines.

config SSB_DRIVER_PCICORE_POSSIBLE
	bool
	depends on SSB_PCIHOST
	default y

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

	  If unsure, say Y

config SSB_PCICORE_HOSTMODE
	bool "Hostmode support for SSB PCI core (EXPERIMENTAL)"
	depends on SSB_DRIVER_PCICORE && SSB_DRIVER_MIPS && EXPERIMENTAL
	help
	  PCIcore hostmode operation (external PCI bus).

config SSB_DRIVER_MIPS
	bool "SSB Broadcom MIPS core driver (EXPERIMENTAL)"
	depends on SSB && MIPS && EXPERIMENTAL
	select SSB_SERIAL
	help
	  Driver for the Sonics Silicon Backplane attached
	  Broadcom MIPS core.

	  If unsure, say N

config SSB_DRIVER_EXTIF
	bool "SSB Broadcom EXTIF core driver (EXPERIMENTAL)"
	depends on SSB_DRIVER_MIPS && EXPERIMENTAL
	help
	  Driver for the Sonics Silicon Backplane attached
	  Broadcom EXTIF core.

	  If unsure, say N

endmenu

drivers/ssb/Makefile

0 → 100644
+18 −0
Original line number Diff line number Diff line
# core
ssb-y					+= main.o scan.o

# host support
ssb-$(CONFIG_SSB_PCIHOST)		+= pci.o pcihost_wrapper.o
ssb-$(CONFIG_SSB_PCMCIAHOST)		+= pcmcia.o

# built-in drivers
ssb-y					+= driver_chipcommon.o
ssb-$(CONFIG_SSB_DRIVER_MIPS)		+= driver_mipscore.o
ssb-$(CONFIG_SSB_DRIVER_EXTIF)		+= driver_extif.o
ssb-$(CONFIG_SSB_DRIVER_PCICORE)	+= driver_pcicore.o

# b43 pci-ssb-bridge driver
# Not strictly a part of SSB, but kept here for convenience
ssb-$(CONFIG_SSB_PCIHOST)		+= b43_pci_bridge.o

obj-$(CONFIG_SSB)			+= ssb.o
Loading