2 * Copyright (C) 2010 NXP Semiconductors
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 * =========================================================================== *
21 * \file phHciNfc_NfcIPMgmt.h *
22 * \brief HCI NFCIP-1 Management Routines. *
25 * Project: NFC-FRI-1.1 *
27 * $Date: Tue Jun 30 17:09:29 2009 $ *
28 * $Author: ing04880 $ *
30 * $Aliases: NFC_FRI1.1_WK926_R28_2,NFC_FRI1.1_WK926_R28_3,NFC_FRI1.1_WK928_R29_1,NFC_FRI1.1_WK930_R30_1,NFC_FRI1.1_WK934_R31_1,NFC_FRI1.1_WK941_PREP1,NFC_FRI1.1_WK941_PREP2,NFC_FRI1.1_WK941_1,NFC_FRI1.1_WK943_R32_1,NFC_FRI1.1_WK949_PREP1,NFC_FRI1.1_WK943_R32_10,NFC_FRI1.1_WK943_R32_13,NFC_FRI1.1_WK943_R32_14,NFC_FRI1.1_WK1007_R33_1,NFC_FRI1.1_WK1007_R33_4,NFC_FRI1.1_WK1017_PREP1,NFC_FRI1.1_WK1017_R34_1,NFC_FRI1.1_WK1017_R34_2,NFC_FRI1.1_WK1023_R35_1 $ *
32 * =========================================================================== *
35 #ifndef PHHCINFC_ISO15693_H
36 #define PHHCINFC_ISO15693_H
44 * File: \ref phHciNfc_ISO15693.h
48 #define PHHCINFC_ISO15693_FILEREVISION "$Revision: 1.1 $" /**< \ingroup grp_file_attributes */
49 #define PHHCINFC_ISO15693_FILEALIASES "$Aliases: NFC_FRI1.1_WK926_R28_2,NFC_FRI1.1_WK926_R28_3,NFC_FRI1.1_WK928_R29_1,NFC_FRI1.1_WK930_R30_1,NFC_FRI1.1_WK934_R31_1,NFC_FRI1.1_WK941_PREP1,NFC_FRI1.1_WK941_PREP2,NFC_FRI1.1_WK941_1,NFC_FRI1.1_WK943_R32_1,NFC_FRI1.1_WK949_PREP1,NFC_FRI1.1_WK943_R32_10,NFC_FRI1.1_WK943_R32_13,NFC_FRI1.1_WK943_R32_14,NFC_FRI1.1_WK1007_R33_1,NFC_FRI1.1_WK1007_R33_4,NFC_FRI1.1_WK1017_PREP1,NFC_FRI1.1_WK1017_R34_1,NFC_FRI1.1_WK1017_R34_2,NFC_FRI1.1_WK1023_R35_1 $" /**< \ingroup grp_file_attributes */
53 ***************************** Header File Inclusion ****************************
56 #include <phHciNfc_Generic.h>
59 ****************************** Macro Definitions *******************************
61 /* Enable the ISO 15693 */
62 #define HCI_ISO_15693_ENABLE 0x01U
63 #define HCI_ISO_15693_INFO_SEQ 0x02U
65 #define NXP_ISO15693_CMD 0x20U
69 ******************** Enumeration and Structure Definition **********************
72 typedef enum phHciNfc_ISO15693_Seq{
75 ISO15693_END_SEQUENCE,
77 } phHciNfc_ISO15693_Seq_t;
79 typedef struct phHciNfc_ISO15693_Info{
80 phHciNfc_ISO15693_Seq_t current_seq;
81 phHciNfc_ISO15693_Seq_t next_seq;
82 phHciNfc_Pipe_Info_t *ps_15693_pipe_info;
84 uint8_t multiple_tgts_found;
85 phHal_sRemoteDevInformation_t iso15693_info;
86 uint8_t enable_iso_15693_gate;
87 }phHciNfc_ISO15693_Info_t;
91 *********************** Function Prototype Declaration *************************
95 * \brief Allocates the resources of ISO15693 management gate.
97 * This function Allocates the resources of the ISO15693 management
98 * gate Information Structure.
103 phHciNfc_ISO15693_Init_Resources(
104 phHciNfc_sContext_t *psHciContext
108 * \ingroup grp_hci_nfc
110 * The phHciNfc_ISO15693_Get_PipeID function gives the pipe id of the ISO15693
113 * \param[in] psHciContext psHciContext is the pointer to HCI Layer
115 * \param[in] pHwRef pHwRef is the Information of
116 * the Device Interface Link
118 * \retval NFCSTATUS_SUCCESS Function execution is successful.
119 * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
120 * could not be interpreted properly.
125 phHciNfc_ISO15693_Get_PipeID(
126 phHciNfc_sContext_t *psHciContext,
131 * \ingroup grp_hci_nfc
133 * The phHciNfc_ISO15693_Update_PipeInfo function updates the pipe_id of the ISO15693
134 * gate management Structure.
136 * \param[in] psHciContext psHciContext is the pointer to HCI Layer
138 * \param[in] pipeID pipeID of the ISO15693 gate
139 * \param[in] pPipeInfo Update the pipe Information of the ISO15693
142 * \retval NFCSTATUS_SUCCESS Function execution is successful.
143 * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
144 * could not be interpreted properly.
150 phHciNfc_ISO15693_Update_PipeInfo(
151 phHciNfc_sContext_t *psHciContext,
153 phHciNfc_Pipe_Info_t *pPipeInfo
157 * \ingroup grp_hci_nfc
159 * The phHciNfc_ISO15693_Update_Info function stores the data sent by the
162 * \param[in] psHciContext psHciContext is the pointer to HCI Layer
164 * \param[in] infotype To enable the ISO 15693 gate
165 * \param[in] iso_15693_info ISO 15693 gate info
167 * \retval NFCSTATUS_SUCCESS Function execution is successful.
168 * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
169 * could not be interpreted properly.
174 phHciNfc_ISO15693_Update_Info(
175 phHciNfc_sContext_t *psHciContext,
181 * \ingroup grp_hci_nfc
183 * The phHciNfc_ISO15693_Sequence function executes the sequence of operations, to
184 * get the NXP_ISO15693_INVENTORY, NXP_ISO15693_AFI.
186 * \param[in] psHciContext psHciContext is the pointer to HCI Layer
188 * \param[in] pHwRef pHwRef is the Information of
189 * the Device Interface Link
191 * \retval NFCSTATUS_SUCCESS Function execution is successful.
192 * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
193 * could not be interpreted properly.
198 phHciNfc_ISO15693_Info_Sequence (
204 * \ingroup grp_hci_nfc
206 * The phHciNfc_Send_ISO15693_Command function executes the command sent by the
207 * upper layer, depending on the commands defined.
209 * \param[in] psContext psContext is the pointer to HCI Layer
211 * \param[in] pHwRef pHwRef is the Information of
212 * the Device Interface Link
213 * \param[in] pipe_id pipeID of the ISO 15693 gate
214 * \param[in] cmd command that needs to be sent to the device
216 * \retval NFCSTATUS_SUCCESS Function execution is successful.
217 * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
218 * could not be interpreted properly.
223 phHciNfc_Send_ISO15693_Command(
224 phHciNfc_sContext_t *psHciContext,
231 * \ingroup grp_hci_nfc
233 * The phHciNfc_ISO15693_Set_AFI function updates the AFI value
235 * \param[in] psHciContext psHciContext is the pointer to HCI Layer
237 * \param[in] pipeID pipeID of the ISO 15693 gate
238 * \param[in] pPipeInfo Update the pipe Information of the ISO
241 * \retval NFCSTATUS_SUCCESS Function execution is successful.
242 * \retval NFCSTATUS_INVALID_PARAMETER One or more of the supplied parameters
243 * could not be interpreted properly.
248 phHciNfc_ISO15693_Set_AFI(
254 #endif /* #ifndef PHHCINFC_ISO15693_H */