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 33#ifndef USERIAL_DEBUG 34#define USERIAL_DEBUG FALSE 35#endif 36 37/****************************************************************************** 38** 39** GKI Mail Box and Timer 40** 41******************************************************************************/ 42 43/* Mailbox event mask for NFC stack */ 44#ifndef NFC_MBOX_EVT_MASK 45#define NFC_MBOX_EVT_MASK (TASK_MBOX_0_EVT_MASK) 46#endif 47 48/* Mailbox ID for NFC stack */ 49#ifndef NFC_MBOX_ID 50#define NFC_MBOX_ID (TASK_MBOX_0) 51#endif 52 53/* Mailbox event mask for NFA */ 54#ifndef NFA_MBOX_EVT_MASK 55#define NFA_MBOX_EVT_MASK (TASK_MBOX_2_EVT_MASK) 56#endif 57 58/* Mailbox ID for NFA */ 59#ifndef NFA_MBOX_ID 60#define NFA_MBOX_ID (TASK_MBOX_2) 61#endif 62 63/* GKI timer id used for protocol timer in NFC stack */ 64#ifndef NFC_TIMER_ID 65#define NFC_TIMER_ID (TIMER_0) 66#endif 67 68/* GKI timer event mask used for protocol timer in NFC stack */ 69#ifndef NFC_TIMER_EVT_MASK 70#define NFC_TIMER_EVT_MASK (TIMER_0_EVT_MASK) 71#endif 72 73/* GKI timer id used for quick timer in NFC stack */ 74#ifndef NFC_QUICK_TIMER_ID 75#define NFC_QUICK_TIMER_ID (TIMER_1) 76#endif 77 78/* GKI timer event mask used for quick timer in NFC stack */ 79#ifndef NFC_QUICK_TIMER_EVT_MASK 80#define NFC_QUICK_TIMER_EVT_MASK (TIMER_1_EVT_MASK) 81#endif 82 83/* GKI timer id used for protocol timer in NFA */ 84#ifndef NFA_TIMER_ID 85#define NFA_TIMER_ID (TIMER_2) 86#endif 87 88/* GKI timer event mask used for protocol timer in NFA */ 89#ifndef NFA_TIMER_EVT_MASK 90#define NFA_TIMER_EVT_MASK (TIMER_2_EVT_MASK) 91#endif 92 93/****************************************************************************** 94** 95** GKI Buffer Pools 96** 97******************************************************************************/ 98 99/* NCI command/notification/data */ 100#ifndef NFC_NCI_POOL_ID 101#define NFC_NCI_POOL_ID GKI_POOL_ID_2 102#endif 103 104#ifndef NFC_NCI_POOL_BUF_SIZE 105#define NFC_NCI_POOL_BUF_SIZE GKI_BUF2_SIZE 106#endif 107 108/* Reader/Write commands (NCI data payload) */ 109#ifndef NFC_RW_POOL_ID 110#define NFC_RW_POOL_ID GKI_POOL_ID_2 111#endif 112 113#ifndef NFC_RW_POOL_BUF_SIZE 114#define NFC_RW_POOL_BUF_SIZE GKI_BUF2_SIZE 115#endif 116 117/* Card Emulation responses (NCI data payload) */ 118#ifndef NFC_CE_POOL_ID 119#define NFC_CE_POOL_ID GKI_POOL_ID_2 120#endif 121 122#ifndef NFC_CE_POOL_BUF_SIZE 123#define NFC_CE_POOL_BUF_SIZE GKI_BUF2_SIZE 124#endif 125 126/* NCI msg pool for HAL (for shared NFC/HAL GKI)*/ 127#ifndef NFC_HAL_NCI_POOL_ID 128#define NFC_HAL_NCI_POOL_ID NFC_NCI_POOL_ID 129#endif 130 131#ifndef NFC_HAL_NCI_POOL_BUF_SIZE 132#define NFC_HAL_NCI_POOL_BUF_SIZE NFC_NCI_POOL_BUF_SIZE 133#endif 134 135/****************************************************************************** 136** 137** NCI Transport definitions 138** 139******************************************************************************/ 140/* offset of the first NCI packet in buffer for outgoing */ 141#ifndef NCI_MSG_OFFSET_SIZE 142#define NCI_MSG_OFFSET_SIZE 1 143#endif 144 145/* Restore NFCC baud rate to default on shutdown if NFC_UpdateBaudRate was 146 * called */ 147#ifndef NFC_RESTORE_BAUD_ON_SHUTDOWN 148#define NFC_RESTORE_BAUD_ON_SHUTDOWN TRUE 149#endif 150 151/****************************************************************************** 152** 153** NCI 154** 155******************************************************************************/ 156#define NCI_VERSION_UNKNOWN 0x00 157#define NCI_VERSION_1_0 0x10 158#define NCI_VERSION_2_0 0x20 159#ifndef NCI_VERSION 160#define NCI_VERSION NCI_VERSION_2_0 161#endif 162#define NCI_CORE_RESET_RSP_LEN(X) (((X) == NCI_VERSION_2_0) ? (0x01) : (0x03)) 163 164/* TRUE I2C patch is needed */ 165#ifndef NFC_I2C_PATCH_INCLUDED 166#define NFC_I2C_PATCH_INCLUDED TRUE /* NFC-Android uses this!!! */ 167#endif 168 169/****************************************************************************** 170** 171** NFC 172** 173******************************************************************************/ 174 175/* Define to TRUE to include Broadcom Vendor Specific implementation */ 176#ifndef NFC_BRCM_VS_INCLUDED 177#define NFC_BRCM_VS_INCLUDED TRUE 178#endif 179 180/* Define to TRUE if compling for NFC Reader/Writer Only mode */ 181#ifndef NFC_RW_ONLY 182#define NFC_RW_ONLY FALSE 183#endif 184 185/* Timeout for receiving response to NCI command */ 186#ifndef NFC_CMD_CMPL_TIMEOUT 187#define NFC_CMD_CMPL_TIMEOUT 2 188#endif 189 190/* Timeout for waiting on data credit/NFC-DEP */ 191#ifndef NFC_DEACTIVATE_TIMEOUT 192#define NFC_DEACTIVATE_TIMEOUT 2 193#endif 194 195/* the maximum number of Vendor Specific callback functions allowed to be 196 * registered. 1-14 */ 197#ifndef NFC_NUM_VS_CBACKS 198#define NFC_NUM_VS_CBACKS 3 199#endif 200 201/* the maximum number of NCI connections allowed. 1-14 */ 202#ifndef NCI_MAX_CONN_CBS 203#define NCI_MAX_CONN_CBS 4 204#endif 205 206/* Maximum number of NCI commands that the NFCC accepts without needing to wait 207 * for response */ 208#ifndef NCI_MAX_CMD_WINDOW 209#define NCI_MAX_CMD_WINDOW 1 210#endif 211 212/* Define to TRUE to include the NFCEE related functionalities */ 213#ifndef NFC_NFCEE_INCLUDED 214#define NFC_NFCEE_INCLUDED TRUE 215#endif 216 217/* the maximum number of NFCEE interface supported */ 218#ifndef NFC_MAX_EE_INTERFACE 219#define NFC_MAX_EE_INTERFACE 3 220#endif 221 222/* the maximum number of NFCEE information supported. */ 223#ifndef NFC_MAX_EE_INFO 224#define NFC_MAX_EE_INFO 8 225#endif 226 227/* the maximum number of NFCEE TLVs supported */ 228#ifndef NFC_MAX_EE_TLVS 229#define NFC_MAX_EE_TLVS 1 230#endif 231 232/* the maximum size of NFCEE TLV list supported */ 233#ifndef NFC_MAX_EE_TLV_SIZE 234#define NFC_MAX_EE_TLV_SIZE 150 235#endif 236 237/* Maximum time to discover NFCEE */ 238#ifndef NFA_EE_DISCV_TIMEOUT_VAL 239#define NFA_EE_DISCV_TIMEOUT_VAL 2000 240#endif 241 242/* Number of times reader/writer should attempt to resend a command on failure 243 */ 244#ifndef RW_MAX_RETRIES 245#define RW_MAX_RETRIES 5 246#endif 247 248/* RW NDEF Support */ 249#ifndef RW_NDEF_INCLUDED 250#define RW_NDEF_INCLUDED TRUE 251#endif 252 253/* RW Type 1 Tag timeout for each API call, in ms */ 254#ifndef RW_T1T_TOUT_RESP 255#define RW_T1T_TOUT_RESP 100 256#endif 257 258/* CE Type 2 Tag timeout for controller command, in ms */ 259#ifndef CE_T2T_TOUT_RESP 260#define CE_T2T_TOUT_RESP 1000 261#endif 262 263/* RW Type 2 Tag timeout for each API call, in ms */ 264#ifndef RW_T2T_TOUT_RESP 265/* Android requires 150 instead of 100 for presence-check*/ 266#define RW_T2T_TOUT_RESP 150 267#endif 268 269/* RW Type 2 Tag timeout for each API call, in ms */ 270#ifndef RW_T2T_SEC_SEL_TOUT_RESP 271#define RW_T2T_SEC_SEL_TOUT_RESP 10 272#endif 273 274/* RW Type 3 Tag timeout for each API call, in ms */ 275#ifndef RW_T3T_TOUT_RESP 276/* NFC-Android will use 100 instead of 75 for T3t presence-check */ 277#define RW_T3T_TOUT_RESP 100 278#endif 279 280/* CE Type 3 Tag maximum response timeout index (for check and update, used in 281 * 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/* Quick Timer */ 339#ifndef QUICK_TIMER_TICKS_PER_SEC 340#define QUICK_TIMER_TICKS_PER_SEC 100 /* 10ms timer */ 341#endif 342 343/****************************************************************************** 344** 345** LLCP 346** 347******************************************************************************/ 348 349#ifndef LLCP_TEST_INCLUDED 350#define LLCP_TEST_INCLUDED FALSE 351#endif 352 353#ifndef LLCP_POOL_ID 354#define LLCP_POOL_ID GKI_POOL_ID_3 355#endif 356 357#ifndef LLCP_POOL_BUF_SIZE 358#define LLCP_POOL_BUF_SIZE GKI_BUF3_SIZE 359#endif 360 361/* LLCP Maximum Information Unit (between LLCP_DEFAULT_MIU(128) and LLCP_MAX_MIU 362 * (2175)*/ 363#ifndef LLCP_MIU 364#define LLCP_MIU \ 365 (LLCP_POOL_BUF_SIZE - NFC_HDR_SIZE - NCI_MSG_OFFSET_SIZE - \ 366 NCI_DATA_HDR_SIZE - LLCP_PDU_HEADER_SIZE) 367#endif 368 369/* Link Timeout, LTO */ 370#ifndef LLCP_LTO_VALUE 371/* Default is 100ms. It should be sufficiently larger than RWT */ 372#define LLCP_LTO_VALUE 1000 373#endif 374 375/* 376** LTO is max time interval between the last bit received and the first bit sent 377** over the air. Link timeout must be delayed as much as time between the packet 378** sent from LLCP and the last bit transmitted at NFCC. 379** - 200ms, max OTA transmitting time between the first bit and the last bit at 380** NFCC. Largest MIU(2175bytes) of LLCP must be fragmented and sent on 381** NFC-DEP over the air. 8 * (DEP_REQ/RES+ACK) + DEP_REQ/RES for 2175 MIU at 382** 106kbps bit rate. 383** - 10ms, processing time 384*/ 385#ifndef LLCP_INTERNAL_TX_DELAY 386#define LLCP_INTERNAL_TX_DELAY 210 387#endif 388 389/* 390** LTO is max time interval between the last bit received and the first bit sent 391** over the air. Link timeout must be delayed as much as time between the first 392** bit received at NFCC and the packet received at LLCP. 393** - 200ms, max OTA transmitting time between the first bit and the last bit at 394** NFCC. LLCP cannot receive data packet until all bit are received and 395** reassembled in NCI. 8 * (DEP_REQ/RES+ACK) + DEP_REQ/RES for 2175 MIU at 396** 106kbps bit rate. 397** - 10ms, processing time 398*/ 399#ifndef LLCP_INTERNAL_RX_DELAY 400#define LLCP_INTERNAL_RX_DELAY 210 401#endif 402 403/* Wait for application layer sending data before sending SYMM */ 404#ifndef LLCP_DELAY_RESP_TIME 405#define LLCP_DELAY_RESP_TIME 20 /* in ms */ 406#endif 407 408/* LLCP inactivity timeout for initiator */ 409#ifndef LLCP_INIT_INACTIVITY_TIMEOUT 410#define LLCP_INIT_INACTIVITY_TIMEOUT 0 /* in ms */ 411#endif 412 413/* LLCP inactivity timeout for target */ 414#ifndef LLCP_TARGET_INACTIVITY_TIMEOUT 415#define LLCP_TARGET_INACTIVITY_TIMEOUT 0 /* in ms */ 416#endif 417 418/* LLCP delay timeout to send the first PDU as initiator */ 419#ifndef LLCP_DELAY_TIME_TO_SEND_FIRST_PDU 420#define LLCP_DELAY_TIME_TO_SEND_FIRST_PDU 50 /* in ms */ 421#endif 422 423/* Response Waiting Time */ 424#ifndef LLCP_WAITING_TIME 425/* its scaled value should be less than LTO */ 426#define LLCP_WAITING_TIME 7 427#endif 428 429/* Options Parameters */ 430#ifndef LLCP_OPT_VALUE 431#define LLCP_OPT_VALUE LLCP_LSC_3 /* Link Service Class 3 */ 432#endif 433 434/* Data link connection timeout */ 435#ifndef LLCP_DATA_LINK_CONNECTION_TOUT 436#define LLCP_DATA_LINK_CONNECTION_TOUT 1000 437#endif 438 439/* Max length of service name */ 440#ifndef LLCP_MAX_SN_LEN 441#define LLCP_MAX_SN_LEN 255 /* max length of service name */ 442#endif 443 444/* Max number of well-known services, at least 2 for LM and SDP and up to 16 */ 445#ifndef LLCP_MAX_WKS 446#define LLCP_MAX_WKS 5 447#endif 448 449/* Max number of services advertised by local SDP, up to 16 */ 450#ifndef LLCP_MAX_SERVER 451#define LLCP_MAX_SERVER 10 452#endif 453 454/* Max number of services not advertised by local SDP, up to 32 */ 455#ifndef LLCP_MAX_CLIENT 456#define LLCP_MAX_CLIENT 20 457#endif 458 459/* Max number of data link connections */ 460#ifndef LLCP_MAX_DATA_LINK 461#define LLCP_MAX_DATA_LINK 16 462#endif 463 464/* Max number of outstanding service discovery requests */ 465#ifndef LLCP_MAX_SDP_TRANSAC 466#define LLCP_MAX_SDP_TRANSAC 16 467#endif 468 469/* Percentage of LLCP buffer pool for receiving data */ 470#ifndef LLCP_RX_BUFF_RATIO 471#define LLCP_RX_BUFF_RATIO 30 472#endif 473 474/* Rx congestion end threshold as percentage of receiving buffers */ 475#ifndef LLCP_RX_CONGEST_END 476#define LLCP_RX_CONGEST_END 50 477#endif 478 479/* Rx congestion start threshold as percentage of receiving buffers */ 480#ifndef LLCP_RX_CONGEST_START 481#define LLCP_RX_CONGEST_START 70 482#endif 483 484/* limitation of rx UI PDU as percentage of receiving buffers */ 485#ifndef LLCP_LL_RX_BUFF_LIMIT 486#define LLCP_LL_RX_BUFF_LIMIT 30 487#endif 488 489/* minimum rx congestion threshold (number of rx I PDU in queue) for data link 490 * connection */ 491#ifndef LLCP_DL_MIN_RX_CONGEST 492#define LLCP_DL_MIN_RX_CONGEST 4 493#endif 494 495/* limitation of tx UI PDU as percentage of transmitting buffers */ 496#ifndef LLCP_LL_TX_BUFF_LIMIT 497#define LLCP_LL_TX_BUFF_LIMIT 30 498#endif 499 500/****************************************************************************** 501** 502** NFA 503** 504******************************************************************************/ 505 506#ifndef NFA_P2P_INCLUDED 507#define NFA_P2P_INCLUDED TRUE 508#endif 509 510/* Maximum Idle time (no hcp) to wait for EE DISC REQ Ntf(s) */ 511#ifndef NFA_HCI_NETWK_INIT_IDLE_TIMEOUT 512#define NFA_HCI_NETWK_INIT_IDLE_TIMEOUT 1000 513#endif 514 515#ifndef NFA_HCI_MAX_HOST_IN_NETWORK 516#define NFA_HCI_MAX_HOST_IN_NETWORK 0x06 517#endif 518 519/* Max number of Application that can be registered to NFA-HCI */ 520#ifndef NFA_HCI_MAX_APP_CB 521#define NFA_HCI_MAX_APP_CB 0x05 522#endif 523 524/* Max number of HCI gates that can be created */ 525#ifndef NFA_HCI_MAX_GATE_CB 526#define NFA_HCI_MAX_GATE_CB 0x06 527#endif 528 529/* Max number of HCI pipes that can be created for the whole system */ 530#ifndef NFA_HCI_MAX_PIPE_CB 531#define NFA_HCI_MAX_PIPE_CB 0x08 532#endif 533 534/* Timeout for waiting for the response to HCP Command packet */ 535#ifndef NFA_HCI_RESPONSE_TIMEOUT 536#define NFA_HCI_RESPONSE_TIMEOUT 1000 537#endif 538 539/* Default poll duration (may be over-ridden using NFA_SetRfDiscoveryDuration) 540 */ 541#ifndef NFA_DM_DISC_DURATION_POLL 542#define NFA_DM_DISC_DURATION_POLL 500 /* Android requires 500 */ 543#endif 544 545/* Automatic NDEF detection (when not in exclusive RF mode) */ 546#ifndef NFA_DM_AUTO_DETECT_NDEF 547#define NFA_DM_AUTO_DETECT_NDEF FALSE /* !!!!! NFC-Android needs FALSE */ 548#endif 549 550/* Automatic NDEF read (when not in exclusive RF mode) */ 551#ifndef NFA_DM_AUTO_READ_NDEF 552#define NFA_DM_AUTO_READ_NDEF FALSE /* !!!!! NFC-Android needs FALSE */ 553#endif 554 555/* Automatic NDEF presence check (when not in exclusive RF mode) */ 556#ifndef NFA_DM_AUTO_PRESENCE_CHECK 557#define NFA_DM_AUTO_PRESENCE_CHECK FALSE /* Android requires FALSE */ 558#endif 559 560/* Presence check option: 0x01: use sleep/wake for none-NDEF ISO-DEP tags */ 561#ifndef NFA_DM_PRESENCE_CHECK_OPTION 562/* !!!!! Android needs value 3 */ 563#define NFA_DM_PRESENCE_CHECK_OPTION 0x03 564#endif 565 566/* Maximum time to wait for presence check response */ 567#ifndef NFA_DM_MAX_PRESENCE_CHECK_TIMEOUT 568#define NFA_DM_MAX_PRESENCE_CHECK_TIMEOUT 500 569#endif 570 571/* Default delay to auto presence check after sending raw frame */ 572#ifndef NFA_DM_DEFAULT_PRESENCE_CHECK_START_DELAY 573#define NFA_DM_DEFAULT_PRESENCE_CHECK_START_DELAY 750 574#endif 575 576/* Timeout for reactivation of Kovio bar code tag (presence check) */ 577#ifndef NFA_DM_DISC_TIMEOUT_KOVIO_PRESENCE_CHECK 578#define NFA_DM_DISC_TIMEOUT_KOVIO_PRESENCE_CHECK (1000) 579#endif 580 581/* Max number of NDEF type handlers that can be registered (including the 582 * default handler) */ 583#ifndef NFA_NDEF_MAX_HANDLERS 584#define NFA_NDEF_MAX_HANDLERS 8 585#endif 586 587/* Maximum number of listen entries configured/registered with 588 * NFA_CeConfigureUiccListenTech, */ 589/* NFA_CeRegisterFelicaSystemCodeOnDH, or NFA_CeRegisterT4tAidOnDH */ 590#ifndef NFA_CE_LISTEN_INFO_MAX 591#define NFA_CE_LISTEN_INFO_MAX 5 592#endif 593 594#ifndef NFA_SNEP_INCLUDED 595/* Android must use FALSE to exclude SNEP */ 596#define NFA_SNEP_INCLUDED FALSE 597#endif 598 599/* Max acceptable length */ 600#ifndef NFA_SNEP_DEFAULT_SERVER_MAX_NDEF_SIZE 601#define NFA_SNEP_DEFAULT_SERVER_MAX_NDEF_SIZE 500000 602#endif 603 604/* Max number of SNEP server/client and data link connection */ 605#ifndef NFA_SNEP_MAX_CONN 606#define NFA_SNEP_MAX_CONN 6 607#endif 608 609/* Max number data link connection of SNEP default server*/ 610#ifndef NFA_SNEP_DEFAULT_MAX_CONN 611#define NFA_SNEP_DEFAULT_MAX_CONN 3 612#endif 613 614/* MIU for SNEP */ 615#ifndef NFA_SNEP_MIU 616#define NFA_SNEP_MIU 1980 /* Modified for NFC-A */ 617#endif 618 619/* Receiving Window for SNEP */ 620#ifndef NFA_SNEP_RW 621#define NFA_SNEP_RW 2 /* Modified for NFC-A */ 622#endif 623 624/* Max number of NFCEE supported */ 625#ifndef NFA_EE_MAX_EE_SUPPORTED 626/* Modified for NFC-A until we add dynamic support */ 627#define NFA_EE_MAX_EE_SUPPORTED 4 628#endif 629 630/* Maximum number of AID entries per target_handle */ 631#ifndef NFA_EE_MAX_AID_ENTRIES 632#define NFA_EE_MAX_AID_ENTRIES (32) 633#endif 634 635/* Maximum number of callback functions can be registered through 636 * NFA_EeRegister() */ 637#ifndef NFA_EE_MAX_CBACKS 638#define NFA_EE_MAX_CBACKS (3) 639#endif 640 641#ifndef NFA_DTA_INCLUDED 642#define NFA_DTA_INCLUDED TRUE 643#endif 644 645/***************************************************************************** 646** Define HAL_WRITE depending on whether HAL is using shared GKI resources 647** as the NFC stack. 648*****************************************************************************/ 649#ifndef HAL_WRITE 650#define HAL_WRITE(p) \ 651 { \ 652 nfc_cb.p_hal->write((p)->len, (uint8_t*)((p) + 1) + (p)->offset); \ 653 GKI_freebuf(p); \ 654 } 655 656#ifdef NFC_HAL_SHARED_GKI 657 658/* NFC HAL Included if NFC_NFCEE_INCLUDED */ 659#if (NFC_NFCEE_INCLUDED == TRUE) 660 661#ifndef NFC_HAL_HCI_INCLUDED 662#define NFC_HAL_HCI_INCLUDED TRUE 663#endif 664#else /* NFC_NFCEE_INCLUDED == TRUE */ 665#ifndef NFC_HAL_HCI_INCLUDED 666#define NFC_HAL_HCI_INCLUDED FALSE 667#endif 668 669#endif /* NFC_NFCEE_INCLUDED == FALSE */ 670 671#endif /* NFC_HAL_SHARED_GKI */ 672 673#endif /* HAL_WRITE */ 674 675#endif /* NFC_TARGET_H */ 676