#
# CAIF physical drivers
#

comment "CAIF transport drivers"

config CAIF_TTY
	tristate "CAIF TTY transport driver"
	depends on CAIF && TTY
	default n
	---help---
	The CAIF TTY transport driver is a Line Discipline (ldisc)
	identified as N_CAIF. When this ldisc is opened from user space
	it will redirect the TTY's traffic into the CAIF stack.

config CAIF_SPI_SLAVE
	tristate "CAIF SPI transport driver for slave interface"
	depends on CAIF && HAS_DMA
	default n
	---help---
	The CAIF Link layer SPI Protocol driver for Slave SPI interface.
	This driver implements a platform driver to accommodate for a
	platform specific SPI device. A sample CAIF SPI Platform device is
	provided in Documentation/networking/caif/spi_porting.txt

config CAIF_SPI_SYNC
	bool "Next command and length in start of frame"
	depends on CAIF_SPI_SLAVE
	default n
	---help---
	Putting the next command and length in the start of the frame can
	help to synchronize to the next transfer in case of over or under-runs.
	This option also needs to be enabled on the modem.

config CAIF_SHM
	tristate "CAIF shared memory protocol driver"
	depends on CAIF && U5500_MBOX
	default n
	---help---
	The CAIF shared memory protocol driver for the STE UX5500 platform.

config CAIF_HSI
       tristate "CAIF HSI transport driver"
       depends on CAIF
       default n
       ---help---
       The caif low level driver for CAIF over HSI.
       Be aware that if you enable this then you also need to
       enable a low-level HSI driver.
