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

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