1*7eba2f3bSAndroid Build Coastguard Worker /****************************************************************************** 2*7eba2f3bSAndroid Build Coastguard Worker * 3*7eba2f3bSAndroid Build Coastguard Worker * Copyright (C) 2009-2014 Broadcom Corporation 4*7eba2f3bSAndroid Build Coastguard Worker * 5*7eba2f3bSAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 6*7eba2f3bSAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 7*7eba2f3bSAndroid Build Coastguard Worker * You may obtain a copy of the License at: 8*7eba2f3bSAndroid Build Coastguard Worker * 9*7eba2f3bSAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 10*7eba2f3bSAndroid Build Coastguard Worker * 11*7eba2f3bSAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 12*7eba2f3bSAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 13*7eba2f3bSAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14*7eba2f3bSAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 15*7eba2f3bSAndroid Build Coastguard Worker * limitations under the License. 16*7eba2f3bSAndroid Build Coastguard Worker * 17*7eba2f3bSAndroid Build Coastguard Worker ******************************************************************************/ 18*7eba2f3bSAndroid Build Coastguard Worker 19*7eba2f3bSAndroid Build Coastguard Worker /****************************************************************************** 20*7eba2f3bSAndroid Build Coastguard Worker * 21*7eba2f3bSAndroid Build Coastguard Worker * this file contains the NCI transport internal definitions and functions. 22*7eba2f3bSAndroid Build Coastguard Worker * 23*7eba2f3bSAndroid Build Coastguard Worker ******************************************************************************/ 24*7eba2f3bSAndroid Build Coastguard Worker 25*7eba2f3bSAndroid Build Coastguard Worker #ifndef NFC_HAL_INT_H 26*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_INT_H 27*7eba2f3bSAndroid Build Coastguard Worker 28*7eba2f3bSAndroid Build Coastguard Worker #include "gki.h" 29*7eba2f3bSAndroid Build Coastguard Worker #include "nci_defs.h" 30*7eba2f3bSAndroid Build Coastguard Worker #include "nfc_brcm_defs.h" 31*7eba2f3bSAndroid Build Coastguard Worker #include "nfc_hal_api.h" 32*7eba2f3bSAndroid Build Coastguard Worker #include "nfc_hal_int_api.h" 33*7eba2f3bSAndroid Build Coastguard Worker #include "nfc_hal_target.h" 34*7eba2f3bSAndroid Build Coastguard Worker 35*7eba2f3bSAndroid Build Coastguard Worker using android::base::StringPrintf; 36*7eba2f3bSAndroid Build Coastguard Worker 37*7eba2f3bSAndroid Build Coastguard Worker /* NFC HAL Task Timer events */ 38*7eba2f3bSAndroid Build Coastguard Worker #ifndef NFC_HAL_QUICK_TIMER_EVT_MASK 39*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_QUICK_TIMER_EVT_MASK (TIMER_0_EVT_MASK) 40*7eba2f3bSAndroid Build Coastguard Worker #endif 41*7eba2f3bSAndroid Build Coastguard Worker 42*7eba2f3bSAndroid Build Coastguard Worker #ifndef NFC_HAL_QUICK_TIMER_ID 43*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_QUICK_TIMER_ID (TIMER_0) 44*7eba2f3bSAndroid Build Coastguard Worker #endif 45*7eba2f3bSAndroid Build Coastguard Worker 46*7eba2f3bSAndroid Build Coastguard Worker typedef uint8_t tNFC_HAL_WAIT_RSP; 47*7eba2f3bSAndroid Build Coastguard Worker 48*7eba2f3bSAndroid Build Coastguard Worker #if (NFC_HAL_HCI_INCLUDED == TRUE) 49*7eba2f3bSAndroid Build Coastguard Worker 50*7eba2f3bSAndroid Build Coastguard Worker #endif 51*7eba2f3bSAndroid Build Coastguard Worker 52*7eba2f3bSAndroid Build Coastguard Worker /* NFC HAL transport configuration */ 53*7eba2f3bSAndroid Build Coastguard Worker typedef struct { 54*7eba2f3bSAndroid Build Coastguard Worker bool shared_transport; /* TRUE if using shared HCI/NCI transport */ 55*7eba2f3bSAndroid Build Coastguard Worker uint8_t userial_baud; 56*7eba2f3bSAndroid Build Coastguard Worker uint8_t userial_fc; 57*7eba2f3bSAndroid Build Coastguard Worker } tNFC_HAL_TRANS_CFG; 58*7eba2f3bSAndroid Build Coastguard Worker 59*7eba2f3bSAndroid Build Coastguard Worker #ifdef TESTER 60*7eba2f3bSAndroid Build Coastguard Worker /* For Insight, ncit_cfg is runtime-configurable */ 61*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_TRANS_CFG_QUALIFIER 62*7eba2f3bSAndroid Build Coastguard Worker #else 63*7eba2f3bSAndroid Build Coastguard Worker /* For all other platforms, ncit_cfg is constant */ 64*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_TRANS_CFG_QUALIFIER const 65*7eba2f3bSAndroid Build Coastguard Worker #endif 66*7eba2f3bSAndroid Build Coastguard Worker extern NFC_HAL_TRANS_CFG_QUALIFIER tNFC_HAL_TRANS_CFG nfc_hal_trans_cfg; 67*7eba2f3bSAndroid Build Coastguard Worker 68*7eba2f3bSAndroid Build Coastguard Worker /**************************************************************************** 69*7eba2f3bSAndroid Build Coastguard Worker ** Internal constants and definitions 70*7eba2f3bSAndroid Build Coastguard Worker ****************************************************************************/ 71*7eba2f3bSAndroid Build Coastguard Worker 72*7eba2f3bSAndroid Build Coastguard Worker typedef uint8_t tNFC_HAL_NCI_RAS; 73*7eba2f3bSAndroid Build Coastguard Worker 74*7eba2f3bSAndroid Build Coastguard Worker typedef uint8_t tNFC_HAL_POWER_MODE; 75*7eba2f3bSAndroid Build Coastguard Worker 76*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_SAVED_HDR_SIZE (2) 77*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_SAVED_CMD_SIZE (2) 78*7eba2f3bSAndroid Build Coastguard Worker 79*7eba2f3bSAndroid Build Coastguard Worker #ifndef NFC_HAL_DEBUG 80*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_DEBUG TRUE 81*7eba2f3bSAndroid Build Coastguard Worker #endif 82*7eba2f3bSAndroid Build Coastguard Worker 83*7eba2f3bSAndroid Build Coastguard Worker #if (NFC_HAL_DEBUG == TRUE) 84*7eba2f3bSAndroid Build Coastguard Worker extern const char* const nfc_hal_init_state_str[]; 85*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_SET_INIT_STATE(state) \ 86*7eba2f3bSAndroid Build Coastguard Worker LOG(VERBOSE) << StringPrintf("init state: %d->%d(%s)", \ 87*7eba2f3bSAndroid Build Coastguard Worker nfc_hal_cb.dev_cb.initializing_state, state, \ 88*7eba2f3bSAndroid Build Coastguard Worker nfc_hal_init_state_str[state]); \ 89*7eba2f3bSAndroid Build Coastguard Worker nfc_hal_cb.dev_cb.initializing_state = state; 90*7eba2f3bSAndroid Build Coastguard Worker #else 91*7eba2f3bSAndroid Build Coastguard Worker #define NFC_HAL_SET_INIT_STATE(state) \ 92*7eba2f3bSAndroid Build Coastguard Worker nfc_hal_cb.dev_cb.initializing_state = state; 93*7eba2f3bSAndroid Build Coastguard Worker #endif 94*7eba2f3bSAndroid Build Coastguard Worker 95*7eba2f3bSAndroid Build Coastguard Worker typedef uint8_t tNFC_HAL_INIT_STATE; 96*7eba2f3bSAndroid Build Coastguard Worker 97*7eba2f3bSAndroid Build Coastguard Worker typedef uint8_t tNFC_HAL_DM_CONFIG; 98*7eba2f3bSAndroid Build Coastguard Worker 99*7eba2f3bSAndroid Build Coastguard Worker /* callback function prototype */ 100*7eba2f3bSAndroid Build Coastguard Worker typedef struct { 101*7eba2f3bSAndroid Build Coastguard Worker uint16_t opcode; 102*7eba2f3bSAndroid Build Coastguard Worker uint16_t param_len; 103*7eba2f3bSAndroid Build Coastguard Worker uint8_t* p_param_buf; 104*7eba2f3bSAndroid Build Coastguard Worker } tNFC_HAL_BTVSC_CPLT; 105*7eba2f3bSAndroid Build Coastguard Worker 106*7eba2f3bSAndroid Build Coastguard Worker #if (NFC_HAL_HCI_INCLUDED == TRUE) 107*7eba2f3bSAndroid Build Coastguard Worker 108*7eba2f3bSAndroid Build Coastguard Worker /* data type for NFC_HAL_HCI_RSP_NV_READ_EVT */ 109*7eba2f3bSAndroid Build Coastguard Worker typedef struct { 110*7eba2f3bSAndroid Build Coastguard Worker NFC_HDR hdr; 111*7eba2f3bSAndroid Build Coastguard Worker uint8_t block; 112*7eba2f3bSAndroid Build Coastguard Worker uint16_t size; 113*7eba2f3bSAndroid Build Coastguard Worker tHAL_NFC_STATUS status; 114*7eba2f3bSAndroid Build Coastguard Worker } tNFC_HAL_HCI_RSP_NV_READ_EVT; 115*7eba2f3bSAndroid Build Coastguard Worker 116*7eba2f3bSAndroid Build Coastguard Worker /* data type for NFC_HAL_HCI_RSP_NV_WRITE_EVT */ 117*7eba2f3bSAndroid Build Coastguard Worker typedef struct { 118*7eba2f3bSAndroid Build Coastguard Worker NFC_HDR hdr; 119*7eba2f3bSAndroid Build Coastguard Worker tHAL_NFC_STATUS status; 120*7eba2f3bSAndroid Build Coastguard Worker } tNFC_HAL_HCI_RSP_NV_WRITE_EVT; 121*7eba2f3bSAndroid Build Coastguard Worker 122*7eba2f3bSAndroid Build Coastguard Worker /* union of all event data types */ 123*7eba2f3bSAndroid Build Coastguard Worker typedef union { 124*7eba2f3bSAndroid Build Coastguard Worker NFC_HDR hdr; 125*7eba2f3bSAndroid Build Coastguard Worker /* Internal events */ 126*7eba2f3bSAndroid Build Coastguard Worker tNFC_HAL_HCI_RSP_NV_READ_EVT nv_read; 127*7eba2f3bSAndroid Build Coastguard Worker tNFC_HAL_HCI_RSP_NV_WRITE_EVT nv_write; 128*7eba2f3bSAndroid Build Coastguard Worker } tNFC_HAL_HCI_EVENT_DATA; 129*7eba2f3bSAndroid Build Coastguard Worker 130*7eba2f3bSAndroid Build Coastguard Worker #endif 131*7eba2f3bSAndroid Build Coastguard Worker /***************************************************************************** 132*7eba2f3bSAndroid Build Coastguard Worker ** Control block for NFC HAL 133*7eba2f3bSAndroid Build Coastguard Worker *****************************************************************************/ 134*7eba2f3bSAndroid Build Coastguard Worker 135*7eba2f3bSAndroid Build Coastguard Worker /* Information about current patch in NVM */ 136*7eba2f3bSAndroid Build Coastguard Worker typedef struct { 137*7eba2f3bSAndroid Build Coastguard Worker uint16_t project_id; /* Current project_id of patch in nvm */ 138*7eba2f3bSAndroid Build Coastguard Worker uint16_t ver_major; /* Current major version of patch in nvm */ 139*7eba2f3bSAndroid Build Coastguard Worker uint16_t ver_minor; /* Current minor version of patch in nvm */ 140*7eba2f3bSAndroid Build Coastguard Worker uint16_t fpm_size; /* Current size of FPM patch in nvm */ 141*7eba2f3bSAndroid Build Coastguard Worker uint16_t lpm_size; /* Current size of LPM patch in nvm */ 142*7eba2f3bSAndroid Build Coastguard Worker uint8_t flags; /* See NFC_HAL_NVM_FLAGS_* flag definitions */ 143*7eba2f3bSAndroid Build Coastguard Worker uint8_t nvm_type; /* Current NVM Type - UICC/EEPROM */ 144*7eba2f3bSAndroid Build Coastguard Worker uint8_t chip_ver[NFC_HAL_PRM_MAX_CHIP_VER_LEN]; /* patch chip version */ 145*7eba2f3bSAndroid Build Coastguard Worker } tNFC_HAL_NVM; 146*7eba2f3bSAndroid Build Coastguard Worker 147*7eba2f3bSAndroid Build Coastguard Worker /* Patch for I2C fix */ 148*7eba2f3bSAndroid Build Coastguard Worker typedef struct { 149*7eba2f3bSAndroid Build Coastguard Worker uint8_t* p_patch; /* patch for i2c fix */ 150*7eba2f3bSAndroid Build Coastguard Worker uint32_t prei2c_delay; /* the dealy after preI2C patch */ 151*7eba2f3bSAndroid Build Coastguard Worker uint16_t len; /* i2c patch length */ 152*7eba2f3bSAndroid Build Coastguard Worker } tNFC_HAL_PRM_I2C_FIX_CB; 153*7eba2f3bSAndroid Build Coastguard Worker 154*7eba2f3bSAndroid Build Coastguard Worker /* Control block for NCI transport */ 155*7eba2f3bSAndroid Build Coastguard Worker typedef struct { 156*7eba2f3bSAndroid Build Coastguard Worker uint8_t nci_ctrl_size; /* Max size for NCI messages */ 157*7eba2f3bSAndroid Build Coastguard Worker uint8_t rcv_state; /* current rx state */ 158*7eba2f3bSAndroid Build Coastguard Worker uint16_t rcv_len; /* bytes remaining to be received in current rx state */ 159*7eba2f3bSAndroid Build Coastguard Worker NFC_HDR* p_rcv_msg; /* buffer to receive NCI message */ 160*7eba2f3bSAndroid Build Coastguard Worker NFC_HDR* p_frag_msg; /* fragmented NCI message; waiting for last fragment */ 161*7eba2f3bSAndroid Build Coastguard Worker NFC_HDR* 162*7eba2f3bSAndroid Build Coastguard Worker p_pend_cmd; /* pending NCI message; waiting for NFCC state to be free */ 163*7eba2f3bSAndroid Build Coastguard Worker tNFC_HAL_NCI_RAS nci_ras; /* nci reassembly error status */ 164*7eba2f3bSAndroid Build Coastguard Worker TIMER_LIST_ENT 165*7eba2f3bSAndroid Build Coastguard Worker nci_wait_rsp_timer; /* Timer for waiting for nci command response */ 166*7eba2f3bSAndroid Build Coastguard Worker tNFC_HAL_WAIT_RSP nci_wait_rsp; /* nci wait response flag */ 167*7eba2f3bSAndroid Build Coastguard Worker uint8_t 168*7eba2f3bSAndroid Build Coastguard Worker last_hdr[NFC_HAL_SAVED_HDR_SIZE]; /* part of last NCI command header */ 169*7eba2f3bSAndroid Build Coastguard Worker uint8_t 170*7eba2f3bSAndroid Build Coastguard Worker last_cmd[NFC_HAL_SAVED_CMD_SIZE]; /* part of last NCI command payload */ 171*7eba2f3bSAndroid Build Coastguard Worker void* p_vsc_cback; /* the callback function for last VSC command */ 172*7eba2f3bSAndroid Build Coastguard Worker } tNFC_HAL_NCIT_CB; 173*7eba2f3bSAndroid Build Coastguard Worker 174*7eba2f3bSAndroid Build Coastguard Worker /* Control block for device initialization */ 175*7eba2f3bSAndroid Build Coastguard Worker typedef struct { 176*7eba2f3bSAndroid Build Coastguard Worker tNFC_HAL_INIT_STATE initializing_state; /* state of initializing NFCC */ 177*7eba2f3bSAndroid Build Coastguard Worker 178*7eba2f3bSAndroid Build Coastguard Worker uint32_t brcm_hw_id; /* BRCM NFCC HW ID */ 179*7eba2f3bSAndroid Build Coastguard Worker tNFC_HAL_DM_CONFIG next_dm_config; /* next config in post initialization */ 180*7eba2f3bSAndroid Build Coastguard Worker uint8_t next_startup_vsc; /* next start-up VSC offset in post init */ 181*7eba2f3bSAndroid Build Coastguard Worker 182*7eba2f3bSAndroid Build Coastguard Worker tNFC_HAL_POWER_MODE power_mode; /* NFCC power mode */ 183*7eba2f3bSAndroid Build Coastguard Worker uint8_t snooze_mode; /* current snooze mode */ 184*7eba2f3bSAndroid Build Coastguard Worker uint8_t new_snooze_mode; /* next snooze mode after receiving cmpl */ 185*7eba2f3bSAndroid Build Coastguard Worker uint8_t nfc_wake_active_mode; /* NFC_HAL_LP_ACTIVE_LOW/HIGH */ 186*7eba2f3bSAndroid Build Coastguard Worker TIMER_LIST_ENT lp_timer; /* timer for low power mode */ 187*7eba2f3bSAndroid Build Coastguard Worker 188*7eba2f3bSAndroid Build Coastguard Worker tHAL_NFC_STATUS_CBACK* 189*7eba2f3bSAndroid Build Coastguard Worker p_prop_cback; /* callback to notify complete of proprietary update */ 190*7eba2f3bSAndroid Build Coastguard Worker } tNFC_HAL_DEV_CB; 191*7eba2f3bSAndroid Build Coastguard Worker 192*7eba2f3bSAndroid Build Coastguard Worker #if (NFC_HAL_HCI_INCLUDED == TRUE) 193*7eba2f3bSAndroid Build Coastguard Worker 194*7eba2f3bSAndroid Build Coastguard Worker /* data members for NFC_HAL-HCI */ 195*7eba2f3bSAndroid Build Coastguard Worker typedef struct { 196*7eba2f3bSAndroid Build Coastguard Worker TIMER_LIST_ENT 197*7eba2f3bSAndroid Build Coastguard Worker hci_timer; /* Timer to avoid indefinitely waiting for response */ 198*7eba2f3bSAndroid Build Coastguard Worker uint8_t* 199*7eba2f3bSAndroid Build Coastguard Worker p_hci_netwk_info_buf; /* Buffer for reading HCI Network information */ 200*7eba2f3bSAndroid Build Coastguard Worker uint8_t* p_hci_netwk_dh_info_buf; /* Buffer for reading HCI Network DH 201*7eba2f3bSAndroid Build Coastguard Worker information */ 202*7eba2f3bSAndroid Build Coastguard Worker uint8_t hci_netwk_config_block; /* Rsp awaiting for hci network configuration 203*7eba2f3bSAndroid Build Coastguard Worker block */ 204*7eba2f3bSAndroid Build Coastguard Worker bool b_wait_hcp_conn_create_rsp; /* Waiting for hcp connection create response 205*7eba2f3bSAndroid Build Coastguard Worker */ 206*7eba2f3bSAndroid Build Coastguard Worker bool clear_all_pipes_to_uicc1; /* UICC1 was restarted for patch download */ 207*7eba2f3bSAndroid Build Coastguard Worker bool update_session_id; /* Next response from NFCC is to Get Session id cmd */ 208*7eba2f3bSAndroid Build Coastguard Worker bool hci_fw_workaround; /* HAL HCI Workaround need */ 209*7eba2f3bSAndroid Build Coastguard Worker bool hci_fw_validate_netwk_cmd; /* Flag to indicate if hci network ntf to 210*7eba2f3bSAndroid Build Coastguard Worker validate */ 211*7eba2f3bSAndroid Build Coastguard Worker uint8_t hcp_conn_id; /* NCI Connection id for HCP */ 212*7eba2f3bSAndroid Build Coastguard Worker uint8_t dh_session_id[1]; /* Byte 0 of DH Session ID */ 213*7eba2f3bSAndroid Build Coastguard Worker } tNFC_HAL_HCI_CB; 214*7eba2f3bSAndroid Build Coastguard Worker 215*7eba2f3bSAndroid Build Coastguard Worker #endif 216*7eba2f3bSAndroid Build Coastguard Worker 217*7eba2f3bSAndroid Build Coastguard Worker typedef uint8_t tNFC_HAL_FLAGS; 218*7eba2f3bSAndroid Build Coastguard Worker 219*7eba2f3bSAndroid Build Coastguard Worker typedef struct { 220*7eba2f3bSAndroid Build Coastguard Worker tHAL_NFC_CBACK* p_stack_cback; /* Callback for HAL event notification */ 221*7eba2f3bSAndroid Build Coastguard Worker tHAL_NFC_DATA_CBACK* p_data_cback; /* Callback for data event notification */ 222*7eba2f3bSAndroid Build Coastguard Worker 223*7eba2f3bSAndroid Build Coastguard Worker TIMER_LIST_Q quick_timer_queue; /* timer list queue */ 224*7eba2f3bSAndroid Build Coastguard Worker TIMER_LIST_ENT timer; /* timer for NCI transport task */ 225*7eba2f3bSAndroid Build Coastguard Worker 226*7eba2f3bSAndroid Build Coastguard Worker tNFC_HAL_NCIT_CB ncit_cb; /* NCI transport */ 227*7eba2f3bSAndroid Build Coastguard Worker tNFC_HAL_DEV_CB dev_cb; /* device initialization */ 228*7eba2f3bSAndroid Build Coastguard Worker tNFC_HAL_NVM nvm_cb; /* Information about current patch in NVM */ 229*7eba2f3bSAndroid Build Coastguard Worker 230*7eba2f3bSAndroid Build Coastguard Worker /* Patchram control block */ 231*7eba2f3bSAndroid Build Coastguard Worker tNFC_HAL_PRM_CB prm; 232*7eba2f3bSAndroid Build Coastguard Worker tNFC_HAL_PRM_I2C_FIX_CB prm_i2c; 233*7eba2f3bSAndroid Build Coastguard Worker 234*7eba2f3bSAndroid Build Coastguard Worker #if (NFC_HAL_HCI_INCLUDED == TRUE) 235*7eba2f3bSAndroid Build Coastguard Worker /* data members for NFC_HAL-HCI */ 236*7eba2f3bSAndroid Build Coastguard Worker tNFC_HAL_HCI_CB hci_cb; 237*7eba2f3bSAndroid Build Coastguard Worker #endif 238*7eba2f3bSAndroid Build Coastguard Worker 239*7eba2f3bSAndroid Build Coastguard Worker uint8_t pre_discover_done; /* TRUE, when the prediscover config is complete */ 240*7eba2f3bSAndroid Build Coastguard Worker tNFC_HAL_FLAGS hal_flags; 241*7eba2f3bSAndroid Build Coastguard Worker uint8_t pre_set_mem_idx; 242*7eba2f3bSAndroid Build Coastguard Worker 243*7eba2f3bSAndroid Build Coastguard Worker uint8_t max_rf_credits; /* NFC Max RF data credits */ 244*7eba2f3bSAndroid Build Coastguard Worker uint8_t max_ee; /* NFC Max number of NFCEE supported by NFCC */ 245*7eba2f3bSAndroid Build Coastguard Worker } tNFC_HAL_CB; 246*7eba2f3bSAndroid Build Coastguard Worker 247*7eba2f3bSAndroid Build Coastguard Worker /* Global NCI data */ 248*7eba2f3bSAndroid Build Coastguard Worker extern tNFC_HAL_CB nfc_hal_cb; 249*7eba2f3bSAndroid Build Coastguard Worker 250*7eba2f3bSAndroid Build Coastguard Worker extern uint8_t* p_nfc_hal_pre_discover_cfg; 251*7eba2f3bSAndroid Build Coastguard Worker 252*7eba2f3bSAndroid Build Coastguard Worker /**************************************************************************** 253*7eba2f3bSAndroid Build Coastguard Worker ** Internal nfc functions 254*7eba2f3bSAndroid Build Coastguard Worker ****************************************************************************/ 255*7eba2f3bSAndroid Build Coastguard Worker 256*7eba2f3bSAndroid Build Coastguard Worker #if (NFC_HAL_HCI_INCLUDED == TRUE) 257*7eba2f3bSAndroid Build Coastguard Worker /* nfc_hal_hci.c */ 258*7eba2f3bSAndroid Build Coastguard Worker void nfc_hal_hci_enable(void); 259*7eba2f3bSAndroid Build Coastguard Worker void nfc_hal_hci_evt_hdlr(tNFC_HAL_HCI_EVENT_DATA* p_evt_data); 260*7eba2f3bSAndroid Build Coastguard Worker 261*7eba2f3bSAndroid Build Coastguard Worker void nfc_hal_hci_handle_build_info(uint8_t chipverlen, uint8_t* p_chipverstr); 262*7eba2f3bSAndroid Build Coastguard Worker #else 263*7eba2f3bSAndroid Build Coastguard Worker #define nfc_hal_hci_enable() NFC_HAL_SET_INIT_STATE(NFC_HAL_INIT_STATE_IDLE); 264*7eba2f3bSAndroid Build Coastguard Worker #define nfc_hal_hci_handle_build_info(p, a) 265*7eba2f3bSAndroid Build Coastguard Worker #define nfc_hal_hci_evt_hdlr(p) ; 266*7eba2f3bSAndroid Build Coastguard Worker #endif 267*7eba2f3bSAndroid Build Coastguard Worker 268*7eba2f3bSAndroid Build Coastguard Worker #endif /* NFC_HAL_INT_H */ 269