diff --git a/drivers/serial/uart_stm32.c b/drivers/serial/uart_stm32.c index f74e00b784a..7e9c6386e12 100644 --- a/drivers/serial/uart_stm32.c +++ b/drivers/serial/uart_stm32.c @@ -722,6 +722,10 @@ static int uart_stm32_init(struct device *dev) LL_USART_PARITY_NONE, LL_USART_STOPBITS_1); + if (config->hw_flow_control) { + uart_stm32_set_hwctrl(dev, LL_USART_HWCONTROL_RTS_CTS); + } + /* Set the default baudrate */ uart_stm32_set_baudrate(dev, data->baud_rate); @@ -777,6 +781,7 @@ static const struct uart_stm32_config uart_stm32_cfg_##name = { \ .pclken = { .bus = DT_UART_STM32_##name##_CLOCK_BUS, \ .enr = DT_UART_STM32_##name##_CLOCK_BITS \ }, \ + .hw_flow_control = DT_UART_STM32_##name##_HW_FLOW_CONTROL \ }; \ \ static struct uart_stm32_data uart_stm32_data_##name = { \ diff --git a/drivers/serial/uart_stm32.h b/drivers/serial/uart_stm32.h index ac89b3103b7..4928842fb13 100644 --- a/drivers/serial/uart_stm32.h +++ b/drivers/serial/uart_stm32.h @@ -17,6 +17,8 @@ struct uart_stm32_config { struct uart_device_config uconf; /* clock subsystem driving this peripheral */ struct stm32_pclken pclken; + /* initial hardware flow control, 1 for RTS/CTS */ + bool hw_flow_control; }; /* driver data */ diff --git a/dts/bindings/serial/st,stm32-lpuart.yaml b/dts/bindings/serial/st,stm32-lpuart.yaml index 93e072399e7..2f4eb4a073b 100644 --- a/dts/bindings/serial/st,stm32-lpuart.yaml +++ b/dts/bindings/serial/st,stm32-lpuart.yaml @@ -29,4 +29,10 @@ properties: category: required description: Clock gate information generation: define + + hw-flow-control: + type: boolean + category: optional + description: Set to enable RTS/CTS flow control at boot time + generation: define ... diff --git a/dts/bindings/serial/st,stm32-uart.yaml b/dts/bindings/serial/st,stm32-uart.yaml index 10965c37686..2e5167c2ee6 100644 --- a/dts/bindings/serial/st,stm32-uart.yaml +++ b/dts/bindings/serial/st,stm32-uart.yaml @@ -23,4 +23,10 @@ properties: category: required description: required interrupts generation: define + + hw-flow-control: + type: boolean + category: optional + description: Set to enable RTS/CTS flow control at boot time + generation: define ... diff --git a/dts/bindings/serial/st,stm32-usart.yaml b/dts/bindings/serial/st,stm32-usart.yaml index 44bee5ecc5c..dcf394ee063 100644 --- a/dts/bindings/serial/st,stm32-usart.yaml +++ b/dts/bindings/serial/st,stm32-usart.yaml @@ -23,4 +23,10 @@ properties: category: required description: required interrupts generation: define + + hw-flow-control: + type: boolean + category: optional + description: Set to enable RTS/CTS flow control at boot time + generation: define ... diff --git a/soc/arm/st_stm32/stm32f0/dts_fixup.h b/soc/arm/st_stm32/stm32f0/dts_fixup.h index e6eaa8330ad..ce2df49bd92 100644 --- a/soc/arm/st_stm32/stm32f0/dts_fixup.h +++ b/soc/arm/st_stm32/stm32f0/dts_fixup.h @@ -65,6 +65,7 @@ #define DT_USART_1_IRQ DT_ST_STM32_USART_40013800_IRQ_0 #define DT_UART_STM32_USART_1_CLOCK_BITS DT_ST_STM32_USART_40013800_CLOCK_BITS #define DT_UART_STM32_USART_1_CLOCK_BUS DT_ST_STM32_USART_40013800_CLOCK_BUS +#define DT_UART_STM32_USART_1_HW_FLOW_CONTROL DT_ST_STM32_USART_40013800_HW_FLOW_CONTROL #define DT_UART_STM32_USART_2_BASE_ADDRESS DT_ST_STM32_USART_40004400_BASE_ADDRESS #define DT_UART_STM32_USART_2_BAUD_RATE DT_ST_STM32_USART_40004400_CURRENT_SPEED @@ -73,6 +74,7 @@ #define DT_USART_2_IRQ DT_ST_STM32_USART_40004400_IRQ_0 #define DT_UART_STM32_USART_2_CLOCK_BITS DT_ST_STM32_USART_40004400_CLOCK_BITS #define DT_UART_STM32_USART_2_CLOCK_BUS DT_ST_STM32_USART_40004400_CLOCK_BUS +#define DT_UART_STM32_USART_2_HW_FLOW_CONTROL DT_ST_STM32_USART_40004400_HW_FLOW_CONTROL #define DT_I2C_1_BASE_ADDRESS DT_ST_STM32_I2C_V2_40005400_BASE_ADDRESS #define DT_I2C_1_COMBINED_IRQ_PRI DT_ST_STM32_I2C_V2_40005400_IRQ_COMBINED_PRIORITY diff --git a/soc/arm/st_stm32/stm32f1/dts_fixup.h b/soc/arm/st_stm32/stm32f1/dts_fixup.h index a393b4b00ce..81cd435f55f 100644 --- a/soc/arm/st_stm32/stm32f1/dts_fixup.h +++ b/soc/arm/st_stm32/stm32f1/dts_fixup.h @@ -74,6 +74,7 @@ #define DT_USART_1_IRQ DT_ST_STM32_USART_40013800_IRQ_0 #define DT_UART_STM32_USART_1_CLOCK_BITS DT_ST_STM32_USART_40013800_CLOCK_BITS #define DT_UART_STM32_USART_1_CLOCK_BUS DT_ST_STM32_USART_40013800_CLOCK_BUS +#define DT_UART_STM32_USART_1_HW_FLOW_CONTROL DT_ST_STM32_USART_40013800_HW_FLOW_CONTROL #define DT_UART_STM32_USART_2_BASE_ADDRESS DT_ST_STM32_USART_40004400_BASE_ADDRESS #define DT_UART_STM32_USART_2_BAUD_RATE DT_ST_STM32_USART_40004400_CURRENT_SPEED @@ -82,6 +83,7 @@ #define DT_USART_2_IRQ DT_ST_STM32_USART_40004400_IRQ_0 #define DT_UART_STM32_USART_2_CLOCK_BITS DT_ST_STM32_USART_40004400_CLOCK_BITS #define DT_UART_STM32_USART_2_CLOCK_BUS DT_ST_STM32_USART_40004400_CLOCK_BUS +#define DT_UART_STM32_USART_2_HW_FLOW_CONTROL DT_ST_STM32_USART_40004400_HW_FLOW_CONTROL #define DT_UART_STM32_USART_3_BASE_ADDRESS DT_ST_STM32_USART_40004800_BASE_ADDRESS #define DT_UART_STM32_USART_3_BAUD_RATE DT_ST_STM32_USART_40004800_CURRENT_SPEED @@ -90,6 +92,7 @@ #define DT_USART_3_IRQ DT_ST_STM32_USART_40004800_IRQ_0 #define DT_UART_STM32_USART_3_CLOCK_BITS DT_ST_STM32_USART_40004800_CLOCK_BITS #define DT_UART_STM32_USART_3_CLOCK_BUS DT_ST_STM32_USART_40004800_CLOCK_BUS +#define DT_UART_STM32_USART_3_HW_FLOW_CONTROL DT_ST_STM32_USART_40004800_HW_FLOW_CONTROL #define DT_UART_STM32_UART_4_BASE_ADDRESS DT_ST_STM32_UART_40004C00_BASE_ADDRESS #define DT_UART_STM32_UART_4_BAUD_RATE DT_ST_STM32_UART_40004C00_CURRENT_SPEED @@ -98,6 +101,7 @@ #define DT_UART_4_IRQ DT_ST_STM32_UART_40004C00_IRQ_0 #define DT_UART_STM32_UART_4_CLOCK_BITS DT_ST_STM32_UART_40004C00_CLOCK_BITS #define DT_UART_STM32_UART_4_CLOCK_BUS DT_ST_STM32_UART_40004C00_CLOCK_BUS +#define DT_UART_STM32_UART_4_HW_FLOW_CONTROL DT_ST_STM32_UART_40004C00_HW_FLOW_CONTROL #define DT_UART_STM32_UART_5_BASE_ADDRESS DT_ST_STM32_UART_40005000_BASE_ADDRESS #define DT_UART_STM32_UART_5_BAUD_RATE DT_ST_STM32_UART_40005000_CURRENT_SPEED @@ -106,6 +110,7 @@ #define DT_UART_5_IRQ DT_ST_STM32_UART_40005000_IRQ_0 #define DT_UART_STM32_UART_5_CLOCK_BITS DT_ST_STM32_UART_40005000_CLOCK_BITS #define DT_UART_STM32_UART_5_CLOCK_BUS DT_ST_STM32_UART_40005000_CLOCK_BUS +#define DT_UART_STM32_UART_5_HW_FLOW_CONTROL DT_ST_STM32_UART_40005000_HW_FLOW_CONTROL #define DT_I2C_1_BASE_ADDRESS DT_ST_STM32_I2C_V1_40005400_BASE_ADDRESS #define DT_I2C_1_EVENT_IRQ_PRI DT_ST_STM32_I2C_V1_40005400_IRQ_EVENT_PRIORITY diff --git a/soc/arm/st_stm32/stm32f2/dts_fixup.h b/soc/arm/st_stm32/stm32f2/dts_fixup.h index bb448443b6b..8be29b46e1b 100644 --- a/soc/arm/st_stm32/stm32f2/dts_fixup.h +++ b/soc/arm/st_stm32/stm32f2/dts_fixup.h @@ -92,6 +92,7 @@ #define DT_USART_1_IRQ DT_ST_STM32_USART_40011000_IRQ_0 #define DT_UART_STM32_USART_1_CLOCK_BITS DT_ST_STM32_USART_40011000_CLOCK_BITS #define DT_UART_STM32_USART_1_CLOCK_BUS DT_ST_STM32_USART_40011000_CLOCK_BUS +#define DT_UART_STM32_USART_1_HW_FLOW_CONTROL DT_ST_STM32_USART_40011000_HW_FLOW_CONTROL #define DT_UART_STM32_USART_2_BASE_ADDRESS DT_ST_STM32_USART_40004400_BASE_ADDRESS #define DT_UART_STM32_USART_2_BAUD_RATE DT_ST_STM32_USART_40004400_CURRENT_SPEED @@ -100,6 +101,7 @@ #define DT_USART_2_IRQ DT_ST_STM32_USART_40004400_IRQ_0 #define DT_UART_STM32_USART_2_CLOCK_BITS DT_ST_STM32_USART_40004400_CLOCK_BITS #define DT_UART_STM32_USART_2_CLOCK_BUS DT_ST_STM32_USART_40004400_CLOCK_BUS +#define DT_UART_STM32_USART_2_HW_FLOW_CONTROL DT_ST_STM32_USART_40004400_HW_FLOW_CONTROL #define DT_UART_STM32_USART_3_BASE_ADDRESS DT_ST_STM32_USART_40004800_BASE_ADDRESS #define DT_UART_STM32_USART_3_BAUD_RATE DT_ST_STM32_USART_40004800_CURRENT_SPEED @@ -108,6 +110,7 @@ #define DT_USART_3_IRQ DT_ST_STM32_USART_40004800_IRQ_0 #define DT_UART_STM32_USART_3_CLOCK_BITS DT_ST_STM32_USART_40004800_CLOCK_BITS #define DT_UART_STM32_USART_3_CLOCK_BUS DT_ST_STM32_USART_40004800_CLOCK_BUS +#define DT_UART_STM32_USART_3_HW_FLOW_CONTROL DT_ST_STM32_USART_40004800_HW_FLOW_CONTROL #define DT_UART_STM32_USART_6_NAME DT_ST_STM32_USART_40011400_LABEL #define DT_UART_STM32_USART_6_BASE_ADDRESS DT_ST_STM32_USART_40011400_BASE_ADDRESS @@ -116,6 +119,7 @@ #define DT_USART_6_IRQ DT_ST_STM32_USART_40011400_IRQ_0 #define DT_UART_STM32_USART_6_CLOCK_BITS DT_ST_STM32_USART_40011400_CLOCK_BITS #define DT_UART_STM32_USART_6_CLOCK_BUS DT_ST_STM32_USART_40011400_CLOCK_BUS +#define DT_UART_STM32_USART_6_HW_FLOW_CONTROL DT_ST_STM32_USART_40011400_HW_FLOW_CONTROL #define DT_UART_STM32_UART_4_NAME DT_ST_STM32_UART_40004C00_LABEL #define DT_UART_STM32_UART_4_BASE_ADDRESS DT_ST_STM32_UART_40004C00_BASE_ADDRESS @@ -124,6 +128,7 @@ #define DT_UART_4_IRQ DT_ST_STM32_UART_40004C00_IRQ_0 #define DT_UART_STM32_UART_4_CLOCK_BITS DT_ST_STM32_UART_40004C00_CLOCK_BITS #define DT_UART_STM32_UART_4_CLOCK_BUS DT_ST_STM32_UART_40004C00_CLOCK_BUS +#define DT_UART_STM32_UART_4_HW_FLOW_CONTROL DT_ST_STM32_UART_40004C00_HW_FLOW_CONTROL #define DT_UART_STM32_UART_5_NAME DT_ST_STM32_UART_40005000_LABEL #define DT_UART_STM32_UART_5_BASE_ADDRESS DT_ST_STM32_UART_40005000_BASE_ADDRESS @@ -132,6 +137,7 @@ #define DT_UART_5_IRQ DT_ST_STM32_UART_40005000_IRQ_0 #define DT_UART_STM32_UART_5_CLOCK_BITS DT_ST_STM32_UART_40005000_CLOCK_BITS #define DT_UART_STM32_UART_5_CLOCK_BUS DT_ST_STM32_UART_40005000_CLOCK_BUS +#define DT_UART_STM32_UART_5_HW_FLOW_CONTROL DT_ST_STM32_UART_40005000_HW_FLOW_CONTROL #define DT_USB_BASE_ADDRESS DT_ST_STM32_OTGFS_50000000_BASE_ADDRESS #define DT_USB_IRQ DT_ST_STM32_OTGFS_50000000_IRQ_OTGFS diff --git a/soc/arm/st_stm32/stm32f3/dts_fixup.h b/soc/arm/st_stm32/stm32f3/dts_fixup.h index 76d97c1b1af..a4da929fae8 100644 --- a/soc/arm/st_stm32/stm32f3/dts_fixup.h +++ b/soc/arm/st_stm32/stm32f3/dts_fixup.h @@ -65,6 +65,7 @@ #define DT_USART_1_IRQ DT_ST_STM32_USART_40013800_IRQ_0 #define DT_UART_STM32_USART_1_CLOCK_BITS DT_ST_STM32_USART_40013800_CLOCK_BITS #define DT_UART_STM32_USART_1_CLOCK_BUS DT_ST_STM32_USART_40013800_CLOCK_BUS +#define DT_UART_STM32_USART_1_HW_FLOW_CONTROL DT_ST_STM32_USART_40013800_HW_FLOW_CONTROL #define DT_UART_STM32_USART_2_BASE_ADDRESS DT_ST_STM32_USART_40004400_BASE_ADDRESS #define DT_UART_STM32_USART_2_BAUD_RATE DT_ST_STM32_USART_40004400_CURRENT_SPEED @@ -73,6 +74,7 @@ #define DT_USART_2_IRQ DT_ST_STM32_USART_40004400_IRQ_0 #define DT_UART_STM32_USART_2_CLOCK_BITS DT_ST_STM32_USART_40004400_CLOCK_BITS #define DT_UART_STM32_USART_2_CLOCK_BUS DT_ST_STM32_USART_40004400_CLOCK_BUS +#define DT_UART_STM32_USART_2_HW_FLOW_CONTROL DT_ST_STM32_USART_40004400_HW_FLOW_CONTROL #define DT_UART_STM32_USART_3_BASE_ADDRESS DT_ST_STM32_USART_40004800_BASE_ADDRESS #define DT_UART_STM32_USART_3_BAUD_RATE DT_ST_STM32_USART_40004800_CURRENT_SPEED @@ -81,6 +83,7 @@ #define DT_USART_3_IRQ DT_ST_STM32_USART_40004800_IRQ_0 #define DT_UART_STM32_USART_3_CLOCK_BITS DT_ST_STM32_USART_40004800_CLOCK_BITS #define DT_UART_STM32_USART_3_CLOCK_BUS DT_ST_STM32_USART_40004800_CLOCK_BUS +#define DT_UART_STM32_USART_3_HW_FLOW_CONTROL DT_ST_STM32_USART_40004800_HW_FLOW_CONTROL #define DT_I2C_1_BASE_ADDRESS DT_ST_STM32_I2C_V2_40005400_BASE_ADDRESS #define DT_I2C_1_EVENT_IRQ_PRI DT_ST_STM32_I2C_V2_40005400_IRQ_EVENT_PRIORITY diff --git a/soc/arm/st_stm32/stm32f4/dts_fixup.h b/soc/arm/st_stm32/stm32f4/dts_fixup.h index fb7c4216ef2..fff8db244b7 100644 --- a/soc/arm/st_stm32/stm32f4/dts_fixup.h +++ b/soc/arm/st_stm32/stm32f4/dts_fixup.h @@ -110,6 +110,7 @@ #define DT_USART_1_IRQ DT_ST_STM32_USART_40011000_IRQ_0 #define DT_UART_STM32_USART_1_CLOCK_BITS DT_ST_STM32_USART_40011000_CLOCK_BITS #define DT_UART_STM32_USART_1_CLOCK_BUS DT_ST_STM32_USART_40011000_CLOCK_BUS +#define DT_UART_STM32_USART_1_HW_FLOW_CONTROL DT_ST_STM32_USART_40011000_HW_FLOW_CONTROL #define DT_UART_STM32_USART_2_BASE_ADDRESS DT_ST_STM32_USART_40004400_BASE_ADDRESS #define DT_UART_STM32_USART_2_BAUD_RATE DT_ST_STM32_USART_40004400_CURRENT_SPEED @@ -118,6 +119,7 @@ #define DT_USART_2_IRQ DT_ST_STM32_USART_40004400_IRQ_0 #define DT_UART_STM32_USART_2_CLOCK_BITS DT_ST_STM32_USART_40004400_CLOCK_BITS #define DT_UART_STM32_USART_2_CLOCK_BUS DT_ST_STM32_USART_40004400_CLOCK_BUS +#define DT_UART_STM32_USART_2_HW_FLOW_CONTROL DT_ST_STM32_USART_40004400_HW_FLOW_CONTROL #define DT_UART_STM32_USART_3_BASE_ADDRESS DT_ST_STM32_USART_40004800_BASE_ADDRESS #define DT_UART_STM32_USART_3_BAUD_RATE DT_ST_STM32_USART_40004800_CURRENT_SPEED @@ -126,6 +128,7 @@ #define DT_USART_3_IRQ DT_ST_STM32_USART_40004800_IRQ_0 #define DT_UART_STM32_USART_3_CLOCK_BITS DT_ST_STM32_USART_40004800_CLOCK_BITS #define DT_UART_STM32_USART_3_CLOCK_BUS DT_ST_STM32_USART_40004800_CLOCK_BUS +#define DT_UART_STM32_USART_3_HW_FLOW_CONTROL DT_ST_STM32_USART_40004800_HW_FLOW_CONTROL #define DT_UART_STM32_UART_4_BASE_ADDRESS DT_ST_STM32_UART_40004C00_BASE_ADDRESS #define DT_UART_STM32_UART_4_BAUD_RATE DT_ST_STM32_UART_40004C00_CURRENT_SPEED @@ -134,6 +137,7 @@ #define DT_UART_4_IRQ DT_ST_STM32_UART_40004C00_IRQ_0 #define DT_UART_STM32_UART_4_CLOCK_BITS DT_ST_STM32_UART_40004C00_CLOCK_BITS #define DT_UART_STM32_UART_4_CLOCK_BUS DT_ST_STM32_UART_40004C00_CLOCK_BUS +#define DT_UART_STM32_UART_4_HW_FLOW_CONTROL DT_ST_STM32_UART_40004C00_HW_FLOW_CONTROL #define DT_UART_STM32_USART_6_NAME DT_ST_STM32_USART_40011400_LABEL #define DT_UART_STM32_USART_6_BASE_ADDRESS DT_ST_STM32_USART_40011400_BASE_ADDRESS @@ -142,6 +146,7 @@ #define DT_USART_6_IRQ DT_ST_STM32_USART_40011400_IRQ_0 #define DT_UART_STM32_USART_6_CLOCK_BITS DT_ST_STM32_USART_40011400_CLOCK_BITS #define DT_UART_STM32_USART_6_CLOCK_BUS DT_ST_STM32_USART_40011400_CLOCK_BUS +#define DT_UART_STM32_USART_6_HW_FLOW_CONTROL DT_ST_STM32_USART_40011400_HW_FLOW_CONTROL #define DT_I2C_1_BASE_ADDRESS DT_ST_STM32_I2C_V1_40005400_BASE_ADDRESS #define DT_I2C_1_EVENT_IRQ_PRI DT_ST_STM32_I2C_V1_40005400_IRQ_EVENT_PRIORITY diff --git a/soc/arm/st_stm32/stm32f7/dts_fixup.h b/soc/arm/st_stm32/stm32f7/dts_fixup.h index 720bfb0bb0a..b528ca812ac 100644 --- a/soc/arm/st_stm32/stm32f7/dts_fixup.h +++ b/soc/arm/st_stm32/stm32f7/dts_fixup.h @@ -110,6 +110,7 @@ #define DT_USART_1_IRQ DT_ST_STM32_USART_40011000_IRQ_0 #define DT_UART_STM32_USART_1_CLOCK_BITS DT_ST_STM32_USART_40011000_CLOCK_BITS #define DT_UART_STM32_USART_1_CLOCK_BUS DT_ST_STM32_USART_40011000_CLOCK_BUS +#define DT_UART_STM32_USART_1_HW_FLOW_CONTROL DT_ST_STM32_USART_40011000_HW_FLOW_CONTROL #define DT_UART_STM32_USART_2_BASE_ADDRESS DT_ST_STM32_USART_40004400_BASE_ADDRESS #define DT_UART_STM32_USART_2_BAUD_RATE DT_ST_STM32_USART_40004400_CURRENT_SPEED @@ -118,6 +119,7 @@ #define DT_USART_2_IRQ DT_ST_STM32_USART_40004400_IRQ_0 #define DT_UART_STM32_USART_2_CLOCK_BITS DT_ST_STM32_USART_40004400_CLOCK_BITS #define DT_UART_STM32_USART_2_CLOCK_BUS DT_ST_STM32_USART_40004400_CLOCK_BUS +#define DT_UART_STM32_USART_2_HW_FLOW_CONTROL DT_ST_STM32_USART_40004400_HW_FLOW_CONTROL #define DT_UART_STM32_USART_3_BASE_ADDRESS DT_ST_STM32_USART_40004800_BASE_ADDRESS #define DT_UART_STM32_USART_3_BAUD_RATE DT_ST_STM32_USART_40004800_CURRENT_SPEED @@ -126,6 +128,7 @@ #define DT_USART_3_IRQ DT_ST_STM32_USART_40004800_IRQ_0 #define DT_UART_STM32_USART_3_CLOCK_BITS DT_ST_STM32_USART_40004800_CLOCK_BITS #define DT_UART_STM32_USART_3_CLOCK_BUS DT_ST_STM32_USART_40004800_CLOCK_BUS +#define DT_UART_STM32_USART_3_HW_FLOW_CONTROL DT_ST_STM32_USART_40004800_HW_FLOW_CONTROL #define DT_UART_STM32_USART_4_BASE_ADDRESS DT_ST_STM32_USART_40004C00_BASE_ADDRESS #define DT_UART_STM32_USART_4_BAUD_RATE DT_ST_STM32_USART_40004C00_CURRENT_SPEED @@ -134,6 +137,7 @@ #define DT_USART_4_IRQ DT_ST_STM32_USART_40004C00_IRQ_0 #define DT_UART_STM32_USART_4_CLOCK_BITS DT_ST_STM32_USART_40004C00_CLOCK_BITS #define DT_UART_STM32_USART_4_CLOCK_BUS DT_ST_STM32_USART_40004C00_CLOCK_BUS +#define DT_UART_STM32_USART_4_HW_FLOW_CONTROL DT_ST_STM32_USART_40004C00_HW_FLOW_CONTROL #define DT_UART_STM32_USART_5_BASE_ADDRESS DT_ST_STM32_USART_40005000_BASE_ADDRESS #define DT_UART_STM32_USART_5_BAUD_RATE DT_ST_STM32_USART_40005000_CURRENT_SPEED @@ -142,6 +146,7 @@ #define DT_USART_5_IRQ DT_ST_STM32_USART_40005000_IRQ_0 #define DT_UART_STM32_USART_5_CLOCK_BITS DT_ST_STM32_USART_40005000_CLOCK_BITS #define DT_UART_STM32_USART_5_CLOCK_BUS DT_ST_STM32_USART_40005000_CLOCK_BUS +#define DT_UART_STM32_USART_5_HW_FLOW_CONTROL DT_ST_STM32_USART_40005000_HW_FLOW_CONTROL #define DT_UART_STM32_USART_6_BASE_ADDRESS DT_ST_STM32_USART_40011400_BASE_ADDRESS #define DT_UART_STM32_USART_6_BAUD_RATE DT_ST_STM32_USART_40011400_CURRENT_SPEED @@ -150,6 +155,7 @@ #define DT_USART_6_IRQ DT_ST_STM32_USART_40011400_IRQ_0 #define DT_UART_STM32_USART_6_CLOCK_BITS DT_ST_STM32_USART_40011400_CLOCK_BITS #define DT_UART_STM32_USART_6_CLOCK_BUS DT_ST_STM32_USART_40011400_CLOCK_BUS +#define DT_UART_STM32_USART_6_HW_FLOW_CONTROL DT_ST_STM32_USART_40011400_HW_FLOW_CONTROL #define DT_UART_STM32_USART_7_BASE_ADDRESS DT_ST_STM32_USART_40007800_BASE_ADDRESS #define DT_UART_STM32_USART_7_BAUD_RATE DT_ST_STM32_USART_40007800_CURRENT_SPEED @@ -158,6 +164,7 @@ #define DT_USART_7_IRQ DT_ST_STM32_USART_40007800_IRQ_0 #define DT_UART_STM32_USART_7_CLOCK_BITS DT_ST_STM32_USART_40007800_CLOCK_BITS #define DT_UART_STM32_USART_7_CLOCK_BUS DT_ST_STM32_USART_40007800_CLOCK_BUS +#define DT_UART_STM32_USART_7_HW_FLOW_CONTROL DT_ST_STM32_USART_40007800_HW_FLOW_CONTROL #define DT_UART_STM32_USART_8_BASE_ADDRESS DT_ST_STM32_USART_40007C00_BASE_ADDRESS #define DT_UART_STM32_USART_8_BAUD_RATE DT_ST_STM32_USART_40007C00_CURRENT_SPEED @@ -166,6 +173,7 @@ #define DT_USART_8_IRQ DT_ST_STM32_USART_40007C00_IRQ_0 #define DT_UART_STM32_USART_8_CLOCK_BITS DT_ST_STM32_USART_40007C00_CLOCK_BITS #define DT_UART_STM32_USART_8_CLOCK_BUS DT_ST_STM32_USART_40007C00_CLOCK_BUS +#define DT_UART_STM32_USART_8_HW_FLOW_CONTROL DT_ST_STM32_USART_40007C00_HW_FLOW_CONTROL #define DT_I2C_1_BASE_ADDRESS DT_ST_STM32_I2C_V2_40005400_BASE_ADDRESS #define DT_I2C_1_EVENT_IRQ_PRI DT_ST_STM32_I2C_V2_40005400_IRQ_EVENT_PRIORITY diff --git a/soc/arm/st_stm32/stm32l0/dts_fixup.h b/soc/arm/st_stm32/stm32l0/dts_fixup.h index c5b8ba00166..fd2f5bfff4c 100644 --- a/soc/arm/st_stm32/stm32l0/dts_fixup.h +++ b/soc/arm/st_stm32/stm32l0/dts_fixup.h @@ -67,6 +67,7 @@ #define DT_USART_1_IRQ DT_ST_STM32_USART_40013800_IRQ_0 #define DT_UART_STM32_USART_1_CLOCK_BITS DT_ST_STM32_USART_40013800_CLOCK_BITS #define DT_UART_STM32_USART_1_CLOCK_BUS DT_ST_STM32_USART_40013800_CLOCK_BUS +#define DT_UART_STM32_USART_1_HW_FLOW_CONTROL DT_ST_STM32_USART_40013800_HW_FLOW_CONTROL #define DT_UART_STM32_USART_2_BASE_ADDRESS DT_ST_STM32_USART_40004400_BASE_ADDRESS #define DT_UART_STM32_USART_2_BAUD_RATE DT_ST_STM32_USART_40004400_CURRENT_SPEED @@ -75,6 +76,7 @@ #define DT_USART_2_IRQ DT_ST_STM32_USART_40004400_IRQ_0 #define DT_UART_STM32_USART_2_CLOCK_BITS DT_ST_STM32_USART_40004400_CLOCK_BITS #define DT_UART_STM32_USART_2_CLOCK_BUS DT_ST_STM32_USART_40004400_CLOCK_BUS +#define DT_UART_STM32_USART_2_HW_FLOW_CONTROL DT_ST_STM32_USART_40004400_HW_FLOW_CONTROL #define DT_UART_STM32_LPUART_1_BASE_ADDRESS DT_ST_STM32_LPUART_40004800_BASE_ADDRESS #define DT_UART_STM32_LPUART_1_BAUD_RATE DT_ST_STM32_LPUART_40004800_CURRENT_SPEED @@ -83,6 +85,7 @@ #define DT_LPUART_1_IRQ DT_ST_STM32_LPUART_40004800_IRQ_0 #define DT_UART_STM32_LPUART_1_CLOCK_BITS DT_ST_STM32_LPUART_40004800_CLOCK_BITS #define DT_UART_STM32_LPUART_1_CLOCK_BUS DT_ST_STM32_LPUART_40004800_CLOCK_BUS +#define DT_UART_STM32_LPUART_1_HW_FLOW_CONTROL DT_ST_STM32_LPUART_40004800_HW_FLOW_CONTROL #define DT_I2C_1_BASE_ADDRESS DT_ST_STM32_I2C_V2_40005400_BASE_ADDRESS #define DT_I2C_1_COMBINED_IRQ_PRI DT_ST_STM32_I2C_V2_40005400_IRQ_COMBINED_PRIORITY diff --git a/soc/arm/st_stm32/stm32l4/dts_fixup.h b/soc/arm/st_stm32/stm32l4/dts_fixup.h index 6185902cd23..f9e12418c4d 100644 --- a/soc/arm/st_stm32/stm32l4/dts_fixup.h +++ b/soc/arm/st_stm32/stm32l4/dts_fixup.h @@ -92,6 +92,7 @@ #define DT_USART_1_IRQ DT_ST_STM32_USART_40013800_IRQ_0 #define DT_UART_STM32_USART_1_CLOCK_BITS DT_ST_STM32_USART_40013800_CLOCK_BITS #define DT_UART_STM32_USART_1_CLOCK_BUS DT_ST_STM32_USART_40013800_CLOCK_BUS +#define DT_UART_STM32_USART_1_HW_FLOW_CONTROL DT_ST_STM32_USART_40013800_HW_FLOW_CONTROL #define DT_UART_STM32_USART_2_BASE_ADDRESS DT_ST_STM32_USART_40004400_BASE_ADDRESS #define DT_UART_STM32_USART_2_BAUD_RATE DT_ST_STM32_USART_40004400_CURRENT_SPEED @@ -100,6 +101,7 @@ #define DT_USART_2_IRQ DT_ST_STM32_USART_40004400_IRQ_0 #define DT_UART_STM32_USART_2_CLOCK_BITS DT_ST_STM32_USART_40004400_CLOCK_BITS #define DT_UART_STM32_USART_2_CLOCK_BUS DT_ST_STM32_USART_40004400_CLOCK_BUS +#define DT_UART_STM32_USART_2_HW_FLOW_CONTROL DT_ST_STM32_USART_40004400_HW_FLOW_CONTROL #define DT_UART_STM32_USART_3_BASE_ADDRESS DT_ST_STM32_USART_40004800_BASE_ADDRESS #define DT_UART_STM32_USART_3_BAUD_RATE DT_ST_STM32_USART_40004800_CURRENT_SPEED @@ -108,6 +110,7 @@ #define DT_USART_3_IRQ DT_ST_STM32_USART_40004800_IRQ_0 #define DT_UART_STM32_USART_3_CLOCK_BITS DT_ST_STM32_USART_40004800_CLOCK_BITS #define DT_UART_STM32_USART_3_CLOCK_BUS DT_ST_STM32_USART_40004800_CLOCK_BUS +#define DT_UART_STM32_USART_3_HW_FLOW_CONTROL DT_ST_STM32_USART_40004800_HW_FLOW_CONTROL #define DT_UART_STM32_UART_4_BASE_ADDRESS DT_ST_STM32_UART_40004C00_BASE_ADDRESS #define DT_UART_STM32_UART_4_BAUD_RATE DT_ST_STM32_UART_40004C00_CURRENT_SPEED @@ -116,6 +119,7 @@ #define DT_UART_4_IRQ DT_ST_STM32_UART_40004C00_IRQ_0 #define DT_UART_STM32_UART_4_CLOCK_BITS DT_ST_STM32_UART_40004C00_CLOCK_BITS #define DT_UART_STM32_UART_4_CLOCK_BUS DT_ST_STM32_UART_40004C00_CLOCK_BUS +#define DT_UART_STM32_UART_4_HW_FLOW_CONTROL DT_ST_STM32_UART_40004C00_HW_FLOW_CONTROL #define DT_UART_STM32_UART_5_BASE_ADDRESS DT_ST_STM32_UART_40005000_BASE_ADDRESS #define DT_UART_STM32_UART_5_BAUD_RATE DT_ST_STM32_UART_40005000_CURRENT_SPEED @@ -124,6 +128,7 @@ #define DT_UART_5_IRQ DT_ST_STM32_UART_40005000_IRQ_0 #define DT_UART_STM32_UART_5_CLOCK_BITS DT_ST_STM32_UART_40005000_CLOCK_BITS #define DT_UART_STM32_UART_5_CLOCK_BUS DT_ST_STM32_UART_40005000_CLOCK_BUS +#define DT_UART_STM32_UART_5_HW_FLOW_CONTROL DT_ST_STM32_UART_40005000_HW_FLOW_CONTROL #define DT_UART_STM32_LPUART_1_BASE_ADDRESS DT_ST_STM32_LPUART_40008000_BASE_ADDRESS #define DT_UART_STM32_LPUART_1_BAUD_RATE DT_ST_STM32_LPUART_40008000_CURRENT_SPEED @@ -132,6 +137,7 @@ #define DT_LPUART_1_IRQ DT_ST_STM32_LPUART_40008000_IRQ_0 #define DT_UART_STM32_LPUART_1_CLOCK_BITS DT_ST_STM32_LPUART_40008000_CLOCK_BITS #define DT_UART_STM32_LPUART_1_CLOCK_BUS DT_ST_STM32_LPUART_40008000_CLOCK_BUS +#define DT_UART_STM32_LPUART_1_HW_FLOW_CONTROL DT_ST_STM32_LPUART_40008000_HW_FLOW_CONTROL #define DT_I2C_1_BASE_ADDRESS DT_ST_STM32_I2C_V2_40005400_BASE_ADDRESS #define DT_I2C_1_EVENT_IRQ_PRI DT_ST_STM32_I2C_V2_40005400_IRQ_EVENT_PRIORITY