# SPDX-License-Identifier: GPL-2.0-only
config NFC_ST_NCI
	tristate
	help
	  STMicroelectronics NFC NCI chips core driver. It implements the chipset
	  NCI logic and hooks into the NFC kernel APIs. Physical layers will
	  register against it.

config NFC_ST_NCI_I2C
	tristate "STMicroelectronics ST NCI NFC driver (I2C)"
	depends on NFC_NCI && I2C
	select NFC_ST_NCI
	help
	  This module adds support for an I2C interface to the
	  STMicroelectronics NFC NCI chips family.
	  Select this if your platform is using the i2c bus.

	  If you choose to build a module, it'll be called st-nci_i2c.
	  Say N if unsure.

config NFC_ST_NCI_SPI
	tristate "STMicroelectronics ST NCI NFC driver (SPI)"
	depends on NFC_NCI && SPI
	select NFC_ST_NCI
	help
	  This module adds support for an SPI interface to the
	  STMicroelectronics NFC NCI chips family.
	  Select this if your platform is using the spi bus.

	  If you choose to build a module, it'll be called st-nci_spi.
	  Say N if unsure.
