1 /* 2 * Copyright (C) 2010 NXP Semiconductors 3 * 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 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 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. 15 */ 16 17 /*! 18 * =========================================================================== * 19 * * 20 * * 21 * \file phHciNfc_Emulation.h * 22 * \brief HCI emulation management routines. * 23 * * 24 * * 25 * Project: NFC-FRI-1.1 * 26 * * 27 * $Date: Fri Aug 14 17:01:26 2009 $ * 28 * $Author: ing04880 $ * 29 * $Revision: 1.10 $ * 30 * $Aliases: 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 $ * 31 * * 32 * =========================================================================== * 33 */ 34 35 36 #ifndef PHHCINFC_EMULATION_H 37 #define PHHCINFC_EMULATION_H 38 39 /*@}*/ 40 41 42 /** 43 * \name HCI 44 * 45 * File: \ref phHciNfc_Emulation.h 46 * 47 */ 48 /*@{*/ 49 #define PHHCINFC_EMULATION_FILEREVISION "$Revision: 1.10 $" /**< \ingroup grp_file_attributes */ 50 #define PHHCINFC_EMULATION_FILEALIASES "$Aliases: 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 */ 51 /*@}*/ 52 53 /* 54 ***************************** Header File Inclusion **************************** 55 */ 56 57 #include <phHciNfc_Generic.h> 58 59 /* 60 ****************************** Macro Definitions ******************************* 61 */ 62 /* Connectivity Gate Command Support */ 63 #define PRO_HOST_REQUEST (0x10U) 64 65 /* Connectivity Gate Event Support */ 66 #define EVT_CONNECTIVITY (0x10U) 67 #define EVT_END_OF_TRANSACTION (0x11U) 68 #define EVT_TRANSACTION (0x12U) 69 #define EVT_OPERATION_ENDED (0x13U) 70 71 #define TRANSACTION_MIN_LEN (0x03U) 72 #define TRANSACTION_AID (0x81U) 73 #define TRANSACTION_PARAM (0x82U) 74 75 #define HOST_CE_MODE_ENABLE (0x02U) 76 #define HOST_CE_MODE_DISABLE (0xFFU) 77 78 #define NXP_PIPE_CONNECTIVITY (0x60U) 79 80 81 /* Card Emulation Gate Events */ 82 #define CE_EVT_NFC_SEND_DATA (0x10U) 83 #define CE_EVT_NFC_FIELD_ON (0x11U) 84 #define CE_EVT_NFC_DEACTIVATED (0x12U) 85 #define CE_EVT_NFC_ACTIVATED (0x13U) 86 #define CE_EVT_NFC_FIELD_OFF (0x14U) 87 88 /* 89 ******************** Enumeration and Structure Definition ********************** 90 */ 91 92 93 94 /* 95 *********************** Function Prototype Declaration ************************* 96 */ 97 98 extern 99 NFCSTATUS 100 phHciNfc_Uicc_Update_PipeInfo( 101 phHciNfc_sContext_t *psHciContext, 102 uint8_t pipe_id, 103 phHciNfc_Pipe_Info_t *pPipeInfo 104 ); 105 106 extern 107 NFCSTATUS 108 phHciNfc_EmuMgmt_Update_Seq( 109 phHciNfc_sContext_t *psHciContext, 110 phHciNfc_eSeqType_t seq_type 111 ); 112 113 extern 114 NFCSTATUS 115 phHciNfc_EmuMgmt_Initialise( 116 phHciNfc_sContext_t *psHciContext, 117 void *pHwRef 118 ); 119 120 extern 121 NFCSTATUS 122 phHciNfc_EmuMgmt_Release( 123 phHciNfc_sContext_t *psHciContext, 124 void *pHwRef 125 ); 126 127 128 extern 129 NFCSTATUS 130 phHciNfc_Emulation_Cfg ( 131 phHciNfc_sContext_t *psHciContext, 132 void *pHwRef, 133 phHciNfc_eConfigType_t cfg_type 134 ); 135 136 extern 137 NFCSTATUS 138 phHciNfc_Uicc_Get_PipeID( 139 phHciNfc_sContext_t *psHciContext, 140 uint8_t *ppipe_id 141 ); 142 143 extern 144 NFCSTATUS 145 phHciNfc_Uicc_Connect_Status( 146 phHciNfc_sContext_t *psHciContext, 147 void *pHwRef 148 ); 149 150 extern 151 void 152 phHciNfc_Uicc_Connectivity( 153 phHciNfc_sContext_t *psHciContext, 154 void *pHwRef 155 ); 156 157 158 #endif /* PHHCINFC_EMULATION_H */ 159