From 6d5b82b9ea14d0679878bf364edf81de6a33a7a4 Mon Sep 17 00:00:00 2001 From: Jesse Chan Date: Sun, 10 May 2020 16:58:42 +0800 Subject: [PATCH] universal7885: Enable NFC support /system/etc/libnfc-nci.conf from M307FNXXU3BTG3 Signed-off-by: Jesse Chan Signed-off-by: SamarV-121 --- configs/libnfc-nci.conf | 163 ++++++++++++++++++++++++++++++++++++++++ universal7904-common.mk | 10 +++ 2 files changed, 173 insertions(+) create mode 100644 configs/libnfc-nci.conf diff --git a/configs/libnfc-nci.conf b/configs/libnfc-nci.conf new file mode 100644 index 0000000..a03c2f5 --- /dev/null +++ b/configs/libnfc-nci.conf @@ -0,0 +1,163 @@ +############################################################################### +# NFC Configuration for NON-HAL component S.LSI NFC Chip +# Samsung Electronics, System LSI Division +# Update Date : 2018/07/27 +# Configuration : UICC + eSE as CE mode & 106k P2P disabled +# Region : EUR OPEN / CHINA +# F/W Version dependency : NONE +########################## Start of libnfc-nci.conf ########################### +############################################################################### +# Application options +NFC_DEBUG_ENABLED=1 +############################################################################### +# performance measurement +# Change this setting to control how often USERIAL log the performance (throughput) +# data on read/write/poll +# defailt is to log performance dara for every 100 read or write +#REPORT_PERFORMANCE_MEASURE=100 +############################################################################### +# File used for NFA storage +NFA_STORAGE="/data/nfc" +############################################################################### +# When screen is turned off, specify the desired power state of the controller. +# 0: power-off-sleep state; DEFAULT +# 1: full-power state +# 2: screen-off card-emulation (CE4/CE3/CE1 modes are used) +SCREEN_OFF_POWER_STATE=1 +############################################################################### +# Force tag polling 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_B | +# NFA_TECHNOLOGY_MASK_F | NFA_TECHNOLOGY_MASK_ISO15693 | +# NFA_TECHNOLOGY_MASK_B_PRIME | NFA_TECHNOLOGY_MASK_KOVIO | +# NFA_TECHNOLOGY_MASK_ACTIVE +# +# Notable bits: +# NFA_TECHNOLOGY_MASK_A 0x01 /* NFC Technology A */ +# NFA_TECHNOLOGY_MASK_B 0x02 /* NFC Technology B */ +# NFA_TECHNOLOGY_MASK_F 0x04 /* NFC Technology F */ +# NFA_TECHNOLOGY_MASK_ISO15693 0x08 /* Proprietary Technology */ +# NFA_TECHNOLOGY_MASK_KOVIO 0x20 /* Proprietary Technology */ +# NFA_TECHNOLOGY_MASK_ACTIVE 0x40 /* NFC Technology Active */ +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_ACTIVE +# +# Notable bits: +# NFA_TECHNOLOGY_MASK_A 0x01 /* NFC Technology A */ +# NFA_TECHNOLOGY_MASK_F 0x04 /* NFC Technology F */ +# NFA_TECHNOLOGY_MASK_ACTIVE 0x40 /* NFC Technology Active */ +P2P_LISTEN_TECH_MASK=0xC4 +PRESERVE_STORAGE=1 +############################################################################### +# Override the stack default for NFA_EE_MAX_EE_SUPPORTED set in nfc_target.h. +# The value is set assumeing discovery of 0x00(Host), 0xC0(Ese) and 0x80(UICC). +# If a platform will exclude and SE, this value can be reduced so that the stack +# will not wait any longer than necessary. +# Maximum EE supported number +#NFA_MAX_EE_SUPPORTED=3 +############################################################################### +# AID_MATCHING constants +# AID_MATCHING_EXACT_ONLY 0x00 +# AID_MATCHING_EXACT_OR_PREFIX 0x01 +# AID_MATCHING_PREFIX_ONLY 0x02 +# AID_MATCHING_EXACT_OR_SUBSET_OR_PREFIX 0x03 +AID_MATCHING_MODE=0x01 + +############################################################################### +# Partial AID setting : Only used for ATT / TMO / VZW +# This configuration may be changed by MNO specific requirement. +# Description +# 1st byte : NCI Length +# 2nd byte : Number of set +# 3rd~ bytes : Partial matching order +# Matching value : Full matching = 0x00, Subset Matching = 0x01, Superset Matching : 0x02, Pattern Matching : 0x03 +# ex) 2f 39 03 02 01 02 --> order : full matching - subset matching - superset matching PARTIAL_AID={03:02:01:02} +PARTIAL_AID={02:01:05} + +############################################################################### +# UICC listen tech mask +# Force UICC to only listen to the following technology(s). +# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B. +# If this option is blocked by # comment, default value will be applied +############################################################################### +# Description +# Oring each tech mask +# Type A : 0x01 +# Type B : 0x02 +# Type F : 0x04 +############################################################################### +# Guide +# HK : UICC_LISTEN_TECH_MASK=0x07 (Enable Type F card) +# Other region : UICC_LISTEN_TECH_MASK=0x03 (Default value) +UICC_LISTEN_TECH_MASK=0x07 + +############################################################################### +# Default poll duration (in ms) +# The defualt is 500ms if not set (see nfc_target.h) +NFA_DM_DISC_DURATION_POLL=500 + +############################################################################### +# eSE Chip Type Setting +# Configure eSE Chip Type. +# NFA_HCI_USE_FORCE_SETTING = 0x00 : Auto Setting +# NFA_HCI_USE_FORCE_SETTING = 0x01 : Manual Setting +# NFA_HCI_ESE_CHIP_TYPE=0x00 : Oberthur eSE +# NFA_HCI_ESE_CHIP_TYPE=0x01 : Gemalto eSE +# NFA_HCI_DEFAULT_STATIC_PIPE_TYPE = 0x00 : Supported dynamic pipe for wired C/E. +# NFA_HCI_DEFAULT_STATIC_PIPE_TYPE = 0x01 : Supported static pipe for wired C/E. +# NFA_HCI_APDU_GATE = 0xF0 : Gate ID for dynamic pipe. +# You must set this value if you set 'NFA_HCI_DEFAULT_STATIC_PIPE_TYPE = 0x00'. +NFA_HCI_USE_FORCE_SETTING=0x00 +NFA_HCI_ESE_CHIP_TYPE=0x01 +NFA_HCI_DEFAULT_STATIC_PIPE_TYPE=0x01 +############################################################################### + +############################################################################### +# eSE Power Stable Time +# Configure eSE Power Stable Time (ms) +# Only for Gemalto COS + +ESE_POWER_STABLE_TIME=50 +############################################################################### + +############################################################################### +# Application options +APPL_TRACE_LEVEL=0xFF +PROTOCOL_TRACE_LEVEL=0xFFFFFFFF +############################################################################### + + +############################################################################### +# power control driver +# Specify a kernel driver that support ioctl commands to control NFC_EN and +# NFC_WAKE gpio signals. +# +# POWER_CONTRL_DRIVER= +# i2c and spi driver may be used to control NFC_EN and NFC_WAKE signal +POWER_CONTROL_DRIVER="/dev/sec-nfc" + +############################################################################### +# transport driver +# +# TRANSPORT_DRIVER= +# +# where can be, for example: +# "/dev/ttyS" (UART) +# "/dev/bcmi2cnfc" (I2C) +# "hwtun" (HW Tunnel) +# "/dev/bcmspinfc" (SPI) +# "/dev/btusb0" (BT USB) +TRANSPORT_DRIVER="/dev/sec-nfc" + +############################################################################### +# ProtocolClt was removed from NFA_PROPRIETARY_CFG, +# and a new NFA_PROPRIETARY_CFG_CLT variable was created. +# protocolClt default value = 0x90 +NFA_PROPRIETARY_CFG_CLT=0x90 +ACTIVE_SE=0x02 + +############### end of config ############################## diff --git a/universal7904-common.mk b/universal7904-common.mk index 156b010..8d8fc54 100644 --- a/universal7904-common.mk +++ b/universal7904-common.mk @@ -23,6 +23,16 @@ PRODUCT_PACKAGES += \ init.usb_accessory.rc \ fstab.enableswap +# NFC +PRODUCT_PACKAGES += \ + libnfc-nci \ + libnfc_nci_jni \ + NfcNci \ + Tag + +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/configs/libnfc-nci.conf:system/etc/libnfc-nci.conf + # Net PRODUCT_PACKAGES += \ netutils-wrapper-1.0