config.h revision b7cb567fb2a69c4f8afbb5c5f819e2390ba6424d
1e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/****************************************************************************** 2e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 3e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * Copyright (C) 1999-2012 Broadcom Corporation 4e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 5e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 6e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * you may not use this file except in compliance with the License. 7e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * You may obtain a copy of the License at: 8e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 9e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 10e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 11e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 12e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 13e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * See the License for the specific language governing permissions and 15e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * limitations under the License. 16e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 17e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ******************************************************************************/ 18e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef __CONFIG_H 19e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define __CONFIG_H 20e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 21e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifdef __cplusplus 22e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectextern "C" 23e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{ 24e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 25e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 26e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectint GetStrValue(const char* name, char* p_value, unsigned long len); 27e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectint GetNumValue(const char* name, void* p_value, unsigned long len); 28e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 29e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifdef __cplusplus 30e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project}; 31e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 32e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 33e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NAME_POLLING_TECH_MASK "POLLING_TECH_MASK" 34e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NAME_REGISTER_VIRTUAL_SE "REGISTER_VIRTUAL_SE" 35e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NAME_APPL_TRACE_LEVEL "APPL_TRACE_LEVEL" 365c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#define NAME_USE_RAW_NCI_TRACE "USE_RAW_NCI_TRACE" 375c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#define NAME_LOGCAT_FILTER "LOGCAT_FILTER" 38e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NAME_LPTD_CFG "LPTD_CFG" 39e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NAME_SCREEN_OFF_POWER_STATE "SCREEN_OFF_POWER_STATE" 40e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NAME_PREINIT_DSP_CFG "PREINIT_DSP_CFG" 41e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NAME_DTA_START_CFG "DTA_START_CFG" 42e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NAME_TRANSPORT_DRIVER "TRANSPORT_DRIVER" 43e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NAME_POWER_CONTROL_DRIVER "POWER_CONTROL_DRIVER" 44e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NAME_PROTOCOL_TRACE_LEVEL "PROTOCOL_TRACE_LEVEL" 45e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NAME_UART_PORT "UART_PORT" 46e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NAME_UART_BAUD "UART_BAUD" 47e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NAME_UART_PARITY "UART_PARITY" 48e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NAME_UART_STOPBITS "UART_STOPBITS" 49e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NAME_UART_DATABITS "UART_DATABITS" 50e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NAME_CLIENT_ADDRESS "BCMI2CNFC_ADDRESS" 51e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NAME_NFA_DM_START_UP_CFG "NFA_DM_START_UP_CFG" 52e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NAME_NFA_DM_CFG "NFA_DM_CFG" 53e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NAME_NFA_DM_LP_CFG "NFA_DM_LP_CFG" 54e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NAME_LOW_SPEED_TRANSPORT "LOW_SPEED_TRANSPORT" 55e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NAME_NFC_WAKE_DELAY "NFC_WAKE_DELAY" 56e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NAME_NFC_WRITE_DELAY "NFC_WRITE_DELAY" 57e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NAME_PERF_MEASURE_FREQ "REPORT_PERFORMANCE_MEASURE" 58e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NAME_READ_MULTI_PACKETS "READ_MULTIPLE_PACKETS" 59e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NAME_POWER_ON_DELAY "POWER_ON_DELAY" 60e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NAME_PRE_POWER_OFF_DELAY "PRE_POWER_OFF_DELAY" 61e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NAME_POST_POWER_OFF_DELAY "POST_POWER_OFF_DELAY" 625c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#define NAME_CE3_PRE_POWER_OFF_DELAY "CE3_PRE_POWER_OFF_DELAY" 63e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NAME_NFA_STORAGE "NFA_STORAGE" 64e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NAME_NFA_DM_START_UP_VSC_CFG "NFA_DM_START_UP_VSC_CFG" 655c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#define NAME_NFA_DTA_START_UP_VSC_CFG "NFA_DTA_START_UP_VSC_CFG" 66e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NAME_UICC_LISTEN_TECH_MASK "UICC_LISTEN_TECH_MASK" 67a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu#define NAME_UICC_LISTEN_TECH_EX_MASK "UICC_LISTEN_TECH_EXCLUDE_MASK" 68e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NAME_SNOOZE_MODE_CFG "SNOOZE_MODE_CFG" 69e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NAME_NFA_DM_DISC_DURATION_POLL "NFA_DM_DISC_DURATION_POLL" 705c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#define NAME_SPD_DEBUG "SPD_DEBUG" 715c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#define NAME_SPD_MAXRETRYCOUNT "SPD_MAX_RETRY_COUNT" 725c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#define NAME_SPI_NEGOTIATION "SPI_NEGOTIATION" 73e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NAME_AID_FOR_EMPTY_SELECT "AID_FOR_EMPTY_SELECT" 745c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#define NAME_PRESERVE_STORAGE "PRESERVE_STORAGE" 755c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#define NAME_NFA_MAX_EE_SUPPORTED "NFA_MAX_EE_SUPPORTED" 760eb7353a4877b921c2d4b9226ecad2d1cc672dcbPaul Chaisson#define NAME_NFCC_ENABLE_TIMEOUT "NFCC_ENABLE_TIMEOUT" 7745e68232b8524aca5165dca28b994ec8c11593b1Evan Chu#define NAME_NFA_DM_PRE_DISCOVERY_CFG "NFA_DM_PRE_DISCOVERY_CFG" 7891ada91fa991b4df5372a19a2cf81f074b298712Evan Chu#define NAME_POLL_FREQUENCY "POLL_FREQUENCY" 79a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu#define NAME_XTAL_HARDWARE_ID "XTAL_HARDWARE_ID" 80a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu#define NAME_XTAL_FREQUENCY "XTAL_FREQUENCY" 81a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu#define NAME_XTAL_FREQ_INDEX "XTAL_FREQ_INDEX" 823c8ee3d9f5df8d315dc9d47a4fb05d6411028e8aEvan Chu#define NAME_XTAL_PARAMS_CFG "XTAL_PARAMS_CFG" 83a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu#define NAME_EXCLUSIVE_SE_ACCESS "EXCLUSIVE_SE_ACCESS" 84a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu#define NAME_DBG_NO_UICC_IDLE_TIMEOUT_TOGGLING "DBG_NO_UICC_IDLE_TIMEOUT_TOGGLING" 85a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu#define NAME_PRESENCE_CHECK_ALGORITHM "PRESENCE_CHECK_ALGORITHM" 86a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu#define NAME_ALLOW_NO_NVM "ALLOW_NO_NVM" 87b7cb567fb2a69c4f8afbb5c5f819e2390ba6424dEvan Chu#define NAME_DEVICE_HOST_WHITE_LIST "DEVICE_HOST_WHITE_LIST" 88e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 89e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define LPTD_PARAM_LEN (40) 90e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 91e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project// default configuration 92e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define default_transport "/dev/bcm2079x" 93e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define default_storage_location "/data/nfc" 94e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 95e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectstruct tUART_CONFIG { 96e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project int m_iBaudrate; // 115200 97e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project int m_iDatabits; // 8 98e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project int m_iParity; // 0 - none, 1 = odd, 2 = even 99e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project int m_iStopbits; 100e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project}; 101e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 102e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectextern struct tUART_CONFIG uartConfig; 103e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define MAX_CHIPID_LEN (16) 104e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectvoid readOptionalConfig(const char* option); 105e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 106e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Snooze mode configuration structure */ 107e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef struct 108e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project{ 109e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project unsigned char snooze_mode; /* Snooze Mode */ 110e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project unsigned char idle_threshold_dh; /* Idle Threshold Host */ 111e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project unsigned char idle_threshold_nfcc; /* Idle Threshold NFCC */ 112e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project unsigned char nfc_wake_active_mode; /* NFC_LP_ACTIVE_LOW or NFC_LP_ACTIVE_HIGH */ 113e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project unsigned char dh_wake_active_mode; /* NFC_LP_ACTIVE_LOW or NFC_LP_ACTIVE_HIGH */ 114e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project} tSNOOZE_MODE_CONFIG; 115e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 116