diff options
| author | Rashed Abdel-Tawab <rashed@linux.com> | 2015-01-20 21:05:58 -0500 |
|---|---|---|
| committer | Rashed Abdel-Tawab <rashed@linux.com> | 2015-05-31 16:31:01 -0400 |
| commit | 8160c59a6fccf15e06e4e8338653361c17ddbb7b (patch) | |
| tree | 90965b3b23f81f176002f8b53cceff7ecdbbbe55 | |
| parent | b32145a10bf692f022d56b2a3a60736c5235ae1b (diff) | |
vs980: Update NFC from lollipop release
Change-Id: I2cb6512edc6cff9b2c37cfb9f4cc804a37eb83cd
| -rw-r--r-- | device.mk | 5 | ||||
| -rw-r--r-- | nfc/libnfc-brcm-20791b05.conf | 66 | ||||
| -rw-r--r-- | nfc/libnfc-brcm.conf | 93 |
3 files changed, 121 insertions, 43 deletions
@@ -29,9 +29,10 @@ PRODUCT_COPY_FILES += \ PRODUCT_PACKAGES += \ nfc_nci.bcm2079x.default -# NFC config +# NFC configs PRODUCT_COPY_FILES += \ - $(LOCAL_PATH)/nfc/libnfc-brcm.conf:system/etc/libnfc-brcm.conf + $(LOCAL_PATH)/nfc/libnfc-brcm.conf:system/etc/libnfc-brcm.conf \ + $(LOCAL_PATH)/nfc/libnfc-brcm-20791b05.conf:system/etc/libnfc-brcm-20791b05.conf # GPS PRODUCT_COPY_FILES += \ diff --git a/nfc/libnfc-brcm-20791b05.conf b/nfc/libnfc-brcm-20791b05.conf new file mode 100644 index 0000000..2cf9181 --- /dev/null +++ b/nfc/libnfc-brcm-20791b05.conf @@ -0,0 +1,66 @@ +############################################################################### +# Firmware patch file +# If the value is not set then patch download is disabled. +FW_PATCH="/vendor/firmware/BCM20791B5_002.006.013.0011.0054_Generic_I2C_NCD_Signed_configdata.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/BCM20791B5_002.006.013.0011.0054_Generic_PreI2C_NCD_Signed_configdata.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:04: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={44:CB:01:09:A5:01:01:CA:1A:00:00:00:00:0E:F0:55:00:00:0F:00:00:00:00:A0:25:26:00:14:00:00:00:10:B8:0B:06: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:45:12} + +############################################################################### +# 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:1F:00:0A:03:30:00:04:24:00:1C:00:75:00:77:00:76:00:1C:00:03:00:0A:00:0C: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} + diff --git a/nfc/libnfc-brcm.conf b/nfc/libnfc-brcm.conf index 6f2a7c1..34b6de3 100644 --- a/nfc/libnfc-brcm.conf +++ b/nfc/libnfc-brcm.conf @@ -1,9 +1,13 @@ -###################### Start of libnfc-brcm-common.conf ####################### - +############################################################################### +# v2.1 : 2014-02-17 +# Workaround Patch for SWP Current Consumption Issue +# POWER_SAVER_WORKAROUND_1=0xf3 +# v2.0 +# ############################################################################### # Application options -APPL_TRACE_LEVEL=0x01 -PROTOCOL_TRACE_LEVEL=0x00000000 +APPL_TRACE_LEVEL=0xFF +PROTOCOL_TRACE_LEVEL=0xFFFFFFFF ############################################################################### # performance measurement @@ -16,6 +20,8 @@ PROTOCOL_TRACE_LEVEL=0x00000000 # File used for NFA storage NFA_STORAGE="/data/nfc" +PRESERVE_STORAGE=1 + ############################################################################### # Insert a delay in milliseconds after NFC_WAKE and before write to NFCC NFC_WAKE_DELAY=20 @@ -28,10 +34,15 @@ NFC_WAKE_DELAY=20 # 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=0 +#POWER_ON_DELAY=300 PRE_POWER_OFF_DELAY=10 #POST_POWER_OFF_DELAY=0 +#CE3_PRE_POWER_OFF_DELAY=1500 +CE3_PRE_POWER_OFF_DELAY=400 ############################################################################### # Maximum time (ms) to wait for RESET NTF after setting REG_PU to high @@ -61,7 +72,7 @@ NFCC_ENABLE_TIMEOUT=1000 # 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} +#NFA_DM_START_UP_VSC_CFG={05:2F:09:02:01:01} ############################################################################### # Configure the default Destination Gate used by HCI (the default is 4, which @@ -73,12 +84,7 @@ NFCC_ENABLE_TIMEOUT=1000 # The value is set to 3 by default as it assumes we will discover 0xF2, # 0xF3, and 0xF4. If a platform will exclude and SE, this value can be reduced # so that the stack will not wait any longer than necessary. -# -# Use for Host based CE -NFA_MAX_EE_SUPPORTED=0 - -# Use for UICC support -# NFA_MAX_EE_SUPPORTED=3 +#NFA_MAX_EE_SUPPORTED=3 ############################################################################### # Configure the single default SE to use. The default is to use the first @@ -86,14 +92,18 @@ NFA_MAX_EE_SUPPORTED=0 # supports multiple SE (e.g. 0xF3 and 0xF4) but you want to force it to use # one of them (e.g. 0xF4). This can be set to 0 if there are no SE on the # system in order to skip SE initialization. -# -# Use for Host based CE -ACTIVE_SE=0x0 - -# Use for UICC support #ACTIVE_SE=0xF3 ############################################################################### +# 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=0xF3 + +############################################################################### +# Configure the default "off-host" AID route. The default is 0xF4 +DEFAULT_OFFHOST_ROUTE=0xF3 + +############################################################################### # 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 @@ -106,13 +116,26 @@ NFA_HCI_STATIC_PIPE_ID_F4=0x71 # 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 +#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=0x01 +# If variable is not defined, code will detect UICC's technologies. +#UICC_LISTEN_TECH_MASK=0x03 + +GCF_LISTEN_TECH_MASK=0x03 + +# Workaround patch for Current Consumption +POWER_SAVER_WORKAROUND_1=0xF3 + +############################################################################### +# Exclude some technologies when establishing the listen mask. This is handy +# when UICC_LISTEN_TECH_MASK is not specified and the mask is based on what is +# discovered in the UICC. This provides a method to remove certain techs. +# Default is 0x00 (i.e. don't exclude any technology). +UICC_LISTEN_TECH_EXCLUDE_MASK=0x10 ############################################################################### # AID for Empty Select command @@ -129,17 +152,19 @@ AID_FOR_EMPTY_SELECT={08:A0:00:00:01:51:00:00:00} # NFA_TECHNOLOGY_MASK_F_ACTIVE. # # Notable bits: -# NFA_TECHNOLOGY_MASK_KOVIO 0x20 +# NFA_TECHNOLOGY_MASK_KOVIO 0x20 # NFA_TECHNOLOGY_MASK_A_ACTIVE 0x40 # NFA_TECHNOLOGY_MASK_F_ACTIVE 0x80 -POLLING_TECH_MASK=0xFF +#POLLING_TECH_MASK=0x3F +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=0xC5 +#P2P_LISTEN_TECH_MASK=0x05 +P2P_LISTEN_TECH_MASK=0xC4 ############################################################################### # Maximum Number of Credits to be allowed by the NFCC @@ -149,17 +174,11 @@ POLLING_TECH_MASK=0xFF #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 - -############################################################################### # When screen is turned off, specify the desired power state of the controller. # 0: power-off-sleep state; DEFAULT -# 1: full-power state (note: this is still low-power ("snooze") on BRCM devices. +# 1: full-power state # 2: screen-off card-emulation (CE4/CE3/CE1 modes are used) -SCREEN_OFF_POWER_STATE=1 +SCREEN_OFF_POWER_STATE=2 ############################################################################### # SPD Debug mode @@ -200,7 +219,9 @@ POWER_CONTROL_DRIVER="/dev/bcm2079x" ############################################################################### # I2C transport driver options -# BCMI2CNFC_ADDRESS=0 +# Mako does not support 10-bit I2C addresses +# Revert to 7-bit address +#BCMI2CNFC_ADDRESS=0x77 ############################################################################### # I2C transport driver try to read multiple packets in read() if data is available @@ -245,13 +266,3 @@ NFC_WRITE_DELAY=20 # Technology A active mode # Technology F active mode #POLL_FREQUENCY={01:01:01:01:01:01:01:01} - -############################################################################### -# Choose the presence-check algorithm for type-4 tag. If not defined, -# the default value is 1. -# 0 NFA_RW_PRES_CHK_DEFAULT; Let stack selects an algorithm -# 1 NFA_RW_PRES_CHK_I_BLOCK; ISO-DEP protocol's empty I-block -# 2 NFA_RW_PRES_CHK_RESET; Deactivate to Sleep, then re-activate -# 3 NFA_RW_PRES_CHK_RB_CH0; Type-4 tag protocol's ReadBinary command on channel 0 -# 4 NFA_RW_PRES_CHK_RB_CH3; Type-4 tag protocol's ReadBinary command on channel 3 -PRESENCE_CHECK_ALGORITHM=1 |
