/*
 * Copyright (c) 2021, Yonatan Schachter
 * SPDX-License-Identifier: Apache-2.0
 */

#include <zephyr/dt-bindings/pinctrl/rpi-pico-rp2040-pinctrl.h>

&pinctrl {
	uart0_default: uart0_default {
		group1 {
			pinmux = <UART0_TX_P0>;
		};
		group2 {
			pinmux = <UART0_RX_P1>;
			input-enable;
		};
	};

	i2c0_default: i2c0_default {
		group1 {
			pinmux = <I2C0_SDA_P4>, <I2C0_SCL_P5>;
			input-enable;
			input-schmitt-enable;
		};
	};

	i2c1_default: i2c1_default {
		group1 {
			pinmux = <I2C1_SDA_P14>, <I2C1_SCL_P15>;
			input-enable;
			input-schmitt-enable;
		};
	};

	spi0_default: spi0_default {
		group1 {
			pinmux = <SPI0_CSN_P17>, <SPI0_SCK_P18>, <SPI0_TX_P19>;
		};
		group2 {
			pinmux = <SPI0_RX_P16>;
			input-enable;
		};
	};

	pwm_ch4b_default: pwm_ch4b_default {
		group1 {
			pinmux = <PWM_4B_P25>;
		};
	};

	adc_default: adc_default {
		group1 {
			pinmux = <ADC_CH0_P26>, <ADC_CH1_P27>, <ADC_CH2_P28>, <ADC_CH3_P29>;
			input-enable;
		};
	};
};
