On FDT platforms the APs are brought out of reset using the spin-table
as defined in the DT. On ACPI enabled platforms there's no FDT, thus
enable the ARMV8_MULTIENTRY and BLOBLIST to use the ACPI parking
protocol instead.

TEST: - APs enter Linux when run on qemu-system-aarch64 -machine raspi4b
      - APs on real hardware do not enter Linux, but continue spinning in
        their ACPI parking protocol spinloop. To be investigated.

Signed-off-by: Patrick Rudolph <patrick.rudo...@9elements.com>
Reviewed-by: Simon Glass <s...@chromium.org>
Cc: Matthias Brugger <mbrug...@suse.com>
Cc: Peter Robinson <pbrobin...@gmail.com>
Cc: Tom Rini <tr...@konsulko.com>
---
 arch/arm/mach-bcm283x/Kconfig | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/arch/arm/mach-bcm283x/Kconfig b/arch/arm/mach-bcm283x/Kconfig
index 0ef8156c64..d9303e8c28 100644
--- a/arch/arm/mach-bcm283x/Kconfig
+++ b/arch/arm/mach-bcm283x/Kconfig
@@ -27,6 +27,10 @@ config BCM2837_64B
        select DRIVER_GICV2
        select ARM64
        select CPU_ARMV8
+       select ARMV8_MULTIENTRY if GENERATE_ACPI_TABLE
+       select BLOBLIST if GENERATE_ACPI_TABLE
+       select BLOBLIST_ALLOC if GENERATE_ACPI_TABLE
+       select BLOBLIST_TABLES if GENERATE_ACPI_TABLE
 
 config BCM2711
        bool "Broadcom BCM2711 SoC support"
@@ -47,6 +51,10 @@ config BCM2711_64B
        select DRIVER_GICV2
        select ARM64
        select CPU_ARMV8
+       select ARMV8_MULTIENTRY if GENERATE_ACPI_TABLE
+       select BLOBLIST if GENERATE_ACPI_TABLE
+       select BLOBLIST_ALLOC if GENERATE_ACPI_TABLE
+       select BLOBLIST_TABLES if GENERATE_ACPI_TABLE
 
 menu "Broadcom BCM283X family"
        depends on ARCH_BCM283X
@@ -213,6 +221,9 @@ config SYS_SOC
 config SYS_CONFIG_NAME
        default "rpi"
 
+config BLOBLIST_SIZE_RELOC
+       default 0x20000
+
 source "board/raspberrypi/rpi/Kconfig"
 
 endmenu
-- 
2.46.2

Reply via email to