# Kconfig - Atmel SAM I2S bus driver configuration options
#
# Copyright (c) 2017 Piotr Mienkowski
#
# SPDX-License-Identifier: Apache-2.0
#

menuconfig I2S_SAM_SSC
	bool "Atmel SAM MCU family I2S (SSC) Bus Driver"
	depends on SOC_FAMILY_SAM
	select DMA
	default n
	help
	  Enable Inter Sound (I2S) bus driver for Atmel SAM MCU family based on
	  Synchronous Serial Controller (SSC) module.

if I2S_SAM_SSC

config I2S_SAM_SSC_RX_BLOCK_COUNT
	int "RX queue length"
	default 4

config I2S_SAM_SSC_TX_BLOCK_COUNT
	int "TX queue length"
	default 4

config I2S_SAM_SSC_0_NAME
	string "I2S 0 device name"
	default "I2S_0"

config I2S_SAM_SSC_0_IRQ_PRI
	int "Interrupt priority"
	default 0

config I2S_SAM_SSC_DMA_NAME
	string "DMA device name"
	default "DMA_0"
	help
	  Name of the DMA device this device driver can use.

config I2S_SAM_SSC_0_DMA_RX_CHANNEL
	int "DMA RX channel"
	help
	  DMA channel number to use for RX transfers.

config I2S_SAM_SSC_0_DMA_TX_CHANNEL
	int "DMA TX channel"
	help
	  DMA channel number to use for TX transfers.

choice I2S_SAM_SSC_0_PIN_TD_SELECT
	prompt "TD pin"
	depends on SOC_SERIES_SAME70

	config I2S_SAM_SSC_0_PIN_TD_PB5
		bool "PB5"

	config I2S_SAM_SSC_0_PIN_TD_PD10
		bool "PD10"

	config I2S_SAM_SSC_0_PIN_TD_PD26
		bool "PD26"

endchoice # I2S_SAM_SSC_0_PIN_TD_SELECT

config I2S_SAM_SSC_0_PIN_RF_EN
	bool "RF pin enabled"
	default y
	help
	  If enabled RF signal is connected to RF pin. It will be configured as
	  an output or an input depending on whether the receiver is working
	  in master or slave mode.

	  If disabled RF signal is disconnected from RF pin and connected
	  internally to TF (Transmitter Frame Synchro signal).

config I2S_SAM_SSC_0_PIN_RK_EN
	bool "RK pin enabled"
	default y
	help
	  If enabled RK signal is connected to RK pin. It will be configured as
	  an output or an input depending on whether the receiver is working
	  in master or slave mode.

	  If disabled RK signal is disconnected from RK pin and connected
	  internally to TK (Transmitter Clock signal).

endif # I2S_SAM_SSC
