Hi all, This patch series adds USB host support for Raspberry Pi 4 board. It includes the Broadcom STB PCIe controller driver ported from Linux kernel, a memory mapping update for the xHCI controller on PCIe bus for 64-bit builds and some related fixes and updates in the usb/xhci and the pci driver core code.
The 32-bit ARM part has be excluded from the series and will be posted separately. This iteration includes mostly correction in the PCIe controller driver patch addressing Simon's review comments. Hopefully I have addressed all comments. I didn't decide to use struct for the control registers as the registers offsets used are sparse and I don't have detailed documentation of the hardware to be able to define the struct accurately. The patch series is based on v2020.07-rc1 tree. Thanks, Sylwester Marek Szyprowski (2): rpi4: shorten a mapping for the DRAM rpi4: add a mapping for the PCIe XHCI controller MMIO registers (ARM 64bit) Nicolas Saenz Julienne (1): linux/bitfield.h: Add primitives for manipulating bitfields both in host- and fixed-endian Sylwester Nawrocki (6): usb: xhci: Add missing cache flush in the scratchpad array initialization usb: xhci: Use only 32-bit accesses in xhci_writeq/xhci_readq pci: Move some PCIe register offset definitions to a common header pci: Add some PCI Express capability register offset definitions pci: Add driver for Broadcom BCM2711 SoC PCIe controller configs: Enable support for the XHCI controller on RPI4 board (ARM 64-bit) arch/arm/mach-bcm283x/init.c | 20 +- configs/rpi_arm64_defconfig | 8 +- drivers/pci/Kconfig | 9 + drivers/pci/Makefile | 1 + drivers/pci/pci-rcar-gen3.c | 8 - drivers/pci/pcie_brcmstb.c | 623 ++++++++++++++++++++++++++++++++++++++++++ drivers/pci/pcie_intel_fpga.c | 3 - drivers/usb/host/xhci-mem.c | 3 + include/linux/bitfield.h | 50 ++++ include/pci.h | 22 +- include/usb/xhci.h | 8 - 11 files changed, 729 insertions(+), 26 deletions(-) create mode 100644 drivers/pci/pcie_brcmstb.c -- 2.7.4