<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/nfc, branch v4.0</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v4.0</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v4.0'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2015-02-04T08:15:18Z</updated>
<entry>
<title>NFC: nci: Move NFCEE discovery logic</title>
<updated>2015-02-04T08:15:18Z</updated>
<author>
<name>Christophe Ricard</name>
<email>christophe.ricard@gmail.com</email>
</author>
<published>2015-02-03T18:48:08Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=fa00e8fed457841cb24219dbe3cfba7d56de6317'/>
<id>urn:sha1:fa00e8fed457841cb24219dbe3cfba7d56de6317</id>
<content type='text'>
NFCEE_DISCOVER_CMD is a specified NCI command used to discover
NFCEE IDs.
Move nci_nfcee_discover() call to nci_discover_se() in order to
guarantee:
- NFCEE_DISCOVER_CMD run when the NCI state machine is initialized
- NFCEE_DISCOVER_CMD is not run in case there is not discover_se
  hook defined by a NFC device driver.

Signed-off-by: Christophe Ricard &lt;christophe-h.ricard@st.com&gt;
Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>NFC: nci: Move logical connection structure allocation</title>
<updated>2015-02-04T08:14:09Z</updated>
<author>
<name>Christophe Ricard</name>
<email>christophe.ricard@gmail.com</email>
</author>
<published>2015-02-03T18:48:07Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=15d4a8da0e440faf589a26346c8287e1ed0abe6c'/>
<id>urn:sha1:15d4a8da0e440faf589a26346c8287e1ed0abe6c</id>
<content type='text'>
conn_info is currently allocated only after nfcee_discovery_ntf
which is not generic enough for logical connection other than
NFCEE. The corresponding conn_info is now created in
nci_core_conn_create_rsp().

Signed-off-by: Christophe Ricard &lt;christophe-h.ricard@st.com&gt;
Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>NFC: nci: Support all destinations type when creating a connection</title>
<updated>2015-02-04T08:10:50Z</updated>
<author>
<name>Christophe Ricard</name>
<email>christophe.ricard@gmail.com</email>
</author>
<published>2015-02-03T18:48:05Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=b16ae7160a836c4a1e443ea6efca31421e86bae1'/>
<id>urn:sha1:b16ae7160a836c4a1e443ea6efca31421e86bae1</id>
<content type='text'>
The current implementation limits nci_core_conn_create_req()
to only manage NCI_DESTINATION_NFCEE.
Add new parameters to nci_core_conn_create() to support all
destination types described in the NCI specification.
Because there are some parameters with variable size dynamic
buffer allocation is needed.

Signed-off-by: Christophe Ricard &lt;christophe-h.ricard@st.com&gt;
Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>NFC: st21nfca: Add HCI transaction event support</title>
<updated>2015-02-02T20:50:42Z</updated>
<author>
<name>Christophe Ricard</name>
<email>christophe.ricard@gmail.com</email>
</author>
<published>2015-02-01T21:26:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=26fc6c7f02cb26c39c4733de3dbc3c0646fc1074'/>
<id>urn:sha1:26fc6c7f02cb26c39c4733de3dbc3c0646fc1074</id>
<content type='text'>
The transaction notifies the host (DH) that an action
is required to manage a specific Secure Element application.

Signed-off-by: Christophe Ricard &lt;christophe-h.ricard@st.com&gt;
Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>NFC: st21nfcb: Add HCI transaction event support</title>
<updated>2015-02-02T20:50:42Z</updated>
<author>
<name>Christophe Ricard</name>
<email>christophe.ricard@gmail.com</email>
</author>
<published>2015-02-01T21:26:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=5d1ceb7f5e56aeec0d541a76293ba3de5af78795'/>
<id>urn:sha1:5d1ceb7f5e56aeec0d541a76293ba3de5af78795</id>
<content type='text'>
The transaction notifies the host (DH) that an action
is required to manage a specific Secure Element application.

Signed-off-by: Christophe Ricard &lt;christophe-h.ricard@st.com&gt;
Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>NFC: st21nfcb: Add support for secure element</title>
<updated>2015-02-02T20:50:40Z</updated>
<author>
<name>Christophe Ricard</name>
<email>christophe.ricard@gmail.com</email>
</author>
<published>2015-02-01T21:26:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=8ae01f7967718ac9ed800a99964f88c0c8b07e11'/>
<id>urn:sha1:8ae01f7967718ac9ed800a99964f88c0c8b07e11</id>
<content type='text'>
The st21nfcb chipset has 3 SWP (Single Wire Protocol) lines and
supports up to 3 secure elements (UICC/eSE and µSD in the future).

Some st21nfcb firmware does not support the nci command
nci_nfcee_mode_set(NCI_NFCEE_DISABLE). For this reason, we assume
2 secures elements are always present (UICC and eSE).
They will be added to the SE list once successfully activated and
they will be available only after running through enable_se
handler or when the poll in listen mode is started.

During initialization, the white_list will be always set assuming
both UICC &amp; eSE are present.

On eSE activation, the ATR bytes are fetched to build the command
exchange timeout.

The se_io hook will allow to transfer data over SWP. 2 kind of
events may appear data is sent over:
- ST21NFCB_EVT_TRANSMIT_DATA when receiving an apdu answer
- ST21NFCB_EVT_WTX_REQUEST when the secure element needs more time
  than expected to process a command. If this timeout expires, we
  send a software reset, and then a hardware one if it still fails.

Signed-off-by: Christophe Ricard &lt;christophe-h.ricard@st.com&gt;
Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>NFC: Add ACPI support for NXP PN544</title>
<updated>2015-01-28T00:09:08Z</updated>
<author>
<name>Robert Dolca</name>
<email>robert.dolca@intel.com</email>
</author>
<published>2015-01-26T11:13:37Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=0a5942c8e1480db4b8ee7a8d643e4945ef2f8fed'/>
<id>urn:sha1:0a5942c8e1480db4b8ee7a8d643e4945ef2f8fed</id>
<content type='text'>
Currently there is no support for ACPI.
This patch uses the following configuration:
	- Device id: NXP5440
	- Pin mapping:
		- 0 IRQ pin
		- 1 enable pin
		- 2 firmware pin

Signed-off-by: Robert Dolca &lt;robert.dolca@intel.com&gt;
Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>NFC: PN544: GPIO access that may sleep</title>
<updated>2015-01-27T23:16:23Z</updated>
<author>
<name>Robert Dolca</name>
<email>robert.dolca@intel.com</email>
</author>
<published>2015-01-26T11:13:36Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=75dda421a31dc614b8b6502cafd3825e2c72ccf0'/>
<id>urn:sha1:75dda421a31dc614b8b6502cafd3825e2c72ccf0</id>
<content type='text'>
gpio_set_value was replaced with gpio_set_value_cansleep in order
to allow GPIO access that may sleep. This is particularelly useful
when GPIO is accessed using busses like I2C, SPI, USB

Signed-off-by: Robert Dolca &lt;robert.dolca@intel.com&gt;
Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>NFC: st21nfca: Adding support for secure element</title>
<updated>2015-01-27T23:03:36Z</updated>
<author>
<name>Christophe Ricard</name>
<email>christophe.ricard@gmail.com</email>
</author>
<published>2015-01-27T00:18:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=2130fb97fecf9a51bb4a21da220cff3f72496a94'/>
<id>urn:sha1:2130fb97fecf9a51bb4a21da220cff3f72496a94</id>
<content type='text'>
st21nfca has 1 physical SWP line and can support up to 2 secure elements
(UICC &amp; eSE) thanks to an external switch managed with a gpio.

The platform integrator needs to specify thanks to 2 initialization
properties, uicc-present and ese-present, if it is suppose to have uicc
and/or ese. Of course if the platform does not have an external switch,
only one kind of secure element can be supported. Those parameters are
under platform integrator responsibilities.

During initialization, the white_list will be set according to those
parameters.

The discovery_se function will assume a secure element is physically
present according to uicc-present and ese-present values and will add it
to the secure element list. On ese activation, the atr is retrieved to
calculate a command exchange timeout based on the first atr(TB) value.

The se_io will allow to transfer data over SWP. 2 kind of events may appear
after a data is sent over:
- ST21NFCA_EVT_TRANSMIT_DATA when receiving an apdu answer
- ST21NFCA_EVT_WTX_REQUEST when the secure element needs more time than
expected to compute a command. If this timeout expired, a first recovery
tentative consist to send a simple software reset proprietary command.
If this tentative still fail, a second recovery tentative consist to send
a hardware reset proprietary command.
This function is only relevant for eSE like secure element.

This patch also change the way a pipe is referenced. There can be
different pipe connected to the same gate with different host destination
(ex: CONNECTIVITY). In order to keep host information every pipe are
reference with a tuple (gate, host). In order to reduce changes, we are
keeping unchanged the way a gate is addressed on the Terminal Host.
However, this is working because we consider the apdu reader gate is only
present on the eSE slot also the connectivity gate cannot give a reliable
value; it will give the latest stored pipe value.

Signed-off-by: Christophe Ricard &lt;christophe-h.ricard@st.com&gt;
Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>NFC: microread: Change event_received gate parameter to pipe</title>
<updated>2015-01-27T23:03:35Z</updated>
<author>
<name>Christophe Ricard</name>
<email>christophe.ricard@gmail.com</email>
</author>
<published>2015-01-27T00:18:17Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d6365c018b3f9e12eeb262407ccf5b143bcc6bad'/>
<id>urn:sha1:d6365c018b3f9e12eeb262407ccf5b143bcc6bad</id>
<content type='text'>
The below event_received hci handler has change the gate parameter to pipe.

Signed-off-by: Christophe Ricard &lt;christophe-h.ricard@st.com&gt;
</content>
</entry>
</feed>
