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

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

&pinctrl {
	sercom3_i2c_default: sercom3_i2c_default {
		group1 {
			pinmux = <PA22C_SERCOM3_PAD0>,
				 <PA23C_SERCOM3_PAD1>;
		};
	};

	sercom4_spi_default: sercom4_spi_default {
		group1 {
			pinmux = <PA12D_SERCOM4_PAD0>,
				 <PB10D_SERCOM4_PAD2>,
				 <PB11D_SERCOM4_PAD3>;
		};
	};

	sercom0_uart_default: sercom0_uart_default {
		group1 {
			pinmux = <PA11C_SERCOM0_PAD3>,
				 <PA10C_SERCOM0_PAD2>;
		};
	};

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