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