# MSPI driver configuration options

# Copyright (c) 2024 Ambiq Micro Inc. <www.ambiq.com>
# SPDX-License-Identifier: Apache-2.0

#
# MSPI Drivers
#
menuconfig MSPI
	bool "Multi-bit Serial Peripheral Interface (MSPI) bus drivers"
	help
	  Enable support for the MSPI hardware bus.

if MSPI

config MSPI_ASYNC
	bool "Asynchronous call support"
	select POLL
	help
	  This option enables the asynchronous API calls.

config MSPI_PERIPHERAL
	bool "Peripheral support"
	help
	  Enables Driver MSPI peripheral mode operations. Peripheral mode
	  support depends on the driver and the hardware it runs on.

config MSPI_INIT_PRIORITY
	int "Init priority"
	default 70
	help
	  Device driver initialization priority.

config MSPI_COMPLETION_TIMEOUT_TOLERANCE
	int "Completion timeout tolerance (ms)"
	default 200
	help
	  The tolerance value in ms for the MSPI completion timeout logic.

config MSPI_XIP
	bool "XIP eXecute In Place"
	help
	  Describes controller hardware XIP capability and
	  enables mspi_xip_config calls in device drivers.

config MSPI_SCRAMBLE
	bool "Scrambling support"
	help
	  Describes controller hardware scrambling capability and
	  enables mspi_scramble_config calls in device drivers.

config MSPI_TIMING
	bool "Timing support"
	help
	  Enables mspi_timing_config calls in device drivers for those
	  controllers that need this to proper function at high frequencies.

config MSPI_DMA
	bool "DMA support"
	help
	  Enables DMA capabilities, depending on the driver and hardware it
	  runs on.

module = MSPI
module-str = mspi
source "subsys/logging/Kconfig.template.log_config"

source "drivers/mspi/Kconfig.ambiq"
source "drivers/mspi/Kconfig.dw"
source "drivers/mspi/Kconfig.mspi_emul"

endif # MSPI
