diff options
author | John W. Linville <linville@tuxdriver.com> | 2014-03-17 13:16:50 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2014-03-17 13:16:50 -0400 |
commit | 20d83f2464c0d1e27b24d654aa5495dcc44759c0 (patch) | |
tree | a6c36d9e48920f6d81b7dac9ad6b1f99dfdaf592 /include | |
parent | 5f667642f4b290b04d88d5ca926fba81fed6180d (diff) | |
parent | 29e27dd86b5c4f8e6feb62d7b6a8491539ff1ef1 (diff) |
Merge tag 'nfc-next-3.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/nfc-next
Samuel Ortiz <sameo@linux.intel.com> says:
"NFC: 3.15: First pull request
This is the NFC pull request for 3.15. With this one we have:
- Support for ISO 15693 a.k.a. NFC vicinity a.k.a. Type 5 tags. ISO
15693 are long range (1 - 2 meters) vicinity tags/cards. The kernel
now supports those through the NFC netlink and digital APIs.
- Support for TI's trf7970a chipset. This chipset relies on the NFC
digital layer and the driver currently supports type 2, 4A and 5 tags.
- Support for NXP's pn544 secure firmare download. The pn544 C3 chipsets
relies on a different firmware download protocal than the C2 one. We
now support both and use the right one depending on the version we
detect at runtime.
- Support for 4A tags from the NFC digital layer.
- A bunch of cleanups and minor fixes from Axel Lin and Thierry Escande."
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/net/nfc/digital.h | 7 | ||||
-rw-r--r-- | include/net/nfc/nfc.h | 3 | ||||
-rw-r--r-- | include/uapi/linux/nfc.h | 9 |
3 files changed, 18 insertions, 1 deletions
diff --git a/include/net/nfc/digital.h b/include/net/nfc/digital.h index 81af21e9bcd4..7655cfe27c34 100644 --- a/include/net/nfc/digital.h +++ b/include/net/nfc/digital.h | |||
@@ -35,6 +35,7 @@ enum { | |||
35 | NFC_DIGITAL_RF_TECH_106A = 0, | 35 | NFC_DIGITAL_RF_TECH_106A = 0, |
36 | NFC_DIGITAL_RF_TECH_212F, | 36 | NFC_DIGITAL_RF_TECH_212F, |
37 | NFC_DIGITAL_RF_TECH_424F, | 37 | NFC_DIGITAL_RF_TECH_424F, |
38 | NFC_DIGITAL_RF_TECH_ISO15693, | ||
38 | 39 | ||
39 | NFC_DIGITAL_RF_TECH_LAST, | 40 | NFC_DIGITAL_RF_TECH_LAST, |
40 | }; | 41 | }; |
@@ -50,6 +51,7 @@ enum { | |||
50 | 51 | ||
51 | NFC_DIGITAL_FRAMING_NFCA_T1T, | 52 | NFC_DIGITAL_FRAMING_NFCA_T1T, |
52 | NFC_DIGITAL_FRAMING_NFCA_T2T, | 53 | NFC_DIGITAL_FRAMING_NFCA_T2T, |
54 | NFC_DIGITAL_FRAMING_NFCA_T4T, | ||
53 | NFC_DIGITAL_FRAMING_NFCA_NFC_DEP, | 55 | NFC_DIGITAL_FRAMING_NFCA_NFC_DEP, |
54 | 56 | ||
55 | NFC_DIGITAL_FRAMING_NFCF, | 57 | NFC_DIGITAL_FRAMING_NFCF, |
@@ -57,6 +59,9 @@ enum { | |||
57 | NFC_DIGITAL_FRAMING_NFCF_NFC_DEP, | 59 | NFC_DIGITAL_FRAMING_NFCF_NFC_DEP, |
58 | NFC_DIGITAL_FRAMING_NFC_DEP_ACTIVATED, | 60 | NFC_DIGITAL_FRAMING_NFC_DEP_ACTIVATED, |
59 | 61 | ||
62 | NFC_DIGITAL_FRAMING_ISO15693_INVENTORY, | ||
63 | NFC_DIGITAL_FRAMING_ISO15693_T5T, | ||
64 | |||
60 | NFC_DIGITAL_FRAMING_LAST, | 65 | NFC_DIGITAL_FRAMING_LAST, |
61 | }; | 66 | }; |
62 | 67 | ||
@@ -204,6 +209,8 @@ struct nfc_digital_dev { | |||
204 | u8 curr_rf_tech; | 209 | u8 curr_rf_tech; |
205 | u8 curr_nfc_dep_pni; | 210 | u8 curr_nfc_dep_pni; |
206 | 211 | ||
212 | u16 target_fsc; | ||
213 | |||
207 | int (*skb_check_crc)(struct sk_buff *skb); | 214 | int (*skb_check_crc)(struct sk_buff *skb); |
208 | void (*skb_add_crc)(struct sk_buff *skb); | 215 | void (*skb_add_crc)(struct sk_buff *skb); |
209 | }; | 216 | }; |
diff --git a/include/net/nfc/nfc.h b/include/net/nfc/nfc.h index e80894bca1d0..2e8b40c16274 100644 --- a/include/net/nfc/nfc.h +++ b/include/net/nfc/nfc.h | |||
@@ -111,6 +111,9 @@ struct nfc_target { | |||
111 | u8 sensf_res[NFC_SENSF_RES_MAXSIZE]; | 111 | u8 sensf_res[NFC_SENSF_RES_MAXSIZE]; |
112 | u8 hci_reader_gate; | 112 | u8 hci_reader_gate; |
113 | u8 logical_idx; | 113 | u8 logical_idx; |
114 | u8 is_iso15693; | ||
115 | u8 iso15693_dsfid; | ||
116 | u8 iso15693_uid[NFC_ISO15693_UID_MAXSIZE]; | ||
114 | }; | 117 | }; |
115 | 118 | ||
116 | /** | 119 | /** |
diff --git a/include/uapi/linux/nfc.h b/include/uapi/linux/nfc.h index 6ad6cc03ccd3..9789dc95b6a8 100644 --- a/include/uapi/linux/nfc.h +++ b/include/uapi/linux/nfc.h | |||
@@ -150,6 +150,8 @@ enum nfc_commands { | |||
150 | * @NFC_ATTR_SE_TYPE: Secure element type (UICC or EMBEDDED) | 150 | * @NFC_ATTR_SE_TYPE: Secure element type (UICC or EMBEDDED) |
151 | * @NFC_ATTR_FIRMWARE_DOWNLOAD_STATUS: Firmware download operation status | 151 | * @NFC_ATTR_FIRMWARE_DOWNLOAD_STATUS: Firmware download operation status |
152 | * @NFC_ATTR_APDU: Secure element APDU | 152 | * @NFC_ATTR_APDU: Secure element APDU |
153 | * @NFC_ATTR_TARGET_ISO15693_DSFID: ISO 15693 Data Storage Format Identifier | ||
154 | * @NFC_ATTR_TARGET_ISO15693_UID: ISO 15693 Unique Identifier | ||
153 | */ | 155 | */ |
154 | enum nfc_attrs { | 156 | enum nfc_attrs { |
155 | NFC_ATTR_UNSPEC, | 157 | NFC_ATTR_UNSPEC, |
@@ -178,6 +180,8 @@ enum nfc_attrs { | |||
178 | NFC_ATTR_SE_AID, | 180 | NFC_ATTR_SE_AID, |
179 | NFC_ATTR_FIRMWARE_DOWNLOAD_STATUS, | 181 | NFC_ATTR_FIRMWARE_DOWNLOAD_STATUS, |
180 | NFC_ATTR_SE_APDU, | 182 | NFC_ATTR_SE_APDU, |
183 | NFC_ATTR_TARGET_ISO15693_DSFID, | ||
184 | NFC_ATTR_TARGET_ISO15693_UID, | ||
181 | /* private: internal use only */ | 185 | /* private: internal use only */ |
182 | __NFC_ATTR_AFTER_LAST | 186 | __NFC_ATTR_AFTER_LAST |
183 | }; | 187 | }; |
@@ -200,6 +204,7 @@ enum nfc_sdp_attr { | |||
200 | #define NFC_SENSF_RES_MAXSIZE 18 | 204 | #define NFC_SENSF_RES_MAXSIZE 18 |
201 | #define NFC_GB_MAXSIZE 48 | 205 | #define NFC_GB_MAXSIZE 48 |
202 | #define NFC_FIRMWARE_NAME_MAXSIZE 32 | 206 | #define NFC_FIRMWARE_NAME_MAXSIZE 32 |
207 | #define NFC_ISO15693_UID_MAXSIZE 8 | ||
203 | 208 | ||
204 | /* NFC protocols */ | 209 | /* NFC protocols */ |
205 | #define NFC_PROTO_JEWEL 1 | 210 | #define NFC_PROTO_JEWEL 1 |
@@ -208,8 +213,9 @@ enum nfc_sdp_attr { | |||
208 | #define NFC_PROTO_ISO14443 4 | 213 | #define NFC_PROTO_ISO14443 4 |
209 | #define NFC_PROTO_NFC_DEP 5 | 214 | #define NFC_PROTO_NFC_DEP 5 |
210 | #define NFC_PROTO_ISO14443_B 6 | 215 | #define NFC_PROTO_ISO14443_B 6 |
216 | #define NFC_PROTO_ISO15693 7 | ||
211 | 217 | ||
212 | #define NFC_PROTO_MAX 7 | 218 | #define NFC_PROTO_MAX 8 |
213 | 219 | ||
214 | /* NFC communication modes */ | 220 | /* NFC communication modes */ |
215 | #define NFC_COMM_ACTIVE 0 | 221 | #define NFC_COMM_ACTIVE 0 |
@@ -227,6 +233,7 @@ enum nfc_sdp_attr { | |||
227 | #define NFC_PROTO_ISO14443_MASK (1 << NFC_PROTO_ISO14443) | 233 | #define NFC_PROTO_ISO14443_MASK (1 << NFC_PROTO_ISO14443) |
228 | #define NFC_PROTO_NFC_DEP_MASK (1 << NFC_PROTO_NFC_DEP) | 234 | #define NFC_PROTO_NFC_DEP_MASK (1 << NFC_PROTO_NFC_DEP) |
229 | #define NFC_PROTO_ISO14443_B_MASK (1 << NFC_PROTO_ISO14443_B) | 235 | #define NFC_PROTO_ISO14443_B_MASK (1 << NFC_PROTO_ISO14443_B) |
236 | #define NFC_PROTO_ISO15693_MASK (1 << NFC_PROTO_ISO15693) | ||
230 | 237 | ||
231 | /* NFC Secure Elements */ | 238 | /* NFC Secure Elements */ |
232 | #define NFC_SE_UICC 0x1 | 239 | #define NFC_SE_UICC 0x1 |