15d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*
25d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * Copyright (C) 2010 NXP Semiconductors
35d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
45d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * Licensed under the Apache License, Version 2.0 (the "License");
55d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * you may not use this file except in compliance with the License.
65d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * You may obtain a copy of the License at
75d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
85d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *      http://www.apache.org/licenses/LICENSE-2.0
95d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
105d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * Unless required by applicable law or agreed to in writing, software
115d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * distributed under the License is distributed on an "AS IS" BASIS,
125d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
135d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * See the License for the specific language governing permissions and
145d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * limitations under the License.
155d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
165d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
175d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*!
185d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* =========================================================================== *
195d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                                                             *
205d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                                                             *
215d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \file  phHciNfc_Emulation.h                                                 *
225d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \brief HCI emulation management routines.                                   *
235d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                                                             *
245d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                                                             *
255d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* Project: NFC-FRI-1.1                                                        *
265d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                                                             *
275d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* $Date: Fri Aug 14 17:01:26 2009 $                                           *
285d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* $Author: ing04880 $                                                         *
295d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* $Revision: 1.10 $                                                            *
305d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* $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 $                                                                *
315d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*                                                                             *
325d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* =========================================================================== *
335d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
345d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
355d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
365d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#ifndef PHHCINFC_EMULATION_H
375d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define PHHCINFC_EMULATION_H
385d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
395d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*@}*/
405d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
415d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
425d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/**
435d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \name HCI
445d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
455d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* File: \ref phHciNfc_Emulation.h
465d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
475d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
485d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*@{*/
495d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define PHHCINFC_EMULATION_FILEREVISION "$Revision: 1.10 $" /**< \ingroup grp_file_attributes */
505d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#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 */
515d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*@}*/
525d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
535d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*
545d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly***************************** Header File Inclusion ****************************
555d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
565d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
575d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#include <phHciNfc_Generic.h>
585d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
595d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*
605d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly****************************** Macro Definitions *******************************
615d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
625d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/* Connectivity Gate Command Support */
635d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define PRO_HOST_REQUEST            (0x10U)
645d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
655d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/* Connectivity Gate Event Support */
665d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define EVT_CONNECTIVITY            (0x10U)
675d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define EVT_END_OF_TRANSACTION      (0x11U)
685d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define EVT_TRANSACTION             (0x12U)
695d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define EVT_OPERATION_ENDED         (0x13U)
705d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
715d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define TRANSACTION_MIN_LEN         (0x03U)
725d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define TRANSACTION_AID             (0x81U)
735d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define TRANSACTION_PARAM           (0x82U)
745d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
755d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define HOST_CE_MODE_ENABLE         (0x02U)
765d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define HOST_CE_MODE_DISABLE        (0xFFU)
775d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
785d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define NXP_PIPE_CONNECTIVITY       (0x60U)
795d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
805d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
815d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/* Card Emulation Gate Events */
825d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define CE_EVT_NFC_SEND_DATA        (0x10U)
835d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define CE_EVT_NFC_FIELD_ON         (0x11U)
845d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define CE_EVT_NFC_DEACTIVATED      (0x12U)
855d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define CE_EVT_NFC_ACTIVATED        (0x13U)
865d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define CE_EVT_NFC_FIELD_OFF        (0x14U)
875d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
885d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*
895d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly******************** Enumeration and Structure Definition **********************
905d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
915d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
925d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
935d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
945d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*
955d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*********************** Function Prototype Declaration *************************
965d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
975d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
985d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellyextern
995d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyNFCSTATUS
1005d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyphHciNfc_Uicc_Update_PipeInfo(
1015d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                phHciNfc_sContext_t     *psHciContext,
1025d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                uint8_t                 pipe_id,
1035d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                phHciNfc_Pipe_Info_t    *pPipeInfo
1045d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        );
1055d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1065d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellyextern
1075d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyNFCSTATUS
1085d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyphHciNfc_EmuMgmt_Update_Seq(
1095d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                phHciNfc_sContext_t     *psHciContext,
1105d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                phHciNfc_eSeqType_t     seq_type
1115d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        );
1125d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1135d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellyextern
1145d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyNFCSTATUS
1155d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyphHciNfc_EmuMgmt_Initialise(
1165d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                            phHciNfc_sContext_t     *psHciContext,
1175d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                            void                    *pHwRef
1185d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        );
1195d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1205d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellyextern
1215d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyNFCSTATUS
1225d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyphHciNfc_EmuMgmt_Release(
1235d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                            phHciNfc_sContext_t     *psHciContext,
1245d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                            void                    *pHwRef
1255d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        );
1265d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1275d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1285d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellyextern
1295d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyNFCSTATUS
1305d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyphHciNfc_Emulation_Cfg (
1315d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        phHciNfc_sContext_t     *psHciContext,
1325d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        void                    *pHwRef,
1335d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        phHciNfc_eConfigType_t  cfg_type
1345d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                    );
1355d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1365d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellyextern
1375d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyNFCSTATUS
1385d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyphHciNfc_Uicc_Get_PipeID(
1395d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                            phHciNfc_sContext_t     *psHciContext,
1405d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                            uint8_t                 *ppipe_id
1415d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        );
1425d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1435d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellyextern
1445d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyNFCSTATUS
1455d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyphHciNfc_Uicc_Connect_Status(
1465d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                               phHciNfc_sContext_t      *psHciContext,
1475d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                               void                 *pHwRef
1485d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                      );
1495d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1505d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellyextern
1515d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellyvoid
1525d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick PellyphHciNfc_Uicc_Connectivity(
1535d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                            phHciNfc_sContext_t     *psHciContext,
1545d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                            void                    *pHwRef
1555d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                        );
1565d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1575d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1585d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#endif /* PHHCINFC_EMULATION_H */
159