NFC: digital: Add support for NFC DEP Response Waiting Time
authorThierry Escande <thierry.escande@collabora.com>
Fri, 8 Jul 2016 13:52:45 +0000 (15:52 +0200)
committerSamuel Ortiz <sameo@linux.intel.com>
Mon, 11 Jul 2016 00:01:14 +0000 (02:01 +0200)
commit1a09c56f545c8ff8d338a38c7c40d79f4165a94c
treeb9324ff10a1ecd1432449a18c3aeba9de7b5c330
parente200f008ace69eebac0a1432dc9e24ab5cd0d029
NFC: digital: Add support for NFC DEP Response Waiting Time

When sending an ATR_REQ, the initiator must wait for the ATR_RES at
least 'RWT(nfcdep,activation) + dRWT(nfcdep)' and no more than
'RWT(nfcdep,activation) + dRWT(nfcdep) + dT(nfcdep,initiator)'. This
gives a timeout value between 1237 ms and 1337 ms. This patch defines
DIGITAL_ATR_RES_RWT to 1337 used for the timeout value of ATR_REQ
command.

For other DEP PDUs, the initiator must wait between 'RWT + dRWT(nfcdep)'
and 'RWT + dRWT(nfcdep) + dT(nfcdep,initiator)' where RWT is given by
the following formula: '(256 * 16 / f(c)) * 2^wt' where wt is the value
of the TO field in the ATR_RES response and is in the range between 0
and 14. This patch declares a mapping table for wt values and gives RWT
max values between 100 ms and 5049 ms.

This patch also defines DIGITAL_ATR_RES_TO_WT, the maximum wt value in
target mode, to 8.

Signed-off-by: Thierry Escande <thierry.escande@collabora.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
include/net/nfc/digital.h
net/nfc/digital_dep.c