## This file is used by NFC NXP NCI HAL(external/libnfc-nci/halimpl/pn547)
## and NFC Service Java Native Interface Extensions (packages/apps/Nfc/nci/jni/extns/pn547)
###############################################################################
# Application options
# Logging Levels
# NXPLOG_DEFAULT_LOGLEVEL    0x01
# ANDROID_LOG_DEBUG          0x03
# ANDROID_LOG_WARN           0x02
# ANDROID_LOG_ERROR          0x01
# ANDROID_LOG_SILENT         0x00
NXPLOG_EXTNS_LOGLEVEL=0x01
NXPLOG_NCIHAL_LOGLEVEL=0x01
NXPLOG_NCIX_LOGLEVEL=0x01
NXPLOG_NCIR_LOGLEVEL=0x01
NXPLOG_FWDNLD_LOGLEVEL=0x01
NXPLOG_TML_LOGLEVEL=0x01

###############################################################################
# Nfc Device Node name
NXP_NFC_DEV_NODE="/dev/nq-nci"

###############################################################################
# Extension for Mifare reader enable
MIFARE_READER_ENABLE=0x01

###############################################################################
# Vzw Feature enable
VZW_FEATURE_ENABLE=0x01

###############################################################################
# File name for Firmware
NXP_FW_NAME="libpn553_fw.so"

###############################################################################
# System clock source selection configuration
#define CLK_SRC_XTAL       1
#define CLK_SRC_PLL        2
NXP_SYS_CLK_SRC_SEL=0x01

###############################################################################
# System clock frequency selection configuration
#define CLK_FREQ_13MHZ         1
#define CLK_FREQ_19_2MHZ       2
#define CLK_FREQ_24MHZ         3
#define CLK_FREQ_26MHZ         4
#define CLK_FREQ_38_4MHZ       5
#define CLK_FREQ_52MHZ         6
NXP_SYS_CLK_FREQ_SEL=0x00

###############################################################################
# The timeout value to be used for clock request acknowledgment
# min value = 0x01 to max = 0x06
NXP_SYS_CLOCK_TO_CFG=0x01

###############################################################################
# NXP proprietary settings
NXP_ACT_PROP_EXTN={2F, 02, 00}

###############################################################################
# NFC forum profile settings
NXP_NFC_PROFILE_EXTN={20, 02, 05, 01, A0, 44, 01, 00}

###############################################################################
# NFCC Configuration Control
# Allow NFCC to manage RF Config       0x01
# Don't allow NFCC to manage RF Config 0x00
NXP_NFC_MERGE_RF_PARAMS={20, 02, 04, 01, 85, 01, 01}

###############################################################################
# Standby enable settings
#NXP_CORE_STANDBY={2F, 00, 01, 01}

###############################################################################
# NXP TVDD configurations settings
# Allow NFCC to configure External TVDD, two configurations (1 and 2) supported,
# out of them only one can be configured at a time.
NXP_EXT_TVDD_CFG=0x02

###############################################################################
#config1:SLALM, 3.3V for both RM and CM
NXP_EXT_TVDD_CFG_1={20, 02, 0F, 01, A0, 0E, 0B, 31, 01, 01, 31, 00, 00, 00, 01, 00, D0, 0C}

###############################################################################
#config2: use DCDC in CE, use Tx_Pwr_Req, set CFG2 mode, SLALM,
#monitoring 5V from DCDC, 3.3V for both RM and CM, DCDCWaitTime=4.2ms
NXP_EXT_TVDD_CFG_2={20, 02, 0F, 01, A0, 0E, 0B, 11, 01, C2, B2, 00, BA, 1E, 15, 00, D0, 0C}

###############################################################################
# NXP RF configuration ALM/PLM settings
# This section needs to be updated with the correct values based on the platform
NXP_RF_CONF_BLK_1={ 20, 02, A8, 14,
    A0, 0D, 06, 06, 37, 08, 76, 00, 00,
    A0, 38, 04, 14, 0B, 0B, 00,
    A0, 0D, 03, 24, 03, 7F,
    A0, 0D, 06, 06, 42, 00, 00, F2, F2,
    A0, 0D, 04, 32, 42, FC, 40,
    A0, 0D, 04, 46, 42, 68, 40,
    A0, 0D, 04, 56, 42, 78, 40,
    A0, 0D, 04, 5C, 42, 80, 40,
    A0, 0D, 06, 34, 44, 66, 0A, 00, 00,
    A0, 0D, 06, 48, 44, 65, 0A, 00, 00,
    A0, 0D, 06, 58, 44, 55, 08, 00, 00,
    A0, 0D, 06, 5E, 44, 55, 08, 00, 00,
    A0, 0D, 06, 34, 2D, DC, 20, 04, 00,
    A0, 0D, 06, 48, 2D, 15, 34, 1F, 01,
    A0, 0D, 06, 58, 2D, 0D, 48, 0C, 01,
    A0, 0D, 06, 5E, 2D, 0D, 5A, 0C, 01,
    A0, 0D, 06, 32, 4A, 53, 07, 00, 1B,
    A0, 0D, 06, 46, 4A, 33, 07, 00, 07,
    A0, 0D, 06, 56, 4A, 43, 07, 00, 07,
    A0, 0D, 06, 5C, 4A, 11, 07, 01, 07
}

###############################################################################
# NXP RF configuration ALM/PLM settings
# This section needs to be updated with the correct values based on the platform
NXP_RF_CONF_BLK_2={ 20, 02, 26, 02,
    A0, 3A, 08, 0E, 01, 0E, 01, 0E, 01, 0E, 01,
    A0, 29, 17, 1C, 02, 00, 1F, 00, 02, 00, 1F, 00, 02, 00, 40, F3, F3, 00, 43, F3, F3, 38, 70, 00, 00, 01
}

###############################################################################
# NXP RF configuration ALM/PLM settings
# This section needs to be updated with the correct values based on the platform
NXP_RF_CONF_BLK_3={20, 02, D6, 01,
    A0, 34, D2, 23, 04, 18,
    07,
    40,
    00, 20, 40, 00,
    2D, 20, 40, 00,
    32, 20, 40, 00,
    3B, 20, 40, 00,
    5C, 20, 40, 00,
    9A, 00, 60, 00,
    AE, 00, 70, 00,
    00, 00, 08, 02,
    00, 00, 08, 02,
    00, 00, 08, 02,
    00, 00, 08, 02,
    00, 00, 08, 02,
    00, 00, 08, 02,
    00, 00, 48, 01,
    00, 00, 08, 03,
    00, 00, 08, 01,
    00, 00, C8, 02,
    00, 00, C8, 00,
    00, 00, 88, 02,
    00, 00, 48, 02,
    00, 00, B8, 00,
    00, 00, 68, 00,
    00, 00, 18, 00,
    00, 00, 08, 02,
    00, 00, 00, 00,
    00, 00, 00, 00,
    07,
    00, 20, 40, 00,
    2D, 20, 40, 00,
    32, 20, 40, 00,
    3B, 20, 40, 00,
    5C, 20, 40, 00,
    9A, 00, 60, 00,
    AE, 00, 70, 00,
    00, 00, 08, 02,
    00, 00, 08, 02,
    00, 00, 08, 02,
    00, 00, 08, 02,
    00, 00, 08, 02,
    00, 00, 08, 02,
    00, 00, 48, 01,
    00, 00, 08, 03,
    00, 00, 08, 01,
    00, 00, C8, 02,
    00, 00, C8, 00,
    00, 00, 88, 02,
    00, 00, 48, 02,
    00, 00, B8, 00,
    00, 00, 68, 00,
    00, 00, 18, 00,
    00, 00, 08, 02,
    00, 00, 00, 00
}

###############################################################################
# NXP RF configuration ALM/PLM settings
# This section needs to be updated with the correct values based on the platform
NXP_RF_CONF_BLK_4={ 20, 02, 5B, 01,
    A0, 0B, 57, 05, 85, 90, 78, 0F, 4E, 00, 3D, 95,
    00, 00, 3D, 9F, 00, 00, 50, 9F, 00, 00, 59, 9F, 00,
    00, 5A, 9F, 00, 00, 64, 9F, 00, 00, 65, 1F, 00, 00,
    6E, 1F, 00, 00, 72, 1F, 00, 00, 79, 1F, 00, 00, 7B,
    1F, 00, 00, 84, 1F, 00, 00, 86, 1F, 00, 00, 8F, 1F,
    00, 00, 91, 1F, 00, 00, 9A, 1F, 00, 00, A1, 1F, 00,
    00, A7, 1F, 00, 00, B0, 1F, 00, 00, B9, 1F, 00, 00
}

###############################################################################
# NXP RF configuration ALM/PLM settings
# This section needs to be updated with the correct values based on the platform
#NXP_RF_CONF_BLK_5={
#}

###############################################################################
# NXP RF configuration ALM/PLM settings
# This section needs to be updated with the correct values based on the platform
#NXP_RF_CONF_BLK_6={
#}

###############################################################################
# Set configuration optimization decision setting
# Enable    = 0x01
# Disable   = 0x00
NXP_SET_CONFIG_ALWAYS=0x00

###############################################################################
# Core configuration extensions
# It includes
# Wired mode settings A0ED, A0EE
# Tag Detector A040, A041, A043
# Low Power mode A007
# Clock settings A002, A003
# PbF settings A008
# Clock timeout settings A004
# eSE (SVDD) PWR REQ settings A0F2
# Window size A0D8
# DWP Speed   A0D5
# How eSE connected to PN553 A012
# UICC2 bit rate A0D1
# SWP1A interface A0D4
# DWP intf behavior config, SVDD Load activated by default if set to 0x31 A037
NXP_CORE_CONF_EXTN={20, 02, 32, 0C,
    A0, EC, 01, 01,
    A0, ED, 01, 01,
    A0, 5E, 01, 01,
    A0, 12, 01, 02,
    A0, 40, 01, 05,
    A0, 41, 01, 05,
    A0, 43, 01, 04,
    A0, D1, 01, 02,
    A0, D4, 01, 00,
    A0, DD, 01, 2D,
    A0, 37, 01, 35,
    A0, 08, 02, 00, 81
   }
#       A0, F2, 01, 01,
#       A0, 40, 01, 01,
#       A0, 41, 01, 02,
#       A0, 43, 01, 04,
#       A0, 02, 01, 01,
#       A0, 03, 01, 11,
#       A0, 07, 01, 03,
#       A0, 08, 01, 01
#       }

###############################################################################
# Core configuration rf field filter settings to enable set to 01 to disable set
# to 00 last bit
NXP_CORE_RF_FIELD={ 20, 02, 05, 01, A0, 62, 01, 00 }

###############################################################################
# To enable i2c fragmentation set i2c fragmentation enable 0x01 to disable set
# to 0x00
NXP_I2C_FRAGMENTATION_ENABLED=0x00

###############################################################################
# Core configuration settings
NXP_CORE_CONF={ 20, 02, 31, 0F,
        85, 01, 01,
        28, 01, 00,
        21, 01, 00,
        30, 01, 08,
        31, 01, 03,
        32, 01, 60,
        38, 01, 01,
        33, 04, 01, 02, 03, 04,
        54, 01, 06,
        50, 01, 02,
        5B, 01, 00,
        80, 01, 01,
        81, 01, 01,
        82, 01, 0E,
        18, 01, 01
        }

###############################################################################
# Mifare Classic Key settings
#NXP_CORE_MFCKEY_SETTING={20, 02, 25,04, A0, 51, 06, A0, A1, A2, A3, A4, A5,
#                                     A0, 52, 06, D3, F7, D3, F7, D3, F7,
#                                     A0, 53, 06, FF, FF, FF, FF, FF, FF,
#                                     A0, 54, 06, 00, 00, 00, 00, 00, 00}

###############################################################################
# Default SE Options
# No secure element 0x00
# eSE               0x01
# UICC              0x02
# UICC2             0x04
NXP_DEFAULT_SE=0x07

###############################################################################
#Enable SWP full power mode when phone is power off
NXP_SWP_FULL_PWR_ON=0x00

###############################################################################
#### Select the CHIP ####
#PN547C2            0x01
#PN65T              0x02
#PN548AD            0x03
#PN66T              0x04
#PN551              0x05
#PN67T              0x06
#PN553              0x07
#PN80T              0x08
NXP_NFC_CHIP=0x08

###############################################################################
# CE when Screen state is locked
# This setting is for DEFAULT_AID_ROUTE,
# DEFAULT_DESFIRE_ROUTE and DEFAULT_MIFARE_CLT_ROUTE
# Disable           0x00
# Enable            0x01
NXP_CE_ROUTE_STRICT_DISABLE=0x01

###############################################################################
#Timeout in secs to get NFCEE Discover notification
NXP_DEFAULT_NFCEE_DISC_TIMEOUT=20

###############################################################################
NXP_DEFAULT_NFCEE_TIMEOUT=20

###############################################################################
#Timeout in secs
NXP_SWP_RD_START_TIMEOUT=0x0A

###############################################################################
#Timeout in secs
NXP_SWP_RD_TAG_OP_TIMEOUT=0x01

###############################################################################
#Set the default AID route Location :
#This settings will be used when application does not set this parameter
# host  0x00
# eSE   0x01
# UICC  0x02
# UICC2 0x03
DEFAULT_AID_ROUTE=0x00

###############################################################################
#Set the Mifare Desfire route Location :
#This settings will be used when application does not set this parameter
# host  0x00
# eSE   0x01
# UICC  0x02
# UICC2 0x03
DEFAULT_DESFIRE_ROUTE=0x02

###############################################################################
#Set the Mifare CLT route Location :
#This settings will be used when application does not set this parameter
# host  0x00
# eSE   0x01
# UICC  0x02
# UICC2 0x03
DEFAULT_MIFARE_CLT_ROUTE=0x02

###############################################################################
#Set the Felica CLT route Location :
#This settings will be used when application does not set this parameter
# eSE   0x01
# UICC  0x02
# UICC2 0x03
DEFAULT_FELICA_CLT_ROUTE=0x01

###############################################################################
#Set the default AID Power state :
#This settings will be used when application does not set this parameter
# bit pos 0 = Switch On
# bit pos 1 = Switch Off
# bit pos 2 = Battery Off
# bit pos 3 = Screen Lock
# bit pos 4 = Screen Off
DEFAULT_AID_PWR_STATE=0x19

###############################################################################
#Set the Mifare Desfire Power state :
#This settings will be used when application does not set this parameter
# bit pos 0 = Switch On
# bit pos 1 = Switch Off
# bit pos 2 = Battery Off
# bit pos 3 = Screen Lock
# bit pos 4 = Screen Off
DEFAULT_DESFIRE_PWR_STATE=0x1B

###############################################################################
#Set the Mifare CLT Power state :
#This settings will be used when application does not set this parameter
# bit pos 0 = Switch On
# bit pos 1 = Switch Off
# bit pos 2 = Battery Off
# bit pos 3 = Screen Lock
# bit pos 4 = Screen Off
DEFAULT_MIFARE_CLT_PWR_STATE=0x1B

###############################################################################
#Set the Felica CLT Power state :
#This settings will be used when application does not set this parameter
# bit pos 0 = Switch On
# bit pos 1 = Switch Off
# bit pos 2 = Battery Off
# bit pos 3 = Screen Lock
# bit pos 4 = Screen Off
DEFAULT_FELICA_CLT_PWR_STATE=0x1B

###############################################################################
# AID Matching platform options
# AID_MATCHING_L 0x01
# AID_MATCHING_K 0x02
AID_MATCHING_PLATFORM=0x01

###############################################################################
# P61 interface options
# NFC 0x01
# SPI 0x02
NXP_P61_LS_DEFAULT_INTERFACE=0x01

###############################################################################
# P61 LTSM interface options
# NFC 0x01
# SPI 0x02
NXP_P61_LTSM_DEFAULT_INTERFACE=0x01

###############################################################################
#CHINA_TIANJIN_RF_SETTING
#Enable  0x01
#Disable  0x00
NXP_CHINA_TIANJIN_RF_ENABLED=0x01

###############################################################################
#SWP_SWITCH_TIMEOUT_SETTING
# Allowed range of swp timeout setting is 0x00 to 0x3C [0 - 60].
# Timeout in milliseconds, for example
# No Timeout  0x00
# 10 millisecond timeout 0x0A
NXP_SWP_SWITCH_TIMEOUT=0x0A

###############################################################################
# P61 interface options for JCOP Download
# NFC 0x01
# SPI 0x02
NXP_P61_JCOP_DEFAULT_INTERFACE=0x01

###############################################################################
# P61 JCOP OS download  options
# FRAMEWORK API BY APPLICATION 0x00
# AT BOOT_TIME 0x01
NXP_JCOPDL_AT_BOOT_ENABLE=0x00

###############################################################################
# Loader service version
# NFC service checks for LS version 2.0 or 2.1
# LS2.0 0x20
# LS2.1 0x21
# LS2.2 0x22
# AT NFC service intialization
NXP_LOADER_SERVICE_VERSION=0x22

###############################################################################
#Timeout value  in milliseconds for NFCC standby mode.The range is between 5000
#msec to 20000 msec and zero is to disable.
NXP_NFCC_STANDBY_TIMEOUT=20000

###############################################################################
#Dynamic RSSI feature enable
# Disable           0x00
# Enable            0x01
NXP_AGC_DEBUG_ENABLE=0x00

###############################################################################
#Virtual Mode ESE and Wired Mode ongoing delay Wired Mode
# For Technology routing to ESE Technology Mask = 4
# For ISO-DEP Protocol routing to ESE Mask      = 2
# It can also take TECH|PROTO    = 6
# To ignore the delay set mask to = 0
NXP_ESE_WIRED_PRT_MASK=0x00

###############################################################################
#Virtual Mode UICC and Wired Mode  ongoing delay Wired Mode
#For Technology routing to UICC Technology Mask = 4
#For ISO-DEP Protocol routing to UICC set Mask  = 2
#For Select AID Routing to UICC       set Mask  = 1
#It can also take values TECH|PROTO|SELECT_AID  = 7 , 6 , 5 ,3 .To ignore delay
#set mask = 0
NXP_UICC_WIRED_PRT_MASK=0x00

################################################################################
#RF field true delay Wired Mode
# delay wired mode = 1
# allow wired mode = 0
NXP_WIRED_MODE_RF_FIELD_ENABLE=0x00

###############################################################################
#Config to allow adding aids
#NFC on/off is required after this config
#1 = enabling adding aid  to NFCC routing table.
#0 = disabling adding aid to NFCC routing table.
NXP_ENABLE_ADD_AID=0x01

###############################################################################
# JCOP-3.3 continuous process timeout in msec and value should be in Hexadecimal
# JCOP CP TIMEOUT
NXP_CP_TIMEOUT={00, 77}

###############################################################################
# Enable/Disable checking default proto SE Id
# Disable           0x00
# Enable            0x01
NXP_CHECK_DEFAULT_PROTO_SE_ID=0x01

###############################################################################
#NXP_CN_TRANSIT_BLK_NUM_CHECK_ENABLE
#Enable/Disable block number checks for china transit use case
#Enable  0x01
#Disable  0x00
NXP_CN_TRANSIT_BLK_NUM_CHECK_ENABLE=0x01

###############################################################################
# Wired mode resume timeout vaule in wired mode resume feature enable
# DWP resume time out in ms( 4 bytes hex value and LSB first)
#example 1000 = 0x03E8
#exmaple 2000 = 0x07D0
#example 500 = 0x01F4
NXP_WIREDMODE_RESUME_TIMEOUT={E8,03,00,00}
###############################################################################
# Power to eSE is controlled by DH or PMU depending on following configurations
#define DH_PWR_CONTROL         1
#define PMU_PWR_CONTROL        2
NXP_ESE_POWER_DH_CONTROL=1

###############################################################################
# Timeout value in milliseconds for wired mode resume after RF field event timeout
NXP_NFCC_RF_FIELD_EVENT_TIMEOUT=3000

###############################################################################
# NXP PMU Support configuration is sent if PMU_PWR_CONTROL is configured
# External PMU available in phone ON and phone OFF case if NXP_ESE_POWER_EXT_PMU=1
# External PMU available only in phone ON case if NXP_ESE_POWER_EXT_PMU=2
NXP_ESE_POWER_EXT_PMU=2

###############################################################################
# Whether to allow wired mode in desfire and mifare CLT
# Disable           0x00
# Enable            0x01
NXP_ALLOW_WIRED_IN_MIFARE_DESFIRE_CLT=0x00

###############################################################################
# Restrict routing to first matched rule only.
# Blacklist enable   0x01
# Blacklist disable  0x00
NXP_PROP_BLACKLIST_ROUTING=0x00

###############################################################################
# Send DWP interface reset command as part of SE open
# Disable           0x00
# Enable            0x01
NXP_DWP_INTF_RESET_ENABLE=0x01

###############################################################################
# Timeout value in milliseconds for JCOP OS download to complete
OS_DOWNLOAD_TIMEOUT_VALUE=60000

###############################################################################
# Timeout value in milliseconds to send response for Felica command received
NXP_HCEF_CMD_RSP_TIMEOUT_VALUE=5000

###############################################################################
