aboutsummaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
authorVincent Cuissard <cuissard@marvell.com>2014-07-22 13:48:38 -0400
committerSamuel Ortiz <sameo@linux.intel.com>2014-09-01 08:40:31 -0400
commitcfdbeeafdbbdbc006f700e92cbad2cb5d4529f3d (patch)
treeecf3fc7d4cf0203573369febdedd3baced9a1593 /include/net
parentf23b73526b82ca2ef333362e704a51d817c1ffc1 (diff)
NFC: NCI: Add support of ISO15693
Update nci.h to respect latest NCI specification proposal (stop using proprietary opcodes). Handle ISO15693 parameters in NCI_RF_ACTIVATED_NTF handler. Signed-off-by: Vincent Cuissard <cuissard@marvell.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'include/net')
-rw-r--r--include/net/nfc/nci.h16
1 files changed, 13 insertions, 3 deletions
diff --git a/include/net/nfc/nci.h b/include/net/nfc/nci.h
index fbfa4e471abb..9eca9ae2280c 100644
--- a/include/net/nfc/nci.h
+++ b/include/net/nfc/nci.h
@@ -2,6 +2,7 @@
2 * The NFC Controller Interface is the communication protocol between an 2 * The NFC Controller Interface is the communication protocol between an
3 * NFC Controller (NFCC) and a Device Host (DH). 3 * NFC Controller (NFCC) and a Device Host (DH).
4 * 4 *
5 * Copyright (C) 2014 Marvell International Ltd.
5 * Copyright (C) 2011 Texas Instruments, Inc. 6 * Copyright (C) 2011 Texas Instruments, Inc.
6 * 7 *
7 * Written by Ilan Elias <ilane@ti.com> 8 * Written by Ilan Elias <ilane@ti.com>
@@ -65,19 +66,18 @@
65#define NCI_NFC_F_PASSIVE_POLL_MODE 0x02 66#define NCI_NFC_F_PASSIVE_POLL_MODE 0x02
66#define NCI_NFC_A_ACTIVE_POLL_MODE 0x03 67#define NCI_NFC_A_ACTIVE_POLL_MODE 0x03
67#define NCI_NFC_F_ACTIVE_POLL_MODE 0x05 68#define NCI_NFC_F_ACTIVE_POLL_MODE 0x05
68#define NCI_NFC_15693_PASSIVE_POLL_MODE 0x06 69#define NCI_NFC_V_PASSIVE_POLL_MODE 0x06
69#define NCI_NFC_A_PASSIVE_LISTEN_MODE 0x80 70#define NCI_NFC_A_PASSIVE_LISTEN_MODE 0x80
70#define NCI_NFC_B_PASSIVE_LISTEN_MODE 0x81 71#define NCI_NFC_B_PASSIVE_LISTEN_MODE 0x81
71#define NCI_NFC_F_PASSIVE_LISTEN_MODE 0x82 72#define NCI_NFC_F_PASSIVE_LISTEN_MODE 0x82
72#define NCI_NFC_A_ACTIVE_LISTEN_MODE 0x83 73#define NCI_NFC_A_ACTIVE_LISTEN_MODE 0x83
73#define NCI_NFC_F_ACTIVE_LISTEN_MODE 0x85 74#define NCI_NFC_F_ACTIVE_LISTEN_MODE 0x85
74#define NCI_NFC_15693_PASSIVE_LISTEN_MODE 0x86
75 75
76/* NCI RF Technologies */ 76/* NCI RF Technologies */
77#define NCI_NFC_RF_TECHNOLOGY_A 0x00 77#define NCI_NFC_RF_TECHNOLOGY_A 0x00
78#define NCI_NFC_RF_TECHNOLOGY_B 0x01 78#define NCI_NFC_RF_TECHNOLOGY_B 0x01
79#define NCI_NFC_RF_TECHNOLOGY_F 0x02 79#define NCI_NFC_RF_TECHNOLOGY_F 0x02
80#define NCI_NFC_RF_TECHNOLOGY_15693 0x03 80#define NCI_NFC_RF_TECHNOLOGY_V 0x03
81 81
82/* NCI Bit Rates */ 82/* NCI Bit Rates */
83#define NCI_NFC_BIT_RATE_106 0x00 83#define NCI_NFC_BIT_RATE_106 0x00
@@ -87,6 +87,7 @@
87#define NCI_NFC_BIT_RATE_1695 0x04 87#define NCI_NFC_BIT_RATE_1695 0x04
88#define NCI_NFC_BIT_RATE_3390 0x05 88#define NCI_NFC_BIT_RATE_3390 0x05
89#define NCI_NFC_BIT_RATE_6780 0x06 89#define NCI_NFC_BIT_RATE_6780 0x06
90#define NCI_NFC_BIT_RATE_26 0x20
90 91
91/* NCI RF Protocols */ 92/* NCI RF Protocols */
92#define NCI_RF_PROTOCOL_UNKNOWN 0x00 93#define NCI_RF_PROTOCOL_UNKNOWN 0x00
@@ -95,6 +96,7 @@
95#define NCI_RF_PROTOCOL_T3T 0x03 96#define NCI_RF_PROTOCOL_T3T 0x03
96#define NCI_RF_PROTOCOL_ISO_DEP 0x04 97#define NCI_RF_PROTOCOL_ISO_DEP 0x04
97#define NCI_RF_PROTOCOL_NFC_DEP 0x05 98#define NCI_RF_PROTOCOL_NFC_DEP 0x05
99#define NCI_RF_PROTOCOL_T5T 0x06
98 100
99/* NCI RF Interfaces */ 101/* NCI RF Interfaces */
100#define NCI_RF_INTERFACE_NFCEE_DIRECT 0x00 102#define NCI_RF_INTERFACE_NFCEE_DIRECT 0x00
@@ -328,6 +330,12 @@ struct rf_tech_specific_params_nfcf_poll {
328 __u8 sensf_res[18]; /* 16 or 18 Bytes */ 330 __u8 sensf_res[18]; /* 16 or 18 Bytes */
329} __packed; 331} __packed;
330 332
333struct rf_tech_specific_params_nfcv_poll {
334 __u8 res_flags;
335 __u8 dsfid;
336 __u8 uid[8]; /* 8 Bytes */
337} __packed;
338
331struct nci_rf_discover_ntf { 339struct nci_rf_discover_ntf {
332 __u8 rf_discovery_id; 340 __u8 rf_discovery_id;
333 __u8 rf_protocol; 341 __u8 rf_protocol;
@@ -338,6 +346,7 @@ struct nci_rf_discover_ntf {
338 struct rf_tech_specific_params_nfca_poll nfca_poll; 346 struct rf_tech_specific_params_nfca_poll nfca_poll;
339 struct rf_tech_specific_params_nfcb_poll nfcb_poll; 347 struct rf_tech_specific_params_nfcb_poll nfcb_poll;
340 struct rf_tech_specific_params_nfcf_poll nfcf_poll; 348 struct rf_tech_specific_params_nfcf_poll nfcf_poll;
349 struct rf_tech_specific_params_nfcv_poll nfcv_poll;
341 } rf_tech_specific_params; 350 } rf_tech_specific_params;
342 351
343 __u8 ntf_type; 352 __u8 ntf_type;
@@ -372,6 +381,7 @@ struct nci_rf_intf_activated_ntf {
372 struct rf_tech_specific_params_nfca_poll nfca_poll; 381 struct rf_tech_specific_params_nfca_poll nfca_poll;
373 struct rf_tech_specific_params_nfcb_poll nfcb_poll; 382 struct rf_tech_specific_params_nfcb_poll nfcb_poll;
374 struct rf_tech_specific_params_nfcf_poll nfcf_poll; 383 struct rf_tech_specific_params_nfcf_poll nfcf_poll;
384 struct rf_tech_specific_params_nfcv_poll nfcv_poll;
375 } rf_tech_specific_params; 385 } rf_tech_specific_params;
376 386
377 __u8 data_exch_rf_tech_and_mode; 387 __u8 data_exch_rf_tech_and_mode;