drivers: adc: adc_mcux_adc12: enable pinctrl for adc12 driver

enable pinctrl for adc12 driver

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
This commit is contained in:
Daniel DeGrasse 2022-03-08 13:18:09 -06:00 committed by Carles Cufí
commit a9587deaa4
3 changed files with 13 additions and 1 deletions

View file

@ -6,6 +6,7 @@
config ADC_MCUX_ADC12
bool "MCUX ADC12 driver"
depends on HAS_MCUX_ADC12
select PINCTRL
help
Enable the MCUX ADC12 driver.

View file

@ -11,6 +11,7 @@
#include <drivers/adc.h>
#include <fsl_adc12.h>
#include <drivers/pinctrl.h>
#define LOG_LEVEL CONFIG_ADC_LOG_LEVEL
#include <logging/log.h>
@ -26,6 +27,7 @@ struct mcux_adc12_config {
adc12_reference_voltage_source_t ref_src;
uint32_t sample_clk_count;
void (*irq_config_func)(const struct device *dev);
const struct pinctrl_dev_config *pincfg;
};
struct mcux_adc12_data {
@ -216,6 +218,7 @@ static int mcux_adc12_init(const struct device *dev)
struct mcux_adc12_data *data = dev->data;
ADC_Type *base = config->base;
adc12_config_t adc_config;
int err;
ADC12_GetDefaultConfig(&adc_config);
@ -233,6 +236,11 @@ static int mcux_adc12_init(const struct device *dev)
config->irq_config_func(dev);
data->dev = dev;
err = pinctrl_apply_state(config->pincfg, PINCTRL_STATE_DEFAULT);
if (err) {
return err;
}
adc_context_unlock_unconditionally(&data->ctx);
return 0;
@ -261,6 +269,8 @@ static const struct adc_driver_api mcux_adc12_driver_api = {
#define ACD12_MCUX_INIT(n) \
static void mcux_adc12_config_func_##n(const struct device *dev); \
\
PINCTRL_DT_INST_DEFINE(n); \
\
ASSERT_WITHIN_RANGE(DT_INST_PROP(n, clk_source), 0, 3, \
"Invalid clock source"); \
ASSERT_ADC12_CLK_DIV_VALID(DT_INST_PROP(n, clk_divider), \
@ -275,6 +285,7 @@ static const struct adc_driver_api mcux_adc12_driver_api = {
.ref_src = ADC12_REF_SRC(n), \
.sample_clk_count = DT_INST_PROP(n, sample_time), \
.irq_config_func = mcux_adc12_config_func_##n, \
.pincfg = PINCTRL_DT_INST_DEV_CONFIG_GET(n), \
}; \
\
static struct mcux_adc12_data mcux_adc12_data_##n = { \

View file

@ -5,7 +5,7 @@ description: NXP Kinetis ADC12
compatible: "nxp,kinetis-adc12"
include: adc-controller.yaml
include: [adc-controller.yaml, pinctrl-device.yaml]
properties:
reg: