Skip to content

Commit e420d44

Browse files
zejiang0jasondanieldegrasse
authored andcommitted
drivers: spi: mcux_flexio: Fix flexio SPI loop delay issue
The function FLEXIO_SPI_MasterTransferNonBlocking has a bug when works in CS continuous mode. In this mode, both RX and TX interrupts are enabled, they share the same IRQ line. In the ISR, the RX event and TX event are not handled well, so a short delay in ISR is needed. The function FLEXIO_SPI_MasterTransferNonBlocking issue is fixed, the delay in ISR can be removed. Signed-off-by: Jason Yu <[email protected]>
1 parent ffe8daa commit e420d44

File tree

2 files changed

+2
-7
lines changed

2 files changed

+2
-7
lines changed

drivers/spi/spi_mcux_flexio.c

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
22
* Copyright (c) 2024, STRIM, ALC
3-
* Copyright 2024 NXP
3+
* Copyright 2024-2025 NXP
44
*
55
* SPDX-License-Identifier: Apache-2.0
66
*/
@@ -102,11 +102,6 @@ static int spi_mcux_flexio_isr(void *user_data)
102102
const struct spi_mcux_flexio_config *config = dev->config;
103103
struct spi_mcux_flexio_data *data = dev->data;
104104

105-
/* Wait until data transfer complete. */
106-
WAIT_FOR((3U == (FLEXIO_SPI_GetStatusFlags(config->flexio_spi)
107-
& (uint32_t)(kFLEXIO_SPI_TxBufferEmptyFlag | kFLEXIO_SPI_RxBufferFullFlag))),
108-
100, NULL);
109-
110105
FLEXIO_SPI_MasterTransferHandleIRQ(config->flexio_spi, &data->handle);
111106

112107
return 0;

west.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ manifest:
210210
groups:
211211
- hal
212212
- name: hal_nxp
213-
revision: ad531e7b9980b171f90c651340bb1bb6cc2c6d51
213+
revision: f37e22e5246d862161f024485ca369f70c20ffc0
214214
path: modules/hal/nxp
215215
groups:
216216
- hal

0 commit comments

Comments
 (0)