/*
 * Copyright (c) 2022 Grant Ramsay <grant.ramsay@hotmail.com>
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include <zephyr/dt-bindings/pinctrl/esp-pinctrl-common.h>
#include <dt-bindings/pinctrl/esp32-pinctrl.h>
#include <zephyr/dt-bindings/pinctrl/esp32-gpio-sigmap.h>

&pinctrl {

	uart0_default: uart0_default {
		group1 {
			pinmux = <UART0_TX_GPIO1>;
		};
		group2 {
			pinmux = <UART0_RX_GPIO3>;
			bias-pull-up;
		};
	};

	spim2_default: spim2_default {
		group1 {
			pinmux = <SPIM2_MISO_GPIO12>,
				 <SPIM2_SCLK_GPIO14>,
				 <SPIM2_CSEL_GPIO15>;
		};
		group2 {
			pinmux = <SPIM2_MOSI_GPIO13>;
			output-low;
		};
	};

	mdio_default: mdio_default {
		group1 {
			pinmux = <SMI_MDC_GPIO23>,
				 <SMI_MDIO_GPIO18>;
		};
	};

};
