klte: Add support for bcm2079x NFC

* Used by Sprint model
This commit is contained in:
Ethan Chen 2014-08-01 15:52:25 -07:00
parent 85ab06a1c7
commit d0111d5b70
7 changed files with 617 additions and 140 deletions

View File

@ -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

View File

@ -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

287
configs/libnfc-brcm.conf Normal file
View File

@ -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=<driver>
#
# where <driver> 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=<driver>
# where <driver> 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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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/");')