serial: stm32: STM32F7 UART support
The patch adds serial driver support for STM32F7 family microcontrollers, includes pinmux definitions and DTS fixup file. Signed-off-by: Yurii Hamann <yurii@hamann.site>
This commit is contained in:
parent
7482969da6
commit
1fdc790ca2
3 changed files with 221 additions and 1 deletions
|
@ -1,5 +1,53 @@
|
|||
/* SoC level DTS fixup file */
|
||||
|
||||
#define CONFIG_NUM_IRQ_PRIO_BITS ARM_V7M_NVIC_E000E100_ARM_NUM_IRQ_PRIORITY_BITS
|
||||
#define CONFIG_NUM_IRQ_PRIO_BITS ARM_V7M_NVIC_E000E100_ARM_NUM_IRQ_PRIORITY_BITS
|
||||
|
||||
#define CONFIG_UART_STM32_USART_1_BASE_ADDRESS ST_STM32_USART_40011000_BASE_ADDRESS
|
||||
#define CONFIG_UART_STM32_USART_1_BAUD_RATE ST_STM32_USART_40011000_CURRENT_SPEED
|
||||
#define CONFIG_UART_STM32_USART_1_IRQ_PRI ST_STM32_USART_40011000_IRQ_0_PRIORITY
|
||||
#define CONFIG_UART_STM32_USART_1_NAME ST_STM32_USART_40011000_LABEL
|
||||
#define USART_1_IRQ ST_STM32_USART_40011000_IRQ_0
|
||||
|
||||
#define CONFIG_UART_STM32_USART_2_BASE_ADDRESS ST_STM32_USART_40004400_BASE_ADDRESS
|
||||
#define CONFIG_UART_STM32_USART_2_BAUD_RATE ST_STM32_USART_40004400_CURRENT_SPEED
|
||||
#define CONFIG_UART_STM32_USART_2_IRQ_PRI ST_STM32_USART_40004400_IRQ_0_PRIORITY
|
||||
#define CONFIG_UART_STM32_USART_2_NAME ST_STM32_USART_40004400_LABEL
|
||||
#define USART_2_IRQ ST_STM32_USART_40004400_IRQ_0
|
||||
|
||||
#define CONFIG_UART_STM32_USART_3_BASE_ADDRESS ST_STM32_USART_40004800_BASE_ADDRESS
|
||||
#define CONFIG_UART_STM32_USART_3_BAUD_RATE ST_STM32_USART_40004800_CURRENT_SPEED
|
||||
#define CONFIG_UART_STM32_USART_3_IRQ_PRI ST_STM32_USART_40004800_IRQ_0_PRIORITY
|
||||
#define CONFIG_UART_STM32_USART_3_NAME ST_STM32_USART_40004800_LABEL
|
||||
#define USART_3_IRQ ST_STM32_USART_40004800_IRQ_0
|
||||
|
||||
#define CONFIG_UART_STM32_USART_4_BASE_ADDRESS ST_STM32_USART_40004C00_BASE_ADDRESS
|
||||
#define CONFIG_UART_STM32_USART_4_BAUD_RATE ST_STM32_USART_40004C00_CURRENT_SPEED
|
||||
#define CONFIG_UART_STM32_USART_4_IRQ_PRI ST_STM32_USART_40004C00_IRQ_0_PRIORITY
|
||||
#define CONFIG_UART_STM32_USART_4_NAME ST_STM32_USART_40004C00_LABEL
|
||||
#define USART_4_IRQ ST_STM32_USART_40004C00_IRQ_0
|
||||
|
||||
#define CONFIG_UART_STM32_USART_5_BASE_ADDRESS ST_STM32_USART_40005000_BASE_ADDRESS
|
||||
#define CONFIG_UART_STM32_USART_5_BAUD_RATE ST_STM32_USART_40005000_CURRENT_SPEED
|
||||
#define CONFIG_UART_STM32_USART_5_IRQ_PRI ST_STM32_USART_40005000_IRQ_0_PRIORITY
|
||||
#define CONFIG_UART_STM32_USART_5_NAME ST_STM32_USART_40005000_LABEL
|
||||
#define USART_5_IRQ ST_STM32_USART_40005000_IRQ_0
|
||||
|
||||
#define CONFIG_UART_STM32_USART_6_BASE_ADDRESS ST_STM32_USART_40011400_BASE_ADDRESS
|
||||
#define CONFIG_UART_STM32_USART_6_BAUD_RATE ST_STM32_USART_40011400_CURRENT_SPEED
|
||||
#define CONFIG_UART_STM32_USART_6_IRQ_PRI ST_STM32_USART_40011400_IRQ_0_PRIORITY
|
||||
#define CONFIG_UART_STM32_USART_6_NAME ST_STM32_USART_40011400_LABEL
|
||||
#define USART_6_IRQ ST_STM32_USART_40011400_IRQ_0
|
||||
|
||||
#define CONFIG_UART_STM32_USART_7_BASE_ADDRESS ST_STM32_USART_40007800_BASE_ADDRESS
|
||||
#define CONFIG_UART_STM32_USART_7_BAUD_RATE ST_STM32_USART_40007800_CURRENT_SPEED
|
||||
#define CONFIG_UART_STM32_USART_7_IRQ_PRI ST_STM32_USART_40007800_IRQ_0_PRIORITY
|
||||
#define CONFIG_UART_STM32_USART_7_NAME ST_STM32_USART_40007800_LABEL
|
||||
#define USART_7_IRQ ST_STM32_USART_40007800_IRQ_0
|
||||
|
||||
#define CONFIG_UART_STM32_USART_8_BASE_ADDRESS ST_STM32_USART_40007C00_BASE_ADDRESS
|
||||
#define CONFIG_UART_STM32_USART_8_BAUD_RATE ST_STM32_USART_40007C00_CURRENT_SPEED
|
||||
#define CONFIG_UART_STM32_USART_8_IRQ_PRI ST_STM32_USART_40007C00_IRQ_0_PRIORITY
|
||||
#define CONFIG_UART_STM32_USART_8_NAME ST_STM32_USART_40007800_LABEL
|
||||
#define USART_8_IRQ ST_STM32_USART_40007C00_IRQ_0
|
||||
|
||||
/* End of SoC Level DTS fixup file */
|
||||
|
|
|
@ -34,6 +34,10 @@
|
|||
#include <stm32f7xx_ll_system.h>
|
||||
#endif /* CONFIG_CLOCK_CONTROL_STM32_CUBE */
|
||||
|
||||
#ifdef CONFIG_SERIAL_HAS_DRIVER
|
||||
#include <stm32f7xx_ll_usart.h>
|
||||
#endif
|
||||
|
||||
#endif /* !_ASMLANGUAGE */
|
||||
|
||||
#endif /* _STM32F7_SOC_H_ */
|
||||
|
|
|
@ -11,5 +11,173 @@
|
|||
* @file Header for STM32F7 pin multiplexing helper
|
||||
*/
|
||||
|
||||
/* Port A */
|
||||
#define STM32F7_PINMUX_FUNC_PA0_USART2_CTS \
|
||||
(STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PA0_UART4_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PA1_USART2_RTS \
|
||||
(STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PA1_UART4_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PA2_USART2_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PA3_USART2_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PA9_USART1_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PA10_USART1_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PA11_USART1_CTS \
|
||||
(STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PA12_USART1_RTS \
|
||||
(STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PA15_USART4_RTS \
|
||||
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
/* Port B */
|
||||
#define STM32F7_PINMUX_FUNC_PB0_UART4_CTS \
|
||||
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PB6_USART1_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PB7_USART1_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PB10_USART3_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PB11_USART3_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PB13_UART3_CTS \
|
||||
(STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_NOPULL)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PB14_UART3_RTS \
|
||||
(STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_NOPULL)
|
||||
|
||||
/* Port C */
|
||||
#define STM32F7_PINMUX_FUNC_PC6_USART6_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PC7_USART6_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PC8_UART5_RTS \
|
||||
(STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PC9_UART5_CTS \
|
||||
(STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PC10_USART3_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_NOPULL)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PC10_UART4_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_NOPULL)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PC11_USART3_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PC11_UART4_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PC12_UART5_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
/* Port D */
|
||||
#define STM32F7_PINMUX_FUNC_PD2_UART5_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PD3_USART2_CTS \
|
||||
(STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_NOPULL)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PD4_USART2_RTS \
|
||||
(STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_NOPULL)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PD5_USART2_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_NOPULL)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PD6_USART2_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PD8_USART3_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_NOPULL)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PD9_USART3_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PD11_USART3_CTS \
|
||||
(STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PD12_USART3_RTS \
|
||||
(STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PD14_UART8_CTS \
|
||||
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PD15_UART8_RTS \
|
||||
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
/* Port E */
|
||||
#define STM32F7_PINMUX_FUNC_PE0_UART8_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PE1_UART8_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PE7_UART7_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PE8_UART7_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PE9_UART7_RTS \
|
||||
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PE10_UART7_CTS \
|
||||
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
/* Port F */
|
||||
#define STM32F7_PINMUX_FUNC_PF6_UART7_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PF7_UART7_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PF8_UART7_RTS \
|
||||
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PF9_UART7_CTS \
|
||||
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
/* Port G */
|
||||
#define STM32F7_PINMUX_FUNC_PG8_USART6_RTS \
|
||||
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PG9_USART6_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PG12_USART6_RTS \
|
||||
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PG13_USART6_CTS \
|
||||
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PG14_USART6_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#define STM32F7_PINMUX_FUNC_PG15_USART6_CTS \
|
||||
(STM32_PINMUX_ALT_FUNC_8 | STM32_PUSHPULL_PULLUP)
|
||||
|
||||
#endif /* _STM32F7_PINMUX_H_ */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue