ARM: bcm283x: change the virtual address of the XHCI PCI device base 53/268153/2
authorMarek Szyprowski <m.szyprowski@samsung.com>
Thu, 17 Jun 2021 08:57:02 +0000 (10:57 +0200)
committerMarek Szyprowski <m.szyprowski@samsung.com>
Thu, 16 Dec 2021 16:18:05 +0000 (17:18 +0100)
Move the XHCI PCI device base up in the virtual address space. This fixes
initialization failure observed on newer Raspberry Pi firmware (later
than 63b1922311 ("firmware: arm_loader: Update armstubs with those from
PR 117). It looks that chosing 0xff800000 as the XHCI PCI device base
conflicts with the updated ARM/VideoCore firmware.

This also requires to reduce the size of the mapped PCI device region
from 8MiB to 4MiB to fit into 32bit address space.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ie4423bf47269492dc5a4198dadf820600980ed8e

arch/arm/mach-bcm283x/init.c

index 59a0e6aa5a432ceca5c32a6af8917d642915540d..be350b4177aeea5921f9c6f7bf4942c7cfc16dac 100644 (file)
@@ -11,7 +11,7 @@
 #include <fdt_support.h>
 
 #define BCM2711_RPI4_PCIE_XHCI_MMIO_PHYS       0x600000000UL
-#define BCM2711_RPI4_PCIE_XHCI_MMIO_SIZE       0x800000UL
+#define BCM2711_RPI4_PCIE_XHCI_MMIO_SIZE       0x400000UL
 
 #ifdef CONFIG_ARM64
 #include <asm/armv8/mmu.h>
@@ -145,7 +145,7 @@ int mach_cpu_init(void)
 
 #ifdef CONFIG_ARMV7_LPAE
 #ifdef CONFIG_TARGET_RPI_4_32B
-#define BCM2711_RPI4_PCIE_XHCI_MMIO_VIRT       0xff800000UL
+#define BCM2711_RPI4_PCIE_XHCI_MMIO_VIRT       0xffc00000UL
 #include <addr_map.h>
 
 void init_addr_map(void)