Home | History | Annotate | Download | only in int
      1 /******************************************************************************
      2  *
      3  *  Copyright (C) 2012-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 the Broadcom-specific defintions that are shared
     23  *  between HAL, nfc stack, adaptation layer and applications.
     24  *
     25  ******************************************************************************/
     26 
     27 #ifndef NFC_BRCM_DEFS_H
     28 #define NFC_BRCM_DEFS_H
     29 
     30 /*****************************************************************************
     31 ** Broadcom HW ID definitions
     32 *****************************************************************************/
     33 #define BRCM_20791B3_ID             0x20791b03
     34 #define BRCM_20791B4_ID             0x20791b04
     35 #define BRCM_20791B5_ID             0x20791b05
     36 #define BRCM_43341B0_ID             0x43341b00
     37 #define BRCM_20795T1_ID             0x20795a01
     38 #define BRCM_20795A0_ID             0x20795a00
     39 #define BRCM_20795A1_ID             0x20795a10
     40 
     41 #define BRCM_NFC_GEN_MASK           0xFFFFF000  /* HW generation mask */
     42 #define BRCM_NFC_REV_MASK           0x00000FFF  /* HW revision mask   */
     43 #define BRCM_NFC_20791_GEN          0x20791000
     44 #define BRCM_NFC_20791_GEN_MAX_EE   3           /* HCI access and 2 UICCs */
     45 #define BRCM_NFC_43341_GEN          0x43341000
     46 #define BRCM_NFC_43341_GEN_MAX_EE   3           /* HCI access and 2 UICCs */
     47 #define BRCM_NFC_20795_GEN          0x20795000
     48 #define BRCM_NFC_20795_GEN_MAX_EE   4           /* HCI access and 3 UICCs */
     49 
     50 /*****************************************************************************
     51 ** Broadcom-specific NCI definitions
     52 *****************************************************************************/
     53 
     54 /**********************************************
     55  * NCI Message Proprietary  Group       - F
     56  **********************************************/
     57 #define NCI_MSG_TAG_SET_MEM             0x00
     58 #define NCI_MSG_TAG_GET_MEM             0x01
     59 #define NCI_MSG_T1T_SET_HR              0x02
     60 #define NCI_MSG_SET_CLF_REGISTERS       0x03
     61 #define NCI_MSG_GET_BUILD_INFO          0x04
     62 #define NCI_MSG_HCI_NETWK               0x05
     63 #define NCI_MSG_SET_FWFSM               0x06
     64 #define NCI_MSG_SET_UICCRDRF            0x07
     65 #define NCI_MSG_POWER_LEVEL             0x08
     66 #define NCI_MSG_FRAME_LOG               0x09
     67 #define NCI_MSG_UICC_READER_ACTION      0x0A
     68 #define NCI_MSG_SET_PPSE_RESPONSE       0x0B
     69 #define NCI_MSG_PRBS_SET                0x0C
     70 #define NCI_MSG_RESET_ALL_UICC_CFG      0x0D    /* reset HCI network/close all pipes (S,D) register */
     71 #define NCI_MSG_GET_NFCEE_INFO          0x0E
     72 #define NCI_MSG_DISABLE_INIT_CHECK      0x0F
     73 #define NCI_MSG_ANTENNA_SELF_TEST       0x10
     74 #define NCI_MSG_SET_MAX_PKT_SIZE        0x11
     75 #define NCI_MSG_NCIP_CLK_REQ_OR_CAR_DET 0x12
     76 #define NCI_MSG_NCIP_CONFIG_DBUART      0x13
     77 #define NCI_MSG_NCIP_ENABLE_DVT_DRIVER  0x14
     78 #define NCI_MSG_SET_ASWP                0x15
     79 #define NCI_MSG_ENCAPSULATE_NCI         0x16
     80 #define NCI_MSG_CONFIGURE_ARM_JTAG      0x17
     81 #define NCI_MSG_STATISTICS              0x18
     82 #define NCI_MSG_SET_DSP_TABLE           0x19
     83 #define NCI_MSG_GET_DSP_TABLE           0x1a
     84 #define NCI_MSG_READY_RX_CMD            0x1b
     85 #define NCI_MSG_GET_VBAT                0x1c
     86 #define NCI_MSG_GET_XTAL_INDEX_FROM_DH  0x1d
     87 #define NCI_MSG_SWP_LOG                 0x1e
     88 #define NCI_MSG_GET_PWRLEVEL            0x1f
     89 #define NCI_MSG_SET_VBAT_MONITOR        0x20
     90 #define NCI_MSG_SET_TINT_MODE           0x21
     91 #define NCI_MSG_ACCESS_APP              0x22
     92 #define NCI_MSG_SET_SECURE_MODE         0x23
     93 #define NCI_MSG_GET_NV_DEVICE           0x24
     94 #define NCI_MSG_LPTD                    0x25
     95 #define NCI_MSG_SET_CE4_AS_SNOOZE       0x26
     96 #define NCI_MSG_NFCC_SEND_HCI           0x27
     97 #define NCI_MSG_CE4_PATCH_DOWNLOAD_DONE 0x28
     98 #define NCI_MSG_EEPROM_RW               0x29
     99 #define NCI_MSG_GET_CLF_REGISTERS       0x2A
    100 #define NCI_MSG_RF_TEST                 0x2B
    101 #define NCI_MSG_DEBUG_PRINT             0x2C
    102 #define NCI_MSG_GET_PATCH_VERSION       0x2D
    103 #define NCI_MSG_SECURE_PATCH_DOWNLOAD   0x2E
    104 #define NCI_MSG_SPD_FORMAT_NVM          0x2F
    105 #define NCI_MSG_SPD_READ_NVM            0x30
    106 #define NCI_MSG_SWP_BIST                0x31
    107 #define NCI_MSG_WLESS_DBG_MODE          0x32
    108 #define NCI_MSG_I2C_REQ_POLARITY        0x33
    109 #define NCI_MSG_AID_FILTER              0x39
    110 
    111 
    112 /**********************************************
    113  * Proprietary  NCI status codes
    114  **********************************************/
    115 #define NCI_STATUS_SPD_ERROR_ORDER          0xE0
    116 #define NCI_STATUS_SPD_ERROR_DEST           0xE1
    117 #define NCI_STATUS_SPD_ERROR_PROJECTID      0xE2
    118 #define NCI_STATUS_SPD_ERROR_CHIPVER        0xE3
    119 #define NCI_STATUS_SPD_ERROR_MAJORVER       0xE4
    120 #define NCI_STATUS_SPD_ERROR_INVALID_PARAM  0xE5
    121 #define NCI_STATUS_SPD_ERROR_INVALID_SIG    0xE6
    122 #define NCI_STATUS_SPD_ERROR_NVM_CORRUPTED  0xE7
    123 #define NCI_STATUS_SPD_ERROR_PWR_MODE       0xE8
    124 #define NCI_STATUS_SPD_ERROR_MSG_LEN        0xE9
    125 #define NCI_STATUS_SPD_ERROR_PATCHSIZE      0xEA
    126 
    127 
    128 
    129 #define NCI_NV_DEVICE_NONE              0x00
    130 #define NCI_NV_DEVICE_EEPROM            0x08
    131 #define NCI_NV_DEVICE_UICC1             0x10
    132 
    133 /* The events reported on tNFC_VS_CBACK */
    134 /* The event is (NCI_NTF_BIT|oid) or (NCI_RSP_BIT|oid) */
    135 #define NFC_VS_HCI_NETWK_EVT            (NCI_NTF_BIT|NCI_MSG_HCI_NETWK)
    136 #define NFC_VS_HCI_NETWK_RSP            (NCI_RSP_BIT|NCI_MSG_HCI_NETWK)
    137 #define NFC_VS_UICC_READER_ACTION_EVT   (NCI_NTF_BIT|NCI_MSG_UICC_READER_ACTION)
    138 #define NFC_VS_POWER_LEVEL_RSP          (NCI_RSP_BIT|NCI_MSG_POWER_LEVEL)
    139 #define NFC_VS_GET_NV_DEVICE_EVT        (NCI_RSP_BIT|NCI_MSG_GET_NV_DEVICE)
    140 #define NFC_VS_LPTD_EVT                 (NCI_NTF_BIT|NCI_MSG_LPTD)
    141 #define NFC_VS_GET_BUILD_INFO_EVT       (NCI_RSP_BIT|NCI_MSG_GET_BUILD_INFO)
    142 #define NFC_VS_GET_PATCH_VERSION_EVT    (NCI_RSP_BIT|NCI_MSG_GET_PATCH_VERSION)
    143 #define NFC_VS_SEC_PATCH_DOWNLOAD_EVT   (NCI_RSP_BIT|NCI_MSG_SECURE_PATCH_DOWNLOAD)
    144 #define NFC_VS_SEC_PATCH_AUTH_EVT       (NCI_NTF_BIT|NCI_MSG_SECURE_PATCH_DOWNLOAD)
    145 #define NFC_VS_EEPROM_RW_EVT            (NCI_RSP_BIT|NCI_MSG_EEPROM_RW)
    146 
    147 #define NCI_GET_PATCH_VERSION_NVM_OFFSET    37
    148 
    149 
    150 #define NCI_NFCC_PIPE_INFO_NV_SIZE      24  /* Static and dynamic pipe id and status for each pipe to uicc0 and uicc1. */
    151 #define NCI_PERSONALITY_SLOT_SIZE       19
    152 #define NCI_DYNAMIC_PIPE_SIZE           8
    153 
    154 #define NCI_SWP_INTERFACE_TYPE          0xFF    /* Type of TLV in NCI_MSG_HCI_NETWK */
    155 #define NCI_HCI_GATE_TYPE               0xFE    /* Type of TLV in NCI_MSG_HCI_NETWK */
    156 
    157 /* Secure Patch Download definitions (patch type definitions) */
    158 #define NCI_SPD_TYPE_HEADER             0x00
    159 #define NCI_SPD_TYPE_SRAM               0x01
    160 #define NCI_SPD_TYPE_AON                0x02
    161 #define NCI_SPD_TYPE_PATCH_TABLE        0x03
    162 #define NCI_SPD_TYPE_SECURE_CONFIG      0x04
    163 #define NCI_SPD_TYPE_CONTROLLED_CONFIG  0x05
    164 #define NCI_SPD_TYPE_SIGNATURE          0x06
    165 #define NCI_SPD_TYPE_SIGCHEK            0x07
    166 
    167 /* Secure Patch Download definitions (NCI_SPD_TYPE_HEADER definitions) */
    168 #define NCI_SPD_HEADER_OFFSET_CHIPVERLEN    0x18
    169 #define NCI_SPD_HEADER_CHIPVER_LEN          16
    170 
    171 /* NVM Type (in GET_PATCH_VERSION RSP) */
    172 #define NCI_SPD_NVM_TYPE_NONE           0x00
    173 #define NCI_SPD_NVM_TYPE_EEPROM         0x01
    174 #define NCI_SPD_NVM_TYPE_UICC           0x02
    175 
    176 /**********************************************
    177  * NCI NFCC proprietary features in octet 3
    178  **********************************************/
    179 #define NCI_FEAT_SIGNED_PATCH           0x01000000
    180 
    181 /**********************************************
    182  * NCI Interface Types
    183  **********************************************/
    184 #define NCI_INTERFACE_VS_MIFARE         0x80
    185 #define NCI_INTERFACE_VS_CALYPSO_CE     0x81
    186 #define NCI_INTERFACE_VS_T2T_CE         0x82    /* for Card Emulation side */
    187 #define NCI_INTERFACE_VS_15693          0x83    /* for both Reader/Writer and Card Emulation side */
    188 #define NCI_INTERFACE_VS_T1T_CE         0x84    /* for Card Emulation side */
    189 
    190 /**********************************************
    191  * NCI Proprietary Parameter IDs
    192  **********************************************/
    193 #define NCI_PARAM_ID_LA_FSDI            0xA0
    194 #define NCI_PARAM_ID_LB_FSDI            0xA1
    195 #define NCI_PARAM_ID_HOST_LISTEN_MASK   0xA2
    196 #define NCI_PARAM_ID_CHIP_TYPE          0xA3 /* NFCDEP */
    197 #define NCI_PARAM_ID_PA_ANTICOLL        0xA4
    198 #define NCI_PARAM_ID_CONTINUE_MODE      0xA5
    199 #define NCI_PARAM_ID_LBP                0xA6
    200 #define NCI_PARAM_ID_T1T_RDR_ONLY       0xA7
    201 #define NCI_PARAM_ID_LA_SENS_RES        0xA8
    202 #define NCI_PARAM_ID_PWR_SETTING_BITMAP 0xA9
    203 #define NCI_PARAM_ID_WI_NTF_ENABLE      0xAA
    204 #define NCI_PARAM_ID_LN_BITRATE         0xAB /* NFCDEP Listen Bitrate */
    205 #define NCI_PARAM_ID_LF_BITRATE         0xAC /* FeliCa */
    206 #define NCI_PARAM_ID_SWP_BITRATE_MASK   0xAD
    207 #define NCI_PARAM_ID_KOVIO              0xAE
    208 #define NCI_PARAM_ID_UICC_NTF_TO        0xAF
    209 #define NCI_PARAM_ID_NFCDEP             0xB0
    210 #define NCI_PARAM_ID_CLF_REGS_CFG       0xB1
    211 #define NCI_PARAM_ID_NFCDEP_TRANS_TIME  0xB2
    212 #define NCI_PARAM_ID_CREDIT_TIMER       0xB3
    213 #define NCI_PARAM_ID_CORRUPT_RX         0xB4
    214 #define NCI_PARAM_ID_ISODEP             0xB5
    215 #define NCI_PARAM_ID_LF_CONFIG          0xB6
    216 #define NCI_PARAM_ID_I93_DATARATE       0xB7
    217 #define NCI_PARAM_ID_CREDITS_THRESHOLD  0xB8
    218 #define NCI_PARAM_ID_TAGSNIFF_CFG       0xB9
    219 #define NCI_PARAM_ID_PA_FSDI            0xBA /* ISODEP */
    220 #define NCI_PARAM_ID_PB_FSDI            0xBB /* ISODEP */
    221 #define NCI_PARAM_ID_FRAME_INTF_RETXN   0xBC
    222 
    223 #define NCI_PARAM_ID_UICC_RDR_PRIORITY  0xBD
    224 #define NCI_PARAM_ID_GUARD_TIME         0xBE
    225 #define NCI_PARAM_ID_STDCONFIG          0xBF /* dont not use this config item */
    226 #define NCI_PARAM_ID_PROPCFG            0xC0 /* dont not use this config item  */
    227 #define NCI_PARAM_ID_MAXTRY2ACTIVATE    0xC1
    228 #define NCI_PARAM_ID_SWPCFG             0xC2
    229 #define NCI_PARAM_ID_CLF_LPM_CFG        0xC3
    230 #define NCI_PARAM_ID_DCLB               0xC4
    231 #define NCI_PARAM_ID_ACT_ORDER          0xC5
    232 #define NCI_PARAM_ID_DEP_DELAY_ACT      0xC6
    233 #define NCI_PARAM_ID_DH_PARITY_CRC_CTL  0xC7
    234 #define NCI_PARAM_ID_PREINIT_DSP_CFG    0xC8
    235 #define NCI_PARAM_ID_FW_WORKAROUND      0xC9
    236 #define NCI_PARAM_ID_RFU_CONFIG         0xCA
    237 #define NCI_PARAM_ID_EMVCO_ENABLE       0xCB
    238 #define NCI_PARAM_ID_ANTDRIVER_PARAM    0xCC
    239 #define NCI_PARAM_ID_PLL325_CFG_PARAM   0xCD
    240 #define NCI_PARAM_ID_OPNLP_ADPLL_ENABLE 0xCE
    241 #define NCI_PARAM_ID_CONFORMANCE_MODE   0xCF
    242 
    243 #define NCI_PARAM_ID_LPO_ON_OFF_ENABLE  0xD0
    244 #define NCI_PARAM_ID_FORCE_VANT         0xD1
    245 #define NCI_PARAM_ID_COEX_CONFIG        0xD2
    246 #define NCI_PARAM_ID_INTEL_MODE         0xD3
    247 
    248 #define NCI_PARAM_ID_AID                0xFF
    249 
    250 /**********************************************
    251  * NCI Parameter ID Lens
    252  **********************************************/
    253 #define NCI_PARAM_LEN_PWR_SETTING_BITMAP    3
    254 #define NCI_PARAM_LEN_HOST_LISTEN_MASK      2
    255 #define NCI_PARAM_LEN_PLL325_CFG_PARAM      14
    256 #define NCI_PARAM_LEN_POWER_LEVEL           6
    257 
    258 /**********************************************
    259  * Snooze Mode
    260  **********************************************/
    261 #define NFC_SNOOZE_MODE_NONE      0x00    /* Snooze mode disabled    */
    262 #define NFC_SNOOZE_MODE_UART      0x01    /* Snooze mode for UART    */
    263 #define NFC_SNOOZE_MODE_SPI_I2C   0x08    /* Snooze mode for SPI/I2C */
    264 
    265 #define NFC_SNOOZE_ACTIVE_LOW     0x00    /* high to low voltage is asserting */
    266 #define NFC_SNOOZE_ACTIVE_HIGH    0x01    /* low to high voltage is asserting */
    267 
    268 
    269 /**********************************************
    270  * HCI definitions
    271  **********************************************/
    272 #define NFC_HAL_HCI_SESSION_ID_LEN                  8
    273 #define NFC_HAL_HCI_SYNC_ID_LEN                     2
    274 
    275 /* HCI Network command definitions */
    276 #define NFC_HAL_HCI_NETWK_INFO_SIZE                 250
    277 #define NFC_HAL_HCI_NO_RW_MODE_NETWK_INFO_SIZE      184
    278 #define NFC_HAL_HCI_DH_NETWK_INFO_SIZE              111
    279 #define NFC_HAL_HCI_MIN_NETWK_INFO_SIZE             12
    280 #define NFC_HAL_HCI_MIN_DH_NETWK_INFO_SIZE          11
    281 
    282 /* Card emulation RF Gate A definitions */
    283 #define NFC_HAL_HCI_CE_RF_A_UID_REG_LEN             10
    284 #define NFC_HAL_HCI_CE_RF_A_ATQA_RSP_CODE_LEN       2
    285 #define NFC_HAL_HCI_CE_RF_A_MAX_HIST_DATA_LEN       15
    286 #define NFC_HAL_HCI_CE_RF_A_MAX_DATA_RATE_LEN       3
    287 
    288 /* Card emulation RF Gate B definitions */
    289 #define NFC_HAL_HCI_CE_RF_B_PUPI_LEN                4
    290 #define NFC_HAL_HCI_CE_RF_B_ATQB_LEN                4
    291 #define NFC_HAL_HCI_CE_RF_B_HIGHER_LAYER_RSP_LEN    61
    292 #define NFC_HAL_HCI_CE_RF_B_MAX_DATA_RATE_LEN       3
    293 
    294 /* Card emulation RF Gate BP definitions */
    295 #define NFC_HAL_HCI_CE_RF_BP_MAX_PAT_IN_LEN         8
    296 #define NFC_HAL_HCI_CE_RF_BP_DATA_OUT_LEN           40
    297 
    298 /* Reader RF Gate A definitions */
    299 #define NFC_HAL_HCI_RD_RF_B_HIGHER_LAYER_DATA_LEN   61
    300 
    301 /* DH HCI Network command definitions */
    302 #define NFC_HAL_HCI_DH_MAX_DYN_PIPES                20
    303 
    304 /* Target handle for different host in the network */
    305 #define NFC_HAL_HCI_DH_TARGET_HANDLE                0xF2
    306 #define NFC_HAL_HCI_UICC0_TARGET_HANDLE             0xF3
    307 #define NFC_HAL_HCI_UICC1_TARGET_HANDLE             0xF4
    308 #define NFC_HAL_HCI_UICC2_TARGET_HANDLE             0xF5
    309 
    310 /* Card emulation RF Gate A registry information */
    311 typedef struct
    312 {
    313     UINT8   pipe_id;                                                    /* if MSB is set then valid, 7 bits for Pipe ID             */
    314     UINT8   mode;                                                       /* Type A card emulation enabled indicator, 0x02:enabled    */
    315     UINT8   sak;
    316     UINT8   uid_reg_len;
    317     UINT8   uid_reg[NFC_HAL_HCI_CE_RF_A_UID_REG_LEN];
    318     UINT8   atqa[NFC_HAL_HCI_CE_RF_A_ATQA_RSP_CODE_LEN];                /* ATQA response code */
    319     UINT8   app_data_len;
    320     UINT8   app_data[NFC_HAL_HCI_CE_RF_A_MAX_HIST_DATA_LEN];            /* 15 bytes optional storage for historic data, use 2 slots */
    321     UINT8   fwi_sfgi;                                                   /* FRAME WAITING TIME, START-UP FRAME GUARD TIME            */
    322     UINT8   cid_support;
    323     UINT8   datarate_max[NFC_HAL_HCI_CE_RF_A_MAX_DATA_RATE_LEN];
    324     UINT8   clt_support;
    325 } tNCI_HCI_CE_RF_A;
    326 
    327 /* Card emulation RF Gate B registry information */
    328 typedef struct
    329 {
    330     UINT8   pipe_id;                                                    /* if MSB is set then valid, 7 bits for Pipe ID             */
    331     UINT8   mode;                                                       /* Type B card emulation enabled indicator, 0x02:enabled    */
    332     UINT8   pupi_len;
    333     UINT8   pupi_reg[NFC_HAL_HCI_CE_RF_B_PUPI_LEN];
    334     UINT8   afi;
    335     UINT8   atqb[NFC_HAL_HCI_CE_RF_B_ATQB_LEN];                         /* 4 bytes ATQB application data                            */
    336     UINT8   higherlayer_resp[NFC_HAL_HCI_CE_RF_B_HIGHER_LAYER_RSP_LEN]; /* 0~ 61 bytes ATRB_INF use 1~4 personality slots     */
    337     UINT8   datarate_max[NFC_HAL_HCI_CE_RF_B_MAX_DATA_RATE_LEN];
    338     UINT8   natrb;
    339 } tNCI_HCI_CE_RF_B;
    340 
    341 /* Card emulation RF Gate BP registry information */
    342 typedef struct
    343 {
    344     UINT8   pipe_id;                                                    /* if MSB is set then valid, 7 bits for Pipe ID             */
    345     UINT8   mode;                                                       /* Type B prime card emulation enabled indicator, 0x02:enabled */
    346     UINT8   pat_in_len;
    347     UINT8   pat_in[NFC_HAL_HCI_CE_RF_BP_MAX_PAT_IN_LEN];
    348     UINT8   dat_out_len;
    349     UINT8   dat_out[NFC_HAL_HCI_CE_RF_BP_DATA_OUT_LEN];                 /* ISO7816-3 <=64 byte, and other fields are 9 bytes        */
    350     UINT8   natr;
    351 } tNCI_HCI_CE_RF_BP;
    352 
    353 /* Card emulation RF Gate F registry information */
    354 typedef struct
    355 {
    356     UINT8   pipe_id;                                                    /* if MSB is set then valid, 7 bits for Pipe ID             */
    357     UINT8   mode;                                                       /* Type F card emulation enabled indicator, 0x02:enabled    */
    358     UINT8   speed_cap;
    359     UINT8   clt_support;
    360 } tNCI_HCI_CE_RF_F;
    361 
    362 /* Reader RF Gate A registry information */
    363 typedef struct
    364 {
    365     UINT8   pipe_id;                                                    /* if MSB is set then valid, 7 bits for Pipe ID             */
    366     UINT8   datarate_max;
    367 } tNCI_HCI_RD_RF_A;
    368 
    369 /* Reader RF Gate B registry information */
    370 typedef struct
    371 {
    372     UINT8   pipe_id;                                                    /* if MSB is set then valid, 7 bits for Pipe ID             */
    373     UINT8   afi;
    374     UINT8   hldata_len;
    375     UINT8   high_layer_data[NFC_HAL_HCI_RD_RF_B_HIGHER_LAYER_DATA_LEN]; /* INF field in ATTRIB command                        */
    376 } tNCI_HCI_RD_RF_B;
    377 
    378 /* Dynamic pipe information */
    379 typedef struct
    380 {
    381     UINT8   source_host;
    382     UINT8   dest_host;
    383     UINT8   source_gate;
    384     UINT8   dest_gate;
    385     UINT8   pipe_id;                                                    /* if MSB is set then valid, 7 bits for Pipe ID             */
    386 } tNCI_HCI_DYN_PIPE_INFO;
    387 
    388 /*************************************************************
    389  * HCI Network CMD/NTF structure for UICC host in the network
    390  *************************************************************/
    391 typedef struct
    392 {
    393     UINT8                target_handle;
    394     UINT8                session_id[NFC_HAL_HCI_SESSION_ID_LEN];
    395     UINT8                sync_id[NFC_HAL_HCI_SYNC_ID_LEN];
    396     UINT8                static_pipe_info;
    397     tNCI_HCI_CE_RF_A     ce_rf_a;
    398     tNCI_HCI_CE_RF_B     ce_rf_b;
    399     tNCI_HCI_CE_RF_BP    ce_rf_bp;
    400     tNCI_HCI_CE_RF_F     ce_rf_f;
    401     tNCI_HCI_RD_RF_A     rw_rf_a;
    402     tNCI_HCI_RD_RF_B     rw_rf_b;
    403 } tNCI_HCI_NETWK;
    404 
    405 /************************************************
    406  * HCI Network CMD/NTF structure for Device host
    407  ************************************************/
    408 typedef struct
    409 {
    410     UINT8                   target_handle;
    411     UINT8                   session_id[NFC_HAL_HCI_SESSION_ID_LEN];
    412     UINT8                   static_pipe_info;
    413     UINT8                   num_dyn_pipes;
    414     tNCI_HCI_DYN_PIPE_INFO  dyn_pipe_info[NFC_HAL_HCI_DH_MAX_DYN_PIPES];
    415 } tNCI_HCI_NETWK_DH;
    416 
    417 #endif  /* NFC_BRCM_DEFS_H */
    418