/*
 * Copyright (c) 2022 Espressif Systems (Shanghai) Co., Ltd.
 *
 * 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_tx_gpio1: uart0_tx_gpio1 {
		pinmux = <UART0_TX_GPIO1>;
	};

	uart0_rx_gpio3: uart0_rx_gpio3 {
		pinmux = <UART0_RX_GPIO3>;
		bias-pull-up;
	};

	i2c0_sda_gpio4: i2c0_sda_gpio4 {
		pinmux = <I2C0_SDA_GPIO4>;
		bias-pull-up;
		drive-open-drain;
		output-high;
	};

	i2c0_scl_gpio15: i2c0_scl_gpio15 {
		pinmux = <I2C0_SCL_GPIO15>;
		bias-pull-up;
		drive-open-drain;
		output-high;
	};

};
