This series adds support for R-Car Gen4 PCI host controller. To fully support the controller, the following changes were made: - Generic mechanism to support PCI child buses is added. - Private data for PCI host bridge and means to access it are added.
The series was tested as a part of the pci-passthrough patches[1] and build-tested standalone with enabled HAS_PCI and HAS_VPCI. [1] https://github.com/Deedone/xen/tree/pci_passthrough_wip v2->v3: * dropped patches related to ATU programming delay * improved formatting v1->v2: * see individual patches Oleksandr Andrushchenko (4): xen/arm: allow PCI host bridge to have private data xen/arm: make pci_host_common_probe return the bridge xen/arm: add support for PCI child bus xen/arm: add support for R-Car Gen4 PCI host controller xen/arch/arm/include/asm/pci.h | 14 +- xen/arch/arm/pci/Makefile | 2 + xen/arch/arm/pci/ecam.c | 17 +- xen/arch/arm/pci/pci-access.c | 37 ++- xen/arch/arm/pci/pci-designware.c | 403 ++++++++++++++++++++++++++++ xen/arch/arm/pci/pci-designware.h | 102 +++++++ xen/arch/arm/pci/pci-host-common.c | 92 +++++-- xen/arch/arm/pci/pci-host-generic.c | 2 +- xen/arch/arm/pci/pci-host-rcar4.c | 103 +++++++ xen/arch/arm/pci/pci-host-zynqmp.c | 2 +- xen/arch/arm/vpci.c | 83 ++++-- 11 files changed, 807 insertions(+), 50 deletions(-) create mode 100644 xen/arch/arm/pci/pci-designware.c create mode 100644 xen/arch/arm/pci/pci-designware.h create mode 100644 xen/arch/arm/pci/pci-host-rcar4.c -- 2.34.1