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