# SPDX-License-Identifier: GPL-2.0-only
config NFC_S3FWRN5
	tristate
	select CRYPTO
	select CRYPTO_HASH
	help
	  Core driver for Samsung S3FWRN5 NFC chip. Contains core utilities
	  of chip. It's intended to be used by PHYs to avoid duplicating lots
	  of common code.

config NFC_S3FWRN5_I2C
	tristate "Samsung S3FWRN5 I2C support"
	depends on NFC_NCI && I2C
	select NFC_S3FWRN5
	default n
	help
	  This module adds support for an I2C interface to the S3FWRN5 chip.
	  Select this if your platform is using the I2C bus.

	  To compile this driver as a module, choose m here. The module will
	  be called s3fwrn5_i2c.ko.
	  Say N if unsure.

config NFC_S3FWRN82_UART
        tristate "Samsung S3FWRN82 UART support"
        depends on NFC_NCI && SERIAL_DEV_BUS
        select NFC_S3FWRN5
        help
          This module adds support for a UART interface to the S3FWRN82 chip.
          Select this if your platform is using the UART bus.

          To compile this driver as a module, choose m here. The module will
          be called s3fwrn82_uart.ko.
          Say N if unsure.
