From c6badda85c6f29904aa8f55c508921d38b93cc60 Mon Sep 17 00:00:00 2001
From: Kyle Evans <kevans@FreeBSD.org>
Date: Wed, 26 Feb 2020 15:37:13 -0600
Subject: [PATCH] rpi: Kconfig option for initial page reservation

While the nearly-universal default for the Raspberry Pi family is to use
spin tables and the spin table implementation provided by the Raspberry Pi
Foundation, FreeBSD and others may use a PSCI implementation instead.

Accommodate these setups by allowing them to configure for more than one
page to be reserved in the initial reservation.  The default reservation
remains as one page.

Signed-off-by: Kyle Evans <kevans@FreeBSD.org>
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
---
 arch/arm/mach-bcm283x/Kconfig |  2 ++
 board/raspberrypi/rpi/Kconfig | 10 ++++++++++
 2 files changed, 12 insertions(+)
 create mode 100644 board/raspberrypi/rpi/Kconfig

diff --git a/arch/arm/mach-bcm283x/Kconfig b/arch/arm/mach-bcm283x/Kconfig
index 00419bf254..e6eb904e7f 100644
--- a/arch/arm/mach-bcm283x/Kconfig
+++ b/arch/arm/mach-bcm283x/Kconfig
@@ -209,4 +209,6 @@ config SYS_SOC
 config SYS_CONFIG_NAME
 	default "rpi"
 
+source "board/raspberrypi/rpi/Kconfig"
+
 endmenu
diff --git a/board/raspberrypi/rpi/Kconfig b/board/raspberrypi/rpi/Kconfig
new file mode 100644
index 0000000000..e40088fde1
--- /dev/null
+++ b/board/raspberrypi/rpi/Kconfig
@@ -0,0 +1,10 @@
+if SYS_BOARD = "rpi"
+
+config RPI_EFI_NR_SPIN_PAGES
+	int "Spin table page count"
+	default 1
+	help
+	  Number of pages to reserve starting at page 0 for spin tables in the EFI
+	  memory map
+
+endif
-- 
2.39.5