#
# Copyright (c) 2021, NXP
#
# SPDX-License-Identifier: Apache-2.0
#

mainmenu "I2S Speed Test"

source "Kconfig.zephyr"

config I2S_TEST_SEPARATE_DEVICES
	bool "Use two separate I2S ports for loopback"
	help
	  Use separate I2S ports for transmit and receive.

config I2S_TEST_USE_I2S_DIR_BOTH
	bool "Use I2S_DIR_BOTH value to perform RX/TX transfers"
	default y if DT_HAS_NORDIC_NRF_I2S_ENABLED || DT_HAS_NORDIC_NRF_TDM_ENABLED
	help
	  Use the I2S_DIR_BOTH enumeration value to trigger commands in test
	  cases involving both reception and transmission. Use of this option
	  is essential for devices that cannot independently start and stop
	  the RX and TX streams.

config I2S_TEST_USE_GPIO_LOOPBACK
	bool "Use GPIO loopback"
	default y if DT_HAS_NORDIC_NRF_I2S_ENABLED || DT_HAS_NORDIC_NRF_TDM_ENABLED
	help
	  Use wiring between the data-out and data-in pins for looping back
	  data. This option is intended to be used for devices that do not
	  provide the internal loopback functionality.

config I2S_TEST_ALLOWED_DATA_OFFSET
	int "Allowed offset in received data"
	default 2 if DT_HAS_NORDIC_NRF_I2S_ENABLED || DT_HAS_NORDIC_NRF_TDM_ENABLED
	default 0
	help
	  Maximum allowed offset between sent and received samples. Non-zero
	  value of this option may be needed when GPIO loopback is used.

config I2S_TEST_SKIP_SAMPLERATE_8000
	bool "Skip short transfer tests at 8000 samples per second"
	help
	  When set to 'y', short transfer tests at 8000 samples per second
	  will be skipped.

config I2S_TEST_SKIP_SAMPLERATE_16000
	bool "Skip short transfer tests at 16000 samples per second"
	help
	  When set to 'y', short transfer tests at 16000 samples per second
	  will be skipped.

config I2S_TEST_SKIP_SAMPLERATE_32000
	bool "Skip short transfer tests at 32000 samples per second"
	help
	  When set to 'y', short transfer tests at 32000 samples per second
	  will be skipped.

config I2S_TEST_SKIP_SAMPLERATE_44100
	bool "Skip short transfer tests at 44100 samples per second"
	help
	  When set to 'y', short transfer tests at 44100 samples per second
	  will be skipped.

config I2S_TEST_SKIP_SAMPLERATE_48000
	bool "Skip short transfer tests at 48000 samples per second"
	help
	  When set to 'y', short transfer tests at 48000 samples per second
	  will be skipped.

config I2S_TEST_SKIP_SAMPLERATE_88200
	bool "Skip short transfer tests at 88200 samples per second"
	help
	  When set to 'y', short transfer tests at 88200 samples per second
	  will be skipped.

config I2S_TEST_SKIP_SAMPLERATE_96000
	bool "Skip short transfer tests at 96000 samples per second"
	help
	  When set to 'y', short transfer tests at 96000 samples per second
	  will be skipped.
