Skip to content

Commit 2a569fb

Browse files
committed
drivers: spi_mcux_flexcomm: CS remains low until frame ends
Flexcomm's SPI SSEL (or CS) will be held until frame end. FIFOWR[EOT] (kSPI_FrameAssert enum) is the register not set. Signed-off-by: Andrei Gansari <[email protected]>
1 parent 55b6e12 commit 2a569fb

File tree

1 file changed

+1
-5
lines changed

1 file changed

+1
-5
lines changed

drivers/spi/spi_mcux_flexcomm.c

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,24 +46,22 @@ static void spi_mcux_transfer_next_packet(struct device *dev)
4646
return;
4747
}
4848

49+
transfer.configFlags = 0;
4950
if (ctx->tx_len == 0) {
5051
/* rx only, nothing to tx */
5152
transfer.txData = NULL;
5253
transfer.rxData = ctx->rx_buf;
5354
transfer.dataSize = ctx->rx_len;
54-
transfer.configFlags = kSPI_FrameAssert;
5555
} else if (ctx->rx_len == 0) {
5656
/* tx only, nothing to rx */
5757
transfer.txData = (uint8_t *) ctx->tx_buf;
5858
transfer.rxData = NULL;
5959
transfer.dataSize = ctx->tx_len;
60-
transfer.configFlags = kSPI_FrameAssert;
6160
} else if (ctx->tx_len == ctx->rx_len) {
6261
/* rx and tx are the same length */
6362
transfer.txData = (uint8_t *) ctx->tx_buf;
6463
transfer.rxData = ctx->rx_buf;
6564
transfer.dataSize = ctx->tx_len;
66-
transfer.configFlags = kSPI_FrameAssert;
6765
} else if (ctx->tx_len > ctx->rx_len) {
6866
/* Break up the tx into multiple transfers so we don't have to
6967
* rx into a longer intermediate buffer. Leave chip select
@@ -72,7 +70,6 @@ static void spi_mcux_transfer_next_packet(struct device *dev)
7270
transfer.txData = (uint8_t *) ctx->tx_buf;
7371
transfer.rxData = ctx->rx_buf;
7472
transfer.dataSize = ctx->rx_len;
75-
transfer.configFlags = 0;
7673
} else {
7774
/* Break up the rx into multiple transfers so we don't have to
7875
* tx from a longer intermediate buffer. Leave chip select
@@ -81,7 +78,6 @@ static void spi_mcux_transfer_next_packet(struct device *dev)
8178
transfer.txData = (uint8_t *) ctx->tx_buf;
8279
transfer.rxData = ctx->rx_buf;
8380
transfer.dataSize = ctx->tx_len;
84-
transfer.configFlags = 0;
8581
}
8682

8783
if (ctx->tx_count <= 1 && ctx->rx_count <= 1) {

0 commit comments

Comments
 (0)