This is v4 of the series adding PCIe support for the M1 SoC. Not a lot has changed this time around, and most of what I was saying in [1] is still valid. The most important change is that the driver now probes for the number of RID-SID mapping registers instead of assuming 64 entries. The rest is a bunch of limited cleanups and minor fixes. This should now be in a state that makes it mergeable, although I expect that some of the clock bits may have to be adapted (I haven't followed the recent developments on that front). As always, comments welcome. [1] https://lore.kernel.org/r/20210913182550.264165-1-maz@xxxxxxxxxx Alyssa Rosenzweig (2): PCI: apple: Add initial hardware bring-up PCI: apple: Set up reference clocks when probing Marc Zyngier (8): irqdomain: Make of_phandle_args_to_fwspec generally available of/irq: Allow matching of an interrupt-map local to an interrupt controller PCI: of: Allow matching of an interrupt-map local to a PCI device PCI: apple: Add INTx and per-port interrupt support arm64: apple: t8103: Add root port interrupt routing PCI: apple: Implement MSI support iommu/dart: Exclude MSI doorbell from PCIe device IOVA range PCI: apple: Configure RID to SID mapper on device addition MAINTAINERS | 7 + arch/arm64/boot/dts/apple/t8103.dtsi | 33 +- drivers/iommu/apple-dart.c | 27 + drivers/of/irq.c | 17 +- drivers/pci/controller/Kconfig | 17 + drivers/pci/controller/Makefile | 1 + drivers/pci/controller/pcie-apple.c | 826 +++++++++++++++++++++++++++ drivers/pci/of.c | 10 +- include/linux/irqdomain.h | 4 + kernel/irq/irqdomain.c | 6 +- 10 files changed, 935 insertions(+), 13 deletions(-) create mode 100644 drivers/pci/controller/pcie-apple.c -- 2.30.2