NFC: st21nfca: Add support for proprietary commands
authorChristophe Ricard <christophe.ricard@gmail.com>
Mon, 26 Oct 2015 06:50:11 +0000 (07:50 +0100)
committerSamuel Ortiz <sameo@linux.intel.com>
Tue, 27 Oct 2015 03:00:24 +0000 (04:00 +0100)
commit15d17170b4e44c5768c3d32b093cd393c4dbc158
tree7c519cbd3b933c2eb2841a4e7d23f7b5c968b5e0
parent2b6e5bfed0288524fca1376eb89856363cb8c55e
NFC: st21nfca: Add support for proprietary commands

Add support for proprietary commands useful mainly
for factory testings.

Here is a list:

- FACTORY_MODE: Allow to set the driver into a mode where no
  secure element are activated. It does not consider any
  NFC_ATTR_VENDOR_DATA.
- HCI_CLEAR_ALL_PIPES: Allow to execute a HCI clear all pipes
  command. It does not consider any NFC_ATTR_VENDOR_DATA.
- HCI_DM_PUT_DATA: Allow to configure specific CLF registry as
  for example RF trimmings or low level drivers configurations
  (I2C, SPI, SWP).
- HCI_DM_UPDATE_AID: Allow to configure an AID routing into the
  CLF routing table following RF technology, CLF mode or protocol.
- HCI_DM_GET_INFO: Allow to retrieve CLF information.
- HCI_DM_GET_DATA: Allow to retrieve CLF configurable data such as
  low level drivers configurations or RF trimmings.
- HCI_DM_LOAD: Allow to load a firmware into the CLF. A complete
  packet can be more than 8KB.
- HCI_DM_RESET: Allow to run a CLF reset in order to "commit" CLF
  configuration changes without CLF power off.
- HCI_GET_PARAM: Allow to retrieve an HCI CLF parameter (for example
  the white list).
- HCI_DM_FIELD_GENERATOR: Allow to generate different kind of RF
  technology. When using this command to anti-collision is done.
- HCI_LOOPBACK: Allow to echo a command and test the Dh to CLF
  connectivity.

Signed-off-by: Christophe Ricard <christophe-h.ricard@st.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
drivers/nfc/st21nfca/Makefile
drivers/nfc/st21nfca/core.c
drivers/nfc/st21nfca/se.c
drivers/nfc/st21nfca/st21nfca.h
drivers/nfc/st21nfca/vendor_cmds.c [new file with mode: 0644]
net/nfc/hci/llc.c