PCI: aardvark: Implement emulated root PCI bridge config space
authorZachary Zhang <zhangzg@marvell.com>
Thu, 18 Oct 2018 15:37:19 +0000 (17:37 +0200)
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Thu, 18 Oct 2018 16:51:41 +0000 (17:51 +0100)
commit8a3ebd8de328301aacbe328650a59253be2ac82c
tree9314810dc2257d2b2ef560fd88f31f4b93162ff4
parent1f08673eef1236f7d02d93fcf596bb8531ef0d12
PCI: aardvark: Implement emulated root PCI bridge config space

The PCI controller in the Marvell Armada 3720 does not implement a
software-accessible root port PCI bridge configuration space. This
causes a number of problems when using PCIe switches or when the Max
Payload size needs to be aligned between the root complex and the
endpoint.

Implementing an emulated root PCI bridge, like is already done in the
pci-mvebu driver for older Marvell platforms allows to solve those
issues, and also to support features such as ASR, PME, VC, HP.

Signed-off-by: Zachary Zhang <zhangzg@marvell.com>
[Thomas: convert to the common emulated PCI bridge logic.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
drivers/pci/controller/Kconfig
drivers/pci/controller/pci-aardvark.c