5c00a83b99
Zephyr SPI driver model for full-duplex operation assumes data will be transmitted and received during each clock period. The QMSPI driver for the XEC family also supported dual and quad I/O use cases which are inherently half-duplex. To support dual/quad the driver incorrectly processed spi buffers as all transmit buffers first then all receive buffers. This worked if only the SPI driver was used. It did not work with the Zephyr flash SPI NOR driver which assumes SPI drivers follow the SPI driver model. This commit implements a QMSPI driver that follows the Zephyr SPI driver model resulting in a slightly smaller driver. Dual/quad SPI transactions are supported if the experimental SPI extended mode Zephyr configuration flag is enabled. We also remove the QMSPI full duplex driver added previously to support the flash SPI NOR driver. Added board to spi loop-back test and spi_flash sample. Signed-off-by: Scott Worley <scott.worley@microchip.com>
20 lines
533 B
Plaintext
20 lines
533 B
Plaintext
# Microchip XEC QMSPI
|
|
|
|
# Copyright (c) 2019 Microchip Technology Inc.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
config SPI_XEC_QMSPI
|
|
bool "Microchip MEC15xx XEC QMSPI driver"
|
|
default y
|
|
depends on DT_HAS_MICROCHIP_XEC_QMSPI_ENABLED
|
|
select DMA if SPI_ASYNC
|
|
help
|
|
Enable support for Microchip MEC15xx XEC QMSPI driver.
|
|
|
|
config SPI_XEC_QMSPI_LDMA
|
|
bool "Microchip XEC MEC17xx QMSPI LDMA driver"
|
|
default y
|
|
depends on DT_HAS_MICROCHIP_XEC_QMSPI_LDMA_ENABLED
|
|
help
|
|
Enable support for Microchip MEC17xx QMSPI with local DMA driver.
|