blob: 8842a33493b8b5b88ba3aa5d0addfb0a1836d028 [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#
48#POWER_ON_DELAY=300
Martijn Coenenfda0d632012-10-09 15:54:09 -070049#PRE_POWER_OFF_DELAY=0
Martijn Coenenc644f622012-09-03 16:55:17 +020050#POST_POWER_OFF_DELAY=0
Martijn Coenen6c11a692012-07-31 13:25:27 -070051
52###############################################################################
Martijn Coenenfda0d632012-10-09 15:54:09 -070053# LPTD mode configuration
54# byte[0] is the length of the remaining bytes in this value
Martijn Coenen6c11a692012-07-31 13:25:27 -070055# if set to 0, LPTD params will NOT be sent to NFCC (i.e. disabled).
Martijn Coenenfda0d632012-10-09 15:54:09 -070056# byte[1] is the param id it should be set to B9.
57# byte[2] is the length of the LPTD parameters
58# byte[3] indicates if LPTD is enabled
59# if set to 0, LPTD will be disabled (parameters will still be sent).
60# byte[4-n] are the LPTD parameters.
Martijn Coenen6c11a692012-07-31 13:25:27 -070061# By default, LPTD is enabled and default settings are used.
Martijn Coenenfda0d632012-10-09 15:54:09 -070062# See nfc_hal_dm_cfg.c for defaults
Martijn Coenend5a6c982012-11-07 12:33:42 -080063LPTD_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 -070064
65###############################################################################
66# Startup Configuration (100 bytes maximum)
67#
68# For the 0xCA parameter, byte[9] (marked by 'AA') is for UICC0, and byte[10] (marked by BB) is
69# for UICC1. The values are defined as:
70# 0 : UICCx only supports ISO_DEP in low power mode.
71# 2 : UICCx only supports Mifare in low power mode.
72# 3 : UICCx supports both ISO_DEP and Mifare in low power mode.
73#
74# AA BB
Martijn Coenen484574a2012-10-11 16:01:48 -070075NFA_DM_START_UP_CFG={1F: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}
Martijn Coenen6c11a692012-07-31 13:25:27 -070076
77###############################################################################
Martijn Coenenfda0d632012-10-09 15:54:09 -070078# Startup Vendor Specific Configuration (100 bytes maximum);
79# byte[0] TLV total len = 0x5
80# byte[1] NCI_MTS_CMD|NCI_GID_PROP = 0x2f
81# byte[2] NCI_MSG_FRAME_LOG = 0x9
82# byte[3] 2
83# byte[4] 0=turn off RF frame logging; 1=turn on
84# byte[5] 0=turn off SWP frame logging; 1=turn on
85# NFA_DM_START_UP_VSC_CFG={05:2F:09:02:01:01}
Martijn Coenen6c11a692012-07-31 13:25:27 -070086
87###############################################################################
88# Antenna Configuration - This data is used when setting 0xC8 config item
89# at startup (before discovery is started). If not used, no value is sent.
90#
91# The settings for this value are documented here:
92# http://wcgbu.broadcom.com/wpan/PM/Project%20Document%20Library/bcm20791B0/
93# Design/Doc/PHY%20register%20settings/BCM20791-B2-1027-02_PHY_Recommended_Reg_Settings.xlsx
94# This document is maintained by Paul Forshaw.
95#
96# The values marked as ?? should be tweaked per antenna or customer/app:
Martijn Coenenfda0d632012-10-09 15:54:09 -070097# {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}
98# array[0] = 0x20 is length of the payload from array[1] to the end
99# array[1] = 0xC8 is PREINIT_DSP_CFG
100PREINIT_DSP_CFG={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 -0700101
102###############################################################################
Martijn Coenenfda0d632012-10-09 15:54:09 -0700103# Configure crystal frequency when internal LPO can't detect the frequency.
104#XTAL_FREQUENCY=0
Martijn Coenen6c11a692012-07-31 13:25:27 -0700105
106###############################################################################
107# Use Nexus S NXP RC work to allow our stack/firmware to work with a retail
108# Nexus S that causes IOP issues. Note, this will not pass conformance and
109# should be removed for production.
110USE_NXP_P2P_RC_WORKAROUND=1
111
112###############################################################################
113# Configure the default Destination Gate used by HCI (the default is 4, which
114# is the ETSI loopback gate.
115#NFA_HCI_DEFAULT_DEST_GATE=0x04
116
117###############################################################################
118# Configure the single default SE to use. The default is to use the first
119# SE that is detected by the stack. This value might be used when the phone
120# supports multiple SE (e.g. 0xF3 and 0xF4) but you want to force it to use
121# one of them (e.g. 0xF4).
122#ACTIVE_SE=0xF3
123
124###############################################################################
125# Configure the NFC Extras to open and use a static pipe. If the value is
126# not set or set to 0, then the default is use a dynamic pipe based on a
127# destination gate (see NFA_HCI_DEFAULT_DEST_GATE). Note there is a value
128# for each UICC (where F3="UICC0" and F4="UICC1")
129#NFA_HCI_STATIC_PIPE_ID_F3=0x70
130NFA_HCI_STATIC_PIPE_ID_F4=0x71
131
132###############################################################################
Martijn Coenenfda0d632012-10-09 15:54:09 -0700133# When disconnecting from Oberthur secure element, perform a warm-reset of
134# the secure element to deselect the applet.
135# The default hex value of the command is 0x3. If this variable is undefined,
136# then this feature is not used.
Martijn Coenend1285b92012-09-25 19:02:49 -0700137OBERTHUR_WARM_RESET_COMMAND=0x03
138
139###############################################################################
Martijn Coenen6c11a692012-07-31 13:25:27 -0700140# Force UICC to only listen to the following technology(s).
141# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
142# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B.
Martijn Coenenab6aab12012-09-26 13:27:10 -0700143UICC_LISTEN_TECH_MASK=0x01
Martijn Coenen6c11a692012-07-31 13:25:27 -0700144
145###############################################################################
146# Allow UICC to be powered off if there is no traffic.
147# Timeout is in ms. If set to 0, then UICC will not be powered off.
148#UICC_IDLE_TIMEOUT=30000
149
150###############################################################################
Martijn Coenenc777d162012-10-02 12:18:35 -0700151# AID for Empty Select command
152# If specified, this AID will be substituted when an Empty SELECT command is
153# detected. The first byte is the length of the AID. Maximum length is 16.
154AID_FOR_EMPTY_SELECT={08:A0:00:00:01:51:00:00:00}
155
156###############################################################################
Martijn Coenen6c11a692012-07-31 13:25:27 -0700157# Force tag polling for the following technology(s).
158# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
159# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B |
160# NFA_TECHNOLOGY_MASK_F | NFA_TECHNOLOGY_MASK_ISO15693 |
161# NFA_TECHNOLOGY_MASK_B_PRIME | NFA_TECHNOLOGY_MASK_A_ACTIVE |
162# NFA_TECHNOLOGY_MASK_F_ACTIVE.
163#
164# Notable bits:
165# NFA_TECHNOLOGY_MASK_KOVIO 0x20
166# NFA_TECHNOLOGY_MASK_A_ACTIVE 0x40
167# NFA_TECHNOLOGY_MASK_F_ACTIVE 0x80
Martijn Coenendefdded2012-08-20 18:28:56 -0700168POLLING_TECH_MASK=0xDF
Martijn Coenen6c11a692012-07-31 13:25:27 -0700169
170###############################################################################
171# Force P2P to only listen for the following technology(s).
172# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
173# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_F |
174# NFA_TECHNOLOGY_MASK_A_ACTIVE | NFA_TECHNOLOGY_MASK_F_ACTIVE
Martijn Coenen3f1b7a12012-10-17 15:37:18 -0700175P2P_LISTEN_TECH_MASK=0xC5
Martijn Coenen6c11a692012-07-31 13:25:27 -0700176
177###############################################################################
Martijn Coenenfda0d632012-10-09 15:54:09 -0700178# Maximum Number of Credits to be allowed by the NFCC
179# This value overrides what the NFCC specifices allowing the host to have
180# the control to work-around transport limitations. If this value does
181# not exist or is set to 0, the NFCC will provide the number of credits.
182#MAX_RF_DATA_CREDITS=1
183
184###############################################################################
Martijn Coenen6c11a692012-07-31 13:25:27 -0700185# This setting allows you to disable registering the T4t Virtual SE that causes
186# the NFCC to send PPSE requests to the DH.
187# The default setting is enabled (i.e. T4t Virtual SE is registered).
188#REGISTER_VIRTUAL_SE=1
189
190###############################################################################
191# When screen is turned off, specify the desired power state of the controller.
192# 0: power-off-sleep state; DEFAULT
193# 1: full-power state
Martijn Coenenc644f622012-09-03 16:55:17 +0200194# 2: screen-off card-emulation (CE4/CE3/CE1 modes are used)
Martijn Coenen6c11a692012-07-31 13:25:27 -0700195#SCREEN_OFF_POWER_STATE=0
Martijn Coenen6c11a692012-07-31 13:25:27 -0700196
197###############################################################################
198# Firmware patch file
199# If the value is not set then patch download is disabled.
200FW_PATCH="/vendor/firmware/bcm2079x_firmware.ncd"
201
202###############################################################################
Martijn Coenenc644f622012-09-03 16:55:17 +0200203# Firmware pre-patch file (sent before the above patch file)
204# If the value is not set then pre-patch is not used.
Martijn Coenen6c11a692012-07-31 13:25:27 -0700205FW_PRE_PATCH="/vendor/firmware/bcm2079x_pre_firmware.ncd"
206
207###############################################################################
208# Firmware patch format
209# 1 = HCD
210# 2 = NCD (default)
211#NFA_CONFIG_FORMAT=2
212
213###############################################################################
Martijn Coenenfda0d632012-10-09 15:54:09 -0700214# SPD Debug mode
215# If set to 1, any failure of downloading a patch will trigger a hard-stop
216#SPD_DEBUG=0
217
218###############################################################################
219# SPD Max Retry Count
220# The number of attempts to download a patch before giving up (defualt is 3).
221# Note, this resets after a power-cycle.
222#SPD_MAX_RETRY_COUNT=3
223
224###############################################################################
Martijn Coenen6c11a692012-07-31 13:25:27 -0700225# transport driver
226#
227# TRANSPORT_DRIVER=<driver>
228#
229# where <driver> can be, for example:
230# "/dev/ttyS" (UART)
231# "/dev/bcmi2cnfc" (I2C)
232# "hwtun" (HW Tunnel)
233# "/dev/bcmspinfc" (SPI)
234# "/dev/btusb0" (BT USB)
235TRANSPORT_DRIVER="/dev/bcm2079x-i2c"
236
237###############################################################################
238# power control driver
239# Specify a kernel driver that support ioctl commands to control NFC_EN and
240# NFC_WAKE gpio signals.
241#
242# POWER_CONTRL_DRIVER=<driver>
243# where <driver> can be, for example:
244# "/dev/nfcpower"
245# "/dev/bcmi2cnfc" (I2C)
246# "/dev/bcmspinfc" (SPI)
247# i2c and spi driver may be used to control NFC_EN and NFC_WAKE signal
248POWER_CONTROL_DRIVER="/dev/bcm2079x-i2c"
249
250###############################################################################
251# I2C transport driver options
252# Mako does not support 10-bit I2C addresses
253# Revert to 7-bit address
254BCMI2CNFC_ADDRESS=0x77
255
256###############################################################################
257# I2C transport driver try to read multiple packets in read() if data is available
258# remove the comment below to enable this feature
259#READ_MULTIPLE_PACKETS=1
260
261###############################################################################
262# SPI transport driver options
Martijn Coenenfda0d632012-10-09 15:54:09 -0700263#SPI_NEGOTIATION={0A:F0:00:01:00:00:00:FF:FF:00:00}
Martijn Coenen6c11a692012-07-31 13:25:27 -0700264
265###############################################################################
266# UART transport driver options
267#
268# PORT=1,2,3,...
269# BAUD=115200, 19200, 9600, 4800,
270# DATABITS=8, 7, 6, 5
271# PARITY="even" | "odd" | "none"
272# STOPBITS="0" | "1" | "1.5" | "2"
273
274#UART_PORT=2
275#UART_BAUD=115200
276#UART_DATABITS=8
277#UART_PARITY="none"
278#UART_STOPBITS="1"
279
280###############################################################################
Martijn Coenen6c11a692012-07-31 13:25:27 -0700281# Insert a delay in microseconds per byte after a write to NFCC.
282# after writing a block of data to the NFCC, delay this an amopunt of time before
283# writing next block of data. the delay is calculated as below
284# NFC_WRITE_DELAY * (number of byte written) / 1000 milliseconds
285# e.g. after 259 bytes is written, delay (259 * 20 / 1000) 5 ms before next write
286NFC_WRITE_DELAY=20
287
Martijn Coenen6c11a692012-07-31 13:25:27 -0700288###############################################################################
Martijn Coenenfda0d632012-10-09 15:54:09 -0700289# Default poll duration (in ms)
290# The defualt is 500ms if not set (see nfc_target.h)
291#NFA_DM_DISC_DURATION_POLL=333