#
# Near Field Communication (NFC) devices
#

config SAMSUNG_NFC
	bool "Samsung NFC driver"
	default n
	help
	  Say Y here if you want to build support for NFC (Near field
	  communication) devices.
	  To compile this support as a module, choose M here: the module will
	  be called nfc.

config NFC_PN533
	tristate "NXP PN533 USB driver"
	depends on USB
	help
	  NXP PN533 USB driver.
	  This driver provides support for NFC NXP PN533 devices.

	  Say Y here to compile support for PN533 devices into the
	  kernel or say M to compile it as module (pn533).

config NFC_WILINK
	tristate "Texas Instruments NFC WiLink driver"
	depends on TI_ST && NFC_NCI
	help
	  This enables the NFC driver for Texas Instrument's BT/FM/GPS/NFC
	  combo devices. This makes use of shared transport line discipline
	  core driver to communicate with the NFC core of the combo chip.

	  Say Y here to compile support for Texas Instrument's NFC WiLink driver
	  into the kernel or say M to compile it as module.

config NFC_TRF7970A
	tristate "Texas Instruments TRF7970a NFC driver"
	depends on SPI && NFC_DIGITAL
	help
	  This option enables the NFC driver for Texas Instruments' TRF7970a
	  device. Such device supports 5 different protocols: ISO14443A,
	  ISO14443B, FeLiCa, ISO15693 and ISO18000-3.

	  Say Y here to compile support for TRF7970a into the kernel or
	  say M  to compile it as a module. The module will be called
	  trf7970a.ko.

config NFC_MEI_PHY
	tristate "MEI bus NFC device support"
	depends on INTEL_MEI && NFC_HCI
	help
	  This adds support to use an mei bus nfc device. Select this if you
	  will use an HCI NFC driver for an NFC chip connected behind an
	  Intel's Management Engine chip.

	  If unsure, say N.

config NFC_SIM
	tristate "NFC hardware simulator driver"
	help
	  This driver declares two virtual NFC devices supporting NFC-DEP
	  protocol. An LLCP connection can be established between them and
	  all packets sent from one device is sent back to the other, acting as
	  loopback devices.

	  If unsure, say N.

config NFC_PORT100
	tristate "Sony NFC Port-100 Series USB device support"
	depends on USB
	depends on NFC_DIGITAL
	help
	  This adds support for Sony Port-100 chip based USB devices such as the
	  RC-S380 dongle.

	  If unsure, say N.
config SEC_NFC_I2C
        tristate "SEC NFC driver for I2C interface"
        depends on I2C
        default n
        help
          Say yes if you want System LSI Near Field Communication driver.
          This is for spi connected version. If unsure, say N here.
          To compile this driver as a module, choose m here. The module will
          be called sec-nfc-i2c.

config SEC_NFC
        bool "Samsung NFC driver"
        default n
        help
          SAMSUNG NFC Driver.
          This driver provides support for SAMSUNG NFC products.
          You should select your NFC product and interface.

          Say Y here to compile support for SAMSUNG NFC driver into the
          kernel.

choice
        prompt "SEC NFC Products"
        depends on SEC_NFC
        default SEC_NFC_PRODUCT_N5
config SEC_NFC_PRODUCT_N3
        bool "N3"
config SEC_NFC_PRODUCT_N5
        bool "N5"
endchoice

choice
        prompt "SEC NFC Interface"
        depends on SEC_NFC
        default SEC_NFC_IF_I2C
config SEC_NFC_IF_UART
        bool "UART"
config SEC_NFC_IF_I2C
        bool "I2C"
config SEC_NFC_IF_I2C_GPIO
        bool "I2C-GPIO (S/W-I2C)"
        select I2C_ALGOBIT
endchoice

config SEC_NFC_CLK_REQ
        bool "External clock control (RF clock)"
        depends on SEC_NFC_PRODUCT_N5
        default n
        help
          Driver controls NFC external clock.
          This option should be enabled to control NFC external clock.
          you should select if your NFC device requests exnternal clock.

          Say Y here to compile support for exnternal clock control in the kernel.

config SEC_NFC_USE_8994_BBCLK2
        bool "External clock control from PM8994 (RF clock)"
        depends on SEC_NFC_CLK_REQ
        default n
        help
          Driver controls NFC external clock.
          This option should be enabled to control NFC external clock.
          you should select if your NFC device requests exnternal clock.

          Say Y here to compile support for exnternal clock control in the kernel.

config SEC_NFC_LDO_CONTROL
	bool "SEC NFC LDO CONTROL"
	depends on SEC_NFC
	default n
	help
	  SAMSUNG SEC NFC LDO CONTROL feature.
	  This feature provides support for SAMSUNG NFC products.
	  You should select this feature if your NFC product uses ldo control of i2c.

	  Say Y here to compile support for SEC NFC LDO CONTROL feature into the
	  kernel.

config SEC_NFC_USE_8994_BBCLK2
	bool "SEC NFC CLOCK Controller"
	depends on SEC_NFC
	default n
	help
	  SAMSUNG SEC NFC CLOCK CONTROL feature.
	  This feature provides support for SAMSUNG NFC products.
	  You should select this feature if your NFC product uses ldo control of i2c.

	  Say Y here to compile support for PM clock source.
config NFC_PN547 
	bool "NXP PN547 Controller"
	default n
	help
	  NXP PN547 Near Field Communication controller support.
	  This option enables device driver support for the NFC.
	  It is used by many services. NFC is fully controlled using I2C
	  to communicate the AP chip.

config NFC_PN547_ESE_SUPPORT 
	bool "NXP eSE Controller"
	default n
	help
	  NXP PN547 Near Field Communication controller support.
	  This option enables device driver support for the NFC.
	  It is used by many services. NFC is fully controlled using I2C
	  to communicate the AP chip.

config NFC_PM_BBCLK2 
	bool "NXP clock Controller"
	default n
	help
	  NXP PN547 Near Field Communication controller support.
	  This option enables device driver support for the NFC.
	  It is used by many services. NFC is fully controlled using I2C
	  to communicate the AP chip.

config NFC_PN547_PM8994_CLK_BBCLK2
	bool "NXP PN547 NFC CLOCK Controller"
	depends on NFC_PN547
	default n
	help
	  NXP PN547 Near Field Communication controller support.
	  This option enables device driver support for the NFC.
	  It is used by many services. NFC is fully controlled using I2C
	  to communicate the AP chip.

config ESE_P3
        bool "Oberthur ese driver"
        depends on SPI
        default n
        help
          Oberthur Driver.
          This driver provides support for LSI NXP combined ESE products.
          You should select your NFC product and interface.

config NFC_FELICA
        bool "NFC Felica support driver"
        default n
        help
          N5 driver can support addtional specification for Felica.

config ESE_SECURE
        bool "NXP ese driver"
        depends on SPI
        default n
        help
          NXP eSE Driver.
          This driver provides support for NXP combined ESE products.
          You should select your NFC product and interface.

config ESE_SPI_GPIO_START
        int "NXP ese start num"
        default 0
        help
          NXP eSE Driver.
          This driver provides support for NXP combined ESE products.
          You should select your NFC product and interface.

config ESE_SPI_GPIO_END
        int "NXP ese end num"
        default 0
        help
          NXP eSE Driver.
          This driver provides support for NXP combined ESE products.
          You should select your NFC product and interface.

config ESE_SECURE_SPI_PORT
        int "NXP ese bus num"
        default 0
        help
          NXP eSE Driver.
          This driver provides support for NXP combined ESE products.
          You should select your NFC product and interface.

source "drivers/nfc/pn544/Kconfig"
source "drivers/nfc/microread/Kconfig"
source "drivers/nfc/nfcmrvl/Kconfig"
source "drivers/nfc/st21nfca/Kconfig"
source "drivers/nfc/st21nfcb/Kconfig"

config NFC_NQ
	tristate "Qualcomm NCI based NFC Controller Driver for NQx"
	depends on I2C
	help
	  This enables the NFC driver for NQx based devices.
	  This is for i2c connected version. NCI protocol logic
	  resides in the usermode and it has no other NFC dependencies.
