/*
 * Copyright (c) 2017 Linaro Limited
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include <dt-bindings/pinctrl/stm32-pinctrlf1.h>

/ {
	soc {
		pinctrl: pin-controller {
			usart1_pins_a: usart1@0 {
				rx_tx {
					rx = <STM32_PIN_PA10 STM32_PIN_USART_RX>;
					tx = <STM32_PIN_PA9 STM32_PIN_USART_TX>;
				};
			};
			usart2_pins_a: usart2@0 {
				rx_tx {
					rx = <STM32_PIN_PA3 STM32_PIN_USART_RX>;
					tx = <STM32_PIN_PA2 STM32_PIN_USART_TX>;
				};
			};
			usart2_pins_b: usart2@1 {
				rx_tx {
					rx = <STM32_PIN_PD6 STM32_PIN_USART_RX>;
					tx = <STM32_PIN_PD5 STM32_PIN_USART_TX>;
				};
			};
			usart3_pins_a: usart3@0 {
				rx_tx {
					rx = <STM32_PIN_PB11 STM32_PIN_USART_RX>;
					tx = <STM32_PIN_PB10 STM32_PIN_USART_TX>;
				};
			};
		};
	};
};
