/*
 * 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;
	};

	/* On-board antenna pinmux states */
	board_ant_24g_off: board_ant_24g_off {
		pinmux = <28 IOC_PORT_GPIO>;
		bias-disable;
	};
	board_ant_24g_on: board_ant_24g_on {
		pinmux = <28 IOC_PORT_RFC_GPO0>;
		bias-disable;
	};
	board_ant_tx_pa_off: board_ant_tx_pa_off {
		pinmux = <29 IOC_PORT_GPIO>;
		bias-disable;
	};
	board_ant_tx_pa_on: board_ant_tx_pa_on {
		pinmux = <29 IOC_PORT_RFC_GPO3>;
		bias-disable;
	};
	board_ant_subg_off: board_ant_subg_off {
		pinmux = <30 IOC_PORT_GPIO>;
		bias-disable;
	};
	board_ant_subg_on: board_ant_subg_on {
		pinmux = <30 IOC_PORT_RFC_GPO0>;
		bias-disable;
	};
};
