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