diff options
author | Vincent Cuissard <cuissard@marvell.com> | 2014-07-22 13:48:38 -0400 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2014-09-01 08:40:31 -0400 |
commit | cfdbeeafdbbdbc006f700e92cbad2cb5d4529f3d (patch) | |
tree | ecf3fc7d4cf0203573369febdedd3baced9a1593 /include/net/nfc | |
parent | f23b73526b82ca2ef333362e704a51d817c1ffc1 (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/nfc')
-rw-r--r-- | include/net/nfc/nci.h | 16 |
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 | ||
333 | struct rf_tech_specific_params_nfcv_poll { | ||
334 | __u8 res_flags; | ||
335 | __u8 dsfid; | ||
336 | __u8 uid[8]; /* 8 Bytes */ | ||
337 | } __packed; | ||
338 | |||
331 | struct nci_rf_discover_ntf { | 339 | struct 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; |