PCI: iproc: Add BCMA PCIe driver
authorHauke Mehrtens <hauke@hauke-m.de>
Tue, 12 May 2015 21:23:01 +0000 (23:23 +0200)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 20 May 2015 14:46:06 +0000 (09:46 -0500)
commit4785ffbdc9b52e308e43b9e2dcc1dca44f056d76
tree3f2d1e08aae565ef575c1d6e4646890a1b954c62
parentc1e02ceaf5739d32f092ac07bf886a0281ec40b1
PCI: iproc: Add BCMA PCIe driver

This driver adds support for the PCIe 2.0 controller found on the BCMA bus.
This controller can be found on (mostly) all Broadcom BCM470X / BCM5301X
ARM SoCs.

The driver found in the Broadcom SDK does some more stuff, like setting up
some DMA memory areas, chaining MPS and MRRS to 512 and also some PHY
changes like "improving" the PCIe jitter and doing some special
initialization for the 3rd PCIe port.

This was tested on a bcm4708 board with 2 PCIe ports and wireless cards
connected to them.

PCI_DOMAINS is needed by this driver, because normally there is more than
one PCIe controller and without PCI_DOMAINS only the first controller gets
registered.  This controller gets 6 IRQs; the last one is trigged by all
IRQ events.

[bhelgaas: fix "GPLv2" MODULE_LICENSE typo]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Rafał Miłecki <zajec5@gmail.com>
Acked-by: Ray Jui <rjui@broadcom.com.com>
drivers/pci/host/Kconfig
drivers/pci/host/Makefile
drivers/pci/host/pcie-iproc-bcma.c [new file with mode: 0644]