/*
 * Copyright (c) 2024 Joel Guittet
 * SPDX-License-Identifier: Apache-2.0
 */

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

&pinctrl {

	i2c1_default: i2c1_default {
		group1 {
			pinmux = <I2C1_SDA_GPIO6>, <I2C1_SCL_GPIO7>;
			bias-pull-up;
			drive-open-drain;
			output-high;
		};
	};

	ledc0_default: ledc0_default {
		group1 {
			pinmux = <LEDC_CH0_GPIO2>, <LEDC_CH1_GPIO5>, <LEDC_CH2_GPIO4>;
			output-enable;
		};
	};

	spim2_default: spim2_default {
		group1 {
			pinmux = <SPIM2_MISO_GPIO12>, <SPIM2_SCLK_GPIO10>, <SPIM2_CSEL_GPIO9>;
		};
		group2 {
			pinmux = <SPIM2_MOSI_GPIO11>;
			output-low;
		};
	};

	uart0_default: uart0_default {
		group1 {
			pinmux = <UART0_TX_GPIO43>;
			output-high;
		};
		group2 {
			pinmux = <UART0_RX_GPIO44>;
			bias-pull-up;
		};
	};
};
