Martijn Coenen | a44149b | 2012-07-18 15:24:00 -0700 | [diff] [blame] | 1 | ###################### Start of libnfc-brcm-common.conf ####################### |
| 2 | |
| 3 | ############################################################################### |
| 4 | # Application options |
Martijn Coenen | ed7b140 | 2012-09-20 19:42:58 -0700 | [diff] [blame] | 5 | APPL_TRACE_LEVEL=0x01 |
Martijn Coenen | a44149b | 2012-07-18 15:24:00 -0700 | [diff] [blame] | 6 | PROTOCOL_TRACE_LEVEL=0x00000000 |
| 7 | |
| 8 | ############################################################################### |
Martijn Coenen | a44149b | 2012-07-18 15:24:00 -0700 | [diff] [blame] | 9 | # 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 Coenen | a44149b | 2012-07-18 15:24:00 -0700 | [diff] [blame] | 16 | # File used for NFA storage |
Martijn Coenen | 779f93b | 2012-07-30 13:18:09 -0700 | [diff] [blame] | 17 | NFA_STORAGE="/data/nfc" |
Martijn Coenen | a44149b | 2012-07-18 15:24:00 -0700 | [diff] [blame] | 18 | |
| 19 | ############################################################################### |
Martijn Coenen | 8164256 | 2012-09-03 16:56:57 +0200 | [diff] [blame] | 20 | # Snooze Mode Settings |
Martijn Coenen | a44149b | 2012-07-18 15:24:00 -0700 | [diff] [blame] | 21 | # |
Martijn Coenen | 8164256 | 2012-09-03 16:56:57 +0200 | [diff] [blame] | 22 | # By default snooze mode is enabled. Set SNOOZE_MODE_CFG byte[0] to 0 |
| 23 | # to disable. |
Martijn Coenen | a44149b | 2012-07-18 15:24:00 -0700 | [diff] [blame] | 24 | # |
Martijn Coenen | 8164256 | 2012-09-03 16:56:57 +0200 | [diff] [blame] | 25 | # 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 Coenen | a44149b | 2012-07-18 15:24:00 -0700 | [diff] [blame] | 30 | # 0 NFC Wake active mode (0=ActiveLow 1=ActiveHigh) |
| 31 | # 1 Host Wake active mode (0=ActiveLow 1=ActiveHigh) |
| 32 | # |
Martijn Coenen | 8164256 | 2012-09-03 16:56:57 +0200 | [diff] [blame] | 33 | #SNOOZE_MODE_CFG={08:00:00:00:01} |
| 34 | |
| 35 | ############################################################################### |
Martijn Coenen | a44149b | 2012-07-18 15:24:00 -0700 | [diff] [blame] | 36 | # Insert a delay in milliseconds after NFC_WAKE and before write to NFCC |
| 37 | NFC_WAKE_DELAY=20 |
Martijn Coenen | 9908c3d | 2012-10-09 18:29:42 -0700 | [diff] [blame] | 38 | |
Martijn Coenen | 8164256 | 2012-09-03 16:56:57 +0200 | [diff] [blame] | 39 | ############################################################################### |
| 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 Coenen | 9908c3d | 2012-10-09 18:29:42 -0700 | [diff] [blame] | 44 | # Delay after deasserting NFC-Wake before turn off chip (default 0) |
Martijn Coenen | 8164256 | 2012-09-03 16:56:57 +0200 | [diff] [blame] | 45 | # POST_POWER_OFF_DELAY |
| 46 | # Delay after turning off chip, before USERIAL_close returns (default 0) |
| 47 | # |
Martijn Coenen | 0bceb2d | 2013-04-07 12:55:02 -0700 | [diff] [blame^] | 48 | POWER_ON_DELAY=50 |
Martijn Coenen | e650109 | 2012-11-26 11:22:54 -0800 | [diff] [blame] | 49 | PRE_POWER_OFF_DELAY=10 |
Martijn Coenen | 8164256 | 2012-09-03 16:56:57 +0200 | [diff] [blame] | 50 | #POST_POWER_OFF_DELAY=0 |
Martijn Coenen | a44149b | 2012-07-18 15:24:00 -0700 | [diff] [blame] | 51 | |
| 52 | ############################################################################### |
Martijn Coenen | 0bceb2d | 2013-04-07 12:55:02 -0700 | [diff] [blame^] | 53 | # Maximum time (ms) to wait for RESET NTF after setting REG_PU to high |
| 54 | # The default is 1000. |
| 55 | NFCC_ENABLE_TIMEOUT=300 |
| 56 | |
| 57 | ############################################################################### |
Martijn Coenen | 9908c3d | 2012-10-09 18:29:42 -0700 | [diff] [blame] | 58 | # LPTD mode configuration |
| 59 | # byte[0] is the length of the remaining bytes in this value |
Martijn Coenen | a44149b | 2012-07-18 15:24:00 -0700 | [diff] [blame] | 60 | # if set to 0, LPTD params will NOT be sent to NFCC (i.e. disabled). |
Martijn Coenen | 9908c3d | 2012-10-09 18:29:42 -0700 | [diff] [blame] | 61 | # 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 Coenen | a44149b | 2012-07-18 15:24:00 -0700 | [diff] [blame] | 66 | # By default, LPTD is enabled and default settings are used. |
Martijn Coenen | 9908c3d | 2012-10-09 18:29:42 -0700 | [diff] [blame] | 67 | # See nfc_hal_dm_cfg.c for defaults |
| 68 | LPTD_CFG={00:B9:21:01:02:FF:FF:04:A0:0F:40:00:80:02:02:10:00:00:00:31:0C:30:00:00:00:00:00:00:00:00:00:00:00:00:00:00} |
Martijn Coenen | a44149b | 2012-07-18 15:24:00 -0700 | [diff] [blame] | 69 | |
| 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 Coenen | c11ac44 | 2013-03-27 16:32:34 -0700 | [diff] [blame] | 80 | NFA_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 Coenen | a44149b | 2012-07-18 15:24:00 -0700 | [diff] [blame] | 81 | |
| 82 | ############################################################################### |
Martijn Coenen | 9908c3d | 2012-10-09 18:29:42 -0700 | [diff] [blame] | 83 | # 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 Coenen | a44149b | 2012-07-18 15:24:00 -0700 | [diff] [blame] | 91 | |
| 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 Coenen | 9908c3d | 2012-10-09 18:29:42 -0700 | [diff] [blame] | 102 | # {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 |
| 105 | #PREINIT_DSP_CFG={20:C8:1E:06:1F:00:0F:03:3C:00:04:24:00:1C:00:75:00:77:00:76:00:1C:00:03:00:0A:00:48:01:00:00:40:04} |
Martijn Coenen | a44149b | 2012-07-18 15:24:00 -0700 | [diff] [blame] | 106 | |
| 107 | ############################################################################### |
Martijn Coenen | 9908c3d | 2012-10-09 18:29:42 -0700 | [diff] [blame] | 108 | # Configure crystal frequency when internal LPO can't detect the frequency. |
| 109 | #XTAL_FREQUENCY=0 |
Martijn Coenen | a44149b | 2012-07-18 15:24:00 -0700 | [diff] [blame] | 110 | |
| 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. |
| 115 | USE_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 Coenen | 0bceb2d | 2013-04-07 12:55:02 -0700 | [diff] [blame^] | 123 | # 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 Coenen | a44149b | 2012-07-18 15:24:00 -0700 | [diff] [blame] | 130 | # 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). |
| 134 | #ACTIVE_SE=0xF3 |
| 135 | |
| 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 |
| 142 | NFA_HCI_STATIC_PIPE_ID_F4=0x71 |
| 143 | |
| 144 | ############################################################################### |
Martijn Coenen | 9908c3d | 2012-10-09 18:29:42 -0700 | [diff] [blame] | 145 | # 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 Coenen | 1dcd6af | 2012-09-25 19:04:45 -0700 | [diff] [blame] | 149 | OBERTHUR_WARM_RESET_COMMAND=0x03 |
| 150 | |
| 151 | ############################################################################### |
Martijn Coenen | a44149b | 2012-07-18 15:24:00 -0700 | [diff] [blame] | 152 | # 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 Coenen | d76096a | 2012-09-26 13:24:25 -0700 | [diff] [blame] | 155 | UICC_LISTEN_TECH_MASK=0x01 |
Martijn Coenen | a44149b | 2012-07-18 15:24:00 -0700 | [diff] [blame] | 156 | |
| 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 |
Martijn Coenen | 9908c3d | 2012-10-09 18:29:42 -0700 | [diff] [blame] | 161 | |
Martijn Coenen | fd26932 | 2012-10-02 12:19:42 -0700 | [diff] [blame] | 162 | ############################################################################### |
| 163 | # 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. |
| 166 | AID_FOR_EMPTY_SELECT={08:A0:00:00:01:51:00:00:00} |
Martijn Coenen | a44149b | 2012-07-18 15:24:00 -0700 | [diff] [blame] | 167 | |
| 168 | ############################################################################### |
| 169 | # 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 Coenen | 60c5c68 | 2013-02-22 10:19:22 -0800 | [diff] [blame] | 180 | POLLING_TECH_MASK=0xFF |
Martijn Coenen | a44149b | 2012-07-18 15:24:00 -0700 | [diff] [blame] | 181 | |
| 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 Coenen | 55b6853 | 2012-10-17 15:39:40 -0700 | [diff] [blame] | 187 | P2P_LISTEN_TECH_MASK=0xC5 |
Martijn Coenen | a44149b | 2012-07-18 15:24:00 -0700 | [diff] [blame] | 188 | |
| 189 | ############################################################################### |
Martijn Coenen | 9908c3d | 2012-10-09 18:29:42 -0700 | [diff] [blame] | 190 | # 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. |
Martijn Coenen | b7958a6 | 2012-10-01 19:17:25 -0700 | [diff] [blame] | 194 | MAX_RF_DATA_CREDITS=1 |
| 195 | |
| 196 | ############################################################################### |
Martijn Coenen | a44149b | 2012-07-18 15:24:00 -0700 | [diff] [blame] | 197 | # 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 Coenen | 8164256 | 2012-09-03 16:56:57 +0200 | [diff] [blame] | 206 | # 2: screen-off card-emulation (CE4/CE3/CE1 modes are used) |
Martijn Coenen | a44149b | 2012-07-18 15:24:00 -0700 | [diff] [blame] | 207 | #SCREEN_OFF_POWER_STATE=0 |
Martijn Coenen | a44149b | 2012-07-18 15:24:00 -0700 | [diff] [blame] | 208 | |
| 209 | ############################################################################### |
| 210 | # Firmware patch file |
| 211 | # If the value is not set then patch download is disabled. |
Martijn Coenen | b120eea | 2012-07-30 16:10:49 -0700 | [diff] [blame] | 212 | FW_PATCH="/vendor/firmware/bcm2079x_firmware.ncd" |
Martijn Coenen | a44149b | 2012-07-18 15:24:00 -0700 | [diff] [blame] | 213 | |
| 214 | ############################################################################### |
Martijn Coenen | 8164256 | 2012-09-03 16:56:57 +0200 | [diff] [blame] | 215 | # Firmware pre-patch file (sent before the above patch file) |
| 216 | # If the value is not set then pre-patch is not used. |
Martijn Coenen | b120eea | 2012-07-30 16:10:49 -0700 | [diff] [blame] | 217 | FW_PRE_PATCH="/vendor/firmware/bcm2079x_pre_firmware.ncd" |
Martijn Coenen | a44149b | 2012-07-18 15:24:00 -0700 | [diff] [blame] | 218 | |
| 219 | ############################################################################### |
| 220 | # Firmware patch format |
| 221 | # 1 = HCD |
| 222 | # 2 = NCD (default) |
| 223 | #NFA_CONFIG_FORMAT=2 |
| 224 | |
| 225 | ############################################################################### |
Martijn Coenen | 9908c3d | 2012-10-09 18:29:42 -0700 | [diff] [blame] | 226 | # 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 Coenen | a44149b | 2012-07-18 15:24:00 -0700 | [diff] [blame] | 237 | # 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) |
| 247 | TRANSPORT_DRIVER="/dev/bcm2079x" |
| 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 |
| 260 | POWER_CONTROL_DRIVER="/dev/bcm2079x" |
| 261 | |
| 262 | ############################################################################### |
| 263 | # I2C transport driver options |
| 264 | # |
| 265 | BCMI2CNFC_ADDRESS=0 |
| 266 | |
| 267 | ############################################################################### |
| 268 | # I2C transport driver try to read multiple packets in read() if data is available |
| 269 | # remove the comment below to enable this feature |
| 270 | #READ_MULTIPLE_PACKETS=1 |
| 271 | |
| 272 | ############################################################################### |
| 273 | # SPI transport driver options |
Martijn Coenen | 9908c3d | 2012-10-09 18:29:42 -0700 | [diff] [blame] | 274 | #SPI_NEGOTIATION={0A:F0:00:01:00:00:00:FF:FF:00:00} |
Martijn Coenen | a44149b | 2012-07-18 15:24:00 -0700 | [diff] [blame] | 275 | |
| 276 | ############################################################################### |
| 277 | # UART transport driver options |
| 278 | # |
| 279 | # PORT=1,2,3,... |
| 280 | # BAUD=115200, 19200, 9600, 4800, |
| 281 | # DATABITS=8, 7, 6, 5 |
| 282 | # PARITY="even" | "odd" | "none" |
| 283 | # STOPBITS="0" | "1" | "1.5" | "2" |
| 284 | |
| 285 | #UART_PORT=2 |
| 286 | #UART_BAUD=115200 |
| 287 | #UART_DATABITS=8 |
| 288 | #UART_PARITY="none" |
| 289 | #UART_STOPBITS="1" |
| 290 | |
| 291 | ############################################################################### |
Martijn Coenen | a44149b | 2012-07-18 15:24:00 -0700 | [diff] [blame] | 292 | # Insert a delay in microseconds per byte after a write to NFCC. |
| 293 | # after writing a block of data to the NFCC, delay this an amopunt of time before |
| 294 | # writing next block of data. the delay is calculated as below |
| 295 | # NFC_WRITE_DELAY * (number of byte written) / 1000 milliseconds |
| 296 | # e.g. after 259 bytes is written, delay (259 * 20 / 1000) 5 ms before next write |
| 297 | NFC_WRITE_DELAY=20 |
| 298 | |
Martijn Coenen | a44149b | 2012-07-18 15:24:00 -0700 | [diff] [blame] | 299 | ############################################################################### |
Martijn Coenen | 9908c3d | 2012-10-09 18:29:42 -0700 | [diff] [blame] | 300 | # Default poll duration (in ms) |
| 301 | # The defualt is 500ms if not set (see nfc_target.h) |
| 302 | #NFA_DM_DISC_DURATION_POLL=333 |