/*
 * Copyright (c) 2022 PHYTEC Messtechnik GmbH
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include <nxp/nxp_imx/mimx8ml8dvnlz-pinctrl.dtsi>

&pinctrl {
	uart1_default: uart1_default {
		group0 {
			pinmux = <&iomuxc_uart1_rxd_uart_rx_uart1_rx>,
				<&iomuxc_uart1_txd_uart_tx_uart1_tx>;
			slew-rate = "slow";
			drive-strength = "x1";
		};
	};

	uart3_default: uart3_default {
		group0 {
			pinmux = <&iomuxc_uart3_txd_uart_tx_uart3_tx>,
				<&iomuxc_uart3_rxd_uart_rx_uart3_rx>,
				<&iomuxc_sd1_strobe_uart_cts_b_uart3_cts_b>,
				<&iomuxc_sd1_reset_b_uart_rts_b_uart3_rts_b>;
			slew-rate = "slow";
			drive-strength = "x1";
		};
	};

	uart4_default: uart4_default {
		group0 {
			pinmux = <&iomuxc_uart4_rxd_uart_rx_uart4_rx>,
				<&iomuxc_uart4_txd_uart_tx_uart4_tx>;
			bias-pull-up;
			slew-rate = "slow";
			drive-strength = "x1";
		};
	};
};
