/*
 * NOTE: File generated by lpc_cfg_utils.py
 * from LPCXpresso55S16.mex
 *
 * Copyright 2022 NXP
 * SPDX-License-Identifier: Apache-2.0
 */


#include <nxp/lpc/LPC55S16JBD100-pinctrl.h>

&pinctrl {
	pinmux_can0: pinmux_can0 {
		group0 {
			pinmux = <CAN0_RD_PIO1_22>,
				<CAN0_TD_PIO1_27>;
			slew-rate = "standard";
		};
	};

	pinmux_flexcomm0_usart: pinmux_flexcomm0_usart {
		group0 {
			pinmux = <FC0_RXD_SDA_MOSI_DATA_PIO0_29>,
				<FC0_TXD_SCL_MISO_WS_PIO0_30>;
			slew-rate = "standard";
		};
	};

	pinmux_flexcomm4_i2c: pinmux_flexcomm4_i2c {
		group0 {
			pinmux = <FC4_TXD_SCL_MISO_WS_PIO1_20>,
				<FC4_RXD_SDA_MOSI_DATA_PIO1_21>;
			slew-rate = "standard";
		};
	};

	pinmux_hs_lspi: pinmux_hs_lspi {
		group0 {
			pinmux = <HS_SPI_MOSI_PIO0_26>,
				<HS_SPI_SSEL1_PIO1_1>,
				<HS_SPI_SCK_PIO1_2>,
				<HS_SPI_MISO_PIO1_3>;
			bias-pull-up;
			slew-rate = "standard";
		};
	};

};
