alistair23-linux/drivers/nfc
Christophe Ricard 68957303f4 NFC: ST21NFCA: Add driver for STMicroelectronics ST21NFCA NFC Chip
Add driver for STMicroelectronics ST21NFCA NFC controller.
ST21NFCA is using HCI protocol, shdlc as LLC layer & I2C as
communication protocol.

Adding support for Reader/Writer mode with Tag type 1/2/3/4 A & B.
It is using proprietary gate 15 for ISO14443-3 such as type 1 &
type 2 tags. It is using proprietary gate 14 for type F tags.
ST21NFCA_DEVICE_MGNT_GATE gives access to proprietary CLF configuration.
Standard gate for ISO14443-4 A (13) & B (11) are also used.

ST21NFCA specific mecanism:

One particular point to notice for the data handling is that frame
does not contain any length value. Therefore the i2c part of this driver
is managing the reception with a read length sequence until the end of
frame (0x7e) is reached.

In order to avoid conflict between sof & eof a mecanism
called byte stuffing concist of an escape byte (0x7d) insertion before
special byte (0x7e, 0x7d). The special byte is then xored with 0x20.

In this driver, When data are available in the CLF, the interrupt
gpio is driven to active state and triggered an interrupt.
Once the i2c_master_recv start, the interrupt gpio is driven to idle
state until its complete. If the frame is incomplete or data are still
available, interrupts will be triggered again.

Signed-off-by: Christophe Ricard <christophe-h.ricard@st.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2014-04-22 00:37:25 +02:00
..
microread nfc: Fix FSF address in file headers 2013-12-11 10:56:21 -05:00
nfcmrvl NFC: nfcmrvl: Fix possible memory leak issue 2014-01-09 01:27:20 +01:00
pn544 NFC: pn544: i2c: Support PN544 C3 secure firmware download 2014-02-16 23:49:54 +01:00
st21nfca NFC: ST21NFCA: Add driver for STMicroelectronics ST21NFCA NFC Chip 2014-04-22 00:37:25 +02:00
Kconfig NFC: ST21NFCA: Add driver for STMicroelectronics ST21NFCA NFC Chip 2014-04-22 00:37:25 +02:00
Makefile NFC: ST21NFCA: Add driver for STMicroelectronics ST21NFCA NFC Chip 2014-04-22 00:37:25 +02:00
mei_phy.c NFC: mei_phy: Using kfree_skb() instead of kfree() 2014-01-04 03:32:26 +01:00
mei_phy.h NFC: mei: Add a common mei bus API for NFC drivers 2013-04-16 00:39:31 +02:00
nfcsim.c NFC: Convert nfc_dev_info and nfc_dev_err to nfc_<level> 2013-09-25 01:35:39 +02:00
nfcwilink.c nfc: Fix FSF address in file headers 2013-12-11 10:56:21 -05:00
pn533.c NFC: pn533: Convert to use USB_DEVICE macro 2014-02-23 23:32:18 +01:00
port100.c NFC: port100: Convert to use USB_DEVICE macro 2014-02-23 23:32:18 +01:00
trf7970a.c NFC: trf7970a: Add ISO/IEC 15693 and Type 5 tag Support 2014-03-11 00:47:09 +01:00