linux_dsm_epyc7002/drivers/nfc/st21nfcb
Christophe Ricard 8ae01f7967 NFC: st21nfcb: Add support for secure element
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 & 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 <christophe-h.ricard@st.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2015-02-02 21:50:40 +01:00
..
i2c.c NFC: st21nfcb: Fix "NULL pointer dereference" possible error 2015-01-26 23:14:34 +01:00
Kconfig
Makefile NFC: st21nfcb: Add support for secure element 2015-02-02 21:50:40 +01:00
ndlc.c NFC: st21nfcb: Avoid use of skb after free 2015-01-26 23:14:33 +01:00
ndlc.h NFC: st21nfcb: Fix improper management of -EREMOTEIO error code. 2014-09-24 02:02:23 +02:00
st21nfcb_se.c NFC: st21nfcb: Add support for secure element 2015-02-02 21:50:40 +01:00
st21nfcb_se.h NFC: st21nfcb: Add support for secure element 2015-02-02 21:50:40 +01:00
st21nfcb.c NFC: st21nfcb: Add support for secure element 2015-02-02 21:50:40 +01:00
st21nfcb.h NFC: st21nfcb: Add support for secure element 2015-02-02 21:50:40 +01:00