[PATCH 48/50] ARM: bcm283x: Add multi-arch support

Sascha Hauer s.hauer at pengutronix.de
Fri Mar 3 01:21:29 PST 2023


Enable multi-arch support for bcm0283x

Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
 arch/arm/Kconfig                          | 33 +++++++++++------------
 arch/arm/boards/raspberry-pi/rpi-common.c |  6 +++++
 2 files changed, 22 insertions(+), 17 deletions(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 789365e69b..abe649de49 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -52,23 +52,6 @@ config ARCH_AT91
 	select HAVE_CLK
 	select COMMON_CLK_AT91 if COMMON_CLK_OF_PROVIDER
 
-
-config ARCH_BCM283X
-	bool "Broadcom BCM283x based boards"
-	select GPIOLIB
-	select CLKDEV_LOOKUP
-	select COMMON_CLK
-	select COMMON_CLK_OF_PROVIDER
-	select CLOCKSOURCE_BCM283X
-	select ARM_AMBA
-	select HAS_DEBUG_LL
-	select RELOCATABLE
-	select OFTREE
-	select OFDEVICE
-	select HAVE_PBL_MULTI_IMAGES
-	select CPU_SUPPORTS_32BIT_KERNEL
-	select CPU_SUPPORTS_64BIT_KERNEL
-
 config ARCH_CLPS711X
 	bool "Cirrus Logic EP711x/EP721x/EP731x"
 	select CLKDEV_LOOKUP
@@ -216,6 +199,22 @@ config ARCH_ARM64_VIRT
 
 endchoice
 
+config ARCH_BCM283X
+	bool "Broadcom BCM283x based boards"
+	select GPIOLIB
+	select CLKDEV_LOOKUP
+	select COMMON_CLK
+	select COMMON_CLK_OF_PROVIDER
+	select CLOCKSOURCE_BCM283X
+	select ARM_AMBA
+	select HAS_DEBUG_LL
+	select RELOCATABLE
+	select OFTREE
+	select OFDEVICE
+	select HAVE_PBL_MULTI_IMAGES
+	select CPU_SUPPORTS_32BIT_KERNEL
+	select CPU_SUPPORTS_64BIT_KERNEL
+
 config ARCH_IMX
 	bool "Freescale iMX-based"
 	depends on ARCH_MULTIARCH
diff --git a/arch/arm/boards/raspberry-pi/rpi-common.c b/arch/arm/boards/raspberry-pi/rpi-common.c
index 367033c02a..3ed4510296 100644
--- a/arch/arm/boards/raspberry-pi/rpi-common.c
+++ b/arch/arm/boards/raspberry-pi/rpi-common.c
@@ -161,6 +161,12 @@ static int rpi_mem_init(void)
 {
 	ssize_t size;
 
+	if (!of_machine_is_compatible("brcm,bcm2837") &&
+	    !of_machine_is_compatible("brcm,bcm2835") &&
+	    !of_machine_is_compatible("brcm,bcm2711") &&
+	    !of_machine_is_compatible("brcm,bcm2836"))
+		return 0;
+
 	size = rpi_get_arm_mem();
 	if (size < 0) {
 		printf("could not query ARM memory size\n");
-- 
2.30.2




More information about the barebox mailing list