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