/*
 * Copyright (c) 2022 Silicon Labs
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include <dt-bindings/pinctrl/gecko-pinctrl.h>

&pinctrl {
	/* configuration for usart0 device, operating as SPI */
	usart0_default: usart0_default {
		group1 {
			psels = <GECKO_PSEL(SPI_SCK, C, 2)>,
				<GECKO_PSEL(SPI_MOSI, C, 0)>,
				<GECKO_PSEL(SPI_MISO, C, 1)>;
		};
	};

	/* configuration for usart1 device, default state - operating as UART */
	usart1_default: usart1_default {
		group1 {
			/* configure PA.6 as UART_RX and PA.5 as UART_TX */
			psels = <GECKO_PSEL(UART_TX, A, 5)>,
				<GECKO_PSEL(UART_RX, A, 6)>,
				<GECKO_LOC(UART, 1)>;
		};
	};
};
