]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
ARM: stm32: Add STM32MP13xx debug UART initialization
authorMarek Vasut <marek.vasut@mailbox.org>
Mon, 30 Jun 2025 00:10:31 +0000 (02:10 +0200)
committerPatrice Chotard <patrice.chotard@foss.st.com>
Tue, 29 Jul 2025 15:02:31 +0000 (17:02 +0200)
Add default STM32MP13xx debug UART initialization. This is similar
to STM32MP15xx debug UART initialization, except the RCC registers
are at different offsets and the UART pinmux pins are different.

Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Signed-off-by: Marek Vasut <marek.vasut@mailbox.org>
board/st/stm32mp1/debug_uart.c

index 24e3f9f22017f853d5caa870b026bf1d15f540f6..4c2149e04809a0aaff4bd95ccd6c46bc3387c7d6 100644 (file)
@@ -9,17 +9,32 @@
 #include <asm/arch/stm32.h>
 #include <linux/bitops.h>
 
+#if IS_ENABLED(CONFIG_STM32MP13X)
+#define RCC_MP_APB1ENSETR (STM32_RCC_BASE + 0x0700)
+#define RCC_MP_AHB4ENSETR (STM32_RCC_BASE + 0x0768)
+#elif IS_ENABLED(CONFIG_STM32MP15X)
 #define RCC_MP_APB1ENSETR (STM32_RCC_BASE + 0x0A00)
 #define RCC_MP_AHB4ENSETR (STM32_RCC_BASE + 0x0A28)
+#endif
 
+#define GPIOA_BASE 0x50002000
 #define GPIOG_BASE 0x50008000
 
 void board_debug_uart_init(void)
 {
-       if (CONFIG_DEBUG_UART_BASE == STM32_UART4_BASE) {
-               /* UART4 clock enable */
-               setbits_le32(RCC_MP_APB1ENSETR, BIT(16));
+       if (CONFIG_DEBUG_UART_BASE != STM32_UART4_BASE)
+               return;
 
+       /* UART4 clock enable */
+       setbits_le32(RCC_MP_APB1ENSETR, BIT(16));
+
+       if (IS_ENABLED(CONFIG_STM32MP13X)) {
+               /* GPIOA clock enable */
+               writel(BIT(0), RCC_MP_AHB4ENSETR);
+               /* GPIO configuration for DH boards: Uart4 TX = A9 */
+               writel(0xfffbffff, GPIOA_BASE + 0x00);
+               writel(0x00000080, GPIOA_BASE + 0x24);
+       } else if (IS_ENABLED(CONFIG_STM32MP15X)) {
                /* GPIOG clock enable */
                writel(BIT(6), RCC_MP_AHB4ENSETR);
                /* GPIO configuration for ST boards: Uart4 TX = G11 */