diff --git a/configs/libnfc-brcm-20791b04.conf b/configs/libnfc-brcm-20791b04.conf new file mode 100644 index 0000000..9557bb5 --- /dev/null +++ b/configs/libnfc-brcm-20791b04.conf @@ -0,0 +1,84 @@ +############################################################################### +# Firmware patch file +# If the value is not set then patch download is disabled. +FW_PATCH="/vendor/firmware/bcm2079xB4_firmware.ncd" +FW_PATCH_20793="/vendor/firmware/bcm2079xB4_firmware_20793.ncd" + +############################################################################### +# Firmware pre-patch file (sent before the above patch file) +# If the value is not set then pre-patch is not used. +FW_PRE_PATCH="/vendor/firmware/bcm2079xB4_pre_firmware.ncd" +FW_PRE_PATCH_20793="/vendor/firmware/bcm2079xB4_pre_firmware_20793.ncd" + +############################################################################### +# LPTD mode configuration +# byte[0] is the length of the remaining bytes in this value +# if set to 0, LPTD params will NOT be sent to NFCC (i.e. disabled). +# byte[1] is the param id it should be set to B9. +# byte[2] is the length of the LPTD parameters +# byte[3] indicates if LPTD is enabled +# if set to 0, LPTD will be disabled (parameters will still be sent). +# byte[4-n] are the LPTD parameters. +# By default, LPTD is enabled and default settings are used. +# +# These settings are tuned for B4 evaluation boards. +# LPTD DISABLED --- +#LPTD_CFG={29:B9:27:00:00:FF:FF:08:A0:0F:40:00:80:12:02:10:00:00:00:31:0B:30:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00} + +# Eval Board --- +#LPTD_CFG={29:B9:27:01:00:FF:FF:08:A0:0F:40:00:80:12:02:10:00:00:00:31:0B:30:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00} + +# KLTE SPR NFC LPTD ENABLED +LPTD_CFG={29:B9:27:01:00:FF:FF:0A:A0:0F:40:00:80:12:02:10:00:00:00:31:0F:30:00:00:01:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00} + +############################################################################### +# Startup Configuration (100 bytes maximum) +# +# For the 0xC2 parameter, set byte[0] to 60 to disable UICC Idle Timeout. +# set to 61 to enable (The least significant bit of this byte enables +# the power off when Idle mode). +# 20 A1 07 00 == > These 4 bytes form a 4 byte value which decides the idle timeout(in us) +# value to trigger the uicc deactivation. +# NFC forum conformance +#NFA_DM_START_UP_CFG={27:B2:04:E8:03:00:00:CF:02:02:08:CB:01:01:A5:01:01:CA:0A:00:00:00:00:06:F0:55:00:00:0F:80:01:01:B5:03:01:03:09:5B:01:02} +# GCF combined + clfCfgTagPicc +NFA_DM_START_UP_CFG={4A:CB:01:01:A5:01:01:CA:16:00:00:00:00:0E:C0:D4:01:00:0F:00:00:00:00:60:AE:0A:00:14:01:14:0A:B5:03:01:02:FF:80:01:01:C9:03:03:0F:AB:5B:01:02:B2:04:E8:03:00:00:CF:02:02:08:B1:06:00:20:00:00:40:12:B0:05:03:03:03:03:FF:28:01:01} + +############################################################################### +# Pre-Discovery Startup Configuration (256 bytes maximum) +# +# This is applied before starting Discovery the first time. +#NFA_DM_PRE_DISCOVERY_CFG={0A:C2:08:01:08:00:04:80:C3:C9:01} + +############################################################################### +# Antenna Configuration - This data is used when setting 0xC8 config item +# at startup (before discovery is started). If not used, no value is sent. +# +# The settings for this value are documented here: +# http://wcgbu.broadcom.com/wpan/PM/Project%20Document%20Library/bcm20791B0/ +# Design/Doc/PHY%20register%20settings/BCM20791-B2-1027-02_PHY_Recommended_Reg_Settings.xlsx +# This document is maintained by Paul Forshaw. +# +# The values marked as ?? should be tweaked per antenna or customer/app: +# {20:C8:1E:06:??:00:??:??:??:00:??:24:00:1C:00:75:00:77:00:76:00:1C:00:03:00:0A:00:??:01:00:00:40:04} +# array[0] = 0x20 is length of the payload from array[1] to the end +# array[1] = 0xC8 is PREINIT_DSP_CFG +PREINIT_DSP_CFG={20:C8:1E:06:3F:00:0A:03:30:00:04:24:00:1C:00:75:00:77:00:76:00:1C:00:03:00:0A:00:4B:01:00:00:40:04} + +############################################################################### +# Snooze Mode Settings +# +# By default snooze mode is enabled. Set SNOOZE_MODE_CFG byte[0] to 0 +# to disable. +# +# If SNOOZE_MODE_CFG is not provided, the default settings are used: +# They are as follows: +# 8 Sleep Mode (0=Disabled 1=UART 8=SPI/I2C) +# 0 Idle Threshold Host +# 0 Idle Threshold HC +# 0 NFC Wake active mode (0=ActiveLow 1=ActiveHigh) +# 1 Host Wake active mode (0=ActiveLow 1=ActiveHigh) +# +#SNOOZE_MODE_CFG={08:00:00:00:01} + +BRCM_CTS_WAR=0x03 diff --git a/configs/libnfc-brcm-20791b05.conf b/configs/libnfc-brcm-20791b05.conf new file mode 100644 index 0000000..414a4c9 --- /dev/null +++ b/configs/libnfc-brcm-20791b05.conf @@ -0,0 +1,70 @@ +############################################################################### +# Firmware patch file +# If the value is not set then patch download is disabled. +FW_PATCH="/vendor/firmware/bcm2079xB5_firmware.ncd" +#FW_PATCH_20793="/vendor/firmware/bcm2079xB5_firmware_20793.ncd" + +############################################################################### +# Firmware pre-patch file (sent before the above patch file) +# If the value is not set then pre-patch is not used. +FW_PRE_PATCH="/vendor/firmware/bcm2079xB5_pre_firmware.ncd" +#FW_PRE_PATCH_20793="/vendor/firmware/bcm2079xB5_pre_firmware_20793.ncd" + +############################################################################### +# LPTD mode configuration +# byte[0] is the length of the remaining bytes in this value +# if set to 0, LPTD params will NOT be sent to NFCC (i.e. disabled). +# byte[1] is the param id it should be set to B9. +# byte[2] is the length of the LPTD parameters +# byte[3] indicates if LPTD is enabled +# if set to 0, LPTD will be disabled (parameters will still be sent). +# byte[4-n] are the LPTD parameters. +# By default, LPTD is enabled and default settings are used. +# See nfc_hal_dm_cfg.c for defaults +LPTD_CFG={38:B9:36:01:00:FF:FF:09:00:00:00:A0:0F:40:00:00:12:02:10:00:00:00:2D:0B:30:00:00:00:00:00:00:00:00:00:00:00:00:00:00:03:00:D0:07:00:00:08:07:00:00:C8:00:00:00:00:00:00:00} + +############################################################################### +# Startup Configuration (256 bytes maximum) +# +# This is applied at stack startup. +# +NFA_DM_START_UP_CFG={4A:CB:01:01:A5:01:01:CA:16:00:00:00:00:0E:C0:D4:01:00:0F:00:00:00:00:60:AE:0A:00:14:01:14:0A:B5:03:01:02:FF:80:01:01:C9:03:03:0F:AB:5B:01:02:B2:04:E8:03:00:00:CF:02:02:08:B1:06:00:20:00:00:40:12:B0:05:03:03:03:03:FF:28:01:01} + +############################################################################### +# Pre-Discovery Startup Configuration (256 bytes maximum) +# +# This is applied before starting Discovery the first time. +NFA_DM_PRE_DISCOVERY_CFG={0A:C2:08:01:08:00:04:80:C3:C9:01} + +############################################################################### +# Antenna Configuration - This data is used when setting 0xC8 config item +# at startup (before discovery is started). If not used, no value is sent. +# +# The settings for this value are documented here: +# http://wcgbu.broadcom.com/wpan/PM/Project%20Document%20Library/bcm20791B0/ +# Design/Doc/PHY%20register%20settings/BCM20791-B2-1027-02_PHY_Recommended_Reg_Settings.xlsx +# +# The values marked as ?? should be tweaked per antenna or customer/app: +# {20:C8:1E:06:??:00:??:??:??:00:??:24:00:1C:00:75:00:77:00:76:00:1C:00:03:00:0A:00:??:01:00:00:40:04} +# array[0] = 0x20 is length of the payload from array[1] to the end +# array[1] = 0xC8 is PREINIT_DSP_CFG +PREINIT_DSP_CFG={20:C8:1E:06:3F:00:0A:03:30:00:04:24:00:1C:00:75:00:77:00:76:00:1C:00:03:00:0A:00:4B:01:00:00:40:04} + +############################################################################### +# Snooze Mode Settings +# +# By default snooze mode is enabled. Set SNOOZE_MODE_CFG byte[0] to 0 +# to disable. +# +# If SNOOZE_MODE_CFG is not provided, the default settings are used: +# They are as follows: +# 8 Sleep Mode (0=Disabled 1=UART 8=SPI/I2C) +# 0 Idle Threshold Host +# 0 Idle Threshold HC +# 0 NFC Wake active mode (0=ActiveLow 1=ActiveHigh) +# 1 Host Wake active mode (0=ActiveLow 1=ActiveHigh) +# +#SNOOZE_MODE_CFG={08:00:00:00:01} + +BRCM_CTS_WAR=0x02 + diff --git a/configs/libnfc-brcm.conf b/configs/libnfc-brcm.conf new file mode 100644 index 0000000..0a150b9 --- /dev/null +++ b/configs/libnfc-brcm.conf @@ -0,0 +1,287 @@ +############################################################################### +# Application options +APPL_TRACE_LEVEL=0x02 +PROTOCOL_TRACE_LEVEL=0xFFFFFFFF + +############################################################################### +# Logging +# Set USE_RAW_NCI_TRACE = 1 for protocol logging in a raw format +# instead of decoded +# Set LOG_TO_FILE = 1 to log protocol traces to a file on the sdcard +# instead of to adb logcat +# Set LOGCAT_FILTER to the filter string which is passed to logcat +#USE_RAW_NCI_TRACE=0 +#LOG_TO_FILE=0 +#LOGCAT_FILTER="BrcmNciX:V BrcmNciR:V BrcmNote:V *:S" + +PRESERVE_STORAGE=1 + +############################################################################### +# performance measurement +# Change this setting to control how often USERIAL log the performance (throughput) +# data on read/write/poll +# defailt is to log performance dara for every 100 read or write +#REPORT_PERFORMANCE_MEASURE=100 + +############################################################################### +# File used for NFA storage +NFA_STORAGE="/data/bcmnfc" + +############################################################################### +# Low Power Mode Settings +# +# If NFA_DM_LP_CFG is not provided, stack default settings are +# used (see nfa_dm_brcm_cfg.c). They are as follows: +# 1 Power cycle to full power mode from CEx +# 5 Parameter for low power mode command +# 0 Primary Threshold for battery monitor +# 0-7 representing below voltages: +# {2, 2.2, 2.7, 2.8, 2.9, 3, 3.1, 3.2} +# 8 Secondary Threshold for battery monitor +# 0-15 representing below voltages: +# {5.2, 4.87, 4.54, 4.22, 3.9, 3.73, 3.57, 3.4, +# 3.2, 3.1, 3.0, 2.9, 2.8, 2.7, 2.2, 2.0} +# +#NFA_DM_LP_CFG={01:05:00:08} +# LPM Disable FW VBAT MON +NFA_DM_LP_CFG={01:01:00:08} + +############################################################################### +# Insert a delay in milliseconds after NFC_WAKE and before write to NFCC +NFC_WAKE_DELAY=20 + +############################################################################### +# Various Delay settings (in ms) used in USERIAL +# POWER_ON_DELAY +# Delay after turning on chip, before writing to transport (default 300) +# PRE_POWER_OFF_DELAY +# Delay after deasserting NFC-Wake before turn off chip (default 0) +# POST_POWER_OFF_DELAY +# Delay after turning off chip, before USERIAL_close returns (default 0) +# CE3_PRE_POWER_OFF_DELAY +# Delay after deasserting NFC-Wake before turn off chip (default 1000) +# when going to CE3 Switch Off mode +# +#POWER_ON_DELAY=300 +PRE_POWER_OFF_DELAY=1500 +#POST_POWER_OFF_DELAY=0 +#CE3_PRE_POWER_OFF_DELAY=1000 + + +############################################################################### +# Device Manager Config +# +# If NFA_DM_CFG is not provided, stack default settings are +# used (see nfa_dm_cfg.c). They are as follows: +# 0 (FALSE) Automatic NDEF detection when background polling +# 0 (FALSE) Automatic NDEF read when background polling +# +#NFA_DM_CFG={00:00} + +############################################################################### +# Default poll duration (in ms) +# The defualt is 500ms if not set (see nfc_target.h) same as M0 +NFA_DM_DISC_DURATION_POLL=500 + +############################################################################### +# Startup Vendor Specific Configuration (100 bytes maximum); +# byte[0] TLV total len = 0x5 +# byte[1] NCI_MTS_CMD|NCI_GID_PROP = 0x2f +# byte[2] NCI_MSG_FRAME_LOG = 0x9 +# byte[3] 2 +# byte[4] 0=turn off RF frame logging; 1=turn on +# byte[5] 0=turn off SWP frame logging; 1=turn on +# NFA_DM_START_UP_VSC_CFG={05:2F:09:02:01:01} + +#HW FSM +#NFA_DM_START_UP_VSC_CFG={04:2F:06:01:00} + +############################################################################### +# Configure crystal frequency when internal LPO can't detect the frequency. +#XTAL_FREQUENCY=0 + +############################################################################### +# Use Nexus S NXP RC work to allow our stack/firmware to work with a retail +# Nexus S that causes IOP issues. Note, this will not pass conformance and +# should be removed for production. +#USE_NXP_P2P_RC_WORKAROUND=1 + +############################################################################### +# Configure the default Destination Gate used by HCI (the default is 4, which +# is the ETSI loopback gate. +#NFA_HCI_DEFAULT_DEST_GATE=0x04 + +############################################################################### +# Configure the single default SE to use. The default is to use the first +# SE that is detected by the stack. This value might be used when the phone +# supports multiple SE (e.g. 0xF3 and 0xF4) but you want to force it to use +# one of them (e.g. 0xF4). +ACTIVE_SE=0xF4 + +############################################################################### +# Configure the NFC Extras to open and use a static pipe. If the value is +# not set or set to 0, then the default is use a dynamic pipe based on a +# destination gate (see NFA_HCI_DEFAULT_DEST_GATE). Note there is a value +# for each UICC (where F3="UICC0" and F4="UICC1") +NFA_HCI_STATIC_PIPE_ID_F3=0x71 +NFA_HCI_STATIC_PIPE_ID_F4=0x71 + +############################################################################### +# When disconnecting from Oberthur secure element, perform a warm-reset of +# the secure element to deselect the applet. +# The default hex value of the command is 0x3. If this variable is undefined, +# then this feature is not used. +OBERTHUR_WARM_RESET_COMMAND=0x03 + +############################################################################### +# Force UICC to only listen to the following technology(s). +# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h. +# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B. +#UICC_LISTEN_TECH_MASK=0x00 + +############################################################################### +# AID for Empty Select command +# If specified, this AID will be substituted when an Empty SELECT command is +# detected. The first byte is the length of the AID. Maximum length is 16. +AID_FOR_EMPTY_SELECT={08:A0:00:00:01:51:00:00:00} + +############################################################################### +# Force tag polling for the following technology(s). +# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h. +# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B | +# NFA_TECHNOLOGY_MASK_F | NFA_TECHNOLOGY_MASK_ISO15693 | +# NFA_TECHNOLOGY_MASK_B_PRIME | NFA_TECHNOLOGY_MASK_A_ACTIVE | +# NFA_TECHNOLOGY_MASK_F_ACTIVE. +# +# Notable bits: +# NFA_TECHNOLOGY_MASK_A 0x01 +# NFA_TECHNOLOGY_MASK_B 0x02 +# NFA_TECHNOLOGY_MASK_F 0x04 +# NFA_TECHNOLOGY_MASK_ISO15693 0x08 +# NFA_TECHNOLOGY_MASK_B_PRIME 0x10 +# NFA_TECHNOLOGY_MASK_KOVIO 0x20 +# NFA_TECHNOLOGY_MASK_A_ACTIVE 0x40 +# NFA_TECHNOLOGY_MASK_F_ACTIVE 0x80 +POLLING_TECH_MASK=0xEF + +############################################################################### +# Force P2P to only listen for the following technology(s). +# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h. +# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_F | +# NFA_TECHNOLOGY_MASK_A_ACTIVE | NFA_TECHNOLOGY_MASK_F_ACTIVE +P2P_LISTEN_TECH_MASK=0xC4 + +############################################################################### +# Maximum Number of Credits to be allowed by the NFCC +# This value overrides what the NFCC specifices allowing the host to have +# the control to work-around transport limitations. If this value does +# not exist or is set to 0, the NFCC will provide the number of credits. +MAX_RF_DATA_CREDITS=1 + +############################################################################### +# This setting allows you to disable registering the T4t Virtual SE that causes +# the NFCC to send PPSE requests to the DH. +# The default setting is enabled (i.e. T4t Virtual SE is registered). +#REGISTER_VIRTUAL_SE=1 +REGISTER_VIRTUAL_SE=0 + +############################################################################### +# When screen is turned off, specify the desired power state of the controller. +# 0: power-off-sleep state; DEFAULT +# 1: full-power state +# 2: screen-off card-emulation (CE4/CE3/CE1 modes are used) +# 3: FPM CE in snooze mode, Switch Off, Battery Off still available. +SCREEN_OFF_POWER_STATE=0 + +############################################################################### +# SPD Debug mode +# If set to 1, any failure of downloading a patch will trigger a hard-stop +#SPD_DEBUG=0 + +############################################################################### +# SPD Max Retry Count +# The number of attempts to download a patch before giving up (defualt is 3). +# Note, this resets after a power-cycle. +#SPD_MAX_RETRY_COUNT=3 + +############################################################################### +# Patch RAM Version Checking +# By default the stack will reject any attempt to download a patch where major +# version is < the one that is in NVM. If this config item is set to 1 then +# this version check is skipped. +# +#SPD_IGNORE_VERSION=0 + +############################################################################### +# transport driver +# +# TRANSPORT_DRIVER= +# +# where can be, for example: +# "/dev/ttyS" (UART) +# "/dev/bcmi2cnfc" (I2C) +# "hwtun" (HW Tunnel) +# "/dev/bcmspinfc" (SPI) +# "/dev/btusb0" (BT USB) +TRANSPORT_DRIVER="/dev/bcm2079x" + +############################################################################### +# power control driver +# Specify a kernel driver that support ioctl commands to control NFC_EN and +# NFC_WAKE gpio signals. +# +# POWER_CONTRL_DRIVER= +# where can be, for example: +# "/dev/nfcpower" +# "/dev/bcmi2cnfc" (I2C) +# "/dev/bcmspinfc" (SPI) +# i2c and spi driver may be used to control NFC_EN and NFC_WAKE signal +POWER_CONTROL_DRIVER="/dev/bcm2079x" + +############################################################################### +# I2C transport driver options +# +BCMI2CNFC_ADDRESS=0 + +############################################################################### +# I2C transport driver try to read multiple packets in read() if data is available +# remove the comment below to enable this feature +#READ_MULTIPLE_PACKETS=1 + +############################################################################### +# SPI transport driver options +#SPI_NEGOTIATION={0A:F0:00:01:00:00:00:FF:FF:00:00} + +############################################################################### +# UART transport driver options +# +# PORT=1,2,3,... +# BAUD=115200, 19200, 9600, 4800, +# DATABITS=8, 7, 6, 5 +# PARITY="even" | "odd" | "none" +# STOPBITS="0" | "1" | "1.5" | "2" + +#UART_PORT=2 +#UART_BAUD=115200 +#UART_DATABITS=8 +#UART_PARITY="none" +#UART_STOPBITS="1" + +############################################################################### +# Insert a delay in microseconds per byte after a write to NFCC. +# after writing a block of data to the NFCC, delay this an amopunt of time before +# writing next block of data. the delay is calculated as below +# NFC_WRITE_DELAY * (number of byte written) / 1000 milliseconds +# e.g. after 259 bytes is written, delay (259 * 20 / 1000) 5 ms before next write +NFC_WRITE_DELAY=20 + +############################################################################### +# Configure the default NfcA/IsoDep techology and protocol route. Can be +# either a secure element (e.g. 0xF4) or the host (0x00) +DEFAULT_ISODEP_ROUTE=0x00 + +############################################################################### +# Configure the default "off-host" AID route. The default is 0xF4 +DEFAULT_OFFHOST_ROUTE=0xF4 + +POWER_SAVER_WORKAROUND_1=0xF3 \ No newline at end of file diff --git a/configs/libnfc-nxp.conf b/configs/libnfc-nxp.conf index f7e6561..dea02b3 100644 --- a/configs/libnfc-nxp.conf +++ b/configs/libnfc-nxp.conf @@ -1,67 +1,67 @@ -## 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=0x03 -NXPLOG_NCIHAL_LOGLEVEL=0x03 -NXPLOG_NCIX_LOGLEVEL=0x03 -NXPLOG_NCIR_LOGLEVEL=0x03 -NXPLOG_FWDNLD_LOGLEVEL=0x03 -NXPLOG_TML_LOGLEVEL=0x03 - -############################################################################### -# Extension for Mifare reader enable -# 0x00 - Disabled -# 0x01 - Enabled -MIFARE_READER_ENABLE=0x01 - -############################################################################### -# File location for Firmware -#FW_STORAGE="/vendor/firmware/libpn547_fw.so" - -############################################################################### -# System clock source selection configuration -# CLK_SRC_XTAL - 0x01 -# CLK_SRC_PLL - 0x02 -NXP_SYS_CLK_SRC_SEL=0x02 +## 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) ############################################################################### -# System clock frequency selection configuration for PLL -# CLK_FREQ_13MHZ - 0x01 -# CLK_FREQ_19_2MHZ - 0x02 -# CLK_FREQ_24MHZ - 0x03 -# CLK_FREQ_26MHZ - 0x04 -# CLK_FREQ_38_4MHZ - 0x05 -# CLK_FREQ_52MHZ - 0x06 +# 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=0x02 +NXPLOG_NCIHAL_LOGLEVEL=0x02 +NXPLOG_NCIX_LOGLEVEL=0x02 +NXPLOG_NCIR_LOGLEVEL=0x02 +NXPLOG_FWDNLD_LOGLEVEL=0x02 +NXPLOG_TML_LOGLEVEL=0x02 + +############################################################################### +# Extension for Mifare reader enable +# 0x00 - Disabled +# 0x01 - Enabled +MIFARE_READER_ENABLE=0x01 + +############################################################################### +# File location for Firmware +#FW_STORAGE="/vendor/firmware/libpn547_fw.so" + +############################################################################### +# System clock source selection configuration +# CLK_SRC_XTAL - 0x01 +# CLK_SRC_PLL - 0x02 +NXP_SYS_CLK_SRC_SEL=0x02 + +############################################################################### +# System clock frequency selection configuration for PLL +# CLK_FREQ_13MHZ - 0x01 +# CLK_FREQ_19_2MHZ - 0x02 +# CLK_FREQ_24MHZ - 0x03 +# CLK_FREQ_26MHZ - 0x04 +# CLK_FREQ_38_4MHZ - 0x05 +# CLK_FREQ_52MHZ - 0x06 NXP_SYS_CLK_FREQ_SEL=0x02 ############################################################################### # The timeout value to be used for clock request acknowledgment -# min value = 0x01 to max = 0x0A -NXP_SYS_CLOCK_TO_CFG=0x0A +# min value = 0x01 to max = 0x0A +NXP_SYS_CLOCK_TO_CFG=0x0A ############################################################################### -# 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} - -############################################################################### -# Standby enable settings -# 0x00 - Disabled -# 0x01 - Enabled -NXP_CORE_STANDBY={2F, 00, 01, 01} - +# 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} + +############################################################################### +# Standby enable settings +# 0x00 - Disabled +# 0x01 - Enabled +NXP_CORE_STANDBY={2F, 00, 01, 01} + ############################################################################### # NXP RF ALM (NO BOOSTER) configuration settings for FW VERSION = 08.01.15 @@ -195,7 +195,7 @@ NXP_CORE_STANDBY={2F, 00, 01, 01} # A0, 0D, 06, 0A, 2F, 8F, 05, 80, 0C RF_CLIF_CFG_I_ACTIVE CLIF_SIGPRO_ADCBCM_CONFIG_REG # A0, 0D, 03, 0A, 48, 10 RF_CLIF_CFG_I_ACTIVE CLIF_ANA_CLK_MAN_REG # A0, 0D, 06, 0A, 44, A3, 90, 03, 00 RF_CLIF_CFG_I_ACTIVE CLIF_ANA_RX_REG - + # *** ALM(NO BOOSTER) FW VERSION = 08.01.15 *** NXP_RF_CONF_BLK_1={ 20, 02, F3, 20, @@ -205,10 +205,10 @@ NXP_RF_CONF_BLK_1={ A0, 0D, 06, 06, 44, A3, 90, 03, 00, A0, 0D, 06, 06, 30, CF, 00, 08, 00, A0, 0D, 06, 06, 2F, 8F, 05, 80, 0C, - A0, 0D, 04, 06, 03, 00, 71, + A0, 0D, 04, 06, 03, 00, 71, A0, 0D, 03, 06, 48, 18, A0, 0D, 03, 06, 43, A0, - A0, 0D, 06, 06, 42, 00, 00, F1, F6, + A0, 0D, 06, 06, 42, 00, 00, F1, F6, A0, 0D, 06, 06, 41, 80, 00, 00, 00, A0, 0D, 03, 06, 37, 18, A0, 0D, 03, 06, 16, 00, @@ -293,7 +293,7 @@ NXP_RF_CONF_BLK_3={ A0, 0D, 03, 5A, 16, 00, A0, 0D, 03, 5A, 15, 00, A0, 0D, 06, 98, 2F, AF, 05, 80, 0F, - A0, 0D, 06, 9A, 42, 00, 00, F1, F6, + A0, 0D, 06, 9A, 42, 00, 00, F1, F6, A0, 0D, 06, 30, 44, A3, 90, 03, 00, A0, 0D, 06, 6C, 44, A3, 90, 03, 00, A0, 0D, 06, 6C, 30, CF, 00, 08, 00, @@ -335,10 +335,10 @@ NXP_RF_CONF_BLK_4={ A0, 0D, 06, 92, 42, 90, 10, FF, FF, A0, 0D, 06, 92, 4A, 31, 07, 01, 07 } - -############################################################################### -# Core configuration extensions -# It includes + +############################################################################### +# Core configuration extensions +# It includes # A002 - Clock Request # 0x00 - Disabled # 0x01 - Enabled @@ -349,105 +349,105 @@ NXP_RF_CONF_BLK_4={ # A00E - Load Modulation Mode # 0x00 - PLM # 0x01 - ALM -# A011 - Clock specific configuration +# A011 - Clock specific configuration # Please refer to User Manual -# A012 - NFCEE interface 2 configuration -# 0x00 - SWP 2 interface is used -# 0x02 - DWP interface is used -# A013 - TVdd configuration -# 0x00 - TVdd is set to 3.1V in Poll mode -# 0x02 - TVdd is set to 2.7V in Poll mode -# A040-A043 - Low Power Card Detector -# Please refer to Application Note of LPCD +# A012 - NFCEE interface 2 configuration +# 0x00 - SWP 2 interface is used +# 0x02 - DWP interface is used +# A013 - TVdd configuration +# 0x00 - TVdd is set to 3.1V in Poll mode +# 0x02 - TVdd is set to 2.7V in Poll mode +# A040-A043 - Low Power Card Detector +# Please refer to Application Note of LPCD # A05E - Jewel Reader -# 0x00 - RID is not sent during activation -# 0x01 - RID is sent during activation -# A061 - Retry after LPCD -# 0b0000XXXX - Number of retry if activation failed -# 0bXXXX0000 - Duration to wait before retry (10ms per step) +# 0x00 - RID is not sent during activation +# 0x01 - RID is sent during activation +# A061 - Retry after LPCD +# 0b0000XXXX - Number of retry if activation failed +# 0bXXXX0000 - Duration to wait before retry (10ms per step) # Please refer to User Manual -# A0CD - SWP interface 1: S1 line behavior -# Defined S1 High time-out during Activation sequence +# A0CD - SWP interface 1: S1 line behavior +# Defined S1 High time-out during Activation sequence # A0EC - SWP1 interface # 0x00 - Disabled # 0x01 - Enabled # A0ED - SWP2 interface # 0x00 - Disabled # 0x01 - Enabled -NXP_CORE_CONF_EXTN={20, 02, 40, 0F, +NXP_CORE_CONF_EXTN={20, 02, 40, 0F, A0, 02, 01, 01, A0, 04, 01, 0A, A0, 0E, 01, 01, A0, 11, 04, 01, 22, 67, CD, A0, 12, 01, 00, - A0, 13, 01, 00, + A0, 13, 01, 00, A0, 40, 01, 01, - A0, 41, 01, 02, + A0, 41, 01, 02, A0, 42, 01, 19, - A0, 43, 01, 00, + A0, 43, 01, 00, A0, 5E, 01, 01, A0, 61, 01, 00, A0, CD, 01, 0F, - A0, EC, 01, 01, + A0, EC, 01, 01, A0, ED, 01, 00 } - -############################################################################### -# Core configuration settings -# It includes -# 18 - Poll Mode NFC-F: PF_BIT_RATE -# 21 - Poll Mode ISO-DEP: PI_BIT_RATE -# 28 - Poll Mode NFC-DEP: PN_NFC_DEP_SPEED -# 30 - Lis. Mode NFC-A: LA_BIT_FRAME_SDD -# 31 - Lis. Mode NFC-A: LA_PLATFORM_CONFIG -# 33 - Lis. Mode NFC-A: LA_SEL_INFO -# 50 - Lis. Mode NFC-F: LF_PROTOCOL_TYPE -# 54 - Lis. Mode NFC-F: LF_CON_BITR_F -# 5B - Lis. Mode ISO-DEP: LI_BIT_RATE -# 60 - Lis. Mode NFC-DEP: LN_WT -# 80 - Other Param.: RF_FIELD_INFO -# 81 - Other Param.: RF_NFCEE_ACTION -# 82 - Other Param.: NFCDEP_OP -NXP_CORE_CONF={ 20, 02, 2B, 0D, + +############################################################################### +# Core configuration settings +# It includes +# 18 - Poll Mode NFC-F: PF_BIT_RATE +# 21 - Poll Mode ISO-DEP: PI_BIT_RATE +# 28 - Poll Mode NFC-DEP: PN_NFC_DEP_SPEED +# 30 - Lis. Mode NFC-A: LA_BIT_FRAME_SDD +# 31 - Lis. Mode NFC-A: LA_PLATFORM_CONFIG +# 33 - Lis. Mode NFC-A: LA_SEL_INFO +# 50 - Lis. Mode NFC-F: LF_PROTOCOL_TYPE +# 54 - Lis. Mode NFC-F: LF_CON_BITR_F +# 5B - Lis. Mode ISO-DEP: LI_BIT_RATE +# 60 - Lis. Mode NFC-DEP: LN_WT +# 80 - Other Param.: RF_FIELD_INFO +# 81 - Other Param.: RF_NFCEE_ACTION +# 82 - Other Param.: NFCDEP_OP +NXP_CORE_CONF={ 20, 02, 2B, 0D, 18, 01, 01, 21, 01, 00, - 28, 01, 01, - 30, 01, 08, - 31, 01, 03, - 33, 04, 01, 02, 03, 04, + 28, 01, 01, + 30, 01, 08, + 31, 01, 03, + 33, 04, 01, 02, 03, 04, 50, 01, 02, - 54, 01, 06, - 5B, 01, 02, - 60, 01, 0E, - 80, 01, 01, - 81, 01, 01, + 54, 01, 06, + 5B, 01, 02, + 60, 01, 0E, + 80, 01, 01, + 81, 01, 01, 82, 01, 0E - } - + } + ############################################################################### -# 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 -# MULTI_SE 0x03 +# 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 +# MULTI_SE 0x03 NXP_DEFAULT_SE=0x02 - -############################################################################### -NXP_DEFAULT_NFCEE_TIMEOUT=0x06 - -############################################################################### -#Enable SWP full power mode when phone is power off -NXP_SWP_FULL_PWR_ON=0x00 - -############################################################################### -#Chip type -#PN547C2 0x01 -#PN65T 0x02 -NXP_NFC_CHIP=0x01 + +############################################################################### +NXP_DEFAULT_NFCEE_TIMEOUT=0x06 + +############################################################################### +#Enable SWP full power mode when phone is power off +NXP_SWP_FULL_PWR_ON=0x00 + +############################################################################### +#Chip type +#PN547C2 0x01 +#PN65T 0x02 +NXP_NFC_CHIP=0x01 diff --git a/device.mk b/device.mk index 92f48e2..89aa458 100644 --- a/device.mk +++ b/device.mk @@ -82,6 +82,9 @@ PRODUCT_PACKAGES += \ Tag PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/configs/libnfc-brcm.conf:system/etc/libnfc-brcm.conf \ + $(LOCAL_PATH)/configs/libnfc-brcm-20791b04.conf:system/etc/libnfc-brcm-20791b04.conf \ + $(LOCAL_PATH)/configs/libnfc-brcm-20791b05.conf:system/etc/libnfc-brcm-20791b05.conf \ $(LOCAL_PATH)/configs/libnfc-nxp.conf:system/etc/libnfc-nxp.conf \ $(LOCAL_PATH)/configs/nfcee_access.xml:system/etc/nfcee_access.xml diff --git a/proprietary-files.txt b/proprietary-files.txt index 48424ae..a7c4e9a 100644 --- a/proprietary-files.txt +++ b/proprietary-files.txt @@ -272,7 +272,12 @@ vendor/lib/libOmxQcelp13Dec.so vendor/lib/libOmxWmaDec.so # NFC -lib/hw/nfc_nci.msm8974.so +lib/hw/gsm/nfc_nci.msm8974.so +lib/hw/spr/nfc_nci.msm8974.so +vendor/firmware/bcm2079xB4_firmware.ncd +vendor/firmware/bcm2079xB4_pre_firmware.ncd +vendor/firmware/bcm2079xB5_firmware.ncd +vendor/firmware/bcm2079xB5_pre_firmware.ncd vendor/firmware/libpn547_fw.so # Perf diff --git a/releasetools.py b/releasetools.py index 2566ab7..79f1529 100755 --- a/releasetools.py +++ b/releasetools.py @@ -18,17 +18,45 @@ def FullOTA_InstallEnd(info): info.script.AppendExtra('ifelse(is_substring("G900A", getprop("ro.bootloader")), run_program("/sbin/sh", "-c", "busybox cp /system/lib/gsm/* /system/lib/"));') + info.script.AppendExtra('ifelse(is_substring("G900A", getprop("ro.bootloader")), run_program("/sbin/sh", "-c", "busybox cp /system/lib/hw/gsm/* /system/lib/hw/"));') + info.script.AppendExtra('ifelse(is_substring("G900T", getprop("ro.bootloader")), run_program("/sbin/sh", "-c", "busybox cp /system/lib/gsm/* /system/lib/"));') + info.script.AppendExtra('ifelse(is_substring("G900T", getprop("ro.bootloader")), run_program("/sbin/sh", "-c", "busybox cp /system/lib/hw/gsm/* /system/lib/hw/"));') + info.script.AppendExtra('ifelse(is_substring("G900D", getprop("ro.bootloader")), run_program("/sbin/sh", "-c", "busybox cp /system/lib/gsm/* /system/lib/"));') + info.script.AppendExtra('ifelse(is_substring("G900D", getprop("ro.bootloader")), run_program("/sbin/sh", "-c", "busybox cp /system/lib/hw/gsm/* /system/lib/hw/"));') + info.script.AppendExtra('ifelse(is_substring("G9005", getprop("ro.bootloader")), run_program("/sbin/sh", "-c", "busybox cp /system/lib/gsm/* /system/lib/"));') + info.script.AppendExtra('ifelse(is_substring("G9005", getprop("ro.bootloader")), run_program("/sbin/sh", "-c", "busybox cp /system/lib/hw/gsm/* /system/lib/hw/"));') + info.script.AppendExtra('ifelse(is_substring("G900F", getprop("ro.bootloader")), run_program("/sbin/sh", "-c", "busybox cp /system/lib/gsm/* /system/lib/"));') + info.script.AppendExtra('ifelse(is_substring("G900F", getprop("ro.bootloader")), run_program("/sbin/sh", "-c", "busybox cp /system/lib/hw/gsm/* /system/lib/hw/"));') + info.script.AppendExtra('ifelse(is_substring("G900W", getprop("ro.bootloader")), run_program("/sbin/sh", "-c", "busybox cp /system/lib/gsm/* /system/lib/"));') + info.script.AppendExtra('ifelse(is_substring("G900W", getprop("ro.bootloader")), run_program("/sbin/sh", "-c", "busybox cp /system/lib/hw/gsm/* /system/lib/hw/"));') + info.script.AppendExtra('ifelse(is_substring("G900I", getprop("ro.bootloader")), run_program("/sbin/sh", "-c", "busybox cp /system/lib/gsm/* /system/lib/"));') + info.script.AppendExtra('ifelse(is_substring("G900I", getprop("ro.bootloader")), run_program("/sbin/sh", "-c", "busybox cp /system/lib/hw/gsm/* /system/lib/hw/"));') + info.script.AppendExtra('ifelse(is_substring("G900M", getprop("ro.bootloader")), run_program("/sbin/sh", "-c", "busybox cp /system/lib/gsm/* /system/lib/"));') + info.script.AppendExtra('ifelse(is_substring("G900M", getprop("ro.bootloader")), run_program("/sbin/sh", "-c", "busybox cp /system/lib/hw/gsm/* /system/lib/hw/"));') + info.script.AppendExtra('ifelse(is_substring("G900V", getprop("ro.bootloader")), run_program("/sbin/sh", "-c", "busybox cp /system/lib/cdma/* /system/lib/"));') + info.script.AppendExtra('ifelse(is_substring("G900V", getprop("ro.bootloader")), run_program("/sbin/sh", "-c", "busybox cp /system/lib/hw/gsm/* /system/lib/hw/"));') + info.script.AppendExtra('ifelse(is_substring("G900P", getprop("ro.bootloader")), run_program("/sbin/sh", "-c", "busybox cp /system/lib/cdma/* /system/lib/"));') + info.script.AppendExtra('ifelse(is_substring("G900P", getprop("ro.bootloader")), run_program("/sbin/sh", "-c", "busybox cp /system/lib/hw/spr/* /system/lib/hw/"));') + info.script.AppendExtra('ifelse(is_substring("G900R4", getprop("ro.bootloader")), run_program("/sbin/sh", "-c", "busybox cp /system/lib/cdma/* /system/lib/"));') + info.script.AppendExtra('ifelse(is_substring("G900R4", getprop("ro.bootloader")), run_program("/sbin/sh", "-c", "busybox cp /system/lib/hw/gsm/* /system/lib/hw/"));') + info.script.AppendExtra('ifelse(is_substring("G900R6", getprop("ro.bootloader")), run_program("/sbin/sh", "-c", "busybox cp /system/lib/cdma/* /system/lib/"));') + info.script.AppendExtra('ifelse(is_substring("G900R6", getprop("ro.bootloader")), run_program("/sbin/sh", "-c", "busybox cp /system/lib/hw/gsm/* /system/lib/hw/"));') + info.script.AppendExtra('ifelse(is_substring("G900R7", getprop("ro.bootloader")), run_program("/sbin/sh", "-c", "busybox cp /system/lib/cdma/* /system/lib/"));') + info.script.AppendExtra('ifelse(is_substring("G900R7", getprop("ro.bootloader")), run_program("/sbin/sh", "-c", "busybox cp /system/lib/hw/gsm/* /system/lib/hw/"));') + + info.script.AppendExtra('delete_recursive("/system/lib/hw/gsm/");') + info.script.AppendExtra('delete_recursive("/system/lib/hw/spr/");') info.script.AppendExtra('delete_recursive("/system/lib/gsm/");') info.script.AppendExtra('delete_recursive("/system/lib/cdma/");')