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

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

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

	sercom4_i2c_default: sercom4_i2c_default {
		group1 {
			pinmux = <PB8D_SERCOM4_PAD0>,
				 <PB9D_SERCOM4_PAD1>;
		};
	};

	sercom1_spi_default: sercom1_spi_default {
		group1 {
			pinmux = <PA16C_SERCOM1_PAD0>,
				 <PA17C_SERCOM1_PAD1>,
				 <PA19C_SERCOM1_PAD3>;
		};
	};
	sercom2_spi_default: sercom2_spi_default {
		group1 {
			pinmux = <PA12C_SERCOM2_PAD0>,
				 <PA13C_SERCOM2_PAD1>,
				 <PA15C_SERCOM2_PAD3>;
		};
	};

	sercom3_uart_default: sercom3_uart_default {
		group1 {
			pinmux = <PA23C_SERCOM3_PAD1>,
				 <PA22C_SERCOM3_PAD0>;
		};
	};
	sercom5_uart_default: sercom5_uart_default {
		group1 {
			pinmux = <PB23D_SERCOM5_PAD3>,
				 <PB22D_SERCOM5_PAD2>;
		};
	};

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