Commit 2d5c31a0 authored by Arnd Bergmann's avatar Arnd Bergmann

Merge tag 'stm32-soc-for-v5.7-1' of...

Merge tag 'stm32-soc-for-v5.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32 into arm/soc

STM32 SoC updates for v5.7, round 1

Highlights:
----------

 - Add early console support for all STM32 SoCs: F4/F7/H7/MP1

* tag 'stm32-soc-for-v5.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32:
  ARM: debug: stm32: add UART early console support for STM32MP1
  ARM: debug: stm32: add UART early console support for STM32H7
  ARM: debug: stm32: add UART early console configuration for STM32F7
  ARM: debug: stm32: add UART early console configuration for STM32F4

Link: https://lore.kernel.org/r/4e427e37-99c9-239a-f3f8-a3bf50eb1eb2@st.comSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents ce5b71d3 62c1594d
...@@ -1201,23 +1201,49 @@ choice ...@@ -1201,23 +1201,49 @@ choice
config STM32F4_DEBUG_UART config STM32F4_DEBUG_UART
bool "Use STM32F4 UART for low-level debug" bool "Use STM32F4 UART for low-level debug"
depends on ARCH_STM32 depends on MACH_STM32F429 || MACH_STM32F469
select DEBUG_STM32_UART select DEBUG_STM32_UART
help help
Say Y here if you want kernel low-level debugging support Say Y here if you want kernel low-level debugging support
on STM32F4 based platforms, which default UART is wired on 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. If unsure, say N.
config STM32F7_DEBUG_UART config STM32F7_DEBUG_UART
bool "Use STM32F7 UART for low-level debug" bool "Use STM32F7 UART for low-level debug"
depends on ARCH_STM32 depends on MACH_STM32F746 || MACH_STM32F769
select DEBUG_STM32_UART select DEBUG_STM32_UART
help help
Say Y here if you want kernel low-level debugging support Say Y here if you want kernel low-level debugging support
on STM32F7 based platforms, which default UART is wired on on STM32F7 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.
config STM32H7_DEBUG_UART
bool "Use STM32H7 UART for low-level debug"
depends on MACH_STM32H743
select DEBUG_STM32_UART
help
Say Y here if you want kernel low-level debugging support
on STM32H7 based platforms, which default UART is wired on
USART1, but another UART instance can be selected by modifying
CONFIG_DEBUG_UART_PHYS.
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. If unsure, say N.
...@@ -1619,6 +1645,9 @@ config DEBUG_UART_PHYS ...@@ -1619,6 +1645,9 @@ config DEBUG_UART_PHYS
default 0x3e000000 if DEBUG_BCM_KONA_UART default 0x3e000000 if DEBUG_BCM_KONA_UART
default 0x3f201000 if DEBUG_BCM2836 default 0x3f201000 if DEBUG_BCM2836
default 0x4000e400 if DEBUG_LL_UART_EFM32 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 default 0x40028000 if DEBUG_AT91_SAMV7_USART1
default 0x40081000 if DEBUG_LPC18XX_UART0 default 0x40081000 if DEBUG_LPC18XX_UART0
default 0x40090000 if DEBUG_LPC32XX default 0x40090000 if DEBUG_LPC32XX
...@@ -1713,7 +1742,7 @@ config DEBUG_UART_PHYS ...@@ -1713,7 +1742,7 @@ config DEBUG_UART_PHYS
DEBUG_S3C64XX_UART || \ DEBUG_S3C64XX_UART || \
DEBUG_BCM63XX_UART || DEBUG_ASM9260_UART || \ DEBUG_BCM63XX_UART || DEBUG_ASM9260_UART || \
DEBUG_SIRFSOC_UART || DEBUG_DIGICOLOR_UA0 || \ DEBUG_SIRFSOC_UART || DEBUG_DIGICOLOR_UA0 || \
DEBUG_AT91_UART DEBUG_AT91_UART || DEBUG_STM32_UART
config DEBUG_UART_VIRT config DEBUG_UART_VIRT
hex "Virtual base address of debug UART" hex "Virtual base address of debug UART"
...@@ -1779,6 +1808,7 @@ config DEBUG_UART_VIRT ...@@ -1779,6 +1808,7 @@ config DEBUG_UART_VIRT
default 0xfcfe8600 if DEBUG_BCM63XX_UART default 0xfcfe8600 if DEBUG_BCM63XX_UART
default 0xfd000000 if DEBUG_SPEAR3XX || DEBUG_SPEAR13XX default 0xfd000000 if DEBUG_SPEAR3XX || DEBUG_SPEAR13XX
default 0xfd883000 if DEBUG_ALPINE_UART0 default 0xfd883000 if DEBUG_ALPINE_UART0
default 0xfe010000 if STM32MP1_DEBUG_UART
default 0xfe017000 if DEBUG_MMP_UART2 default 0xfe017000 if DEBUG_MMP_UART2
default 0xfe018000 if DEBUG_MMP_UART3 default 0xfe018000 if DEBUG_MMP_UART3
default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
...@@ -1823,7 +1853,7 @@ config DEBUG_UART_VIRT ...@@ -1823,7 +1853,7 @@ config DEBUG_UART_VIRT
DEBUG_S3C64XX_UART || \ DEBUG_S3C64XX_UART || \
DEBUG_BCM63XX_UART || DEBUG_ASM9260_UART || \ DEBUG_BCM63XX_UART || DEBUG_ASM9260_UART || \
DEBUG_SIRFSOC_UART || DEBUG_DIGICOLOR_UA0 || \ DEBUG_SIRFSOC_UART || DEBUG_DIGICOLOR_UA0 || \
DEBUG_AT91_UART DEBUG_AT91_UART || DEBUG_STM32_UART
config DEBUG_UART_8250_SHIFT config DEBUG_UART_8250_SHIFT
int "Register offset shift for the 8250 debug UART" int "Register offset shift for the 8250 debug UART"
......
...@@ -4,14 +4,13 @@ ...@@ -4,14 +4,13 @@
* Author: Gerald Baeza <gerald.baeza@st.com> for STMicroelectronics. * Author: Gerald Baeza <gerald.baeza@st.com> for STMicroelectronics.
*/ */
#define STM32_UART_BASE 0x40011000 /* USART1 */
#ifdef CONFIG_STM32F4_DEBUG_UART #ifdef CONFIG_STM32F4_DEBUG_UART
#define STM32_USART_SR_OFF 0x00 #define STM32_USART_SR_OFF 0x00
#define STM32_USART_TDR_OFF 0x04 #define STM32_USART_TDR_OFF 0x04
#endif #endif
#ifdef CONFIG_STM32F7_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_SR_OFF 0x1C
#define STM32_USART_TDR_OFF 0x28 #define STM32_USART_TDR_OFF 0x28
#endif #endif
...@@ -20,8 +19,8 @@ ...@@ -20,8 +19,8 @@
#define STM32_USART_TXE (1 << 7) /* Tx data reg empty */ #define STM32_USART_TXE (1 << 7) /* Tx data reg empty */
.macro addruart, rp, rv, tmp .macro addruart, rp, rv, tmp
ldr \rp, =STM32_UART_BASE @ physical base ldr \rp, =CONFIG_DEBUG_UART_PHYS @ physical base
ldr \rv, =STM32_UART_BASE @ virt base /* NoMMU */ ldr \rv, =CONFIG_DEBUG_UART_VIRT @ virt base
.endm .endm
.macro senduart,rd,rx .macro senduart,rd,rx
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment