Re: [U-Boot] [PATCH v1 5/6] serial: stm32x7: add STM32F4 support
Hi Patrice, On 09/29/2017 04:52 AM, Patrice CHOTARD wrote: diff --git a/drivers/serial/serial_stm32x7.c b/drivers/serial/serial_stm32x7.c index 19697e3..44e8b42 100644 --- a/drivers/serial/serial_stm32x7.c +++ b/drivers/serial/serial_stm32x7.c @@ -127,6 +127,7 @@ static int stm32_serial_probe(struct udevice *dev) #if CONFIG_IS_ENABLED(OF_CONTROL) static const struct udevice_id stm32_serial_id[] = { + { .compatible = "st,stm32-uart", .data = (ulong)_info}, s/st,stm32-uart/st,stm32f4-uart/ (?) We use the same DT bindings than kernel one and we want to keep aligned. I'd suggest to send a patch to kernel to rename it. Historically stm32-uart is dedicated for F4, which was introduced first. And then with introduction of F7 and H7, new compatible string (stm32f7-uart and stm32h7-uart) was added. If we have patch in kernel to rename it, then it will be more clear. Best Regards, Bo Shen ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [PATCH v1 5/6] serial: stm32x7: add STM32F4 support
Hi Bo On 09/29/2017 08:26 AM, Bo Shen wrote: > Hi Patrice, > > On 09/27/2017 06:44 AM, patrice.chot...@st.com wrote: >> From: Patrice Chotard>> >> stm32f4 doesn't support FIFO and OVERRUN feature. >> The enable bit is not at the same location in CR1 >> register than for STM32F7 and STM32H7. >> >> Signed-off-by: Patrice Chotard >> --- >> drivers/serial/Kconfig | 4 ++-- >> drivers/serial/serial_stm32x7.c | 1 + >> drivers/serial/serial_stm32x7.h | 7 +++ >> 3 files changed, 10 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig >> index 9bf2e26..7c54a49 100644 >> --- a/drivers/serial/Kconfig >> +++ b/drivers/serial/Kconfig >> @@ -531,9 +531,9 @@ config STI_ASC_SERIAL >> config STM32X7_SERIAL >> bool "STMicroelectronics STM32 SoCs on-chip UART" >> - depends on DM_SERIAL && (STM32F7 || STM32H7) >> + depends on DM_SERIAL && (STM32F4 || STM32F7 || STM32H7) >> help >> - If you have a machine based on a STM32 F7 or H7 SoC you can >> + If you have a machine based on a STM32 F4, F7 or H7 SoC you can >> enable its onboard serial ports, say Y to this option. >> If unsure, say N. >> diff --git a/drivers/serial/serial_stm32x7.c >> b/drivers/serial/serial_stm32x7.c >> index 19697e3..44e8b42 100644 >> --- a/drivers/serial/serial_stm32x7.c >> +++ b/drivers/serial/serial_stm32x7.c >> @@ -127,6 +127,7 @@ static int stm32_serial_probe(struct udevice *dev) >> #if CONFIG_IS_ENABLED(OF_CONTROL) >> static const struct udevice_id stm32_serial_id[] = { >> + { .compatible = "st,stm32-uart", .data = (ulong)_info}, > > s/st,stm32-uart/st,stm32f4-uart/ (?) We use the same DT bindings than kernel one and we want to keep aligned. Historically stm32-uart is dedicated for F4, which was introduced first. And then with introduction of F7 and H7, new compatible string (stm32f7-uart and stm32h7-uart) was added. Patrice > >> { .compatible = "st,stm32f7-uart", .data = (ulong)_info}, >> { .compatible = "st,stm32h7-uart", .data = (ulong)_info}, >> {} >> diff --git a/drivers/serial/serial_stm32x7.h >> b/drivers/serial/serial_stm32x7.h >> index ed8a3ee..b914edf 100644 >> --- a/drivers/serial/serial_stm32x7.h >> +++ b/drivers/serial/serial_stm32x7.h >> @@ -27,6 +27,13 @@ struct stm32_uart_info { >> bool has_fifo; >> }; >> +struct stm32_uart_info stm32f4_info = { >> + .stm32f4 = true, >> + .uart_enable_bit = 13, >> + .has_overrun_disable = false, >> + .has_fifo = false, >> +}; >> + >> struct stm32_uart_info stm32f7_info = { >> .uart_enable_bit = 0, >> .stm32f4 = false, >> > > Best Regards, > Bo Shen ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [PATCH v1 5/6] serial: stm32x7: add STM32F4 support
Hi Patrice, On 09/27/2017 06:44 AM, patrice.chot...@st.com wrote: From: Patrice Chotardstm32f4 doesn't support FIFO and OVERRUN feature. The enable bit is not at the same location in CR1 register than for STM32F7 and STM32H7. Signed-off-by: Patrice Chotard --- drivers/serial/Kconfig | 4 ++-- drivers/serial/serial_stm32x7.c | 1 + drivers/serial/serial_stm32x7.h | 7 +++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig index 9bf2e26..7c54a49 100644 --- a/drivers/serial/Kconfig +++ b/drivers/serial/Kconfig @@ -531,9 +531,9 @@ config STI_ASC_SERIAL config STM32X7_SERIAL bool "STMicroelectronics STM32 SoCs on-chip UART" - depends on DM_SERIAL && (STM32F7 || STM32H7) + depends on DM_SERIAL && (STM32F4 || STM32F7 || STM32H7) help - If you have a machine based on a STM32 F7 or H7 SoC you can + If you have a machine based on a STM32 F4, F7 or H7 SoC you can enable its onboard serial ports, say Y to this option. If unsure, say N. diff --git a/drivers/serial/serial_stm32x7.c b/drivers/serial/serial_stm32x7.c index 19697e3..44e8b42 100644 --- a/drivers/serial/serial_stm32x7.c +++ b/drivers/serial/serial_stm32x7.c @@ -127,6 +127,7 @@ static int stm32_serial_probe(struct udevice *dev) #if CONFIG_IS_ENABLED(OF_CONTROL) static const struct udevice_id stm32_serial_id[] = { + { .compatible = "st,stm32-uart", .data = (ulong)_info}, s/st,stm32-uart/st,stm32f4-uart/ (?) { .compatible = "st,stm32f7-uart", .data = (ulong)_info}, { .compatible = "st,stm32h7-uart", .data = (ulong)_info}, {} diff --git a/drivers/serial/serial_stm32x7.h b/drivers/serial/serial_stm32x7.h index ed8a3ee..b914edf 100644 --- a/drivers/serial/serial_stm32x7.h +++ b/drivers/serial/serial_stm32x7.h @@ -27,6 +27,13 @@ struct stm32_uart_info { bool has_fifo; }; +struct stm32_uart_info stm32f4_info = { + .stm32f4 = true, + .uart_enable_bit = 13, + .has_overrun_disable = false, + .has_fifo = false, +}; + struct stm32_uart_info stm32f7_info = { .uart_enable_bit = 0, .stm32f4 = false, Best Regards, Bo Shen ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH v1 5/6] serial: stm32x7: add STM32F4 support
From: Patrice Chotardstm32f4 doesn't support FIFO and OVERRUN feature. The enable bit is not at the same location in CR1 register than for STM32F7 and STM32H7. Signed-off-by: Patrice Chotard --- drivers/serial/Kconfig | 4 ++-- drivers/serial/serial_stm32x7.c | 1 + drivers/serial/serial_stm32x7.h | 7 +++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig index 9bf2e26..7c54a49 100644 --- a/drivers/serial/Kconfig +++ b/drivers/serial/Kconfig @@ -531,9 +531,9 @@ config STI_ASC_SERIAL config STM32X7_SERIAL bool "STMicroelectronics STM32 SoCs on-chip UART" - depends on DM_SERIAL && (STM32F7 || STM32H7) + depends on DM_SERIAL && (STM32F4 || STM32F7 || STM32H7) help - If you have a machine based on a STM32 F7 or H7 SoC you can + If you have a machine based on a STM32 F4, F7 or H7 SoC you can enable its onboard serial ports, say Y to this option. If unsure, say N. diff --git a/drivers/serial/serial_stm32x7.c b/drivers/serial/serial_stm32x7.c index 19697e3..44e8b42 100644 --- a/drivers/serial/serial_stm32x7.c +++ b/drivers/serial/serial_stm32x7.c @@ -127,6 +127,7 @@ static int stm32_serial_probe(struct udevice *dev) #if CONFIG_IS_ENABLED(OF_CONTROL) static const struct udevice_id stm32_serial_id[] = { + { .compatible = "st,stm32-uart", .data = (ulong)_info}, { .compatible = "st,stm32f7-uart", .data = (ulong)_info}, { .compatible = "st,stm32h7-uart", .data = (ulong)_info}, {} diff --git a/drivers/serial/serial_stm32x7.h b/drivers/serial/serial_stm32x7.h index ed8a3ee..b914edf 100644 --- a/drivers/serial/serial_stm32x7.h +++ b/drivers/serial/serial_stm32x7.h @@ -27,6 +27,13 @@ struct stm32_uart_info { bool has_fifo; }; +struct stm32_uart_info stm32f4_info = { + .stm32f4 = true, + .uart_enable_bit = 13, + .has_overrun_disable = false, + .has_fifo = false, +}; + struct stm32_uart_info stm32f7_info = { .uart_enable_bit = 0, .stm32f4 = false, -- 1.9.1 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot