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 v3->v4: * rebase * see individual patches 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 | 11 +- xen/arch/arm/pci/Makefile | 2 + 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 | 94 +++++-- 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 ++++-- 10 files changed, 793 insertions(+), 46 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
