[PATCH 41/50] ARM: stm32mp: Only provide PUTC_LL() when activated

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


With multi-arch support we must make sure we provide exactly one
PUTC_LL() function as indicated by the "Kernel low-level debugging port"
Kconfig choice. Make sure that the stm32mp specific debug_ll.h only
provides PUTC_LL() when specified.
The stm32mp specific debug_ll.h also provides other functions needed
by board code regardless if the stm32mp debug_ll port is enabled or
not, so include it explicitly where needed.

Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
 arch/arm/include/asm/debug_ll.h | 6 ++++--
 common/Kconfig                  | 7 +++++++
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/arch/arm/include/asm/debug_ll.h b/arch/arm/include/asm/debug_ll.h
index 8005980f28..ba67c7e22d 100644
--- a/arch/arm/include/asm/debug_ll.h
+++ b/arch/arm/include/asm/debug_ll.h
@@ -19,6 +19,10 @@
 #include <mach/zynqmp/debug_ll.h>
 #endif
 
+#ifdef CONFIG_DEBUG_STM32MP_UART
+#include <mach/stm32mp/debug_ll.h>
+#endif
+
 #ifdef CONFIG_DEBUG_QEMU_ARM64_VIRT
 #define DEBUG_LL_UART_ADDR		0x9000000
 #include <debug_ll/pl011.h>
@@ -28,8 +32,6 @@
 #include <mach/davinci/debug_ll.h>
 #elif defined CONFIG_ARCH_BCM283X
 #include <mach/bcm283x/debug_ll.h>
-#elif defined CONFIG_ARCH_STM32MP
-#include <mach/stm32mp/debug_ll.h>
 #elif defined CONFIG_ARCH_ZYNQ
 #include <mach/zynq/debug_ll.h>
 #elif defined CONFIG_ARCH_VEXPRESS
diff --git a/common/Kconfig b/common/Kconfig
index c396c3a238..a21559bf2c 100644
--- a/common/Kconfig
+++ b/common/Kconfig
@@ -1435,6 +1435,13 @@ config DEBUG_SOCFPGA_UART1
 	  Say Y here if you want kernel low-level debugging support
 	  on SOCFPGA(Arria 10) based platforms.
 
+config DEBUG_STM32MP_UART
+	bool "Use STM32MP UART4 for low-level debug"
+	depends on ARCH_STM32
+	help
+	  Say Y here if you want kernel low-level debugging support
+	  on STM32MP.
+
 config DEBUG_RPI1_UART
 	bool "RaspberryPi 1 PL011 UART"
 	depends on ARCH_BCM283X
-- 
2.30.2




More information about the barebox mailing list