/*
 * NOTE: Autogenerated file by gen_board_pinctrl.py
 *       for MKW41Z512VHT4/signal_configuration.xml
 *
 * Copyright (c) 2022, NXP
 * SPDX-License-Identifier: Apache-2.0
 */


#include <nxp/kinetis/MKW41Z512VHT4-pinctrl.h>

&pinctrl {
	adc0_default: adc0_default {
		group0 {
			pinmux = <ADC0_SE3_PTB2>;
			drive-strength = "low";
			slew-rate = "slow";
		};
	};

	i2c1_default: i2c1_default {
		group0 {
			pinmux = <I2C1_SCL_PTC2>,
				<I2C1_SDA_PTC3>;
			drive-strength = "low";
			slew-rate = "slow";
		};
	};

	lpuart0_default: lpuart0_default {
		group0 {
			pinmux = <UART0_TX_PTC7>;
			drive-strength = "low";
			slew-rate = "fast";
		};
		group1 {
			pinmux = <UART0_RX_PTC6>;
			drive-strength = "low";
			slew-rate = "slow";
		};
	};

	spi0_default: spi0_default {
		group0 {
			pinmux = <SPI0_SCK_PTC16>,
				<SPI0_SIN_PTC18>,
				<SPI0_SOUT_PTC17>,
				<SPI0_PCS0_PTC19>;
			drive-strength = "low";
			slew-rate = "fast";
		};
	};

	tmp2_default: tmp2_default {
		group0 {
			pinmux = <TPM2_CH0_PTA18>,
				<TPM2_CH1_PTA19>;
			drive-strength = "low";
			slew-rate = "fast";
		};
	};

	tpm0_default: tpm0_default {
		group0 {
			pinmux = <TPM0_CH2_PTC1>;
			drive-strength = "low";
			slew-rate = "slow";
		};
	};

};
