[PATCH 38/50] ARM: zynqmp: Add multi-arch support
Sascha Hauer
s.hauer at pengutronix.de
Fri Mar 3 01:21:19 PST 2023
Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
arch/arm/Kconfig | 32 ++++++++++++++++----------------
arch/arm/include/asm/debug_ll.h | 6 ++++--
arch/arm/mach-zynqmp/zynqmp.c | 3 +++
common/Kconfig | 7 +++++++
4 files changed, 30 insertions(+), 18 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 7ac24ba1de..a7b8b0da01 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -231,22 +231,6 @@ config ARCH_ZYNQ
select PBL_IMAGE
select GPIOLIB
-config ARCH_ZYNQMP
- bool "Xilinx ZynqMP-based boards"
- select CPU_V8
- select HAS_DEBUG_LL
- select HAVE_PBL_MULTI_IMAGES
- select ARM_SMCCC
- select COMMON_CLK
- select COMMON_CLK_OF_PROVIDER
- select CLKDEV_LOOKUP
- select GPIOLIB
- select OFDEVICE
- select OFTREE
- select RELOCATABLE
- select CPU_SUPPORTS_64BIT_KERNEL
- select HAS_MACB
-
config ARCH_ARM64_VIRT
bool "ARM64 QEMU Virt board"
select CPU_V8
@@ -296,6 +280,22 @@ config ARCH_ROCKCHIP
select HAVE_PBL_MULTI_IMAGES
select HAS_DEBUG_LL
+config ARCH_ZYNQMP
+ bool "Xilinx ZynqMP-based boards"
+ select CPU_V8
+ select HAS_DEBUG_LL
+ select HAVE_PBL_MULTI_IMAGES
+ select ARM_SMCCC
+ select COMMON_CLK
+ select COMMON_CLK_OF_PROVIDER
+ select CLKDEV_LOOKUP
+ select GPIOLIB
+ select OFDEVICE
+ select OFTREE
+ select RELOCATABLE
+ select CPU_SUPPORTS_64BIT_KERNEL
+ select HAS_MACB
+
source "arch/arm/cpu/Kconfig"
source "arch/arm/mach-at91/Kconfig"
source "arch/arm/mach-bcm283x/Kconfig"
diff --git a/arch/arm/include/asm/debug_ll.h b/arch/arm/include/asm/debug_ll.h
index 7c1152c6d9..8005980f28 100644
--- a/arch/arm/include/asm/debug_ll.h
+++ b/arch/arm/include/asm/debug_ll.h
@@ -15,11 +15,13 @@
#include <mach/omap/debug_ll.h>
#endif
+#ifdef CONFIG_DEBUG_ZYNQMP_UART
+#include <mach/zynqmp/debug_ll.h>
+#endif
+
#ifdef CONFIG_DEBUG_QEMU_ARM64_VIRT
#define DEBUG_LL_UART_ADDR 0x9000000
#include <debug_ll/pl011.h>
-#elif defined CONFIG_ARCH_ZYNQMP
-#include <mach/zynqmp/debug_ll.h>
#elif defined CONFIG_ARCH_MVEBU
#include <mach/mvebu/debug_ll.h>
#elif defined CONFIG_ARCH_DAVINCI
diff --git a/arch/arm/mach-zynqmp/zynqmp.c b/arch/arm/mach-zynqmp/zynqmp.c
index 312325956a..f86bda1693 100644
--- a/arch/arm/mach-zynqmp/zynqmp.c
+++ b/arch/arm/mach-zynqmp/zynqmp.c
@@ -147,6 +147,9 @@ static int zynqmp_init(void)
enum bootsource boot_src;
int boot_instance;
+ if (!of_machine_is_compatible("xlnx,zynqmp"))
+ return 0;
+
zynqmp_get_bootsource(&boot_src, &boot_instance);
bootsource_set_raw(boot_src, boot_instance);
diff --git a/common/Kconfig b/common/Kconfig
index eeb33f3042..c396c3a238 100644
--- a/common/Kconfig
+++ b/common/Kconfig
@@ -1470,6 +1470,13 @@ config DEBUG_RPI4_MINI_UART
Say Y here if you want low-level debugging support on
RaspberryPi 4 board mini UART.
+config DEBUG_ZYNQMP_UART
+ bool "Zynqmp Debug UART"
+ depends on ARCH_ZYNQMP
+ help
+ Say Y here if you want kernel low-level debugging support
+ on Zynqmp.
+
config DEBUG_ERIZO
bool "Erizo ns16550 port"
depends on SOC_ERIZO
--
2.30.2
More information about the barebox
mailing list