summaryrefslogtreecommitdiff
path: root/board/st
diff options
context:
space:
mode:
authorPatrick Delaunay <patrick.delaunay@st.com>2018-05-17 14:50:46 +0200
committerTom Rini <trini@konsulko.com>2018-05-26 18:19:18 -0400
commit320d2663688ab8ae6932a1711365e759ea1774be (patch)
treecb1b21ce898836e6a2c1c7cfa624923ce1c96096 /board/st
parentbc709a41caadc3323f912633b646cc8314c6cd01 (diff)
downloadu-boot-320d2663688ab8ae6932a1711365e759ea1774be.tar.gz
stm32mp1: Allow to activate CONFIG_DEBUG_UART
Add the needed information to enable the debug uart to have printf before the serial driver probe (so before probe for clock, pincontrol and reset drivers) To enable the debug on uart 4 (default console): + CONFIG_DEBUG_UART=y + CONFIG_DEBUG_UART_STM32=y Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
Diffstat (limited to 'board/st')
-rw-r--r--board/st/stm32mp1/board.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/board/st/stm32mp1/board.c b/board/st/stm32mp1/board.c
index 956768f044..5f31ea99f5 100644
--- a/board/st/stm32mp1/board.c
+++ b/board/st/stm32mp1/board.c
@@ -10,6 +10,33 @@
#include <power/pmic.h>
#include <power/stpmu1.h>
+#ifdef CONFIG_DEBUG_UART_BOARD_INIT
+void board_debug_uart_init(void)
+{
+#if (CONFIG_DEBUG_UART_BASE == STM32_UART4_BASE)
+
+#define RCC_MP_APB1ENSETR (STM32_RCC_BASE + 0x0A00)
+#define RCC_MP_AHB4ENSETR (STM32_RCC_BASE + 0x0A28)
+
+ /* UART4 clock enable */
+ setbits_le32(RCC_MP_APB1ENSETR, BIT(16));
+
+#define GPIOG_BASE 0x50008000
+ /* GPIOG clock enable */
+ writel(BIT(6), RCC_MP_AHB4ENSETR);
+ /* GPIO configuration for EVAL board
+ * => Uart4 TX = G11
+ */
+ writel(0xffbfffff, GPIOG_BASE + 0x00);
+ writel(0x00006000, GPIOG_BASE + 0x24);
+#else
+
+#error("CONFIG_DEBUG_UART_BASE: not supported value")
+
+#endif
+}
+#endif
+
#ifdef CONFIG_PMIC_STPMU1
int board_ddr_power_init(void)
{