diff options
Diffstat (limited to 'inc/phNfcConfig.h')
-rw-r--r-- | inc/phNfcConfig.h | 525 |
1 files changed, 525 insertions, 0 deletions
diff --git a/inc/phNfcConfig.h b/inc/phNfcConfig.h new file mode 100644 index 0000000..035d5bd --- /dev/null +++ b/inc/phNfcConfig.h @@ -0,0 +1,525 @@ +/* + * Copyright (C) 2010 NXP Semiconductors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +/** +* \file phNfcConfig.h +* \brief HAL Configurations +* +* +* \note This is the configuration header file of the HAL 4.0.All configurable parameters of the HAL 4.0 +* are provided in this file +* +* Project: NFC-FRI-1.1 / HAL4.0 +* +* $Date: Fri Jun 11 16:20:17 2010 $ +* $Author: ing04880 $ +* $Revision: 1.37 $ +* $Aliases: NFC_FRI1.1_WK1023_R35_1 $ +* +*/ + + +/*@{*/ +#ifndef PHNFC_CONFIG_H +#define PHNFC_CONFIG_H +/*@}*/ + + +/** +* \name Hal +* +* File: \ref phNfcConfig.h +* +*/ + +/*@{*/ +#define PH_NFC_CONFIG_FILEREVISION "$Revision: 1.37 $" /**< \ingroup grp_file_attributes */ +#define PH_NFC_CONFIG_FILEALIASES "$Aliases: NFC_FRI1.1_WK1023_R35_1 $" /**< \ingroup grp_file_attributes */ +/*@}*/ + + +/* -----------------Include files ---------------------------------------*/ + +#ifdef NFC_CUSTOM_CONFIG_INCLUDE +#include<nfc_custom_config.h> +#endif + +/* ---------------- Macros ----------------------------------------------*/ + + + +/* + ***************************************************************** + ********************** DEFAULT MACROS ************************** + ***************************************************************** + */ + + +/**< External Clock Request Configuration for the NFC Device, + 0x00U No Clock Request, + 0x01U Clock Request through CLKREQ pin (GPIO pin 2), + 0x02U Clock Request through NXP_EVT_CLK_REQUEST Event, + */ +#ifndef NXP_DEFAULT_CLK_REQUEST +#define NXP_DEFAULT_CLK_REQUEST 0x00U +#endif + +/**< External Input Clock Setting for the NFC Device, + 0x00U No Input Clock Required (Use the Xtal), + 0x01U 13 MHZ, + 0x02U 19.2 MHZ, + 0x03U 26 MHZ, + 0x04U 38.4 MHZ, + 0x05U Custom (Set the Custome Clock Registry), + */ + +#ifndef NXP_DEFAULT_INPUT_CLK +#define NXP_DEFAULT_INPUT_CLK 0x00U +#endif + +/**< UICC Power Request configuration for the NFC Device, + 0x00U No Power Request, + 0x01U Power Request through CLKREQ pin (GPIO pin 2), + 0x02U Power Request through PWR_REQUEST (GPIO Pin 3), + */ + +#ifndef NXP_UICC_PWR_REQUEST +#define NXP_UICC_PWR_REQUEST 0x00U +#endif + +/**< TX LDO Configuration + 0x00 00b 3.0 V, + 0x01 01b 3.0 V, + 0x02 10b 2.7 V, + 0x03 11b 3.3 V, + */ + +#ifndef NXP_DEFAULT_TX_LDO +#define NXP_DEFAULT_TX_LDO 0x00U +#endif + +/**< UICC Bit Rate Configuration + 0x02 212Kbits/Sec + 0x04 424Kbits/Sec + 0x08 828Kbits/Sec + */ + +#ifndef NXP_UICC_BIT_RATE +#define NXP_UICC_BIT_RATE 0x08U +#endif + + +/**< Indicates PN544 Power Modes Configuration for the NFC Device, + 0x00U -> PN544 stays in active bat mode + (except when generating RF field) + 0x01U -> PN544 goes in standby when possible otherwise + stays in active bat mode + 0x02U -> PN544 goes in idle mode as soon as it can + (otherwise it is in active bat except when generating RF field) + 0x03U -> PN544 goes in standby when possible otherwise goes in idle mode + as soon as it can (otherwise it is in active bat except when + generating RF field) + */ + +#ifndef NXP_SYSTEM_PWR_STATUS +#define NXP_SYSTEM_PWR_STATUS 0x00U +#endif + +/**< Default Session ID for Initialisation */ +#ifndef DEFAULT_SESSION +#define DEFAULT_SESSION "NXP-NFC1" +#endif + + +/* The Other Integration Configuration Values */ + +/**< Max number of remote devices supported */ + +#ifndef MAX_REMOTE_DEVICES +#define MAX_REMOTE_DEVICES 0x0A +#endif + +/**< System Event Notification + 0x01 Overcurrent + 0x02 PMUVCC Switch + 0x04 External RF Field + 0x08 Memory Violation + 0x10 Temperature Overheat + */ + +#ifndef NXP_SYSTEM_EVT_INFO +#define NXP_SYSTEM_EVT_INFO 0x3DU +#endif + + +#ifndef NFC_DEV_HWCONF_DEFAULT +#define NFC_DEV_HWCONF_DEFAULT 0xBCU +#endif + + +#ifndef NXP_ISO_XCHG_TIMEOUT +#define NXP_ISO_XCHG_TIMEOUT 0x1AU +#endif + +#ifndef NXP_MIFARE_XCHG_TIMEOUT +#define NXP_MIFARE_XCHG_TIMEOUT 0x03U +#endif + +#ifndef NXP_FELICA_XCHG_TIMEOUT +#define NXP_FELICA_XCHG_TIMEOUT 0xFFU +#endif + + +#ifndef NXP_NFCIP_PSL_BRS_DEFAULT +#define NXP_NFCIP_PSL_BRS_DEFAULT 0x00U +#endif + + + +/**< ID For Invalid Timer */ +#ifndef NXP_INVALID_TIMER_ID +#define NXP_INVALID_TIMER_ID 0xFFFFFFFFU +#endif + +/**< Presence check interval in milliseconds */ +#ifndef PRESENCE_CHECK_INTERVAL +#define PRESENCE_CHECK_INTERVAL 500U +#endif + +/** Resolution value for the timer, here the + timer resolution is 500 milliseconds */ +#ifndef TIMER_RESOLUTION +#define TIMER_RESOLUTION 500U +#endif + +/* Kindly note that the below Timeout values should be + * in Multiples of the value provided to TIMER_RESOLUTION + */ + +/**< Defines guard time out value for LLC timer, + 1000 is in milliseconds */ +#ifndef LINK_GUARD_TIMEOUT +#define LINK_GUARD_TIMEOUT 1000U +#endif + + +/**< Defines connection time out value for LLC timer, + 1000 is in milliseconds */ +#ifndef LINK_CONNECTION_TIMEOUT +#define LINK_CONNECTION_TIMEOUT 1000U +#endif + + +/**< Defines Firmware Download Completion Timeout value , + 120000 is in milliseconds */ + + +#ifndef NXP_DNLD_COMPLETE_TIMEOUT +#define NXP_DNLD_COMPLETE_TIMEOUT 120000U +#endif + + +/**< Define to configure the Active Mode Polling Guard Time-out + */ + +#ifndef DEV_MGMT_ACT_GRD_TO_DEFAULT +#define DEV_MGMT_ACT_GRD_TO_DEFAULT 0x20U +#endif + +/**< NFCIP Active Mode Configuration + 0x01 106 kbps + 0x02 212 kbps + 0x04 424 kbps + */ + +#ifndef NXP_NFCIP_ACTIVE_DEFAULT +#define NXP_NFCIP_ACTIVE_DEFAULT 0x01U +#endif + + + + +#ifndef NXP_NFC_HCI_TIMER +#define NXP_NFC_HCI_TIMER 0 +#define NXP_NFC_HCI_TIMEOUT 0x5000 +#endif + + +/* + ***************************************************************** + DO NOT MODIFY THE BELOW MACROS UNLESS OTHERWISE MENTIONED + ***************************************************************** + */ + + + +#ifndef HOST_CE_A_SAK_DEFAULT +#define HOST_CE_A_SAK_DEFAULT 0x20U +#endif + +#ifndef NXP_CE_A_ATQA_HIGH +#define NXP_CE_A_ATQA_HIGH 0x00U +#endif + +#ifndef NXP_CE_A_ATQA_LOW +#define NXP_CE_A_ATQA_LOW 0x04U +#endif + + +#ifndef NXP_UICC_CE_RIGHTS +#define NXP_UICC_CE_RIGHTS 0x0FU +#endif + +#ifndef NXP_UICC_RD_RIGHTS +#define NXP_UICC_RD_RIGHTS 0x00U +#endif + + +/* + ***************************************************************** + DO NOT DISABLE/ENABLE BELOW MACROS UNLESS OTHERWISE MENTIONED + ***************************************************************** + */ + +#define ES_HW_VER 32 + +/* + ***************************************************************** + *************** FEATURE SPECIFIC MACROS ************************* + ***************************************************************** + */ + + + +/**< Macro to Enable SMX Feature During + * Initialisation */ + +#if !defined(NXP_SMX) +#define NXP_SMX 0 +#endif + +#if (NXP_SMX == 1) +#define NXP_HAL_ENABLE_SMX +#endif + +/**< Macro to Enable the Host Session + * Initialisation */ +#define ESTABLISH_SESSION + +/**< Macro to Enable the Peer to Peer Feature */ +#define ENABLE_P2P + +#define DEFAULT_NFCIP_MODE_SUPPORT 0x0FU + + +/**< Macro to Enable the ISO14443-B Feature */ +#define TYPE_B + +/**< Macro to Enable the Felica Feature */ +#define TYPE_FELICA + +/**< Macro to Enable the JEWEL Feature */ +#define TYPE_JEWEL + +/**< Macro to Enable the ISO15693 Feature */ +#define TYPE_ISO15693 + +/*< Macro to Verify the Poll Parameters Set */ +/* #define ENABLE_VERIFY_PARAM */ + +/**< Macro to Enable ISO 18092 Protocol compliancy + * SAK to be merged with the TYPE A Card RF Feature :3.1*/ +#define TGT_MERGE_SAK + + +/**< Macro to Configure the default power status + * to allow the PN544 to enter into the Standby */ +#define CFG_PWR_STATUS + + +/**< Macro to Enable the SWP Protocol + * to detect UICC During Initialisation */ +#define ENABLE_UICC + +/**< Macro to Enable the RAW Mode of Transaction + * for the ISO-14443-3A Compliant Targets */ +#define ENABLE_MIFARE_RAW + +/**< Macro to Enable the HOST List + * to allow the UICC Communication */ +#define HOST_WHITELIST + + +/**< Macro to Enable the Card Emulation Feature */ +/* #define HOST_EMULATION */ + +/**< Macro to Enable the Download Mode Feature */ +//#define FW_DOWNLOAD + +/**< Macro to Enable the Firmware Download Timer */ +#define FW_DOWNLOAD_TIMER + +/**< Macro to Verify the Firmware Download */ +/* #define FW_DOWNLOAD_VERIFY */ + +#ifndef FW_DOWNLOAD_VERIFY +#define NXP_FW_INTEGRITY_CHK +#endif + +#define UICC_CONNECTIVITY_PATCH + +/* Work around to Delay the initiator activation */ +/* #define NXP_NFCIP_ACTIVATE_DELAY */ + +/* Work around to Release the Discovered Target */ +#define SW_RELEASE_TARGET + +/* Macro to Allow the HCI Release in any state */ +#define NXP_HCI_SHUTDOWN_OVERRIDE + + +/* Macro to Enable The P2P Transaction Timers */ +#define P2P_TGT_TRANSACT_TIMER + +#if (ES_HW_VER == 32) +/* Macro to Configure the Target Disable Register */ +#define NFCIP_TGT_DISABLE_CFG + +#endif + +/*< Macro to Disable the Felica Mapping */ +/* #define DISABLE_FELICA_MAPPING */ + +/*< Macro to Disable the Felica Mapping */ +/* #define DISABLE_JEWEL_MAPPING */ + +/**< Macro to enable LLC timer */ +#define LLC_TIMER_ENABLE + +/**< Macro to enable HCI Response timer */ +/* #define NXP_NFC_HCI_TIMER 1 */ + +/* A Workaround to Delay and obtain the UICC Status Information */ +/* #define UICC_STATUS_DELAY */ + +#ifdef UICC_STATUS_DELAY +#define UICC_STATUS_DELAY_COUNT 0x00100000 +#endif + +/**< Macro to delay the LLC RESET response callback, + Value is in milli-seconds */ +#define LLC_RESET_DELAY 10 + +/* Macro to Enable the workaround for Tuning of + * RF for TYPE B and F + */ +/* #define SW_TYPE_RF_TUNING_BF */ + +/* Workaround to update the Active Guard Timeout */ +/* #define MAX_ACTIVATE_TIMEOUT */ + +/* #define ONE_BYTE_LEN */ + +#define NFC_RF_NOISE_SW + +/**< Define to configure the PMOS Modulation Index value + */ + +#ifndef NFC_DEV_PMOS_MOD_DEFAULT +/* 0x3F -> 6%, 0x3A -> 10%, 0x3C -> 10%, 0x35 -> 15.8%, 0x28 -> 25.8% */ +#define NFC_DEV_PMOS_MOD_DEFAULT 0x3CU +#endif + + +#ifndef SW_TYPE_RF_TUNING_BF +#define SW_TYPE_RF_TUNING_BF 0x80U +#endif + + +/* Reset the Default values of Host Link Timers */ +/* Macro to Enable the Host Side Link Timeout Configuration + * 0x00 ----> Default Pre-defined Configuration; + * 0x01 ----> Update only the Host Link Guard Timeout Configuration; + * 0x03 ----> Update Both the Host Link Guard Timeout + and ACK Timeout Configuration; + */ + +#ifndef HOST_LINK_TIMEOUT +#define HOST_LINK_TIMEOUT 0x00U +#endif + + +#ifndef NXP_NFC_LINK_GRD_CFG_DEFAULT +#define NXP_NFC_LINK_GRD_CFG_DEFAULT 0x0032U +#endif + +#ifndef NXP_NFC_LINK_ACK_CFG_DEFAULT +#define NXP_NFC_LINK_ACK_CFG_DEFAULT 0x0005U +#endif + +/* Macro to Enable the Interface Character Timeout Configuration + * 0x00 ----> Default Pre-defined Configuration; + * 0x01 ----> Update the IFC Timeout Default Configuration; + */ + +#ifndef NXP_NFC_IFC_TIMEOUT +#define NXP_NFC_IFC_TIMEOUT 0x00 +#endif + + +#ifndef NXP_NFC_IFC_CONFIG_DEFAULT +#define NXP_NFC_IFC_CONFIG_DEFAULT 0x203AU +#endif + + + +/* + ***************************************************************** + *********** MACROS ENABLE EEPROM REGISTER WRITE **************** + ***************************************************************** + */ + + +/* Enable this to Disable the WI Notification */ +/* #define DISABLE_WI_NOTIFICATION */ + +/* Macro to Enable the Configuration of Initiator + * speed during Discovery configuration + */ +#define INITIATOR_SPEED + + +/**/ +/* #define UICC_SESSION_RESET */ + +/* Macro to Enable the Configuration of UICC + * Timer and Bitrate during Initialisation + */ + + + + +/* -----------------Structures and Enumerations -------------------------*/ + + + + +/* -----------------Exported Functions----------------------------------*/ + + +#endif /*PHNFC_CONFIG_H*/ + |