blob: 69f7b3cd392e11196bee91e2f38aa18cc4d94586 [file] [log] [blame]
Martijn Coenen6c11a692012-07-31 13:25:27 -07001###################### Start of libnfc-brcm-common.conf #######################
2
3###############################################################################
4# Application options
Martijn Coenen37461c92012-09-20 19:43:49 -07005APPL_TRACE_LEVEL=0x01
Martijn Coenen6c11a692012-07-31 13:25:27 -07006PROTOCOL_TRACE_LEVEL=0x00000000
7
8###############################################################################
Martijn Coenen6c11a692012-07-31 13:25:27 -07009# performance measurement
10# Change this setting to control how often USERIAL log the performance (throughput)
11# data on read/write/poll
12# defailt is to log performance dara for every 100 read or write
13#REPORT_PERFORMANCE_MEASURE=100
14
15###############################################################################
Martijn Coenen6c11a692012-07-31 13:25:27 -070016# File used for NFA storage
17NFA_STORAGE="/data/nfc"
18
19###############################################################################
Martijn Coenenc644f622012-09-03 16:55:17 +020020# Snooze Mode Settings
Martijn Coenen6c11a692012-07-31 13:25:27 -070021#
Martijn Coenenc644f622012-09-03 16:55:17 +020022# By default snooze mode is enabled. Set SNOOZE_MODE_CFG byte[0] to 0
23# to disable.
Martijn Coenen6c11a692012-07-31 13:25:27 -070024#
Martijn Coenenc644f622012-09-03 16:55:17 +020025# If SNOOZE_MODE_CFG is not provided, the default settings are used:
26# They are as follows:
27# 8 Sleep Mode (0=Disabled 1=UART 8=SPI/I2C)
28# 0 Idle Threshold Host
29# 0 Idle Threshold HC
Martijn Coenen6c11a692012-07-31 13:25:27 -070030# 0 NFC Wake active mode (0=ActiveLow 1=ActiveHigh)
31# 1 Host Wake active mode (0=ActiveLow 1=ActiveHigh)
32#
Martijn Coenenc644f622012-09-03 16:55:17 +020033#SNOOZE_MODE_CFG={08:00:00:00:01}
34
35###############################################################################
Martijn Coenen6c11a692012-07-31 13:25:27 -070036# Insert a delay in milliseconds after NFC_WAKE and before write to NFCC
37NFC_WAKE_DELAY=20
Martijn Coenenfda0d632012-10-09 15:54:09 -070038
Martijn Coenenc644f622012-09-03 16:55:17 +020039###############################################################################
40# Various Delay settings (in ms) used in USERIAL
41# POWER_ON_DELAY
42# Delay after turning on chip, before writing to transport (default 300)
43# PRE_POWER_OFF_DELAY
Martijn Coenenfda0d632012-10-09 15:54:09 -070044# Delay after deasserting NFC-Wake before turn off chip (default 0)
Martijn Coenenc644f622012-09-03 16:55:17 +020045# POST_POWER_OFF_DELAY
46# Delay after turning off chip, before USERIAL_close returns (default 0)
47#
Martijn Coenen82d76812013-04-07 12:51:00 -070048POWER_ON_DELAY=300
Martijn Coenenb984dee2012-11-26 11:21:13 -080049PRE_POWER_OFF_DELAY=10
Martijn Coenenc644f622012-09-03 16:55:17 +020050#POST_POWER_OFF_DELAY=0
Martijn Coenen6c11a692012-07-31 13:25:27 -070051
52###############################################################################
Martijn Coenen82d76812013-04-07 12:51:00 -070053# Maximum time (ms) to wait for RESET NTF after setting REG_PU to high
54# The default is 1000.
55NFCC_ENABLE_TIMEOUT=0
56
57###############################################################################
Martijn Coenenfda0d632012-10-09 15:54:09 -070058# LPTD mode configuration
59# byte[0] is the length of the remaining bytes in this value
Martijn Coenen6c11a692012-07-31 13:25:27 -070060# if set to 0, LPTD params will NOT be sent to NFCC (i.e. disabled).
Martijn Coenenfda0d632012-10-09 15:54:09 -070061# byte[1] is the param id it should be set to B9.
62# byte[2] is the length of the LPTD parameters
63# byte[3] indicates if LPTD is enabled
64# if set to 0, LPTD will be disabled (parameters will still be sent).
65# byte[4-n] are the LPTD parameters.
Martijn Coenen6c11a692012-07-31 13:25:27 -070066# By default, LPTD is enabled and default settings are used.
Martijn Coenenfda0d632012-10-09 15:54:09 -070067# See nfc_hal_dm_cfg.c for defaults
Martijn Coenend5a6c982012-11-07 12:33:42 -080068LPTD_CFG={23:B9:21:01:02:FF:FF:04:A0:0F:40:00:80:02:02:10:00:00:00:31:0E:30:00:00:00:00:00:00:00:00:00:00:00:00:00:00}
Martijn Coenen6c11a692012-07-31 13:25:27 -070069
70###############################################################################
71# Startup Configuration (100 bytes maximum)
72#
73# For the 0xCA parameter, byte[9] (marked by 'AA') is for UICC0, and byte[10] (marked by BB) is
74# for UICC1. The values are defined as:
75# 0 : UICCx only supports ISO_DEP in low power mode.
76# 2 : UICCx only supports Mifare in low power mode.
77# 3 : UICCx supports both ISO_DEP and Mifare in low power mode.
78#
79# AA BB
Martijn Coenen397221c2013-03-11 10:03:20 -070080NFA_DM_START_UP_CFG={2E:CB:01:01:A5:01:01:CA:14:00:00:00:00:06:E8:03:00:00:00:00:00:00:00:00:00:00:00:00:00:80:01:01:C2:08:61:40:82:04:40:4B:4C:00:B5:03:01:01:01}
Martijn Coenen6c11a692012-07-31 13:25:27 -070081
82###############################################################################
Martijn Coenenfda0d632012-10-09 15:54:09 -070083# Startup Vendor Specific Configuration (100 bytes maximum);
84# byte[0] TLV total len = 0x5
85# byte[1] NCI_MTS_CMD|NCI_GID_PROP = 0x2f
86# byte[2] NCI_MSG_FRAME_LOG = 0x9
87# byte[3] 2
88# byte[4] 0=turn off RF frame logging; 1=turn on
89# byte[5] 0=turn off SWP frame logging; 1=turn on
90# NFA_DM_START_UP_VSC_CFG={05:2F:09:02:01:01}
Martijn Coenen6c11a692012-07-31 13:25:27 -070091
92###############################################################################
93# Antenna Configuration - This data is used when setting 0xC8 config item
94# at startup (before discovery is started). If not used, no value is sent.
95#
96# The settings for this value are documented here:
97# http://wcgbu.broadcom.com/wpan/PM/Project%20Document%20Library/bcm20791B0/
98# Design/Doc/PHY%20register%20settings/BCM20791-B2-1027-02_PHY_Recommended_Reg_Settings.xlsx
99# This document is maintained by Paul Forshaw.
100#
101# The values marked as ?? should be tweaked per antenna or customer/app:
Martijn Coenenfda0d632012-10-09 15:54:09 -0700102# {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}
103# array[0] = 0x20 is length of the payload from array[1] to the end
104# array[1] = 0xC8 is PREINIT_DSP_CFG
Martijn Coeneneeba2172013-03-27 13:30:28 -0700105PREINIT_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:4C:01:00:00:40:04}
Martijn Coenen6c11a692012-07-31 13:25:27 -0700106
107###############################################################################
Martijn Coenenfda0d632012-10-09 15:54:09 -0700108# Configure crystal frequency when internal LPO can't detect the frequency.
109#XTAL_FREQUENCY=0
Martijn Coenen6c11a692012-07-31 13:25:27 -0700110
111###############################################################################
112# Use Nexus S NXP RC work to allow our stack/firmware to work with a retail
113# Nexus S that causes IOP issues. Note, this will not pass conformance and
114# should be removed for production.
115USE_NXP_P2P_RC_WORKAROUND=1
116
117###############################################################################
118# Configure the default Destination Gate used by HCI (the default is 4, which
119# is the ETSI loopback gate.
120#NFA_HCI_DEFAULT_DEST_GATE=0x04
121
122###############################################################################
Martijn Coenen82d76812013-04-07 12:51:00 -0700123# Override the stack default for NFA_EE_MAX_EE_SUPPORTED set in nfc_target.h.
124# The value is set to 3 by default as it assumes we will discover 0xF2,
125# 0xF3, and 0xF4. If a platform will exclude and SE, this value can be reduced
126# so that the stack will not wait any longer than necessary.
127#NFA_MAX_EE_SUPPORTED=3
128
129###############################################################################
Martijn Coenen6c11a692012-07-31 13:25:27 -0700130# Configure the single default SE to use. The default is to use the first
131# SE that is detected by the stack. This value might be used when the phone
132# supports multiple SE (e.g. 0xF3 and 0xF4) but you want to force it to use
133# one of them (e.g. 0xF4).
Martijn Coenen5c646232012-12-05 15:39:38 -0800134ACTIVE_SE=0xF4
Martijn Coenen6c11a692012-07-31 13:25:27 -0700135
136###############################################################################
137# Configure the NFC Extras to open and use a static pipe. If the value is
138# not set or set to 0, then the default is use a dynamic pipe based on a
139# destination gate (see NFA_HCI_DEFAULT_DEST_GATE). Note there is a value
140# for each UICC (where F3="UICC0" and F4="UICC1")
141#NFA_HCI_STATIC_PIPE_ID_F3=0x70
142NFA_HCI_STATIC_PIPE_ID_F4=0x71
143
144###############################################################################
Martijn Coenenfda0d632012-10-09 15:54:09 -0700145# When disconnecting from Oberthur secure element, perform a warm-reset of
146# the secure element to deselect the applet.
147# The default hex value of the command is 0x3. If this variable is undefined,
148# then this feature is not used.
Martijn Coenend1285b92012-09-25 19:02:49 -0700149OBERTHUR_WARM_RESET_COMMAND=0x03
150
151###############################################################################
Martijn Coenen6c11a692012-07-31 13:25:27 -0700152# Force UICC to only listen to the following technology(s).
153# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
154# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B.
Martijn Coenenab6aab12012-09-26 13:27:10 -0700155UICC_LISTEN_TECH_MASK=0x01
Martijn Coenen6c11a692012-07-31 13:25:27 -0700156
157###############################################################################
158# Allow UICC to be powered off if there is no traffic.
159# Timeout is in ms. If set to 0, then UICC will not be powered off.
160#UICC_IDLE_TIMEOUT=30000
161
162###############################################################################
Martijn Coenenc777d162012-10-02 12:18:35 -0700163# AID for Empty Select command
164# If specified, this AID will be substituted when an Empty SELECT command is
165# detected. The first byte is the length of the AID. Maximum length is 16.
166AID_FOR_EMPTY_SELECT={08:A0:00:00:01:51:00:00:00}
167
168###############################################################################
Martijn Coenen6c11a692012-07-31 13:25:27 -0700169# Force tag polling for the following technology(s).
170# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
171# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B |
172# NFA_TECHNOLOGY_MASK_F | NFA_TECHNOLOGY_MASK_ISO15693 |
173# NFA_TECHNOLOGY_MASK_B_PRIME | NFA_TECHNOLOGY_MASK_A_ACTIVE |
174# NFA_TECHNOLOGY_MASK_F_ACTIVE.
175#
176# Notable bits:
177# NFA_TECHNOLOGY_MASK_KOVIO 0x20
178# NFA_TECHNOLOGY_MASK_A_ACTIVE 0x40
179# NFA_TECHNOLOGY_MASK_F_ACTIVE 0x80
Martijn Coenen7421f912013-02-22 10:18:36 -0800180POLLING_TECH_MASK=0xFF
Martijn Coenen6c11a692012-07-31 13:25:27 -0700181
182###############################################################################
183# Force P2P to only listen for the following technology(s).
184# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
185# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_F |
186# NFA_TECHNOLOGY_MASK_A_ACTIVE | NFA_TECHNOLOGY_MASK_F_ACTIVE
Martijn Coenen3f1b7a12012-10-17 15:37:18 -0700187P2P_LISTEN_TECH_MASK=0xC5
Martijn Coenen6c11a692012-07-31 13:25:27 -0700188
189###############################################################################
Martijn Coenenfda0d632012-10-09 15:54:09 -0700190# Maximum Number of Credits to be allowed by the NFCC
191# This value overrides what the NFCC specifices allowing the host to have
192# the control to work-around transport limitations. If this value does
193# not exist or is set to 0, the NFCC will provide the number of credits.
194#MAX_RF_DATA_CREDITS=1
195
196###############################################################################
Martijn Coenen6c11a692012-07-31 13:25:27 -0700197# This setting allows you to disable registering the T4t Virtual SE that causes
198# the NFCC to send PPSE requests to the DH.
199# The default setting is enabled (i.e. T4t Virtual SE is registered).
200#REGISTER_VIRTUAL_SE=1
201
202###############################################################################
203# When screen is turned off, specify the desired power state of the controller.
204# 0: power-off-sleep state; DEFAULT
205# 1: full-power state
Martijn Coenenc644f622012-09-03 16:55:17 +0200206# 2: screen-off card-emulation (CE4/CE3/CE1 modes are used)
Martijn Coenen6c11a692012-07-31 13:25:27 -0700207#SCREEN_OFF_POWER_STATE=0
Martijn Coenen6c11a692012-07-31 13:25:27 -0700208
209###############################################################################
210# Firmware patch file
211# If the value is not set then patch download is disabled.
212FW_PATCH="/vendor/firmware/bcm2079x_firmware.ncd"
213
214###############################################################################
Martijn Coenenc644f622012-09-03 16:55:17 +0200215# Firmware pre-patch file (sent before the above patch file)
216# If the value is not set then pre-patch is not used.
Martijn Coenen6c11a692012-07-31 13:25:27 -0700217FW_PRE_PATCH="/vendor/firmware/bcm2079x_pre_firmware.ncd"
218
219###############################################################################
220# Firmware patch format
221# 1 = HCD
222# 2 = NCD (default)
223#NFA_CONFIG_FORMAT=2
224
225###############################################################################
Martijn Coenenfda0d632012-10-09 15:54:09 -0700226# SPD Debug mode
227# If set to 1, any failure of downloading a patch will trigger a hard-stop
228#SPD_DEBUG=0
229
230###############################################################################
231# SPD Max Retry Count
232# The number of attempts to download a patch before giving up (defualt is 3).
233# Note, this resets after a power-cycle.
234#SPD_MAX_RETRY_COUNT=3
235
236###############################################################################
Martijn Coenen6c11a692012-07-31 13:25:27 -0700237# transport driver
238#
239# TRANSPORT_DRIVER=<driver>
240#
241# where <driver> can be, for example:
242# "/dev/ttyS" (UART)
243# "/dev/bcmi2cnfc" (I2C)
244# "hwtun" (HW Tunnel)
245# "/dev/bcmspinfc" (SPI)
246# "/dev/btusb0" (BT USB)
247TRANSPORT_DRIVER="/dev/bcm2079x-i2c"
248
249###############################################################################
250# power control driver
251# Specify a kernel driver that support ioctl commands to control NFC_EN and
252# NFC_WAKE gpio signals.
253#
254# POWER_CONTRL_DRIVER=<driver>
255# where <driver> can be, for example:
256# "/dev/nfcpower"
257# "/dev/bcmi2cnfc" (I2C)
258# "/dev/bcmspinfc" (SPI)
259# i2c and spi driver may be used to control NFC_EN and NFC_WAKE signal
260POWER_CONTROL_DRIVER="/dev/bcm2079x-i2c"
261
262###############################################################################
263# I2C transport driver options
264# Mako does not support 10-bit I2C addresses
265# Revert to 7-bit address
266BCMI2CNFC_ADDRESS=0x77
267
268###############################################################################
269# I2C transport driver try to read multiple packets in read() if data is available
270# remove the comment below to enable this feature
271#READ_MULTIPLE_PACKETS=1
272
273###############################################################################
274# SPI transport driver options
Martijn Coenenfda0d632012-10-09 15:54:09 -0700275#SPI_NEGOTIATION={0A:F0:00:01:00:00:00:FF:FF:00:00}
Martijn Coenen6c11a692012-07-31 13:25:27 -0700276
277###############################################################################
278# UART transport driver options
279#
280# PORT=1,2,3,...
281# BAUD=115200, 19200, 9600, 4800,
282# DATABITS=8, 7, 6, 5
283# PARITY="even" | "odd" | "none"
284# STOPBITS="0" | "1" | "1.5" | "2"
285
286#UART_PORT=2
287#UART_BAUD=115200
288#UART_DATABITS=8
289#UART_PARITY="none"
290#UART_STOPBITS="1"
291
292###############################################################################
Martijn Coenen6c11a692012-07-31 13:25:27 -0700293# Insert a delay in microseconds per byte after a write to NFCC.
294# after writing a block of data to the NFCC, delay this an amopunt of time before
295# writing next block of data. the delay is calculated as below
296# NFC_WRITE_DELAY * (number of byte written) / 1000 milliseconds
297# e.g. after 259 bytes is written, delay (259 * 20 / 1000) 5 ms before next write
298NFC_WRITE_DELAY=20
299
Martijn Coenen6c11a692012-07-31 13:25:27 -0700300###############################################################################
Martijn Coenenfda0d632012-10-09 15:54:09 -0700301# Default poll duration (in ms)
302# The defualt is 500ms if not set (see nfc_target.h)
303#NFA_DM_DISC_DURATION_POLL=333