From patchwork Fri Apr 24 16:50:02 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: 238413 List-Id: U-Boot discussion From: s.nawrocki at samsung.com (Sylwester Nawrocki) Date: Fri, 24 Apr 2020 18:50:02 +0200 Subject: [PATCH v1 00/10] USB host support for Raspberry Pi 4 board References: Message-ID: <20200424165012.31915-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 driver ported from Linux kernel, a memory mapping update for the xHCI controller behind a PCIe bridge for 32-bit and 64-bit system builds and some related fixes and updates in the usb/xhci and the pci core code. Any changes since previous (RFC) version are listed in individual patches. The most significant change was rewriting the PCIe driver to align with current mainline Linux kernel version. As suggested, readq/writeq have been removed from xhci_{readq/writeq} helpers instead of adding a Kconfig option. This patch series is based on v2020.04 tag. Regards, Sylwester Marek Szyprowski (4): rpi4: shorten a mapping for the DRAM rpi4: add a mapping for the PCIe XHCI controller MMIO registers (ARM 64bit) rpi4: add a mapping for the PCIe XHCI controller MMIO registers (ARM 32bit) config: Enable support for the XHCI controller on RPI4 board Nicolas Saenz Julienne (1): linux/bitfield.h: Add primitives for manipulating bitfields both in host- and fixed-endian. Sylwester Nawrocki (5): 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 STB PCIe controller arch/arm/mach-bcm283x/Kconfig | 1 + arch/arm/mach-bcm283x/include/mach/base.h | 7 + arch/arm/mach-bcm283x/init.c | 72 +++- configs/rpi_4_32b_defconfig | 9 + configs/rpi_4_defconfig | 10 + configs/rpi_arm64_defconfig | 9 +- drivers/pci/Kconfig | 6 + drivers/pci/Makefile | 1 + drivers/pci/pci-rcar-gen3.c | 8 - drivers/pci/pcie_brcmstb.c | 593 ++++++++++++++++++++++++++++++ drivers/pci/pcie_intel_fpga.c | 3 - drivers/usb/host/xhci-mem.c | 3 + include/linux/bitfield.h | 46 +++ include/pci.h | 19 +- include/usb/xhci.h | 8 - 15 files changed, 769 insertions(+), 26 deletions(-) create mode 100644 drivers/pci/pcie_brcmstb.c