ARM: bcm283x: change the virtual address of the XHCI PCI device base 99/259999/1 accepted/tizen/unified/20210621.123021 submit/tizen/20210621.022000
authorMarek Szyprowski <m.szyprowski@samsung.com>
Thu, 17 Jun 2021 08:57:02 +0000 (10:57 +0200)
committerMarek Szyprowski <m.szyprowski@samsung.com>
Thu, 17 Jun 2021 09:04:23 +0000 (11:04 +0200)
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 f2a5411..58d65c9 100644 (file)
@@ -13,7 +13,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>
@@ -147,7 +147,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>
 #include <asm/system.h>