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:
parent
9fee7d95f1
commit
f90c356025
3 changed files with 11 additions and 1 deletions
|
@ -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.
|
||||||
|
|
||||||
|
|
|
@ -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, \
|
||||||
|
|
|
@ -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:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue