drivers: spi: enable pinctrl for kinetis dspi driver

Enable pinctrl unconditionally for kinetis dspi driver

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

View file

@ -7,6 +7,7 @@
config SPI_MCUX_DSPI config SPI_MCUX_DSPI
bool "MCUX SPI driver" bool "MCUX SPI driver"
depends on HAS_MCUX && CLOCK_CONTROL depends on HAS_MCUX && CLOCK_CONTROL
select PINCTRL
help help
Enable support for mcux spi driver. Enable support for mcux spi driver.

View file

@ -11,6 +11,7 @@
#include <drivers/spi.h> #include <drivers/spi.h>
#include <drivers/clock_control.h> #include <drivers/clock_control.h>
#include <fsl_dspi.h> #include <fsl_dspi.h>
#include <drivers/pinctrl.h>
#ifdef CONFIG_DSPI_MCUX_EDMA #ifdef CONFIG_DSPI_MCUX_EDMA
#include <drivers/dma.h> #include <drivers/dma.h>
#include <fsl_edma.h> #include <fsl_edma.h>
@ -47,6 +48,7 @@ struct spi_mcux_config {
bool enable_rxfifo_overwrite; bool enable_rxfifo_overwrite;
bool enable_modified_timing_format; bool enable_modified_timing_format;
bool is_dma_chn_shared; bool is_dma_chn_shared;
const struct pinctrl_dev_config *pincfg;
}; };
struct spi_mcux_data { struct spi_mcux_data {
@ -767,6 +769,11 @@ static int spi_mcux_init(const struct device *dev)
config->irq_config_func(dev); config->irq_config_func(dev);
#endif #endif
err = pinctrl_apply_state(config->pincfg, PINCTRL_STATE_DEFAULT);
if (err != 0) {
return err;
}
data->dev = dev; data->dev = dev;
err = spi_context_cs_configure_all(&data->ctx); err = spi_context_cs_configure_all(&data->ctx);
@ -861,6 +868,7 @@ static const struct spi_driver_api spi_mcux_driver_api = {
#endif #endif
#define SPI_MCUX_DSPI_DEVICE(id) \ #define SPI_MCUX_DSPI_DEVICE(id) \
PINCTRL_DT_INST_DEFINE(id); \
static void spi_mcux_config_func_##id(const struct device *dev);\ static void spi_mcux_config_func_##id(const struct device *dev);\
TX_BUFFER(id); \ TX_BUFFER(id); \
RX_BUFFER(id); \ RX_BUFFER(id); \
@ -894,6 +902,7 @@ static const struct spi_driver_api spi_mcux_driver_api = {
DT_INST_PROP(id, modified_timing_format), \ DT_INST_PROP(id, modified_timing_format), \
.is_dma_chn_shared = \ .is_dma_chn_shared = \
DT_INST_PROP(id, nxp_rx_tx_chn_share), \ DT_INST_PROP(id, nxp_rx_tx_chn_share), \
.pincfg = PINCTRL_DT_INST_DEV_CONFIG_GET(id), \
}; \ }; \
DEVICE_DT_INST_DEFINE(id, \ DEVICE_DT_INST_DEFINE(id, \
&spi_mcux_init, \ &spi_mcux_init, \

View file

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