ARM: debug: stm32: add UART early console support for STM32MP1
authorErwan Le Ray <erwan.leray@st.com>
Mon, 3 Feb 2020 14:04:25 +0000 (15:04 +0100)
committerAlexandre Torgue <alexandre.torgue@st.com>
Fri, 13 Mar 2020 16:05:07 +0000 (17:05 +0100)
Add support of early console for STM32MP1. Default UART instance is UART4,
but other UART instances can be configured by setting physical and virtual
base addresses in menuconfig.

Signed-off-by: Erwan Le Ray <erwan.leray@st.com>
Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com>
arch/arm/Kconfig.debug
arch/arm/include/debug/stm32.S

index a2cde16..f46e18a 100644 (file)
@@ -1235,6 +1235,18 @@ choice
 
                  If unsure, say N.
 
+       config STM32MP1_DEBUG_UART
+               bool "Use STM32MP1 UART for low-level debug"
+               depends on MACH_STM32MP157
+               select DEBUG_STM32_UART
+               help
+                 Say Y here if you want kernel low-level debugging support
+                 on STM32MP1 based platforms, wich default UART is wired on
+                 UART4, but another UART instance can be selected by modifying
+                 CONFIG_DEBUG_UART_PHYS and CONFIG_DEBUG_UART_VIRT.
+
+                 If unsure, say N.
+
        config TEGRA_DEBUG_UART_AUTO_ODMDATA
                bool "Kernel low-level debugging messages via Tegra UART via ODMDATA"
                depends on ARCH_TEGRA
@@ -1633,6 +1645,7 @@ config DEBUG_UART_PHYS
        default 0x3e000000 if DEBUG_BCM_KONA_UART
        default 0x3f201000 if DEBUG_BCM2836
        default 0x4000e400 if DEBUG_LL_UART_EFM32
+       default 0x40010000 if STM32MP1_DEBUG_UART
        default 0x40011000 if STM32F4_DEBUG_UART || STM32F7_DEBUG_UART || \
                                STM32H7_DEBUG_UART
        default 0x40028000 if DEBUG_AT91_SAMV7_USART1
@@ -1795,6 +1808,7 @@ config DEBUG_UART_VIRT
        default 0xfcfe8600 if DEBUG_BCM63XX_UART
        default 0xfd000000 if DEBUG_SPEAR3XX || DEBUG_SPEAR13XX
        default 0xfd883000 if DEBUG_ALPINE_UART0
+       default 0xfe010000 if STM32MP1_DEBUG_UART
        default 0xfe017000 if DEBUG_MMP_UART2
        default 0xfe018000 if DEBUG_MMP_UART3
        default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
index 5a2e2b0..f3c4a37 100644 (file)
@@ -9,7 +9,8 @@
 #define STM32_USART_TDR_OFF            0x04
 #endif
 
-#if defined(CONFIG_STM32F7_DEBUG_UART) || defined(CONFIG_STM32H7_DEBUG_UART)
+#if defined(CONFIG_STM32F7_DEBUG_UART) || defined(CONFIG_STM32H7_DEBUG_UART) || \
+       defined(CONFIG_STM32MP1_DEBUG_UART)
 #define STM32_USART_SR_OFF             0x1C
 #define STM32_USART_TDR_OFF            0x28
 #endif