###############################################################################
# Firmware patch file
#  If the value is not set then patch download is disabled.
FW_PATCH="/vendor/firmware/bcm20795_firmware.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=""

###############################################################################
# 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 - during LPTD tuning the following parameters are changed
#       byte[13 - 16] = vector threshold
#       byte[17 - 20] = upper power threshold
#       byte[21 - 24] = lower power threshold
#       byte[25] = threshold mode (0=vector, 4=power, 8= vector AND power, c = vector OR power)
#       byte[83] = tuning mode (1 = enable LPTD diagnostics for tuning, 4= Enable statistics command, 5 = both)
#  By default, LPTD is enabled and default settings are used.
#                  00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23x24x25 26 27 28x29x30 31 32x33x34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79x80x81 82 83 84 85 86 87 88 89 90 91 92 93
#LPTD_CFG={66:B9:64:01:00:FF:FF:40:00:8B:13:00:10:00:04:00:00:00:00:03:00:00:00:03:00:0C:00:04:00:00:00:00:03:00:00:00:03:00:0C:00:00:0D:00:00:00:00:00:00:00:00:00:00:33:23:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:03:00:02:53:3B:0F:00:00:00:00:00:00:00:00:00:00:00:00:04:00:00:00:0E:00:00:00}
LPTD_CFG={66:B9:64:01:00:FF:FF:50:00:8B:13:00:10:33:07:00:00:00:00:0A:00:00:00:0A:00:0C:00:04:00:00:00:00:03:00:00:00:03:00:0C:00:00:0D:00:00:00:00:00:00:00:00:00:00:33:23:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:03:00:02:53:3B:0F:00:00:00:00:00:00:00:00:00:00:00:00:04:00:00:00:0E:00:00:00}


###############################################################################
# Startup Configuration (256 bytes maximum)
#
# This is applied at stack startup.
NFA_DM_START_UP_CFG={71:80:01:01:B0:05:01:03:03:03:08:B5:03:01:03:FF:C9:0D:24:00:00:00:01:00:BB:00:E4:00:0A:01:02:D6:0D:00:02:00:00:00:00:00:01:00:01:5A:00:8A:B2:02:B8:0B:C8:1E:06:1F:00:0A:02:30:00:04:24:00:1C:00:75:00:77:00:76:00:1C:00:03:00:0A:00:56:01:00:00:40:04:D7:01:07:DD:14:00:00:00:38:16:40:40:00:00:80:00:40:24:27:0A:67:20:00:52:20:CA:05:00:00:00:00:18}

###############################################################################
# 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:00:C3:04:40:4B:4C:00}

###############################################################################
# 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}

