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


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

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

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

	flexcan0_default: flexcan0_default {
		group0 {
			pinmux = <CAN0_RX_PTE4>,
				<CAN0_TX_PTE5>;
			drive-strength = "low";
			slew-rate = "slow";
		};
	};

	/* Route FLEXIO CLOCKOUT pin */
	flexio_clockout: flexio_clockout {
		group0 {
			pinmux = <CLKOUT_PTE10>;
			drive-strength = "low";
			slew-rate = "slow";
		};
	};

	ftm0_default: ftm0_default {
		group0 {
			pinmux = <FTM0_CH0_PTD15>,
				<FTM0_CH1_PTD16>,
				<FTM0_CH5_PTB5>;
			drive-strength = "low";
			slew-rate = "slow";
		};
	};

	ftm3_default: ftm3_default {
		group0 {
			pinmux = <FTM3_CH4_PTC10>,
				<FTM3_CH5_PTC11>,
				<FTM3_CH6_PTC12>,
				<FTM3_CH7_PTC13>;
			drive-strength = "low";
			slew-rate = "slow";
		};
	};

	lpi2c0_default: lpi2c0_default {
		group0 {
			pinmux = <LPI2C0_SCL_PTA3>,
				<LPI2C0_SDA_PTA2>;
			drive-strength = "low";
			slew-rate = "slow";
		};
	};

	lpi2c1_default: lpi2c1_default {
		group0 {
			pinmux = <LPI2C1_SCL_PTD9>,
				<LPI2C1_SDA_PTD8>;
			drive-strength = "low";
			slew-rate = "slow";
		};
	};

	lpspi0_default: lpspi0_default {
		group0 {
			pinmux = <LPSPI0_SCK_PTE0>,
				<LPSPI0_SIN_PTE1>,
				<LPSPI0_SOUT_PTE2>;
			drive-strength = "low";
			slew-rate = "slow";
		};
	};

	/* Enable PCS2 for SPI0 */
	lpspi0_pcs2: lpspi0_pcs2 {
		group0 {
			pinmux = <LPSPI0_SCK_PTE0>,
				<LPSPI0_SIN_PTE1>,
				<LPSPI0_SOUT_PTE2>,
				<LPSPI0_PCS2_PTE6>;
			drive-strength = "low";
			slew-rate = "slow";
		};
	};

	lpspi1_default: lpspi1_default {
		group0 {
			pinmux = <LPSPI1_SCK_PTD0>,
				<LPSPI1_SIN_PTD1>,
				<LPSPI1_SOUT_PTD2>;
			drive-strength = "low";
			slew-rate = "slow";
		};
	};

	/* select PCS0 for lpspi1 */
	lpspi1_pcs0: lpspi1_pcs0 {
		group0 {
			pinmux = <LPSPI1_SCK_PTD0>,
				<LPSPI1_SIN_PTD1>,
				<LPSPI1_SOUT_PTD2>,
				<LPSPI1_PCS0_PTD3>;
			drive-strength = "low";
			slew-rate = "slow";
		};
	};

	/* select PCS0 and PCS2 for lpspi1 */
	lpspi1_pcs0_pcs2: lpspi1_pcs0_pcs2 {
		group0 {
			pinmux = <LPSPI1_SCK_PTD0>,
				<LPSPI1_SIN_PTD1>,
				<LPSPI1_SOUT_PTD2>,
				<LPSPI1_PCS2_PTA16>,
				<LPSPI1_PCS0_PTD3>;
			drive-strength = "low";
			slew-rate = "slow";
		};
	};

	/* select PCS2 for lpspi1 */
	lpspi1_pcs2: lpspi1_pcs2 {
		group0 {
			pinmux = <LPSPI1_SCK_PTD0>,
				<LPSPI1_SIN_PTD1>,
				<LPSPI1_SOUT_PTD2>,
				<LPSPI1_PCS2_PTA16>;
			drive-strength = "low";
			slew-rate = "slow";
		};
	};

	lpuart0_default: lpuart0_default {
		group0 {
			pinmux = <LPUART0_RX_PTB0>,
				<LPUART0_TX_PTB1>;
			drive-strength = "low";
			slew-rate = "slow";
		};
	};

};
