mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-08-23 15:35:22 +00:00
This patch fixes RX overflow error in the k64 SPI driver. Jira: ZEP-1351 Jira: ZEP-1352 Several circumstances lead to an RX overflow: The RFOF_RE (RX fifo overflow) must not be set as default. The flag is only set when rx_buf is available. Also it must be checked inside spi_k64_isr whether RFOF_RE has been set or not. If the rx_buf is not available and the incoming data should be ignored, then MCR_ROOE need to be set. Since it is not possible to change the MCR register during the transfer, RX fifo must be emptied if rx_buf_len < tx_buf_len. The driver also uses spi_data.xfer_len now, the variable was already defined. Now, transfers are also possible if tx_buf_len < rx_buf_len (e.g. read slave device register). spi_k64_push_data has been adjusted accordingly. The patch simplifies the handling of interrupts. The interrupts are also switched off in the event of an error. The patch also fixes a few coding style issues. Change-Id: I6ce81f595bb1edbbf2253b6595602896ca652762 Signed-off-by: Johann Fischer <j.fischer@phytec.de> |
||
---|---|---|
.. | ||
adc | ||
aio | ||
bluetooth | ||
clock_control | ||
console | ||
counter | ||
dma | ||
ethernet | ||
flash | ||
gpio | ||
grove | ||
i2c | ||
ieee802154 | ||
interrupt_controller | ||
ipm | ||
pci | ||
pinmux | ||
pwm | ||
random | ||
rtc | ||
sensor | ||
serial | ||
shared_irq | ||
spi | ||
timer | ||
usb | ||
watchdog | ||
Kconfig | ||
Makefile |