From patchwork Tue May 12 18:47:07 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Sylwester Nawrocki/Kernel \\\(PLT\\\) /SRPOL/Staff Engineer/Samsung Electronics" X-Patchwork-Id: 245677 List-Id: U-Boot discussion From: s.nawrocki at samsung.com (Sylwester Nawrocki) Date: Tue, 12 May 2020 20:47:07 +0200 Subject: [PATCH v3 0/9] USB host support for Raspberry Pi 4 board (64-bit) References: Message-ID: <20200512184716.2869-1-s.nawrocki@samsung.com> 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