| # Copyright (c) 2024 Analog Devices, Inc. |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| config SPI_MAX32 |
| bool "MAX32 MCU SPI controller driver" |
| default y |
| depends on DT_HAS_ADI_MAX32_SPI_ENABLED |
| select PINCTRL |
| help |
| Enable SPI support on the MAX32 family of processors. |
| |
| if SPI_MAX32 |
| |
| config SPI_MAX32_INTERRUPT |
| bool "MAX32 MCU SPI Interrupt Support" |
| help |
| Enable interrupt support for MAX32 MCU SPI driver. |
| |
| config SPI_MAX32_DMA |
| bool "MAX32 MCU SPI DMA Support" |
| select DMA |
| select CACHE_MANAGEMENT if CPU_HAS_DCACHE |
| help |
| Enable DMA support for MAX32 MCU SPI driver. |
| |
| config SPI_MAX32_RTIO |
| bool "MAX32 SPI RTIO Support" |
| default y if SPI_RTIO |
| depends on !SPI_ASYNC |
| select SPI_MAX32_INTERRUPT |
| |
| if SPI_MAX32_RTIO |
| config SPI_MAX32_RTIO_SQ_SIZE |
| int "Number of available submission queue entries" |
| default 8 # Sensible default that covers most common spi transactions |
| help |
| When RTIO is used with SPI, each driver holds a context with which blocking |
| API calls use to perform SPI transactions. This queue needs to be as deep |
| as the longest set of spi_buf_sets used, where normal SPI operations are |
| used (equal length buffers). It may need to be slightly deeper where the |
| spi buffer sets for transmit/receive are not always matched equally in |
| length as these are transformed into normal transceives. |
| |
| config SPI_MAX32_RTIO_CQ_SIZE |
| int "Number of available completion queue entries" |
| default 8 # Sensible default that covers most common spi transactions |
| |
| endif # SPI_MAX32_RTIO |
| |
| endif # SPI_MAX32 |