| /* |
| * 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: Thu Sep 9 14:56:35 2010 $ |
| * $Author: ing04880 $ |
| * $Revision: 1.39 $ |
| * $Aliases: $ |
| * |
| */ |
| |
| |
| /*@{*/ |
| #ifndef PHNFC_CONFIG_H |
| #define PHNFC_CONFIG_H |
| /*@}*/ |
| |
| |
| /** |
| * \name Hal |
| * |
| * File: \ref phNfcConfig.h |
| * |
| */ |
| |
| /*@{*/ |
| #define PH_NFC_CONFIG_FILEREVISION "$Revision: 1.39 $" /**< \ingroup grp_file_attributes */ |
| #define PH_NFC_CONFIG_FILEALIASES "$Aliases: $" /**< \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 0x01U |
| #endif |
| |
| /**< Default Session ID for Initialisation */ |
| #ifndef DEFAULT_SESSION |
| #define DEFAULT_SESSION "android8" |
| #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 0x0BU |
| #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 ACK time out value for LLC timer, |
| 150 is in milliseconds */ |
| #ifndef LINK_ACK_TIMEOUT |
| #define LINK_ACK_TIMEOUT 1U |
| #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 Default Configuration (when acting as Target) |
| 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 1 |
| #define NXP_NFC_HCI_TIMEOUT 6000 |
| #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 1 |
| #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_INITIATOR_MODE_SUPPORT 0x3FU |
| #define DEFAULT_NFCIP_TARGET_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 |
| |
| /**< Support reconnecting to a different handle on the same tag */ |
| #define RECONNECT_SUPPORT |
| |
| /**< 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 1 |
| #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 |
| |
| #ifndef NFC_ISO_15693_MULTIPLE_TAGS_SUPPORT |
| #define NFC_ISO_15693_MULTIPLE_TAGS_SUPPORT 0x00 |
| #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*/ |
| |