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