/*
 * Copyright (c) 2022, Gerson Fernando Budke <nandojve@gmail.com>
 * SPDX-License-Identifier: Apache-2.0
 */

#include <dt-bindings/pinctrl/samd21-da1jXabcd-pinctrl.h>

&pinctrl {
	pwm_default: pwm_default {
		group1 {
			pinmux = <PB30E_TCC0_WO0>;
		};
	};

	sercom2_i2c_default: sercom2_i2c_default {
		group1 {
			pinmux = <PA8D_SERCOM2_PAD0>,
				 <PA9D_SERCOM2_PAD1>;
		};
	};

	sercom5_spi_default: sercom5_spi_default {
		group1 {
			pinmux = <PB2D_SERCOM5_PAD0>,
				 <PB22D_SERCOM5_PAD2>,
				 <PB23D_SERCOM5_PAD3>;
		};
	};

	sercom0_uart_default: sercom0_uart_default {
		group1 {
			pinmux = <PA11C_SERCOM0_PAD3>,
				 <PA10C_SERCOM0_PAD2>;
		};
	};
	sercom1_uart_default: sercom1_uart_default {
		group1 {
			pinmux = <PA19C_SERCOM1_PAD3>,
				 <PA16C_SERCOM1_PAD0>;
		};
	};
	sercom3_uart_default: sercom3_uart_default {
		group1 {
			pinmux = <PA23C_SERCOM3_PAD1>,
				 <PA22C_SERCOM3_PAD0>;
		};
	};

	usb_dc_default: usb_dc_default {
		group1 {
			pinmux = <PA25G_USB_DP>,
				 <PA24G_USB_DM>;
		};
	};
};
