drivers: mcux-12b1-adc: enable pinctrl for mcux-12b1 adc

Enable pinctrl for mcux_12b1msps_sar adc driver

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
This commit is contained in:
Daniel DeGrasse 2022-03-18 16:46:48 -05:00 committed by David Leach
commit 6c0bcdc6e9
2 changed files with 12 additions and 2 deletions

View file

@ -12,6 +12,7 @@
#include <drivers/adc.h> #include <drivers/adc.h>
#include <fsl_adc.h> #include <fsl_adc.h>
#include <drivers/pinctrl.h>
#define LOG_LEVEL CONFIG_ADC_LOG_LEVEL #define LOG_LEVEL CONFIG_ADC_LOG_LEVEL
#include <logging/log.h> #include <logging/log.h>
@ -27,6 +28,7 @@ struct mcux_12b1msps_sar_adc_config {
adc_reference_voltage_source_t ref_src; adc_reference_voltage_source_t ref_src;
adc_sample_period_mode_t sample_period_mode; adc_sample_period_mode_t sample_period_mode;
void (*irq_config_func)(const struct device *dev); void (*irq_config_func)(const struct device *dev);
const struct pinctrl_dev_config *pincfg;
}; };
struct mcux_12b1msps_sar_adc_data { struct mcux_12b1msps_sar_adc_data {
@ -217,6 +219,12 @@ static int mcux_12b1msps_sar_adc_init(const struct device *dev)
struct mcux_12b1msps_sar_adc_data *data = dev->data; struct mcux_12b1msps_sar_adc_data *data = dev->data;
ADC_Type *base = config->base; ADC_Type *base = config->base;
adc_config_t adc_config; adc_config_t adc_config;
int err;
err = pinctrl_apply_state(config->pincfg, PINCTRL_STATE_DEFAULT);
if (err) {
return err;
}
ADC_GetDefaultConfig(&adc_config); ADC_GetDefaultConfig(&adc_config);
@ -275,6 +283,7 @@ static const struct adc_driver_api mcux_12b1msps_sar_adc_driver_api = {
"Invalid clock divider"); \ "Invalid clock divider"); \
ASSERT_WITHIN_RANGE(DT_INST_PROP(n, sample_period_mode), 0, 3, \ ASSERT_WITHIN_RANGE(DT_INST_PROP(n, sample_period_mode), 0, 3, \
"Invalid sample period mode"); \ "Invalid sample period mode"); \
PINCTRL_DT_INST_DEFINE(n); \
\ \
static const struct mcux_12b1msps_sar_adc_config mcux_12b1msps_sar_adc_config_##n = { \ static const struct mcux_12b1msps_sar_adc_config mcux_12b1msps_sar_adc_config_##n = { \
.base = (ADC_Type *)DT_INST_REG_ADDR(n), \ .base = (ADC_Type *)DT_INST_REG_ADDR(n), \
@ -284,6 +293,7 @@ static const struct adc_driver_api mcux_12b1msps_sar_adc_driver_api = {
.ref_src = kADC_ReferenceVoltageSourceAlt0, \ .ref_src = kADC_ReferenceVoltageSourceAlt0, \
.sample_period_mode = DT_INST_PROP(n, sample_period_mode), \ .sample_period_mode = DT_INST_PROP(n, sample_period_mode), \
.irq_config_func = mcux_12b1msps_sar_adc_config_func_##n, \ .irq_config_func = mcux_12b1msps_sar_adc_config_func_##n, \
.pincfg = PINCTRL_DT_INST_DEV_CONFIG_GET(n), \
}; \ }; \
\ \
static struct mcux_12b1msps_sar_adc_data mcux_12b1msps_sar_adc_data_##n = { \ static struct mcux_12b1msps_sar_adc_data mcux_12b1msps_sar_adc_data_##n = { \

View file

@ -5,7 +5,7 @@ description: NXP MCUA 12B1MSPS SAR ADC
compatible: "nxp,mcux-12b1msps-sar" compatible: "nxp,mcux-12b1msps-sar"
include: adc-controller.yaml include: [adc-controller.yaml, pinctrl-device.yaml]
properties: properties:
reg: reg: