1e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/****************************************************************************** 2e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 3e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * Copyright (C) 1999-2012 Broadcom Corporation 4e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 5e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 6e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * you may not use this file except in compliance with the License. 7e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * You may obtain a copy of the License at: 8e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 9e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 10e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 11e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 12e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 13e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * See the License for the specific language governing permissions and 15e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * limitations under the License. 16e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 17e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ******************************************************************************/ 18e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 19e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFC_TARGET_H 20e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFC_TARGET_H 21e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 22e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#include "data_types.h" 23e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 24e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifdef BUILDCFG 25e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#include "buildcfg.h" 26e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 27e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 28e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Include common GKI definitions used by this platform */ 29e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#include "gki_target.h" 30e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 31e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#include "bt_types.h" /* This must be defined AFTER buildcfg.h */ 32e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#include "dyn_mem.h" /* defines static and/or dynamic memory for components */ 33e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef LMP_TEST 34e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#include "bt_trace.h" 35e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 36e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 37e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 38e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* API macros for DLL (needed to export API functions from DLLs) */ 39e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFC_API EXPORT_API 40e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_API EXPORT_API 41e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 42e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/****************************************************************************** 43e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** 44e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** GKI Mail Box and Timer 45e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** 46e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project******************************************************************************/ 47e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 48e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Mailbox event mask for NFC stack */ 49e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFC_MBOX_EVT_MASK 50e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFC_MBOX_EVT_MASK (TASK_MBOX_0_EVT_MASK) 51e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 52e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 53e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Mailbox ID for NFC stack */ 54e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFC_MBOX_ID 55e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFC_MBOX_ID (TASK_MBOX_0) 56e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 57e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 58e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Mailbox event mask for NFA */ 59e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_MBOX_EVT_MASK 60e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_MBOX_EVT_MASK (TASK_MBOX_2_EVT_MASK) 61e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 62e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 63e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Mailbox ID for NFA */ 64e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_MBOX_ID 65e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_MBOX_ID (TASK_MBOX_2) 66e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 67e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 68e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* GKI timer id used for protocol timer in NFC stack */ 69e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFC_TIMER_ID 70e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFC_TIMER_ID (TIMER_0) 71e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 72e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 73e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* GKI timer event mask used for protocol timer in NFC stack */ 74e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFC_TIMER_EVT_MASK 75e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFC_TIMER_EVT_MASK (TIMER_0_EVT_MASK) 76e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 77e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 78e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* GKI timer id used for quick timer in NFC stack */ 79e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFC_QUICK_TIMER_ID 80e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFC_QUICK_TIMER_ID (TIMER_1) 81e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 82e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 83e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* GKI timer event mask used for quick timer in NFC stack */ 84e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFC_QUICK_TIMER_EVT_MASK 85e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFC_QUICK_TIMER_EVT_MASK (TIMER_1_EVT_MASK) 86e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 87e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 88e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* GKI timer id used for protocol timer in NFA */ 89e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_TIMER_ID 90e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_TIMER_ID (TIMER_2) 91e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 92e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 93e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* GKI timer event mask used for protocol timer in NFA */ 94e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_TIMER_EVT_MASK 95e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_TIMER_EVT_MASK (TIMER_2_EVT_MASK) 96e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 97e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 98e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/****************************************************************************** 99e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** 100e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** GKI Buffer Pools 101e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** 102e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project******************************************************************************/ 103e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 104e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* NCI command/notification/data */ 105e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFC_NCI_POOL_ID 106e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFC_NCI_POOL_ID GKI_POOL_ID_2 107e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 108e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 109e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFC_NCI_POOL_BUF_SIZE 110e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFC_NCI_POOL_BUF_SIZE GKI_BUF2_SIZE 111e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 112e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 113e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Reader/Write commands (NCI data payload) */ 114e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFC_RW_POOL_ID 115e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFC_RW_POOL_ID GKI_POOL_ID_2 116e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 117e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 118e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFC_RW_POOL_BUF_SIZE 119e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFC_RW_POOL_BUF_SIZE GKI_BUF2_SIZE 120e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 121e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 122e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Card Emulation responses (NCI data payload) */ 123e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFC_CE_POOL_ID 124e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFC_CE_POOL_ID GKI_POOL_ID_2 125e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 126e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 127e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFC_CE_POOL_BUF_SIZE 128e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFC_CE_POOL_BUF_SIZE GKI_BUF2_SIZE 129e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 130e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 131e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 1325c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen/* NCI msg pool for HAL (for shared NFC/HAL GKI)*/ 1335c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#ifndef NFC_HAL_NCI_POOL_ID 1345c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#define NFC_HAL_NCI_POOL_ID NFC_NCI_POOL_ID 1355c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#endif 1365c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen 1375c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#ifndef NFC_HAL_NCI_POOL_BUF_SIZE 1385c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#define NFC_HAL_NCI_POOL_BUF_SIZE NFC_NCI_POOL_BUF_SIZE 1395c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#endif 1405c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen 1415c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen 142e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/****************************************************************************** 143e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** 144e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** NCI Transport definitions 145e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** 146e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project******************************************************************************/ 147e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* offset of the first NCI packet in buffer for outgoing */ 148e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NCI_MSG_OFFSET_SIZE 149e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NCI_MSG_OFFSET_SIZE 1 150e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 151e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 152e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Restore NFCC baud rate to default on shutdown if NFC_UpdateBaudRate was called */ 153e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFC_RESTORE_BAUD_ON_SHUTDOWN 154e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFC_RESTORE_BAUD_ON_SHUTDOWN TRUE 155e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 156e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 157e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/****************************************************************************** 158e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** 159e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** NCI 160e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** 161e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project******************************************************************************/ 162e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 163e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NCI_VERSION_0_F 0x0F 164e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NCI_VERSION_1_0 0x10 165e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 166e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NCI_VERSION 167e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NCI_VERSION NCI_VERSION_1_0 168e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 169e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 170e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* TRUE I2C patch is needed */ 171e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFC_I2C_PATCH_INCLUDED 172e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFC_I2C_PATCH_INCLUDED TRUE /* NFC-Android uses this!!! */ 173e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 174e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 175e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/****************************************************************************** 176e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** 177e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** NFC 178e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** 179e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project******************************************************************************/ 180e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFC_INCLUDED 181e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFC_INCLUDED TRUE 182e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 183e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 184e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Define to TRUE to include Broadcom Vendor Specific implementation */ 185e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFC_BRCM_VS_INCLUDED 186e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFC_BRCM_VS_INCLUDED TRUE 187e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 188e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 189e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Define to TRUE if compling for NFC Reader/Writer Only mode */ 190e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFC_RW_ONLY 191e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFC_RW_ONLY FALSE 192e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 193e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 194e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Define to TRUE to use dynamic memory allocation. 195e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * The default is FALSE - to use static memory allocations. 196e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*/ 197e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFC_DYNAMIC_MEMORY 198e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFC_DYNAMIC_MEMORY FALSE 199e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 200e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 201e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Timeout for receiving response to NCI command */ 202e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFC_CMD_CMPL_TIMEOUT 203e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFC_CMD_CMPL_TIMEOUT 2 204e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 205e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 206e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Timeout for waiting on data credit/NFC-DEP */ 207e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFC_DEACTIVATE_TIMEOUT 208e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFC_DEACTIVATE_TIMEOUT 2 209e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 210e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 211e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* the maximum number of Vendor Specific callback functions allowed to be registered. 1-14 */ 212e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFC_NUM_VS_CBACKS 213e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFC_NUM_VS_CBACKS 3 214e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 215e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 216e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* the maximum number of NCI connections allowed. 1-14 */ 217e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NCI_MAX_CONN_CBS 218e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NCI_MAX_CONN_CBS 4 219e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 220e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 221e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Maximum number of NCI commands that the NFCC accepts without needing to wait for response */ 222e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NCI_MAX_CMD_WINDOW 223e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NCI_MAX_CMD_WINDOW 1 224e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 225e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 226e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Define to TRUE to include the NFCEE related functionalities */ 227e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFC_NFCEE_INCLUDED 228e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFC_NFCEE_INCLUDED TRUE 229e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 230e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 231e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* the maximum number of NFCEE interface supported */ 232e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFC_MAX_EE_INTERFACE 233e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFC_MAX_EE_INTERFACE 3 234e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 235e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 236e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* the maximum number of NFCEE information supported. */ 237e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFC_MAX_EE_INFO 238e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFC_MAX_EE_INFO 8 239e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 240e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 241e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* the maximum number of NFCEE TLVs supported */ 242e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFC_MAX_EE_TLVS 243e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFC_MAX_EE_TLVS 1 244e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 245e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 246e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* the maximum size of NFCEE TLV list supported */ 247e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFC_MAX_EE_TLV_SIZE 248e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFC_MAX_EE_TLV_SIZE 150 249e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 250e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 251df5080d7feca9827fd0306471c54f52ecf185c22Evan Chu/* Maximum time to discover NFCEE */ 252df5080d7feca9827fd0306471c54f52ecf185c22Evan Chu#ifndef NFA_EE_DISCV_TIMEOUT_VAL 253df5080d7feca9827fd0306471c54f52ecf185c22Evan Chu#define NFA_EE_DISCV_TIMEOUT_VAL 2000 254df5080d7feca9827fd0306471c54f52ecf185c22Evan Chu#endif 255df5080d7feca9827fd0306471c54f52ecf185c22Evan Chu 256e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Number of times reader/writer should attempt to resend a command on failure */ 257e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef RW_MAX_RETRIES 258e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define RW_MAX_RETRIES 5 259e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 260e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 261e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* RW NDEF Support */ 262e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef RW_NDEF_INCLUDED 263e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define RW_NDEF_INCLUDED TRUE 264e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 265e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 266e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* RW Type 1 Tag timeout for each API call, in ms */ 267e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef RW_T1T_TOUT_RESP 268e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define RW_T1T_TOUT_RESP 100 269e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 270e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 271e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* CE Type 2 Tag timeout for controller command, in ms */ 272e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef CE_T2T_TOUT_RESP 273e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define CE_T2T_TOUT_RESP 1000 274e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 275e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 276e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* RW Type 2 Tag timeout for each API call, in ms */ 277e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef RW_T2T_TOUT_RESP 278e75b11bfe42c06a4ae95e947b04fdf09f1869fbdEvan Chu#define RW_T2T_TOUT_RESP 150 /* Android requires 150 instead of 100 for presence-check*/ 279e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 280e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 281e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* RW Type 2 Tag timeout for each API call, in ms */ 282e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef RW_T2T_SEC_SEL_TOUT_RESP 283e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define RW_T2T_SEC_SEL_TOUT_RESP 10 284e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 285e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 286e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* RW Type 3 Tag timeout for each API call, in ms */ 287e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef RW_T3T_TOUT_RESP 288e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define RW_T3T_TOUT_RESP 100 /* NFC-Android will use 100 instead of 75 for T3t presence-check */ 289e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 290e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 291e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* CE Type 3 Tag maximum response timeout index (for check and update, used in SENSF_RES) */ 292e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef CE_T3T_MRTI_C 293e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define CE_T3T_MRTI_C 0xFF 294e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 295e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef CE_T3T_MRTI_U 296e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define CE_T3T_MRTI_U 0xFF 297e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 298e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 299e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Default maxblocks for CE_T3T UPDATE/CHECK operations */ 300e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef CE_T3T_DEFAULT_UPDATE_MAXBLOCKS 301e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define CE_T3T_DEFAULT_UPDATE_MAXBLOCKS 3 302e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 303e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 304e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef CE_T3T_DEFAULT_CHECK_MAXBLOCKS 305e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define CE_T3T_DEFAULT_CHECK_MAXBLOCKS 3 306e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 307e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 308e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* CE Type 4 Tag, Frame Waiting time Integer */ 309e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef CE_T4T_ISO_DEP_FWI 310e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define CE_T4T_ISO_DEP_FWI 7 311e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 312e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 313e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* RW Type 4 Tag timeout for each API call, in ms */ 314e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef RW_T4T_TOUT_RESP 315e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define RW_T4T_TOUT_RESP 1000 316e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 317e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 318e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* CE Type 4 Tag timeout for update file, in ms */ 319e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef CE_T4T_TOUT_UPDATE 320e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define CE_T4T_TOUT_UPDATE 1000 321e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 322e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 323e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* CE Type 4 Tag, mandatory NDEF File ID */ 324e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef CE_T4T_MANDATORY_NDEF_FILE_ID 325e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define CE_T4T_MANDATORY_NDEF_FILE_ID 0x1000 326e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 327e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 328e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* CE Type 4 Tag, max number of AID supported */ 329e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef CE_T4T_MAX_REG_AID 330e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define CE_T4T_MAX_REG_AID 4 331e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 332e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 333e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Sub carrier */ 334e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef RW_I93_FLAG_SUB_CARRIER 335e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define RW_I93_FLAG_SUB_CARRIER I93_FLAG_SUB_CARRIER_SINGLE 336e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 337e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 338e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Data rate for 15693 command/response */ 339e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef RW_I93_FLAG_DATA_RATE 340e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define RW_I93_FLAG_DATA_RATE I93_FLAG_DATA_RATE_HIGH 341e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 342e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 343e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* TRUE, to include Card Emulation related test commands */ 344e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef CE_TEST_INCLUDED 345e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define CE_TEST_INCLUDED FALSE 346e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 347e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 348e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 349e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Quick Timer */ 350e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef QUICK_TIMER_TICKS_PER_SEC 351e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define QUICK_TIMER_TICKS_PER_SEC 100 /* 10ms timer */ 352e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 353e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 354e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 355e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/****************************************************************************** 356e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** 357e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** LLCP 358e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** 359e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project******************************************************************************/ 360e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 361e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef LLCP_TEST_INCLUDED 362e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_TEST_INCLUDED FALSE 363e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 364e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 365e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef LLCP_POOL_ID 366e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_POOL_ID GKI_POOL_ID_3 367e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 368e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 369e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef LLCP_POOL_BUF_SIZE 370e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_POOL_BUF_SIZE GKI_BUF3_SIZE 371e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 372e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 373e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* LLCP Maximum Information Unit (between LLCP_DEFAULT_MIU(128) and LLCP_MAX_MIU (2175)*/ 374e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef LLCP_MIU 375e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_MIU (LLCP_POOL_BUF_SIZE - BT_HDR_SIZE - NCI_MSG_OFFSET_SIZE - NCI_DATA_HDR_SIZE - LLCP_PDU_HEADER_SIZE) 376e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 377e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 378e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Link Timeout, LTO */ 379e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef LLCP_LTO_VALUE 380e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_LTO_VALUE 1000 /* Default is 100ms. It should be sufficiently larger than RWT */ 381e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 382e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 383e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* 384e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** LTO is max time interval between the last bit received and the first bit sent over the air. 385e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Link timeout must be delayed as much as time between the packet sent from LLCP and the last bit transmitted at NFCC. 386e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** - 200ms, max OTA transmitting time between the first bit and the last bit at NFCC 387e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Largest MIU(2175bytes) of LLCP must be fragmented and sent on NFC-DEP over the air. 388e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** 8 * (DEP_REQ/RES+ACK) + DEP_REQ/RES for 2175 MIU at 106kbps bit rate. 389e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** - 10ms, processing time 390e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*/ 391e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef LLCP_INTERNAL_TX_DELAY 392e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_INTERNAL_TX_DELAY 210 393e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 394e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 395e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* 396e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** LTO is max time interval between the last bit received and the first bit sent over the air. 397e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Link timeout must be delayed as much as time between the first bit received at NFCC and the packet received at LLCP. 398e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** - 200ms, max OTA transmitting time between the first bit and the last bit at NFCC 399e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** LLCP cannot receive data packet until all bit are received and reassembled in NCI. 400e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** 8 * (DEP_REQ/RES+ACK) + DEP_REQ/RES for 2175 MIU at 106kbps bit rate. 401e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** - 10ms, processing time 402e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*/ 403e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef LLCP_INTERNAL_RX_DELAY 404e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_INTERNAL_RX_DELAY 210 405e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 406e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 407e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Wait for application layer sending data before sending SYMM */ 408e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef LLCP_DELAY_RESP_TIME 409e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_DELAY_RESP_TIME 20 /* in ms */ 410e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 411e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 412e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* LLCP inactivity timeout for initiator */ 413e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef LLCP_INIT_INACTIVITY_TIMEOUT 414e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_INIT_INACTIVITY_TIMEOUT 0 /* in ms */ 415e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 416e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 417e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* LLCP inactivity timeout for target */ 418e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef LLCP_TARGET_INACTIVITY_TIMEOUT 419e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_TARGET_INACTIVITY_TIMEOUT 0 /* in ms */ 420e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 421e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 422e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* LLCP delay timeout to send the first PDU as initiator */ 423e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef LLCP_DELAY_TIME_TO_SEND_FIRST_PDU 424e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_DELAY_TIME_TO_SEND_FIRST_PDU 50 /* in ms */ 425e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 426e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 427e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Response Waiting Time */ 428e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef LLCP_WAITING_TIME 429e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_WAITING_TIME 7 /* its scaled value should be less than LTO */ 430e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 431e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 432e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Options Parameters */ 433e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef LLCP_OPT_VALUE 434e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_OPT_VALUE LLCP_LSC_3 /* Link Service Class 3 */ 435e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 436e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 437e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Data link connection timeout */ 438e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef LLCP_DATA_LINK_CONNECTION_TOUT 439e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_DATA_LINK_CONNECTION_TOUT 1000 440e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 441e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 442e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Max length of service name */ 443e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef LLCP_MAX_SN_LEN 444e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_MAX_SN_LEN 255 /* max length of service name */ 445e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 446e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 447e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Max number of well-known services, at least 2 for LM and SDP and up to 16 */ 448e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef LLCP_MAX_WKS 449e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_MAX_WKS 5 450e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 451e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 452e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Max number of services advertised by local SDP, up to 16 */ 453e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef LLCP_MAX_SERVER 454e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_MAX_SERVER 10 455e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 456e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 457e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Max number of services not advertised by local SDP, up to 32 */ 458e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef LLCP_MAX_CLIENT 459e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_MAX_CLIENT 20 460e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 461e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 462e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Max number of data link connections */ 463e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef LLCP_MAX_DATA_LINK 464e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_MAX_DATA_LINK 16 465e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 466e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 467e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Max number of outstanding service discovery requests */ 468e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef LLCP_MAX_SDP_TRANSAC 469e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_MAX_SDP_TRANSAC 16 470e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 471e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 472e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Percentage of LLCP buffer pool for receiving data */ 473e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef LLCP_RX_BUFF_RATIO 474e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_RX_BUFF_RATIO 30 475e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 476e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 477e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Rx congestion end threshold as percentage of receiving buffers */ 478e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef LLCP_RX_CONGEST_END 479e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_RX_CONGEST_END 50 480e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 481e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 482e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Rx congestion start threshold as percentage of receiving buffers */ 483e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef LLCP_RX_CONGEST_START 484e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_RX_CONGEST_START 70 485e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 486e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 487e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* limitation of rx UI PDU as percentage of receiving buffers */ 488e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef LLCP_LL_RX_BUFF_LIMIT 489e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_LL_RX_BUFF_LIMIT 30 490e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 491e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 492e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* minimum rx congestion threshold (number of rx I PDU in queue) for data link connection */ 493e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef LLCP_DL_MIN_RX_CONGEST 494e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_DL_MIN_RX_CONGEST 4 495e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 496e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 497e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* limitation of tx UI PDU as percentage of transmitting buffers */ 498e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef LLCP_LL_TX_BUFF_LIMIT 499e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LLCP_LL_TX_BUFF_LIMIT 30 500e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 501e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 502e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/****************************************************************************** 503e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** 504e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** NFA 505e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** 506e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project******************************************************************************/ 507e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_DYNAMIC_MEMORY 508e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_DYNAMIC_MEMORY FALSE 509e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 510e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 511e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_INCLUDED 512e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_INCLUDED TRUE 513e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 514e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 515e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_P2P_INCLUDED 516e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_P2P_INCLUDED TRUE 517e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 518e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 5195c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen/* Maximum Idle time (no hcp) to wait for EE DISC REQ Ntf(s) */ 5205c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#ifndef NFA_HCI_NETWK_INIT_IDLE_TIMEOUT 5215c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#define NFA_HCI_NETWK_INIT_IDLE_TIMEOUT 1000 522e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 523e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 524e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_HCI_MAX_HOST_IN_NETWORK 525e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_HCI_MAX_HOST_IN_NETWORK 0x06 526e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 527e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 528e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Max number of Application that can be registered to NFA-HCI */ 529e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_HCI_MAX_APP_CB 530e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_HCI_MAX_APP_CB 0x05 531e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 532e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 533e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Max number of HCI gates that can be created */ 534e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_HCI_MAX_GATE_CB 535e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_HCI_MAX_GATE_CB 0x06 536e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 537e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 538e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Max number of HCI pipes that can be created for the whole system */ 539e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_HCI_MAX_PIPE_CB 540e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_HCI_MAX_PIPE_CB 0x08 541e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 542e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 543e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Timeout for waiting for the response to HCP Command packet */ 5445c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#ifndef NFA_HCI_RESPONSE_TIMEOUT 5455c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#define NFA_HCI_RESPONSE_TIMEOUT 1000 546e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 547e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 548e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Default poll duration (may be over-ridden using NFA_SetRfDiscoveryDuration) */ 549e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_DM_DISC_DURATION_POLL 550e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_DM_DISC_DURATION_POLL 500 /* Android requires 500 */ 551e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 552e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 553e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Automatic NDEF detection (when not in exclusive RF mode) */ 554e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_DM_AUTO_DETECT_NDEF 555e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_DM_AUTO_DETECT_NDEF FALSE /* !!!!! NFC-Android needs FALSE */ 556e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 557e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 558e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Automatic NDEF read (when not in exclusive RF mode) */ 559e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_DM_AUTO_READ_NDEF 560e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_DM_AUTO_READ_NDEF FALSE /* !!!!! NFC-Android needs FALSE */ 561e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 562e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 563a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu/* Automatic NDEF presence check (when not in exclusive RF mode) */ 564e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_DM_AUTO_PRESENCE_CHECK 565e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_DM_AUTO_PRESENCE_CHECK FALSE /* Android requires FALSE */ 566e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 567e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 568a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu/* Presence check option: 0x01: use sleep/wake for none-NDEF ISO-DEP tags */ 569a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu#ifndef NFA_DM_PRESENCE_CHECK_OPTION 570a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu#define NFA_DM_PRESENCE_CHECK_OPTION 0x03 /* !!!!! Android needs value 3 */ 571a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu#endif 572a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu 573a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu/* Maximum time to wait for presence check response */ 574a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu#ifndef NFA_DM_MAX_PRESENCE_CHECK_TIMEOUT 575a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu#define NFA_DM_MAX_PRESENCE_CHECK_TIMEOUT 500 576a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu#endif 577a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu 5785c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen/* Default delay to auto presence check after sending raw frame */ 5795c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#ifndef NFA_DM_DEFAULT_PRESENCE_CHECK_START_DELAY 5805c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#define NFA_DM_DEFAULT_PRESENCE_CHECK_START_DELAY 750 5815c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#endif 5825c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen 5837c69b2723b60a59df4aaa58b13985b3483b291bfEvan Chu/* Timeout for reactivation of Kovio bar code tag (presence check) */ 5847c69b2723b60a59df4aaa58b13985b3483b291bfEvan Chu#ifndef NFA_DM_DISC_TIMEOUT_KOVIO_PRESENCE_CHECK 5857c69b2723b60a59df4aaa58b13985b3483b291bfEvan Chu#define NFA_DM_DISC_TIMEOUT_KOVIO_PRESENCE_CHECK (1000) 586e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 587e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 588e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Max number of NDEF type handlers that can be registered (including the default handler) */ 589e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_NDEF_MAX_HANDLERS 590e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_NDEF_MAX_HANDLERS 8 591e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 592e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 593e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Maximum number of listen entries configured/registered with NFA_CeConfigureUiccListenTech, */ 594e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* NFA_CeRegisterFelicaSystemCodeOnDH, or NFA_CeRegisterT4tAidOnDH */ 595e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_CE_LISTEN_INFO_MAX 596e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_CE_LISTEN_INFO_MAX 5 597e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 598e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 599e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_CHO_INCLUDED 6005c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#define NFA_CHO_INCLUDED FALSE /* Anddroid must use FALSE to exclude CHO */ 601e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 602e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 603e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* MIU for CHO */ 604e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_CHO_MIU 605e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_CHO_MIU 499 606e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 607e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 608e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Receiving Window for CHO */ 609e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_CHO_RW 610e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_CHO_RW 4 611e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 612e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 613e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Max number of alternative carrier information */ 614e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_CHO_MAX_AC_INFO 615e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_CHO_MAX_AC_INFO 2 616e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 617e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 618e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Max reference character length, it is up to 255 but it's RECOMMENDED short */ 619e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_CHO_MAX_REF_NAME_LEN 620e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_CHO_MAX_REF_NAME_LEN 8 621e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 622e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 623e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Max auxiliary data count */ 624e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_CHO_MAX_AUX_DATA_COUNT 625e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_CHO_MAX_AUX_DATA_COUNT 2 626e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 627e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 628e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_CHO_TEST_INCLUDED 629e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_CHO_TEST_INCLUDED FALSE 630e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 631e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 632e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_SNEP_INCLUDED 6335c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#define NFA_SNEP_INCLUDED FALSE /* Android must use FALSE to exclude SNEP */ 634e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 635e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 636e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Max acceptable length */ 637e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_SNEP_DEFAULT_SERVER_MAX_NDEF_SIZE 638e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_SNEP_DEFAULT_SERVER_MAX_NDEF_SIZE 500000 639e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 640e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 641e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Max number of SNEP server/client and data link connection */ 642e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_SNEP_MAX_CONN 643e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_SNEP_MAX_CONN 6 644e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 645e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 646e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Max number data link connection of SNEP default server*/ 647e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_SNEP_DEFAULT_MAX_CONN 648e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_SNEP_DEFAULT_MAX_CONN 3 649e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 650e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 651e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* MIU for SNEP */ 652e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_SNEP_MIU 653e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_SNEP_MIU 1980 /* Modified for NFC-A */ 654e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 655e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 656e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Receiving Window for SNEP */ 657e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_SNEP_RW 658e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_SNEP_RW 2 /* Modified for NFC-A */ 659e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 660e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 661e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Max number of NFCEE supported */ 662e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_EE_MAX_EE_SUPPORTED 6638263ec708307f43758888ef36da854bb589939aeMartijn Coenen#define NFA_EE_MAX_EE_SUPPORTED 4 /* Modified for NFC-A until we add dynamic support */ 664e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 665e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 666e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Maximum number of AID entries per target_handle */ 667e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_EE_MAX_AID_ENTRIES 668f23dcad2c02e3e8d08fe9bbef61776d579b5cb49Paul Chaisson#define NFA_EE_MAX_AID_ENTRIES (32) 669e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 670e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 671e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Maximum number of callback functions can be registered through NFA_EeRegister() */ 672e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_EE_MAX_CBACKS 673e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_EE_MAX_CBACKS (3) 674e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 675e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 676e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NFA_DTA_INCLUDED 677e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NFA_DTA_INCLUDED TRUE 678e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 679e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 6805c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen 6815c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen/***************************************************************************** 6825c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen** Define HAL_WRITE depending on whether HAL is using shared GKI resources 6835c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen** as the NFC stack. 6845c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen*****************************************************************************/ 6855c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#ifndef HAL_WRITE 6865c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#define HAL_WRITE(p) {nfc_cb.p_hal->write(p->len, (UINT8 *)(p+1) + p->offset); GKI_freebuf(p);} 6875c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen 688a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu#ifdef NFC_HAL_SHARED_GKI 689a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu 690a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu/* NFC HAL Included if NFC_NFCEE_INCLUDED */ 691a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu#if (NFC_NFCEE_INCLUDED == TRUE) 692a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu 693a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu#ifndef NFC_HAL_HCI_INCLUDED 694a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu#define NFC_HAL_HCI_INCLUDED TRUE 695a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu#endif 696a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu#else /* NFC_NFCEE_INCLUDED == TRUE */ 697a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu#ifndef NFC_HAL_HCI_INCLUDED 698a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu#define NFC_HAL_HCI_INCLUDED FALSE 699a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu#endif 700a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu 701a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu#endif /* NFC_NFCEE_INCLUDED == FALSE */ 702a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu 703a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu#endif /* NFC_HAL_SHARED_GKI */ 704a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu 7055c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen 7065c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen 7075c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#endif /* HAL_WRITE */ 7085c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen 7095c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen 710e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif /* NFC_TARGET_H */ 711e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 712e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 713e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 714