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 * \file  phNfcHalTypes.h
195d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \brief Structure declarations/type definitions belonging to the HAL subsystem.
205d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
215d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * Project: NFC MW / HAL
225d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
235d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * $Date: Thu Apr  8 17:11:39 2010 $
245d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * $Author: ing04880 $
255d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * $Revision: 1.106 $
265d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * $Aliases: NFC_FRI1.1_WK1007_SDK,NFC_FRI1.1_WK1017_PREP1,NFC_FRI1.1_WK1017_R34_1,NFC_FRI1.1_WK1017_R34_2,NFC_FRI1.1_WK1023_R35_1 $
275d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
285d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
295d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
305d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
315d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#ifndef PHNFCHALTYPES_H /* */
325d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define PHNFCHALTYPES_H /* */
335d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
345d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/**
355d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \name HAL Types
365d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
375d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * File: \ref phNfcHalTypes.h
385d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
395d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
405d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
415d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*@{*/
425d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define PHNFCHALTYPES_FILEREVISION "$Revision: 1.106 $" /**< \ingroup grp_file_attributes */
435d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define PHNFCHALTYPES_FILEALIASES  "$Aliases: NFC_FRI1.1_WK1007_SDK,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 */
445d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*@}*/
455d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
465d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#include <phNfcTypes.h>
475d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#include <phNfcCompId.h>
485d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#include <phNfcConfig.h>
495d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
506dd948323de0f31b413c9f19a905f1c145c9c456Rob von Behren#ifndef NXP_HAL_MEM_INFO_SIZE
516dd948323de0f31b413c9f19a905f1c145c9c456Rob von Behren#define NXP_HAL_MEM_INFO_SIZE           0x01U
526dd948323de0f31b413c9f19a905f1c145c9c456Rob von Behren#endif
536dd948323de0f31b413c9f19a905f1c145c9c456Rob von Behren
546dd948323de0f31b413c9f19a905f1c145c9c456Rob von Behren#if (NXP_HAL_MEM_INFO_SIZE > 0x01)
556dd948323de0f31b413c9f19a905f1c145c9c456Rob von Behren#define NXP_FW_UPLOAD_PROGRESS          0x965AU
566dd948323de0f31b413c9f19a905f1c145c9c456Rob von Behren#define NXP_FW_UPLOAD_SUCCESS           0x0000U
576dd948323de0f31b413c9f19a905f1c145c9c456Rob von Behren#else
586dd948323de0f31b413c9f19a905f1c145c9c456Rob von Behren#define NXP_FW_UPLOAD_PROGRESS          0x5AU
596dd948323de0f31b413c9f19a905f1c145c9c456Rob von Behren#define NXP_FW_UPLOAD_SUCCESS           0x00U
606dd948323de0f31b413c9f19a905f1c145c9c456Rob von Behren#endif
616dd948323de0f31b413c9f19a905f1c145c9c456Rob von Behren
626dd948323de0f31b413c9f19a905f1c145c9c456Rob von Behren
636dd948323de0f31b413c9f19a905f1c145c9c456Rob von Behrentypedef struct phHal_sMemInfo
646dd948323de0f31b413c9f19a905f1c145c9c456Rob von Behren{
656dd948323de0f31b413c9f19a905f1c145c9c456Rob von Behren    uint16_t            fw_magic;
666dd948323de0f31b413c9f19a905f1c145c9c456Rob von Behren    uint16_t            fw_rfu;
676dd948323de0f31b413c9f19a905f1c145c9c456Rob von Behren    uint32_t            hal_version;
686dd948323de0f31b413c9f19a905f1c145c9c456Rob von Behren}phHal_sMemInfo_t;
696dd948323de0f31b413c9f19a905f1c145c9c456Rob von Behren
705d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
715d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup  grp_hal_common
725d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
735d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \if hal
745d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \brief Protocol Support Information
755d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \else
765d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \brief HAL-Specific
775d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \endif
785d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
795d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The <em> Supported Protocols Structure </em> holds all protocol supported by the current NFC
805d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  device.
815d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
825d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \note All members of this structure are output parameters [out].
835d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
845d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
855d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef phNfc_sSupProtocol_t phHal_sSupProtocol_t;
865d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
875d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
885d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_common
895d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
905d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
915d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \if hal
925d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \brief Information related to the NFC Device
935d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \else
945d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \brief HAL-Specific
955d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \endif
965d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
975d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The <em> Device Information Structure </em> holds information
985d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  related to the NFC IC read during initialization time.
995d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  It allows the caller firware, hardware version, the model id,
1005d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  HCI verison supported and vendor name. Refer to the NFC Device
1015d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  User Manual on how to interpret each of the values. In addition
1025d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  it also contains capabilities of the NFC Device such as the
1035d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  protocols supported in Reader and emulation mode
1045d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
1055d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
1065d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1075d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef phNfc_sDeviceCapabilities_t phHal_sDeviceCapabilities_t;
1085d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1095d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1105d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/**
1115d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \ingroup grp_hal_common
1125d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
1135d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \if hal
1145d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \brief Hardware Reference - The Peripheral Representation
1155d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \else
1165d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \brief HAL-Specific
1175d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \endif
1185d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
1195d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The Hardware Reference structure is filled as part of the open function and
1205d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  contains information regarding connected peripheral NFC device. It also
1215d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  stores the refernce to the communication driver passed by the HAL client
1225d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  for usage during communication with the NFC Device
1235d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
1245d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \note The caller can consider this structure atomic, no interpretation is required
1255d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *       for HAL operation.
1265d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
1275d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \sa phHal4Nfc_Open .
1285d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
1295d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
1305d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1315d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/**
1325d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \ingroup grp_hal_common
1335d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
1345d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \brief Hardware Reference - The Peripheral Representation
1355d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
1365d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The Hardware Reference structure is filled as part of the open function and
1375d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  contains information regarding connected peripheral NFC device. It also
1385d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  stores the refernce to the communication driver passed by the HAL client
1395d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  for usage during communication with the NFC Device
1405d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
1415d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \note The caller can consider this structure atomic, no interpretation is required
1425d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *       for HAL operation.
1435d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
1445d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
1455d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef struct phHal_sHwReference
1465d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly{
1475d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /**<  Will be usable/valid after the Open function. */
1485d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    void                            *p_board_driver;
1495d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /**<  Session Identifier for the established session */
1505d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t                         session_id[SESSIONID_SIZE];
1515d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /**<  SMX  Connected TRUE/FALSE */
1525d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t                         smx_connected;
1535d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /**<  UICC  Connected TRUE/FALSE */
1545d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t                         uicc_connected;
1555d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /**<  UICC  Reader Mode is Active TRUE/FALSE */
1565d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t                         uicc_rdr_active;
1575d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /**<  Device information. */
1585d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    phNfc_sDeviceCapabilities_t     device_info;
1595d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /**<  Context of the HAL Layer */
1605d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    void                            *hal_context;
1615d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /**<  Context of the DAL Layer */
1625d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    void                            *dal_context;
1635d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly} phHal_sHwReference_t;
1645d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1655d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1665d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_common
1675d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
1685d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \if hal
1695d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \brief Hardware configuration - Configuration Parameters for the NFC Device
1705d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \else
1715d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \brief HAL-Specific
1725d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \endif
1735d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
1745d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The parameters used to configure the device during the initialisation.
1755d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  This structure is used internally by the HAL implementation and is filled
1765d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  up based on various configuration parameters from the config file
1775d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \note None.
1785d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
1795d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
1805d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1815d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef struct phHal_sHwConfig
1825d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly{
1835d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1845d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t             session_id[SESSIONID_SIZE]; /**<  Session Identifier for
1855d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                                     the established session */
1865d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1875d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t             clk_req; /**<  Clock Request Setting */
1885d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1895d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t             input_clk; /**<  Input Clock Setting */
1905d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1915d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly} phHal_sHwConfig_t;
1925d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1935d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1945d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1955d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
1965d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
1975d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/* This data structure is not used anymore and will be removed in subsequent
1985d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly   release */
1995d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef struct phHal_sDepFlags
2005d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly{
2015d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly   unsigned int MetaChaining : 1;
2025d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly   unsigned int NADPresent   : 1;
2035d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly} phHal_sDepFlags_t;
2045d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2055d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/* This data structure is not used anymore and will be removed in subsequent
2065d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly   release */
2075d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2085d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef struct phHal_sDepAdditionalInfo
2095d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly{
2105d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    phHal_sDepFlags_t DepFlags;
2115d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t NAD;
2125d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly} phHal_sDepAdditionalInfo_t;
2135d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2145d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2155d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
2165d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2175d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2185d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2195d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_common
2205d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
2215d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \if hal
2225d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \brief Enumerated MIFARE Commands
2235d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \else
2245d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \brief HAL-Specific
2255d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \endif
2265d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
2275d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The <em> Mifare Command List Enumerator </em> lists all available Mifare native commands.
2285d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
2295d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \note None.
2305d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
2315d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
2325d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2335d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef phNfc_eMifareCmdList_t phHal_eMifareCmdList_t;
2345d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2355d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eMifareRaw        phNfc_eMifareRaw
2365d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eMifareAuthentA   phNfc_eMifareAuthentA
2375d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eMifareAuthentB   phNfc_eMifareAuthentB
2385d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eMifareRead16     phNfc_eMifareRead16
2395d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eMifareRead       phNfc_eMifareRead
2405d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eMifareWrite16    phNfc_eMifareWrite16
2415d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eMifareWrite4     phNfc_eMifareWrite4
2425d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eMifareInc        phNfc_eMifareInc
2435d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eMifareDec        phNfc_eMifareDec
2445d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eMifareTransfer   phNfc_eMifareTransfer
2455d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eMifareRestore    phNfc_eMifareRestore
2465d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eMifareReadSector phNfc_eMifareReadSector
2475d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eMifareWriteSector phNfc_eMifareWriteSector
2485d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eMifareInvalidCmd phNfc_eMifareInvalidCmd
2495d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2505d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2515d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_common
2525d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
2535d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The <em> T=Cl Command List Enumerator </em> lists all available T=Cl Commands.
2545d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
2555d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \note None.
2565d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
2575d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
2585d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef phNfc_eIso14443_4_CmdList_t phHal_eIso14443_4_CmdList_t;
2595d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2605d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eIso14443_4_Raw    phNfc_eIso14443_4_Raw
2615d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2625d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2635d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_common
2645d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
2655d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The <em> NFCIP1 Command List Enumerator </em> lists all available NFCIP1 Commands.
2665d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
2675d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \note None.
2685d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
2695d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
2705d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef phNfc_eNfcIP1CmdList_t phHal_eNfcIP1CmdList_t;
2715d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2725d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define       phHal_eNfcIP1_Raw             phNfc_eNfcIP1_Raw
2735d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2745d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2755d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_common
2765d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
2775d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The <em> ISO15693 Command List Enumerator </em> lists all available ISO15693 Commands.
2785d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
2795d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \note None.
2805d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
2815d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
2825d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2835d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef phNfc_eIso15693_CmdList_t phHal_eIso15693_CmdList_t;
2845d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2855d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#if 0
2865d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eIso15693_Raw             phNfc_eIso15693_Raw
2875d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#endif
2885d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eIso15693_Cmd             phNfc_eIso15693_Cmd
2895d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eIso15693_Invalid         phNfc_eIso15693_Invalid
2905d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2915d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_common
2925d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
2935d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The <em> Felica Command List Enumerator </em> lists all available Felica Commands.
2945d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
2955d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \note None.
2965d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
2975d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
2985d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
2995d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef enum phHal_eFelicaCmdList
3005d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly{
3015d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    phHal_eFelica_Raw             = 0xF0U, /**< Felica Raw command:\n
3025d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                                 - This command sends the data buffer directly
3035d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                                 to the remote device */
3045d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    phHal_eFelica_Check           = 0x00, /**< Felica Check command:\n
3055d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                                 - This command checks the data from the Felica
3065d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                                  remote device */
3075d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    phHal_eFelica_Update          = 0x01, /**< Felica Update command:\n
3085d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                                 - This command updates the data onto the Felica
3095d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                                  remote device */
3105d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    phHal_eFelica_Invalid         = 0xFFU      /**< Invalid Command */
3115d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly} phHal_eFelicaCmdList_t;
3125d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
3135d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
3145d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef enum phHal_eJewelCmdList
3155d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly{
3165d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    phHal_eJewel_Raw            = 0x00U, /**< Jewel command:\n
3175d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                                 - This command sends the data buffer directly
3185d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                                 to the remote device */
3195d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    phHal_eJewel_Invalid        = 0xFFU  /**< Invalid jewel command */
3205d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly}phHal_eJewelCmdList_t;
3215d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
3225d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
3235d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
3245d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_nfci
3255d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
3265d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
3275d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief Remote Device Reader A RF Gate Information Container
3285d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
3295d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
3305d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
3315d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
3325d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  The <em> Reader A structure </em> includes the available information
3335d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  related to the discovered ISO14443A remote device. This information
3345d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  is updated for every device discovery.
3355d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note None.
3365d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
3375d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
3385d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef phNfc_sIso14443AInfo_t phHal_sIso14443AInfo_t;
3395d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
3405d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_nfci
3415d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
3425d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
3435d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief Remote Device Reader B RF Gate Information Container
3445d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
3455d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
3465d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
3475d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
3485d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  The <em> Reader B structure </em> includes the available information
3495d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  related to the discovered ISO14443B remote device. This information
3505d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  is updated for every device discovery.
3515d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note None.
3525d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
3535d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
3545d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
3555d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef phNfc_sIso14443BInfo_t phHal_sIso14443BInfo_t;
3565d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
3575d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef phNfc_sIso14443BPrimeInfo_t phHal_sIso14443BPrimeInfo;
3585d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
3595d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
3605d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_nfci
3615d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
3625d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
3635d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief Remote Device Jewel Reader RF Gate Information Container
3645d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
3655d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
3665d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
3675d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
3685d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  The <em> Jewel Reader structure </em> includes the available information
3695d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  related to the discovered Jewel remote device. This information
3705d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  is updated for every device discovery.
3715d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note None.
3725d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
3735d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
3745d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
3755d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
3765d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef phNfc_sJewelInfo_t phHal_sJewelInfo_t;
3775d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
3785d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_nfci
3795d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
3805d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
3815d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief Remote Device Felica Reader RF Gate Information Container
3825d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
3835d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
3845d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
3855d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
3865d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  The <em> Felica Reader structure </em> includes the available information
3875d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  related to the discovered Felica remote device. This information
3885d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  is updated for every device discovery.
3895d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note None.
3905d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
3915d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
3925d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
3935d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef phNfc_sFelicaInfo_t phHal_sFelicaInfo_t;
3945d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
3955d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
3965d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_nfci
3975d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
3985d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
3995d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief Remote Device Reader 15693 RF Gate Information Container
4005d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
4015d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
4025d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
4035d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
4045d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  The <em> Reader A structure </em> includes the available information
4055d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  related to the discovered ISO15693 remote device. This information
4065d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  is updated for every device discovery.
4075d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note None.
4085d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
4095d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
4105d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
4115d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef phNfc_sIso15693Info_t phHal_sIso15693Info_t;
4125d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
4135d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
4145d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_nfci
4155d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
4165d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
4175d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief NFC Data Rate Supported between the Reader and the Target
4185d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
4195d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
4205d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
4215d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
4225d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  The <em> \ref phHalNfc_eDataRate enum </em> lists all the Data Rate
4235d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  values to be used to determine the rate at which the data is transmitted
4245d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  to the target.
4255d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
4265d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note None.
4275d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
4285d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
4295d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
4305d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef phNfc_eDataRate_t phHalNfc_eDataRate_t;
4315d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
4325d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
4335d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_nfci
4345d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
4355d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
4365d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief NFCIP1 Gate Information Container
4375d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
4385d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
4395d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
4405d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
4415d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  The <em> NFCIP1 structure </em> includes the available information
4425d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  related to the discovered NFCIP1 remote device. This information
4435d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  is updated for every device discovery.
4445d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note None.
4455d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
4465d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
4475d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
4485d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef phNfc_sNfcIPInfo_t phHal_sNfcIPInfo_t;
4495d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
4505d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
4515d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_nfci
4525d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
4535d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
4545d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief Remote Device Specific Information Container
4555d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
4565d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
4575d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
4585d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
4595d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  The <em> Remote Device Information Union </em> includes the available Remote Device Information
4605d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  structures. Following the device detected, the corresponding data structure is used.
4615d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
4625d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note None.
4635d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
4645d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
4655d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
4665d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef phNfc_uRemoteDevInfo_t phHal_uRemoteDevInfo_t;
4675d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
4685d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_nfci
4695d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
4705d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
4715d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief RF Device Type Listing
4725d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
4735d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
4745d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
4755d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
4765d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  The <em> RF Device Type List </em> is used to identify the type of
4775d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  remote device that is discovered/connected. There seperate
4785d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  types to identify a Remote Reader (denoted by _PCD) and
4795d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  Remote Tag (denoted by _PICC)
4805d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note None.
4815d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
4825d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
4835d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
4845d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef phNfc_eRFDevType_t phHal_eRFDevType_t;
4855d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
4865d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eUnknown_DevType phNfc_eUnknown_DevType
4875d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
4885d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /* Specific PCD Devices */
4895d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eISO14443_A_PCD phNfc_eISO14443_A_PCD
4905d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eISO14443_B_PCD phNfc_eISO14443_B_PCD
4915d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eISO14443_BPrime_PCD phNfc_eISO14443_BPrime_PCD
4925d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eFelica_PCD phNfc_eFelica_PCD
4935d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eJewel_PCD phNfc_eJewel_PCD
4945d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eISO15693_PCD phNfc_eISO15693_PCD
4955d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /* Generic PCD Type */
4965d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_ePCD_DevType phNfc_ePCD_DevType
4975d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
4985d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /* Generic PICC Type */
4995d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_ePICC_DevType phNfc_ePICC_DevType
5005d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /* Specific PICC Devices */
5015d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eISO14443_A_PICC phNfc_eISO14443_A_PICC
5025d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eISO14443_4A_PICC phNfc_eISO14443_4A_PICC
5035d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eISO14443_3A_PICC phNfc_eISO14443_3A_PICC
5045d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eMifare_PICC phNfc_eMifare_PICC
5055d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eISO14443_B_PICC phNfc_eISO14443_B_PICC
5065d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eISO14443_4B_PICC phNfc_eISO14443_4B_PICC
5075d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eISO14443_BPrime_PICC phNfc_eISO14443_BPrime_PICC
5085d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eFelica_PICC phNfc_eFelica_PICC
5095d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eJewel_PICC phNfc_eJewel_PICC
5105d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eISO15693_PICC phNfc_eISO15693_PICC
5115d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
5125d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /* NFC-IP1 Device Types */
5135d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eNfcIP1_Target phNfc_eNfcIP1_Target
5145d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eNfcIP1_Initiator phNfc_eNfcIP1_Initiator
5155d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
5165d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /* Other Sources */
5175d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eInvalid_DevType phNfc_eInvalid_DevType
5185d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
5195d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_nfci
5205d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
5215d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
5225d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief Remote Device Type Listing
5235d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
5245d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
5255d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
5265d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
5275d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  The <em> Remote Device Type List </em> is used to identify the type of
5285d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  remote device that is discovered/connected
5295d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note This is same as RF Device Type List.
5305d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
5315d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
5325d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef phNfc_eRemDevType_t phHal_eRemDevType_t;
5335d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
5345d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_common
5355d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
5365d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
5375d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \if hal
5385d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \brief Common Command Attribute
5395d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \else
5405d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \brief HAL-Specific
5415d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \endif
5425d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
5435d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The <em> Hal Command Union </em> includes each available type of Commands.
5445d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
5455d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \note None.
5465d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
5475d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
5485d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
5495d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef phNfc_uCmdList_t phHal_uCmdList_t;
5505d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
5515d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
5525d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_nfci
5535d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
5545d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \if hal
5555d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \brief Remote Device Information Structure
5565d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \else
5575d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \brief HAL-Specific
5585d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \endif
5595d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
5605d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The <em> Remote Device Information Structure </em> holds information about one single Remote
5615d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  Device detected by the polling function .\n
5625d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  It lists parameters common to all supported remote devices.
5635d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
5645d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \note
5655d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
5665d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \if hal
5675d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *   \sa \ref phHal4Nfc_ConfigureDiscovery and \ref phHal4Nfc_Connect
5685d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \else
5695d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *   \sa
5705d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \endif
5715d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
5725d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
5735d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
5745d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef phNfc_sRemoteDevInformation_t phHal_sRemoteDevInformation_t;
5755d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
5765d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
5775d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
5785d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
5795d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
5805d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/* This data structure is not used anymore and will be removed in subsequent
5815d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly   release */
5825d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
5835d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef struct phHal_sDevInputParam
5845d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly{
5855d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t FelicaPollPayload[5];
5865d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
5875d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
5885d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t NfcPollPayload[5];
5895d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
5905d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
5915d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t NFCIDAuto;
5925d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
5935d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
5945d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t NFCID3i[PHHAL_NFCID_LENGTH];
5955d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
5965d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
5975d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
5985d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t DIDiUsed;
5995d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
6005d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t CIDiUsed;
6015d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
6025d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t NfcNADiUsed;
6035d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
6045d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /*+ MantisId : 31 - JP - 09-01-2006 */
6055d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly        /*uint8_t TClNADiUsed; */
6065d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
6075d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /*- MantisId : 31 - JP - 09-01-2006 */
6085d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t GeneralByte[48];
6095d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
6105d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
6115d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t GeneralByteLength;
6125d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
6135d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
6145d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t ISO14443_4B_AFI;
6155d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
6165d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly} phHal_sDevInputParam_t;
6175d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
6185d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
6195d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
6205d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
6215d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
6225d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
6235d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
6245d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
6255d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/*    TARGET STRUCTURES */
6265d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
6275d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
6285d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup  grp_hal_common
6295d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
6305d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \if hal
6315d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \brief Transceive Information Data Structure for sending commands/response
6325d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *         to the remote device
6335d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \else
6345d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \brief HAL-Specific
6355d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \endif
6365d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
6375d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The <em> Transceive Information Data Structure </em> is used to pass the
6385d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  Command, Address (only required for MIFARE) and the send and receive data
6395d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  data structure (buffer and length) for communication with remote device
6405d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
6415d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
6425d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
6435d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
6445d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef phNfc_sTransceiveInfo_t phHal_sTransceiveInfo_t;
6455d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
6465d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
6475d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_nfci
6485d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
6495d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
6505d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief Input information for the Type A tags
6515d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
6525d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
6535d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
6545d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
6555d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  The <em> \ref phHal_sIso14443ACfg structure </em> holds the information
6565d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  required for the NFC device to be used during ISO14443A target discovery
6575d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
6585d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note None.
6595d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
6605d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef struct phHal_sIso14443ACfg
6615d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly{
6625d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t     Auto_Activation;       /**< Enable Auto Activation for
6635d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                    Technology A \n
6645d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                    If set to 0, the activation procedure will stop
6655d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                    after Select (SAK has been received).
6665d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                    The host could evaluate SAK value and then decide:
6675d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                        - to start communicating with the remote card
6685d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                          using proprietary commands (see NXP_MIFARE_RAW
6695d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                          and NXP_MIFARE_CMD)
6705d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                    or
6715d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                        - to activate the remote card up to ISO14443-4
6725d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                          level (RATS and PPS) using
6735d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                          CONTINUE ACTIVATION command
6745d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                    If set to 1, activation follows the flow described in
6755d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                    ETSI HCI specification (restrict detection to
6765d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                    ISO14443-4 compliant cards).
6775d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                    */
6785d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly}phHal_sIso14443ACfg_t;
6795d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
6805d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
6815d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_nfci
6825d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
6835d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
6845d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief Input information for the Type B tags
6855d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
6865d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
6875d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
6885d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
6895d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  The <em> \ref phHal_sIso14443BCfg structure </em> holds the information
6905d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  required for the NFC device to be used during ISO14443B target discovery
6915d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
6925d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note None.
6935d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
6945d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef struct phHal_sIso14443BCfg
6955d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly{
6965d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t     AppFamily_ID;       /**< Application Family Identifier for
6975d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                    Technology B, 0x00 means all application */
6985d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly}phHal_sIso14443BCfg_t;
6995d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
7005d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_nfci
7015d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
7025d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
7035d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief Input information for the Felica tags
7045d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
7055d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
7065d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
7075d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
7085d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  The <em> \ref phHal_sFelicaCfg_t structure </em> holds the information
7095d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  required for the NFC device to be used during Felica target discovery
7105d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
7115d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note None.
7125d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
7135d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
7145d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef struct phHal_sFelicaCfg
7155d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly{
7165d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t     SystemCode[PHHAL_FEL_SYS_CODE_LEN];     /**< System code for Felica tags */
7175d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
7185d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly}phHal_sFelicaCfg_t;
7195d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
7205d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
7215d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_nfci
7225d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
7235d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
7245d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief Poll Device Information for conifiguring the discovery wheel
7255d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly          Reader and Card Emulation Phases
7265d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
7275d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
7285d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
7295d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
7305d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  The <em> \ref phHal_sPollDevInfo_t enum </em> is used to enable/disable
7315d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  phases of the discovery wheel related to specific reader types and
7325d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  card emulation phase
7335d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note Enabling specific Reader technology when NFCIP1 speed is set in the
7345d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*        phNfc_sADD_Cfg_t is implicitly done in HAL. Use this structure to only
7355d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*        enable/disable Card Reader Functionality
7365d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
7375d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef phNfc_sPollDevInfo_t phHal_sPollDevInfo_t;
7385d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
7395d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
7405d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_common
7415d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
7425d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
7435d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief Identifies Type of Host
7445d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
7455d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
7465d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
7475d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
7485d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  This enumeration is used to identify the type of the host providing the
7495d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  information or the notification to the Terminal host.
7505d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note None.
7515d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
7525d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
7535d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef enum phHal_HostType {
7545d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /*
7555d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly     * This type identifies the host controller
7565d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly     * in the NFC device
7575d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly     */
7585d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    phHal_eHostController       = 0x00U,
7595d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /*
7605d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly     * This type identifies the Host Device
7615d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly     * controlling the NFC device.
7625d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly     */
7635d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    phHal_eTerminalHost         = 0x01U,
7645d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /*
7655d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly     * This type identifies the uicc host
7665d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly     * connnected to the NFC device
7675d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly     */
7685d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    phHal_eUICCHost             = 0x02U,
7695d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /* Host type is unknown */
7705d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    phHal_eUnknownHost          = 0xFFU
7715d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly}phHal_HostType_t;
7725d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
7735d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
7745d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_nfci
7755d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
7765d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
7775d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief P2P speed for the Initiator
7785d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
7795d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
7805d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
7815d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
7825d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  The <em> \ref phHal_eP2PMode enum </em> lists all the NFCIP1 speeds
7835d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  to be used for configuring the NFCIP1 discovery
7845d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
7855d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note None.
7865d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
7875d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
7885d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eDefaultP2PMode  phNfc_eDefaultP2PMode
7895d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_ePassive106 phNfc_ePassive106
7905d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_ePassive212 phNfc_ePassive212
7915d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_ePassive424 phNfc_ePassive424
7925d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eActive  phNfc_eActive
7935d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eP2P_ALL    phNfc_eP2P_ALL
7945d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#define    phHal_eInvalidP2PMode phNfc_eInvalidP2PMode
7955d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
7965d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
7975d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_common
7985d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
7995d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
8005d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief Identities the type of Notification
8015d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
8025d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
8035d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
8045d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
8055d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  This enumeration is used to specify the type of notification notified
8065d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  to the upper layer. This classifies the notification into two types
8075d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  one for the discovery notifications and the other for all the remaining
8085d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  event notifications
8095d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note None.
8105d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
8115d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
8125d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
8135d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef phNfc_eNotificationType_t phHal_eNotificationType_t;
8145d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
8155d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
8165d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_common
8175d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
8185d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
8195d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief Identifies the type of event notification
8205d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
8215d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
8225d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
8235d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
8245d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  This enumeration is used to identify the type of the event notified
8255d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  to the Terminal host.
8265d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note None.
8275d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
8285d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
8295d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef enum phHal_Event {
8305d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
8315d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
8325d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /* Transaction Events */
8335d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    NFC_EVT_END_OF_TRANSACTION   = 0x11U ,
8345d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    NFC_EVT_TRANSACTION          = 0x12U ,
8355d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    NFC_EVT_START_OF_TRANSACTION = 0x20U ,
8365d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
8375d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /* Field Events */
8385d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    NFC_EVT_FIELD_ON             = 0x31U,
8395d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    NFC_EVT_FIELD_OFF            = 0x34U,
8405d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
8415d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /* Card/Target Activation Events */
8425d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    NFC_EVT_ACTIVATED           = 0x33U,
8435d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    NFC_EVT_DEACTIVATED         = 0x32U,
8445d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
8455d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    NFC_EVT_PROTECTED           = 0x24U ,
8465d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
8475d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /* Reader Phases configuration request by UICC */
8485d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    NFC_UICC_RDPHASES_ACTIVATE_REQ = 0x43U,
8495d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    NFC_UICC_RDPHASES_DEACTIVATE_REQ = 0x44U,
8505d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
8515d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /* Connectivity and Triggering Events - Future Use */
8525d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    NFC_EVT_CONNECTIVITY         = 0x10U ,
8535d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    NFC_EVT_OPERATION_ENDED      = 0x13U ,
8545d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
8555d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /* NXP Specific System Information Events */
8565d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    NFC_INFO_TXLDO_OVERCUR       = 0x71U,
8575d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    NFC_INFO_MEM_VIOLATION       = 0x73U,
858967359c892ff74962b4f4243d989f447ffe4ae11Daniel Tomas    NFC_INFO_TEMP_OVERHEAT       = 0x74U,
8596dd948323de0f31b413c9f19a905f1c145c9c456Rob von Behren    NFC_INFO_LLC_ERROR           = 0x75U,
860967359c892ff74962b4f4243d989f447ffe4ae11Daniel Tomas
861967359c892ff74962b4f4243d989f447ffe4ae11Daniel Tomas    /* NXP EVENTS */
862967359c892ff74962b4f4243d989f447ffe4ae11Daniel Tomas    NFC_EVT_MIFARE_ACCESS          = 0x35,
863967359c892ff74962b4f4243d989f447ffe4ae11Daniel Tomas    NFC_EVT_APDU_RECEIVED          = 0x36,
864967359c892ff74962b4f4243d989f447ffe4ae11Daniel Tomas    NFC_EVT_EMV_CARD_REMOVAL       = 0x37
8655d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
8665d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly}phHal_Event_t;
8675d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
8685d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef phNfc_sUiccInfo_t phHal_sUiccInfo_t;
8695d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
8705d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_common
8715d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
8725d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
8735d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief Event notification Information
8745d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
8755d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
8765d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
8775d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
8785d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  This structure provides the information about the event notified
8795d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  to the terminal host.
8805d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note None.
8815d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
8825d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
8835d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef struct phHal_sEventInfo
8845d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly{
8855d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /* Type of the host issuing the event */
8865d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    phHal_HostType_t    eventHost;
8875d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /* Type of the source issuing the event */
8885d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    phHal_eRFDevType_t  eventSource;
8895d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /* Type of the source issuing the event */
8905d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    phHal_Event_t       eventType;
8915d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    union   uEventInfo
8925d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    {
8935d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly        /* Parameter information Information is obtained if the eventType is
8945d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly         * NFC_EVT_TRANSACTION for UICC.
8955d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly         */
8965d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly        phHal_sUiccInfo_t       uicc_info;
8975d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly        /* AID Information is obtained if the eventType is
8985d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly         * NFC_EVT_TRANSACTION.
8995d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly         */
9005d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly        phNfc_sData_t           aid;
9015d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly        /* Overheat Status Information is obtained if the eventType is
9025d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly         * NFC_INFO_TEMP_OVERHEAT.
9035d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly         */
9045d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly        uint8_t                 overheat_status;
9055d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly        /* rd_phases Information is obtained if the eventType is
9065d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly         * NFC_UICC_RDPHASES_ACTIVATE_REQ.
9075d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly         */
9085d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly        uint8_t                 rd_phases;
9095d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly        /* Remote Device Information is obtained if the eventType is
9105d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly         * NFC_EVT_ACTIVATED.
9115d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly         */
9125d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly        phHal_sRemoteDevInformation_t *pRemoteDevInfo;
9135d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    }eventInfo;
9145d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly}phHal_sEventInfo_t;
9155d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
9165d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
9175d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_common
9185d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
9195d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
9205d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief Information for the Host/Uicc Emulation Support
9215d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
9225d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
9235d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
9245d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
9255d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  The <em> \ref phHal_sEmuSupport structure </em> holds the type
9265d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*   of the target emulation supported.
9275d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
9285d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note None.
9295d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
9305d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
9315d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef struct phHal_sEmuSupport
9325d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly{
9335d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    unsigned int TypeA:1;
9345d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    unsigned int TypeB:1;
9355d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    unsigned int TypeBPrime:1;
9365d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    unsigned int TypeFelica:1;
9375d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    unsigned int TypeMifare:1;
9385d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    unsigned int TypeNfcIP1:1;
9395d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    unsigned int RFU:2;
9405d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
9415d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly}phHal_sEmuSupport_t;
9425d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
9435d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
9445d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_nfci
9455d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
9465d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
9475d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief P2P Information for the Initiator
9485d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
9495d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
9505d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
9515d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
9525d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  The <em> \ref phHal_sNfcIPCfg </em> holds the P2P related information
9535d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  use by the NFC Device during P2P Discovery and connection
9545d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
9555d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note None.
9565d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
9575d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
9585d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef phNfc_sNfcIPCfg_t phHal_sNfcIPCfg_t;
9595d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
9605d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_common
9615d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
9625d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
9635d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief Enumeration used to choose which type of parameters
9645d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*         are to be configured
9655d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
9665d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
9675d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
9685d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
9695d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
9705d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note None.
9715d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
9725d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef enum phHal_eConfigType
9735d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly{
9745d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    NFC_INVALID_CONFIG  =   0x00U, /**< Invalid Configuration */
9755d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    NFC_RF_READER_CONFIG, /**< Reader Parmaeters */
9765d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    NFC_P2P_CONFIG,       /**< NFCIP1 Parameters */
9775d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    NFC_SE_PROTECTION_CONFIG, /**< Secure Element
9785d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                   Protection Cofiguration */
9795d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    NFC_EMULATION_CONFIG  /**< Emulation Parameters */
9805d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly}phHal_eConfigType_t;
9815d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
9825d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_common
9835d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
9845d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
9855d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief Discovery Configuration Mode
9865d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
9875d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
9885d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
9895d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
9905d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  This enumeration is used to choose the Discovery Configuration
9915d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  Mode :- Configure and Start, Stop or Start with last set
9925d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  configuration
9935d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note None.
9945d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
9955d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
9965d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef phNfc_eDiscoveryConfigMode_t phHal_eDiscoveryConfigMode_t;
9975d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
9985d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
9995d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_common
10005d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
10015d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
10025d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief Target or Tag Release Mode
10035d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
10045d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
10055d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
10065d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
10075d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  This enumeration defines various modes of releasing an acquired target
10085d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  or tag.
10095d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note None.
10105d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
10115d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef phNfc_eReleaseType_t phHal_eReleaseType_t;
10125d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
10135d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
10145d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_common
10155d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
10165d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
10175d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief Configuration of specific Emulation Feature
10185d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
10195d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
10205d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
10215d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
10225d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  This enumeration is used to choose configuration for a specific
10235d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  emulation feature.
10245d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note None.
10255d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
10265d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
10275d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef enum phHal_eEmulationType
10285d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly{
10295d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    NFC_UNKNOWN_EMULATION       = 0x00U, /**< Invalid Configuration */
10305d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    NFC_HOST_CE_A_EMULATION     = 0x01U, /**< Configure parameters for Type A
10315d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                              card emulation from host */
10325d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    NFC_HOST_CE_B_EMULATION     = 0x02U, /**< Configure parameters for Type B
10335d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                              card emulation from host */
10345d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    NFC_B_PRIME_EMULATION       = 0x03U, /**< Configure parameters for Type B'
10355d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                              card emulation from host */
10365d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    NFC_FELICA_EMULATION        = 0x04U, /**< Configure parameters for Type F
10375d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                              card emulation from host */
10385d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    NFC_MIFARE_EMULATION        = 0x06U, /**< Configure parameters for MIFARE
10395d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                              card emulation - For Future Use */
10405d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    NFC_SMARTMX_EMULATION       = 0x07U, /**< Configure parameters for SmartMX
10415d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                            */
10425d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    NFC_UICC_EMULATION          = 0x08U  /**< Configure parameters for UICC
10435d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                            emulation */
10445d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly}phHal_eEmulationType_t;
10455d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
10465d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#if 0
10475d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_nfct
10485d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
10495d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \if hal
10505d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \brief Information for Target Mode Start-Up
10515d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \else
10525d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \brief HAL-Specific
10535d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly * \endif
10545d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
10555d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  The <em> Target Information Structure </em> required to start Target mode.
10565d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  It contains all the information for the Target mode.
10575d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
10585d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *  \note None.
10595d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly *
10605d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly */
10615d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
10625d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef struct phHal_sTargetInfo
10635d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly{
10645d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t                 enableEmulation;
10655d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    phHal_sNfcIPCfg_t       targetConfig;
10665d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly} phHal_sTargetInfo_t;
10675d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#endif
10685d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
10695d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
10705d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_common
10715d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
10725d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
10735d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief Mode of operation for SmartMX
10745d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
10755d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
10765d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
10775d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
10785d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  This enumeration is used to choose the mode of operation for the SmartMx Module.
10795d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  Default static configuration at initialization time.
10805d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note None.
10815d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
10825d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
10835d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef enum phHal_eSmartMX_Mode{
10845d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    eSmartMx_Wired      = 0x00U, /* SmartMX is in Wired Mode */
10855d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    eSmartMx_Default,            /* SmartMX is in Default Configuration Mode */
10865d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    eSmartMx_Virtual,            /* SmartMx in the Virutal Mode */
10875d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    eSmartMx_Off                 /* SmartMx Feature is Switched off */
10885d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly} phHal_eSmartMX_Mode_t;
10895d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
10905d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
10915d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_common
10925d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
10935d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
10945d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief Mode of operation for SWP
10955d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
10965d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
10975d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
10985d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
10995d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  This enumeration is used to choose the mode of operation for the SWP Link
11005d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  for UICC Module. Default static configuration at initialization time.
11015d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note None.
11025d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
11035d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
11045d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef enum phHal_eSWP_Mode{
11055d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    eSWP_Switch_Off      = 0x00U,   /* SWP Link is Switched off */
11065d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    eSWP_Switch_Default,            /* SWP is in Default Configuration Mode */
11075d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    eSWP_Switch_On                  /* SWP Link is Switched on */
11085d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly} phHal_eSWP_Mode_t;
11095d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
11105d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
11115d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_common
11125d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
11135d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
11145d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief Information for the Configuring the SmartMX
11155d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
11165d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
11175d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
11185d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
11195d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  The <em> \ref phHal_sSmartMX_Cfg structure </em> holds the information
11205d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*   to configure the SmartMX Module in the NFC Device.
11215d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
11225d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note None.
11235d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
11245d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
11255d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
11265d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef struct phHal_sSmartMX_Cfg
11275d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly{
11285d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t                 enableEmulation;
11295d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t                 lowPowerMode;
11305d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    phHal_eSmartMX_Mode_t   smxMode;
11315d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly}phHal_sSmartMX_Cfg_t;
11325d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
11335d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
11345d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_common
11355d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
11365d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
11375d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief Information for the Configuring the UICC
11385d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
11395d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
11405d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
11415d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
11425d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  The <em> \ref phHal_sUiccEmuCfg structure </em> holds the information
11435d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*   to configure the UICC Host.
11445d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
11455d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note None.
11465d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
11475d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
11485d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
11495d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef struct phHal_sUiccEmuCfg
11505d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly{
11515d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t             enableUicc;
11525d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t             uiccEmuSupport;
11535d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t             uiccReaderSupport;
11545d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t             lowPowerMode;
11555d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    /* TODO: This will be updated later */
11565d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly}phHal_sUiccEmuCfg_t;
11575d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
11585d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_common
11595d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
11605d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
11615d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief Information for the Configuring the Type A Host Emulation Feature
11625d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
11635d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
11645d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
11655d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
11665d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  The <em> \ref phHal_sHostEmuCfg_A structure </em> holds the information
11675d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*   to configure the Host Emulation for Type A.
11685d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
11695d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note None.
11705d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
11715d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
11725d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef struct phHal_sHostEmuCfg_A
11735d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly{
11745d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t                 enableEmulation;
11755d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    phNfc_sIso14443AInfo_t  hostEmuCfgInfo;
11765d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t                 enableCID;
11775d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly}phHal_sHostEmuCfg_A_t;
11785d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
11795d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
11805d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_common
11815d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
11825d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
11835d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief Information for the Configuring the Type B Host Emulation Feature
11845d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
11855d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
11865d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
11875d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
11885d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  The <em> \ref phHal_sHostEmuCfg_B structure </em> holds the information
11895d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*   to configure the Host Emulation for Type B.
11905d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
11915d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note None.
11925d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
11935d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
11945d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef struct phHal_sHostEmuCfg_B
11955d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly{
11965d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t                 enableEmulation;
11975d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    phNfc_sIso14443BInfo_t  hostEmuCfgInfo;
11985d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly}phHal_sHostEmuCfg_B_t;
11995d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
12005d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_common
12015d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
12025d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
12035d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief Information for the Configuring the Felica Host Emulation Feature
12045d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
12055d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
12065d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
12075d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
12085d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  The <em> \ref phHal_sHostEmuCfg_F structure </em> holds the information
12095d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*   to configure the Felica Host Emulation.
12105d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
12115d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note None.
12125d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
12135d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
12145d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
12155d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef struct phHal_sHostEmuCfg_F
12165d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly{
12175d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t                 enableEmulation;
12185d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly}phHal_sHostEmuCfg_F_t;
12195d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
12205d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
12215d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_common
12225d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
12235d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
12245d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief Information for the Configuring the Emulation
12255d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
12265d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
12275d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
12285d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
12295d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  The <em> \ref phHal_sEmulationCfg structure </em> holds the information
12305d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*   required for the device to act as a Tag or NFCIP1 Target.
12315d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
12325d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note phHal_sHostEmuCfg_F_t Type F emulation is not presently supported
12335d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  is reserved for future use.
12345d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
12355d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
12365d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef struct phHal_sEmulationCfg
12375d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly{
12385d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    phHal_HostType_t        hostType;
12395d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    phHal_eEmulationType_t  emuType;
12405d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    union phHal_uEmuConfig
12415d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    {
12425d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly        phHal_sSmartMX_Cfg_t    smartMxCfg;
12435d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly        phHal_sHostEmuCfg_A_t   hostEmuCfg_A;
12445d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly        phHal_sHostEmuCfg_B_t   hostEmuCfg_B;
12455d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly        phHal_sHostEmuCfg_F_t   hostEmuCfg_F;
12465d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly        phHal_sUiccEmuCfg_t     uiccEmuCfg;
12475d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    }config;
12485d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly}phHal_sEmulationCfg_t;
12495d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
12505d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_common
12515d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
12525d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
12535d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief Information for the Configuring the Reader parameters
12545d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
12555d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
12565d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
12575d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
12585d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  The <em> \ref phHal_sReaderCfg structure </em> holds the information
12595d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*   to configure the Reader A or Reader B parameters.
12605d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
12615d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note None.
12625d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
12635d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
12645d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef struct phHal_sReaderCfg
12655d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly{
12665d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    phHal_eRFDevType_t    readerType;
12675d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    union phHal_uReaderCfg
12685d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    {
12695d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly        phHal_sIso14443ACfg_t       Iso14443ACfg;
12705d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly        phHal_sIso14443BCfg_t       Iso14443BCfg;
12715d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    }config;
12725d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly}phHal_sReaderCfg_t;
12735d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
12745d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
12755d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_common
12765d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
12775d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
12785d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief Information for Configuring the Protected Mode for
12795d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  the Secure Elements.
12805d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
12815d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
12825d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
12835d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
12845d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  The <em> \ref phHal_sSEProtectionCfg structure </em> holds the
12855d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  information to configure the Secure Element Protection configuration.
12865d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
12875d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note None.
12885d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
12895d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
12905d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef struct phHal_sSEProtectionCfg
12915d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly{
12925d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    uint8_t         mode;
12935d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly}phHal_sSEProtectionCfg_t;
12945d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
12955d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
12965d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup  grp_hal_common
12975d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
12985d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
12995d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief Poll configuration structure
13005d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
13015d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
13025d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
13035d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
13045d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  The <em> Poll configuration structure </em> holds information about the
13055d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  enabling the the type of discovery required by the application. This
13065d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  structure is the input parameter for the discovery call
13075d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
13085d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note All members of this structure are input parameters [out].
13095d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
13105d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \if hal
13115d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*   \sa \ref phHal4Nfc_Connect, \ref phHal4Nfc_ConfigParameters,
13125d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*            \ref phHal_eP2PMode_t and \ref phHal4Nfc_Disconnect.
13135d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \endif
13145d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
13155d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
13165d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
13175d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef phNfc_sADD_Cfg_t phHal_sADD_Cfg_t;
13185d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
13195d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
13205d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/** \ingroup grp_hal_common
13215d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
13225d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \if hal
13235d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief Configuration information.
13245d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \else
13255d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \brief HAL-Specific
13265d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly* \endif
13275d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
13285d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  The <em> \ref phHal_uConfig structure </em> holds the information
13295d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*   required for Configuring the Device.
13305d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*
13315d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*  \note None.
13325d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly*/
13335d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
13345d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
13355d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pellytypedef union phHal_uConfig
13365d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly{
13375d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    phHal_sEmulationCfg_t emuConfig;
13385d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    phHal_sNfcIPCfg_t     nfcIPConfig;    /**< Gives the information about
13395d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                           *  the General Bytes for NFC-IP
13405d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                           *  Communication.
13415d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly                                           */
13425d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    phHal_sReaderCfg_t       readerConfig;
13435d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly    phHal_sSEProtectionCfg_t protectionConfig;
13445d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly}phHal_uConfig_t;
13455d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
13465d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
13475d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly#endif
13485d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly
13495d9927ba30ba449badb9f6df0fbeb4d6aedc6e2aNick Pelly/* EOF */
1350