xref: /linux/Documentation/driver-api/nfc/nfc-pn544.rst (revision e253d2c551ce876a374d533fbcc9e8f31142dcad)
1*e253d2c5SMauro Carvalho Chehab============================================================================
2*e253d2c5SMauro Carvalho ChehabKernel driver for the NXP Semiconductors PN544 Near Field Communication chip
3*e253d2c5SMauro Carvalho Chehab============================================================================
4*e253d2c5SMauro Carvalho Chehab
5*e253d2c5SMauro Carvalho Chehab
6*e253d2c5SMauro Carvalho ChehabGeneral
7*e253d2c5SMauro Carvalho Chehab-------
8*e253d2c5SMauro Carvalho Chehab
9*e253d2c5SMauro Carvalho ChehabThe PN544 is an integrated transmission module for contactless
10*e253d2c5SMauro Carvalho Chehabcommunication. The driver goes under drives/nfc/ and is compiled as a
11*e253d2c5SMauro Carvalho Chehabmodule named "pn544".
12*e253d2c5SMauro Carvalho Chehab
13*e253d2c5SMauro Carvalho ChehabHost Interfaces: I2C, SPI and HSU, this driver supports currently only I2C.
14*e253d2c5SMauro Carvalho Chehab
15*e253d2c5SMauro Carvalho ChehabProtocols
16*e253d2c5SMauro Carvalho Chehab---------
17*e253d2c5SMauro Carvalho Chehab
18*e253d2c5SMauro Carvalho ChehabIn the normal (HCI) mode and in the firmware update mode read and
19*e253d2c5SMauro Carvalho Chehabwrite functions behave a bit differently because the message formats
20*e253d2c5SMauro Carvalho Chehabor the protocols are different.
21*e253d2c5SMauro Carvalho Chehab
22*e253d2c5SMauro Carvalho ChehabIn the normal (HCI) mode the protocol used is derived from the ETSI
23*e253d2c5SMauro Carvalho ChehabHCI specification. The firmware is updated using a specific protocol,
24*e253d2c5SMauro Carvalho Chehabwhich is different from HCI.
25*e253d2c5SMauro Carvalho Chehab
26*e253d2c5SMauro Carvalho ChehabHCI messages consist of an eight bit header and the message body. The
27*e253d2c5SMauro Carvalho Chehabheader contains the message length. Maximum size for an HCI message is
28*e253d2c5SMauro Carvalho Chehab33. In HCI mode sent messages are tested for a correct
29*e253d2c5SMauro Carvalho Chehabchecksum. Firmware update messages have the length in the second (MSB)
30*e253d2c5SMauro Carvalho Chehaband third (LSB) bytes of the message. The maximum FW message length is
31*e253d2c5SMauro Carvalho Chehab1024 bytes.
32*e253d2c5SMauro Carvalho Chehab
33*e253d2c5SMauro Carvalho ChehabFor the ETSI HCI specification see
34*e253d2c5SMauro Carvalho Chehabhttp://www.etsi.org/WebSite/Technologies/ProtocolSpecification.aspx
35