<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/nfc, branch v3.13-rc1</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>NFC: port100: Add target mode support</title>
<updated>2013-10-07T12:11:20+00:00</updated>
<author>
<name>Thierry Escande</name>
<email>thierry.escande@linux.intel.com</email>
</author>
<published>2013-10-04T10:12:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7227c0216d2f879d548e8028dc0298a6156ae633'/>
<id>7227c0216d2f879d548e8028dc0298a6156ae633</id>
<content type='text'>
This implements the target NFC digital operations tg_configure_hw(),
tg_listen(), tg_listen_mdaa(), and tg_send_cmd().

The target mode supports NFC-A technology at 106kbits/s and NFC-F
technologies at 212 and 424kbits/s.

Signed-off-by: Thierry Escande &lt;thierry.escande@linux.intel.com&gt;
Cc: Stephen Tiedemann &lt;stephen.tiedemann@gmail.com&gt;
Tested-by: Cho, Yu-Chen &lt;acho@suse.com&gt;
Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This implements the target NFC digital operations tg_configure_hw(),
tg_listen(), tg_listen_mdaa(), and tg_send_cmd().

The target mode supports NFC-A technology at 106kbits/s and NFC-F
technologies at 212 and 424kbits/s.

Signed-off-by: Thierry Escande &lt;thierry.escande@linux.intel.com&gt;
Cc: Stephen Tiedemann &lt;stephen.tiedemann@gmail.com&gt;
Tested-by: Cho, Yu-Chen &lt;acho@suse.com&gt;
Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>NFC: port100: Add initiator mode support</title>
<updated>2013-10-07T12:11:14+00:00</updated>
<author>
<name>Thierry Escande</name>
<email>thierry.escande@linux.intel.com</email>
</author>
<published>2013-10-04T10:12:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=9f7b57f28cb7513d3245e74cd7536304306d1cc0'/>
<id>9f7b57f28cb7513d3245e74cd7536304306d1cc0</id>
<content type='text'>
This patch implements the initiator NFC operations in_configure_hw()
and in_send_cmd(). It also implements the switch_rf() operation.

The initiator mode supports NFC-A technology at 106kbits/s and NFC-F
technologies at 212 and 424kbits/s.

Signed-off-by: Thierry Escande &lt;thierry.escande@linux.intel.com&gt;
Cc: Stephen Tiedemann &lt;stephen.tiedemann@gmail.com&gt;
Tested-by: Cho, Yu-Chen &lt;acho@suse.com&gt;
Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch implements the initiator NFC operations in_configure_hw()
and in_send_cmd(). It also implements the switch_rf() operation.

The initiator mode supports NFC-A technology at 106kbits/s and NFC-F
technologies at 212 and 424kbits/s.

Signed-off-by: Thierry Escande &lt;thierry.escande@linux.intel.com&gt;
Cc: Stephen Tiedemann &lt;stephen.tiedemann@gmail.com&gt;
Tested-by: Cho, Yu-Chen &lt;acho@suse.com&gt;
Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>NFC: port100: Commands mechanism implementation</title>
<updated>2013-10-07T12:10:52+00:00</updated>
<author>
<name>Thierry Escande</name>
<email>thierry.escande@linux.intel.com</email>
</author>
<published>2013-10-04T10:12:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=0347a6ab300a1532c298823408d6e51ccf4e4f45'/>
<id>0347a6ab300a1532c298823408d6e51ccf4e4f45</id>
<content type='text'>
This patch implements the command handling mechanism. The digital stack
serializes all commands sent to the driver. This means that the digital
stack waits for the reply of the current command before sending a new
one. So there is no command queue managed at driver level.

All Port-100 commands are asynchronous. If the command has been sent
successfully to the device, it replies with an ACK frame. Then the
command response is received (or actually no-response in case of
timeout or error) and a command complete work on the system workqueue
is responsible for sending the response (or the error) back to the
digital stack.

The digital stack requires some commands to be synchronous, mainly
hardware configuration ones. These commands use the asynchronous
command path but are made synchronous by using a completion object.

Signed-off-by: Thierry Escande &lt;thierry.escande@linux.intel.com&gt;
Cc: Stephen Tiedemann &lt;stephen.tiedemann@gmail.com&gt;
Tested-by: Cho, Yu-Chen &lt;acho@suse.com&gt;
Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch implements the command handling mechanism. The digital stack
serializes all commands sent to the driver. This means that the digital
stack waits for the reply of the current command before sending a new
one. So there is no command queue managed at driver level.

All Port-100 commands are asynchronous. If the command has been sent
successfully to the device, it replies with an ACK frame. Then the
command response is received (or actually no-response in case of
timeout or error) and a command complete work on the system workqueue
is responsible for sending the response (or the error) back to the
digital stack.

The digital stack requires some commands to be synchronous, mainly
hardware configuration ones. These commands use the asynchronous
command path but are made synchronous by using a completion object.

Signed-off-by: Thierry Escande &lt;thierry.escande@linux.intel.com&gt;
Cc: Stephen Tiedemann &lt;stephen.tiedemann@gmail.com&gt;
Tested-by: Cho, Yu-Chen &lt;acho@suse.com&gt;
Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>NFC: Sony Port-100 Series driver</title>
<updated>2013-10-07T12:09:33+00:00</updated>
<author>
<name>Thierry Escande</name>
<email>thierry.escande@linux.intel.com</email>
</author>
<published>2013-10-04T10:12:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=562d4d59b8a1d5f3ca75115d6ac10c7b7bc68c06'/>
<id>562d4d59b8a1d5f3ca75115d6ac10c7b7bc68c06</id>
<content type='text'>
This adds support for the Sony NFC USB dongle RC-S380, based on the
Port-100 chip. This dongle is an analog frontend and does not implement
the digital layer. This driver uses the nfc_digital module which is an
implementation of the NFC Digital Protocol stack.

This patch is a skeleton. It only registers the dongle against the NFC
digital protocol stack. All NFC digital operation functions are stubbed
out.

Signed-off-by: Thierry Escande &lt;thierry.escande@linux.intel.com&gt;
Cc: Stephen Tiedemann &lt;stephen.tiedemann@gmail.com&gt;
Tested-by: Cho, Yu-Chen &lt;acho@suse.com&gt;
Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds support for the Sony NFC USB dongle RC-S380, based on the
Port-100 chip. This dongle is an analog frontend and does not implement
the digital layer. This driver uses the nfc_digital module which is an
implementation of the NFC Digital Protocol stack.

This patch is a skeleton. It only registers the dongle against the NFC
digital protocol stack. All NFC digital operation functions are stubbed
out.

Signed-off-by: Thierry Escande &lt;thierry.escande@linux.intel.com&gt;
Cc: Stephen Tiedemann &lt;stephen.tiedemann@gmail.com&gt;
Tested-by: Cho, Yu-Chen &lt;acho@suse.com&gt;
Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>NFC: pn533: Target mode Tx fragmentation support</title>
<updated>2013-09-25T14:02:24+00:00</updated>
<author>
<name>Olivier Guiter</name>
<email>olivier.guiter@linux.intel.com</email>
</author>
<published>2013-09-23T10:24:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=93ad42020c2d3fb4a277cc04c014e1ea0d8b0850'/>
<id>93ad42020c2d3fb4a277cc04c014e1ea0d8b0850</id>
<content type='text'>
In target mode, when we want to send frames larger than the max length
(PN533_CMD_DATAEXCH_DATA_MAXLEN), we have to split the frame in smaller
chunks and send them, using a specific working queue, with the TgSetMetaData
command. TgSetMetaData sets his own MI bit in the PFB.
The last chunk is sent using the TgSetData command.

Signed-off-by: Olivier Guiter &lt;olivier.guiter@linux.intel.com&gt;
Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In target mode, when we want to send frames larger than the max length
(PN533_CMD_DATAEXCH_DATA_MAXLEN), we have to split the frame in smaller
chunks and send them, using a specific working queue, with the TgSetMetaData
command. TgSetMetaData sets his own MI bit in the PFB.
The last chunk is sent using the TgSetData command.

Signed-off-by: Olivier Guiter &lt;olivier.guiter@linux.intel.com&gt;
Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>NFC: pn533: Add support for incoming fragmented frame in target mode</title>
<updated>2013-09-25T14:01:41+00:00</updated>
<author>
<name>Olivier Guiter</name>
<email>olivier.guiter@linux.intel.com</email>
</author>
<published>2013-09-23T10:24:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=3c13b244de968d88659b5aece0c0c4a6b97f220e'/>
<id>3c13b244de968d88659b5aece0c0c4a6b97f220e</id>
<content type='text'>
This code processes, for Target Mode, incoming fragmented frames.
If the MI bit is present, we start a working queue to grab and aggregate
all the parts (using TmGetData between each parts). On the last one, as
there's no more MI bit, we jump on the usual behavior.

Signed-off-by: Olivier Guiter &lt;olivier.guiter@linux.intel.com&gt;
Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This code processes, for Target Mode, incoming fragmented frames.
If the MI bit is present, we start a working queue to grab and aggregate
all the parts (using TmGetData between each parts). On the last one, as
there's no more MI bit, we jump on the usual behavior.

Signed-off-by: Olivier Guiter &lt;olivier.guiter@linux.intel.com&gt;
Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>NFC: pn533: Add MI/TG bits only when in Initiator mode</title>
<updated>2013-09-25T14:01:03+00:00</updated>
<author>
<name>Olivier Guiter</name>
<email>olivier.guiter@linux.intel.com</email>
</author>
<published>2013-09-23T10:24:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=22953f9329ebf5cc81cefe250a079600145388b3'/>
<id>22953f9329ebf5cc81cefe250a079600145388b3</id>
<content type='text'>
The fragmentation routine (used to split big frames) could be used in
target or initiator mode (TgSetMetaData vs InDataExchange), but the
MI/TG bytes are not needed in target mode (TgSetMetaData), so we
add a check on the mode

Signed-off-by: Olivier Guiter &lt;olivier.guiter@linux.intel.com&gt;
Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The fragmentation routine (used to split big frames) could be used in
target or initiator mode (TgSetMetaData vs InDataExchange), but the
MI/TG bytes are not needed in target mode (TgSetMetaData), so we
add a check on the mode

Signed-off-by: Olivier Guiter &lt;olivier.guiter@linux.intel.com&gt;
Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>NFC: pn533: Staticize local symbols</title>
<updated>2013-09-25T00:02:39+00:00</updated>
<author>
<name>Sachin Kamat</name>
<email>sachin.kamat@linaro.org</email>
</author>
<published>2013-09-20T09:00:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e44666b98111e64efae974c3e91357d991dba0ca'/>
<id>e44666b98111e64efae974c3e91357d991dba0ca</id>
<content type='text'>
Local symbols used only in this file are made static.

Signed-off-by: Sachin Kamat &lt;sachin.kamat@linaro.org&gt;
Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Local symbols used only in this file are made static.

Signed-off-by: Sachin Kamat &lt;sachin.kamat@linaro.org&gt;
Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>NFC: nfcwilink: Remove redundant dev_set_drvdata</title>
<updated>2013-09-25T00:02:37+00:00</updated>
<author>
<name>Sachin Kamat</name>
<email>sachin.kamat@linaro.org</email>
</author>
<published>2013-09-20T09:00:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4b7449cdf4280298d65afd4921b5030fc93a19a1'/>
<id>4b7449cdf4280298d65afd4921b5030fc93a19a1</id>
<content type='text'>
Driver core sets driver data to NULL upon failure or remove.

Cc: Ilan Elias &lt;ilane@ti.com&gt;
Signed-off-by: Sachin Kamat &lt;sachin.kamat@linaro.org&gt;
Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Driver core sets driver data to NULL upon failure or remove.

Cc: Ilan Elias &lt;ilane@ti.com&gt;
Signed-off-by: Sachin Kamat &lt;sachin.kamat@linaro.org&gt;
Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>NFC: pn533: Start listen timer from start_poll</title>
<updated>2013-09-24T23:35:41+00:00</updated>
<author>
<name>Samuel Ortiz</name>
<email>sameo@linux.intel.com</email>
</author>
<published>2013-08-21T13:12:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=cec4b8edc9c139ef658e2a26aa38a2a4b768aec6'/>
<id>cec4b8edc9c139ef658e2a26aa38a2a4b768aec6</id>
<content type='text'>
If we start the polling loop from a listening cycle, we need to start
the corresponding timer as well.
This bug showed up after commit dfccd0f5 as it was impossible to start
from a listening cycle before it.

Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If we start the polling loop from a listening cycle, we need to start
the corresponding timer as well.
This bug showed up after commit dfccd0f5 as it was impossible to start
from a listening cycle before it.

Signed-off-by: Samuel Ortiz &lt;sameo@linux.intel.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
