/*
 * Copyright (c) 2022 Vaishnav Achath
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include <zephyr/dt-bindings/pinctrl/cc13xx_cc26xx-pinctrl.h>

&pinctrl {
	/* UART0 */
	uart0_tx_default: uart0_tx_default {
		pinmux = <13 IOC_PORT_MCU_UART0_TX>;
		bias-disable;
	};
	uart0_rx_default: uart0_rx_default {
		pinmux = <12 IOC_PORT_MCU_UART0_RX>;
		bias-disable;
		input-enable;
	};

	/* I2C0 */
	i2c0_scl_default: i2c0_scl_default {
		pinmux = <4 IOC_PORT_MCU_I2C_MSSCL>;
		bias-pull-up;
		drive-open-drain;
		input-enable;
	};
	i2c0_sda_default: i2c0_sda_default {
		pinmux = <5 IOC_PORT_MCU_I2C_MSSDA>;
		bias-pull-up;
		drive-open-drain;
		input-enable;
	};
	i2c0_scl_sleep: i2c0_scl_sleep {
		pinmux = <4 IOC_PORT_GPIO>;
		bias-disable;
	};
	i2c0_sda_sleep: i2c0_sda_sleep {
		pinmux = <5 IOC_PORT_GPIO>;
		bias-disable;
	};

	/* SPI0 */
	spi0_sck_default: spi0_sck_default {
		pinmux = <10 IOC_PORT_MCU_SSI0_CLK>;
		bias-disable;
	};
	spi0_mosi_default: spi0_mosi_default {
		pinmux = <9 IOC_PORT_MCU_SSI0_TX>;
		bias-disable;
	};
	spi0_miso_default: spi0_miso_default {
		pinmux = <8 IOC_PORT_MCU_SSI0_RX>;
		bias-disable;
		input-enable;
	};
	spi0_cs_default: spi0_cs_default {
		pinmux = <11 IOC_PORT_MCU_SSI0_FSS>;
		bias-disable;
	};
};
