drivers: spi: mcux_lpspi: allow to configure data pins
Add binding properties to allow configuring the direction of data pins SDI and SDO. Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
This commit is contained in:
parent
96bc04f7ac
commit
cd78028e15
2 changed files with 17 additions and 1 deletions
|
@ -33,6 +33,7 @@ struct spi_mcux_config {
|
|||
uint32_t sck_pcs_delay;
|
||||
uint32_t transfer_delay;
|
||||
const struct pinctrl_dev_config *pincfg;
|
||||
lpspi_pin_config_t data_pin_config;
|
||||
};
|
||||
|
||||
#ifdef CONFIG_SPI_MCUX_LPSPI_DMA
|
||||
|
@ -212,6 +213,8 @@ static int spi_mcux_configure(const struct device *dev,
|
|||
master_config.lastSckToPcsDelayInNanoSec = config->sck_pcs_delay;
|
||||
master_config.betweenTransferDelayInNanoSec = config->transfer_delay;
|
||||
|
||||
master_config.pinCfg = config->data_pin_config;
|
||||
|
||||
if (!device_is_ready(config->clock_dev)) {
|
||||
LOG_ERR("clock control device not ready");
|
||||
return -ENODEV;
|
||||
|
@ -638,6 +641,7 @@ static const struct spi_driver_api spi_mcux_driver_api = {
|
|||
DT_INST_NODE_HAS_PROP(n, transfer_delay), \
|
||||
DT_INST_PROP(n, transfer_delay)), \
|
||||
.pincfg = PINCTRL_DT_INST_DEV_CONFIG_GET(n), \
|
||||
.data_pin_config = DT_INST_ENUM_IDX(n, data_pin_config),\
|
||||
}; \
|
||||
\
|
||||
static struct spi_mcux_data spi_mcux_data_##n = { \
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Copyright (c) 2018, NXP
|
||||
# Copyright (c) 2018,2023 NXP
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
description: NXP i.MX LPSPI controller
|
||||
|
@ -34,3 +34,15 @@ properties:
|
|||
description: |
|
||||
Delay in nanoseconds from the chip select deassert to the next chip
|
||||
select assert. If not set, the minimum supported delay is used.
|
||||
|
||||
data-pin-config:
|
||||
type: string
|
||||
enum:
|
||||
- "sdi-in,sdo-out"
|
||||
- "sdi-in,sdi-out"
|
||||
- "sdo-in,sdo-out"
|
||||
- "sdo-in,sdi-out"
|
||||
default: "sdi-in,sdo-out"
|
||||
description: |
|
||||
Configures which pins (SDO and SDI) are used for input and output data
|
||||
during single bit transfers.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue