/*
 * Copyright (c) 2024 Nordic Semiconductor ASA
 *
 * SPDX-License-Identifier: Apache-2.0
 */

&pinctrl {
	uart21_default: uart21_default {
		group1 {
			psels = <NRF_PSEL(UART_TX, 1, 10)>,
				<NRF_PSEL(UART_RX, 1, 11)>,
				<NRF_PSEL(UART_RTS, 1, 8)>,
				<NRF_PSEL(UART_CTS, 1, 9)>;
		};
	};

	uart21_sleep: uart21_sleep {
		group1 {
			psels = <NRF_PSEL(UART_TX, 1, 10)>,
				<NRF_PSEL(UART_RX, 1, 11)>,
				<NRF_PSEL(UART_RTS, 1, 8)>,
				<NRF_PSEL(UART_CTS, 1, 9)>;
			low-power-enable;
		};
	};
};

dut: &uart21 {
	status = "okay";
	current-speed = <115200>;
	pinctrl-0 = <&uart21_default>;
	pinctrl-1 = <&uart21_sleep>;
	pinctrl-names = "default", "sleep";
	hw-flow-control;
};

counter_dev: &timer00 {
	status = "okay";
};

&grtc {
	interrupts = <228 2>;
};
