Home | History | Annotate | Download | only in dm
      1 /******************************************************************************
      2  *
      3  *  Copyright (C) 2011-2014 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 
     20 /******************************************************************************
     21  *
     22  *  This file contains compile-time configurable constants for NFA modules
     23  *
     24  ******************************************************************************/
     25 #include "nfa_api.h"
     26 
     27 /* the SetConfig for CE T3T/T4T */
     28 const UINT8 nfa_dm_ce_cfg[] =
     29 {
     30     13,                         /* total length */
     31     NFC_PMID_LF_T3T_PMM,        /* Type-3 tag default PMM */
     32     NCI_PARAM_LEN_LF_T3T_PMM,
     33     0x01,                       /* This PAD0 is used to identify HCE-F on Android */
     34     0xFE,                       /* This PAD0 is used to identify HCE-F on Android */
     35     0xFF,
     36     0xFF,
     37     0xFF,
     38     0xFF,
     39     0xFF,
     40     0xFF,
     41     NFC_PMID_FWI,               /* FWI for ISO-DEP */
     42     1,
     43     CE_T4T_ISO_DEP_FWI
     44 };
     45 
     46 UINT8 *p_nfa_dm_ce_cfg = (UINT8 *) nfa_dm_ce_cfg;
     47 
     48 /* the SetConfig for optional general NFC stack functions */
     49 const UINT8 nfa_dm_gen_cfg[] =
     50 {
     51     3,                         /* total length */
     52     NFC_PMID_RF_FIELD_INFO,     /* Instruct NFCC to report RF field generated by remote device (or not) */
     53     1,
     54     0x01
     55 };
     56 
     57 UINT8 *p_nfa_dm_gen_cfg = NULL;
     58 
     59 
     60 /* the RF Discovery Frequency for each technology */
     61 const tNFA_DM_DISC_FREQ_CFG nfa_dm_rf_disc_freq_cfg =
     62 {
     63     1,      /* Frequency for NFC Technology A               */
     64     1,      /* Frequency for NFC Technology B               */
     65     1,      /* Frequency for NFC Technology F               */
     66     1,      /* Frequency for Proprietary Technology/15693   */
     67     1,      /* Frequency for Proprietary Technology/B-Prime */
     68     1,      /* Frequency for Proprietary Technology/Kovio   */
     69     1,      /* Frequency for NFC Technology A active mode   */
     70     1       /* Frequency for NFC Technology F active mode   */
     71 };
     72 
     73 tNFA_DM_DISC_FREQ_CFG *p_nfa_dm_rf_disc_freq_cfg = (tNFA_DM_DISC_FREQ_CFG *)&nfa_dm_rf_disc_freq_cfg;
     74 
     75 UINT8 nfa_ee_max_ee_cfg = NFA_EE_MAX_EE_SUPPORTED;
     76 
     77 
     78 const tNCI_DISCOVER_MAPS nfa_dm_interface_mapping[NFA_DM_NUM_INTERFACE_MAP] =
     79 {
     80     /* Protocols that use Frame Interface do not need to be included in the interface mapping */
     81     {
     82         NCI_PROTOCOL_ISO_DEP,
     83         NCI_INTERFACE_MODE_POLL_N_LISTEN,
     84         NCI_INTERFACE_ISO_DEP
     85     },
     86     {
     87         NCI_PROTOCOL_NFC_DEP,
     88         NCI_INTERFACE_MODE_POLL_N_LISTEN,
     89         NCI_INTERFACE_NFC_DEP
     90     }
     91 };
     92 /* set to NULL to use the default mapping set by stack */
     93 tNCI_DISCOVER_MAPS *p_nfa_dm_interface_mapping = NULL;
     94 UINT8 nfa_dm_num_dm_interface_mapping = 0;
     95 
     96 
     97 const tNFA_DM_CFG nfa_dm_cfg =
     98 {
     99     NFA_DM_AUTO_DETECT_NDEF,                /* Automatic NDEF detection (when not in exclusive RF mode) */
    100     NFA_DM_AUTO_READ_NDEF,                  /* Automatic NDEF read (when not in exclusive RF mode)      */
    101     NFA_DM_AUTO_PRESENCE_CHECK,             /* Automatic presence check                                 */
    102     NFA_DM_PRESENCE_CHECK_OPTION,           /* Use sleep/wake(last interface) for ISODEP presence check */
    103     NFA_DM_MAX_PRESENCE_CHECK_TIMEOUT       /* Maximum time to wait for presence check response         */
    104 };
    105 
    106 tNFA_DM_CFG *p_nfa_dm_cfg = (tNFA_DM_CFG *) &nfa_dm_cfg;
    107 
    108 const UINT8 nfa_hci_whitelist[] =
    109 {
    110     0x02,
    111     0x03,
    112     0x04
    113 };
    114 
    115 const tNFA_HCI_CFG nfa_hci_cfg =
    116 {
    117     NFA_HCI_NETWK_INIT_IDLE_TIMEOUT, /* Max HCI Network IDLE time to wait for EE DISC REQ Ntf(s) */
    118     NFA_HCI_RESPONSE_TIMEOUT,        /* Maximum HCP Response time to any HCP Command */
    119     0x03,                            /* Number of host in the whitelist of Terminal host */
    120     (UINT8 *) nfa_hci_whitelist      /* Pointer to the Whitelist of Terminal Host */
    121 };
    122 
    123 tNFA_HCI_CFG *p_nfa_hci_cfg = (tNFA_HCI_CFG *) &nfa_hci_cfg;
    124 
    125 BOOLEAN nfa_poll_bail_out_mode = FALSE;
    126 const tNFA_PROPRIETARY_CFG nfa_proprietary_cfg =
    127 {
    128     0x80, /* NCI_PROTOCOL_18092_ACTIVE */
    129     0x81, /* NCI_PROTOCOL_B_PRIME */
    130     0x82, /* NCI_PROTOCOL_DUAL */
    131     0x83, /* NCI_PROTOCOL_15693 */
    132     0x8A, /* NCI_PROTOCOL_KOVIO */
    133     0xFF, /* NCI_PROTOCOL_MIFARE */
    134     0x77, /* NCI_DISCOVERY_TYPE_POLL_KOVIO */
    135     0x74, /* NCI_DISCOVERY_TYPE_POLL_B_PRIME */
    136     0xF4, /* NCI_DISCOVERY_TYPE_LISTEN_B_PRIME */
    137 };
    138 
    139 tNFA_PROPRIETARY_CFG *p_nfa_proprietary_cfg = (tNFA_PROPRIETARY_CFG *) &nfa_proprietary_cfg;
    140