Commit 79d5cfd1 authored by Erwan Le Ray's avatar Erwan Le Ray Committed by Alexandre Torgue
Browse files

ARM: debug: stm32: add UART early console configuration for STM32F4



Early console is hardcoded on USART1 in current implementation.
With this patch, default UART instance is USART1, but other UART instances
can be configured by setting physical and virtual base addresses in
menuconfig.

Signed-off-by: default avatarErwan Le Ray <erwan.leray@st.com>
Signed-off-by: default avatarAlexandre Torgue <alexandre.torgue@st.com>
parent bb6d3fb3
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -1201,12 +1201,13 @@ choice

	config STM32F4_DEBUG_UART
		bool "Use STM32F4 UART for low-level debug"
		depends on ARCH_STM32
		depends on MACH_STM32F429 || MACH_STM32F469
		select DEBUG_STM32_UART
		help
		  Say Y here if you want kernel low-level debugging support
		  on STM32F4 based platforms, which default UART is wired on
		  USART1.
		  USART1, but another UART instance can be selected by modifying
		  CONFIG_DEBUG_UART_PHYS.

		  If unsure, say N.

@@ -1619,6 +1620,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 0x40011000 if STM32F4_DEBUG_UART
	default 0x40028000 if DEBUG_AT91_SAMV7_USART1
	default 0x40081000 if DEBUG_LPC18XX_UART0
	default 0x40090000 if DEBUG_LPC32XX
@@ -1713,7 +1715,7 @@ config DEBUG_UART_PHYS
		DEBUG_S3C64XX_UART || \
		DEBUG_BCM63XX_UART || DEBUG_ASM9260_UART || \
		DEBUG_SIRFSOC_UART || DEBUG_DIGICOLOR_UA0 || \
		DEBUG_AT91_UART
		DEBUG_AT91_UART || DEBUG_STM32_UART

config DEBUG_UART_VIRT
	hex "Virtual base address of debug UART"
@@ -1823,7 +1825,7 @@ config DEBUG_UART_VIRT
		DEBUG_S3C64XX_UART || \
		DEBUG_BCM63XX_UART || DEBUG_ASM9260_UART || \
		DEBUG_SIRFSOC_UART || DEBUG_DIGICOLOR_UA0 || \
		DEBUG_AT91_UART
		DEBUG_AT91_UART || DEBUG_STM32_UART

config DEBUG_UART_8250_SHIFT
	int "Register offset shift for the 8250 debug UART"
+2 −4
Original line number Diff line number Diff line
@@ -4,8 +4,6 @@
 * Author:   Gerald Baeza <gerald.baeza@st.com> for STMicroelectronics.
 */

#define STM32_UART_BASE			0x40011000	/* USART1 */

#ifdef CONFIG_STM32F4_DEBUG_UART
#define STM32_USART_SR_OFF		0x00
#define STM32_USART_TDR_OFF		0x04
@@ -20,8 +18,8 @@
#define STM32_USART_TXE			(1 << 7)	/* Tx data reg empty */

.macro	addruart, rp, rv, tmp
	ldr	\rp,      =STM32_UART_BASE	@ physical base
	ldr	\rv,      =STM32_UART_BASE      @ virt base /* NoMMU */
	ldr	\rp, =CONFIG_DEBUG_UART_PHYS @ physical base
	ldr	\rv, =CONFIG_DEBUG_UART_VIRT @ virt base
.endm

.macro  senduart,rd,rx