drivers: dac: Add sam support to pinctrl

This add support to pinctrl at Atmel sam dac driver.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
diff --git a/drivers/dac/dac_sam.c b/drivers/dac/dac_sam.c
index 650f651..67bd3d5 100644
--- a/drivers/dac/dac_sam.c
+++ b/drivers/dac/dac_sam.c
@@ -18,6 +18,7 @@
 #include <soc.h>
 #include <device.h>
 #include <drivers/dac.h>
+#include <drivers/pinctrl.h>
 
 #include <logging/log.h>
 LOG_MODULE_REGISTER(dac_sam, CONFIG_DAC_LOG_LEVEL);
@@ -31,6 +32,7 @@
 /* Device constant configuration parameters */
 struct dac_sam_dev_cfg {
 	Dacc *regs;
+	const struct pinctrl_dev_config *pcfg;
 	void (*irq_config)(void);
 	uint8_t irq_id;
 	uint8_t periph_id;
@@ -119,6 +121,7 @@
 	const struct dac_sam_dev_cfg *const dev_cfg = dev->config;
 	struct dac_sam_dev_data *const dev_data = dev->data;
 	Dacc *const dac = dev_cfg->regs;
+	int retval;
 
 	/* Configure interrupts */
 	dev_cfg->irq_config();
@@ -131,6 +134,11 @@
 	/* Enable DAC clock in PMC */
 	soc_pmc_peripheral_enable(dev_cfg->periph_id);
 
+	retval = pinctrl_apply_state(dev_cfg->pcfg, PINCTRL_STATE_DEFAULT);
+	if (retval < 0) {
+		return retval;
+	}
+
 	/* Set Mode Register */
 	dac->DACC_MR = DACC_MR_PRESCALER(dev_cfg->prescaler);
 
@@ -155,8 +163,11 @@
 		    DEVICE_DT_INST_GET(0), 0);
 }
 
+PINCTRL_DT_INST_DEFINE(0);
+
 static const struct dac_sam_dev_cfg dacc_sam_config = {
 	.regs = (Dacc *)DT_INST_REG_ADDR(0),
+	.pcfg = PINCTRL_DT_INST_DEV_CONFIG_GET(0),
 	.irq_id = DT_INST_IRQN(0),
 	.irq_config = dacc_irq_config,
 	.periph_id = DT_INST_PROP(0, peripheral_id),
diff --git a/dts/bindings/dac/atmel,sam-dac.yaml b/dts/bindings/dac/atmel,sam-dac.yaml
index 0de2771..632deab 100644
--- a/dts/bindings/dac/atmel,sam-dac.yaml
+++ b/dts/bindings/dac/atmel,sam-dac.yaml
@@ -5,7 +5,9 @@
 
 compatible: "atmel,sam-dac"
 
-include: dac-controller.yaml
+include:
+    - name: dac-controller.yaml
+    - name: pinctrl-device.yaml
 
 properties:
     reg: