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

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

&pinctrl {
	dac_default: dac_default {
		group1 {
			pinmux = <PA2B_DAC_VOUT>;
		};
	};

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

	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>;
		};
	};
	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>;
		};
	};
};
