a7xelte: Add NFC configuration
authorDanny Wood <danwood76@gmail.com>
Thu, 25 Apr 2019 15:46:55 +0000 (16:46 +0100)
committerSourajit Karmakar <sourajit.karmakar@gmail.com>
Tue, 7 Jul 2020 14:54:34 +0000 (10:54 -0400)
Change-Id: I11719627a749a80a31afcc0cf2c2b2fba620d794

configs/nfc/libnfc-sec-hal.conf [new file with mode: 0644]
configs/nfc/libnfc-sec.conf [new file with mode: 0644]
configs/nfc/nfcee_access.xml [new file with mode: 0644]
device.mk

diff --git a/configs/nfc/libnfc-sec-hal.conf b/configs/nfc/libnfc-sec-hal.conf
new file mode 100644 (file)
index 0000000..d1929ae
--- /dev/null
@@ -0,0 +1,40 @@
+############################
+## NFC device is going to sleep mode after SLEEP_TIMEOUT(ms) and the device needs
+## wakeup delay(ms) when it is going to wake up from sleep mode.
+SLEEP_TIMEOUT=1000
+WAKEUP_DELAY=20
+
+############################
+## Paths
+## F/W image
+FW_IMAGE="/vendor/firmware/sec_s3fwrn5s_firmware.bin"
+## Reg file
+RFREG_FILE="/etc/sec_s3fwrn5s_rfreg.bin"
+## Power driver
+POWER_DRIVER="/dev/sec-nfc"
+## Transport driver
+TRANS_DRIVER="/dev/sec-nfc"
+
+############################
+## TRACE_LEVEL  (0: only err, 1: and debug, 2: trace also)
+## DATA TRACE level (0: not display, 1: simply, 2: all of data trace)
+TRACE_LEVEL=2
+DATA_TRACE=2
+
+############################
+# F/W Download Option
+# 0 : Download for different version
+# 1 : Download for upper version
+# 2 : Force Download
+FW_UPDATE_MODE=2
+
+############################
+## FW Base Address for S3FWRN5S (0x3000)
+FW_BASE_ADDRESS=0x3000
+
+############################           
+## Clock option for 26MHz PLL (02 01 01)
+FW_CFG_CLK_TYPE=0x02
+FW_CFG_CLK_SPEED=0x01
+FW_CFG_CLK_REQ=0x01
+
diff --git a/configs/nfc/libnfc-sec.conf b/configs/nfc/libnfc-sec.conf
new file mode 100644 (file)
index 0000000..adbc729
--- /dev/null
@@ -0,0 +1,151 @@
+###############################################################################
+# NFC Configuration for NON-HAL component S3FWRN5
+# Samsung Electronics, System LSI Division
+# Update Date : 2014/11/11
+# eSE : NFC Standalone
+# Region : Other Region
+# F/W Version dependency : NONE
+# This file contains below
+# 1) Default routing information : eSE + UICC (Active SE = 0x02)
+# 2) Partial AID setting : Disable
+# 3) UICC listen tech mask : 0x03 (Type A / B)
+# 4) Listen tech mask for P2P : 0xC4 (Disable 106kbps passive P2P)
+# 5) Poll tech mask : 0xEF (Enable All tech - B prime is not supported)
+# 6) eSE warm reset : Enabled
+# 7) Other Information
+
+################################################################################
+# 1) Default routing information
+# SPRINT :  DEFAULT_ISODEP_ROUTE=0x02 (eSE only) / ACTIVE_SE=0x02
+# Other region : DEFAULT_ISODEP_ROUTE=0x03 (UICC) / ACTIVE_SE=0x03
+DEFAULT_ISODEP_ROUTE=0x03
+ACTIVE_SE=0x03
+
+###############################################################################
+# 2) 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:02}
+
+###############################################################################
+# Guide for tech mask
+# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
+# Notable bits:
+#   NFA_TECHNOLOGY_MASK_A         0x01
+#   NFA_TECHNOLOGY_MASK_B         0x02
+#   NFA_TECHNOLOGY_MASK_F         0x04
+#   NFA_TECHNOLOGY_MASK_ISO15693  0x08
+#   NFA_TECHNOLOGY_MASK_B_PRIME   0x10
+#   NFA_TECHNOLOGY_MASK_KOVIO       0x20
+#   NFA_TECHNOLOGY_MASK_A_ACTIVE    0x40
+#   NFA_TECHNOLOGY_MASK_F_ACTIVE    0x80
+# Example :
+# Polling mask for A / B / F / V(15693) / Kovio / Active A / Active F
+# NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B |
+# NFA_TECHNOLOGY_MASK_F | NFA_TECHNOLOGY_MASK_ISO15693 |
+# NFA_TECHNOLOGY_MASK_A_ACTIVE | NFA_TECHNOLOGY_MASK_F_ACTIVE.
+# 0x01 | 0x02 | 0x04 | 0x08 | 0x20 | 0x40
+# => POLLING_TECH_MASK=0xEF
+
+###############################################################################
+# 3) 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
+# Guide for each region
+# SPRINT :  UICC_LISTEN_TECH_MASK=0x01 (Type A only)
+# HK : UICC_LISTEN_TECH_MASK=0x07 (Enable Type F card)
+# Other region : UICC_LISTEN_TECH_MASK=0x03 (Default value)
+UICC_LISTEN_TECH_MASK=0x03
+
+###############################################################################
+# 4) Listen tech mask for P2P
+# Force tag polling for the following technology(s).
+# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B |
+#            NFA_TECHNOLOGY_MASK_F | NFA_TECHNOLOGY_MASK_ISO15693 |
+#            NFA_TECHNOLOGY_MASK_A_ACTIVE | NFA_TECHNOLOGY_MASK_F_ACTIVE.
+# Current Setting : Enable all poll tech
+POLLING_TECH_MASK=0xEF
+
+###############################################################################
+# 5) Poll tech mask
+# 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_A_ACTIVE | NFA_TECHNOLOGY_MASK_F_ACTIVE
+# For HK, P2P_LISTEN_TECH_MASK may be 0xC0 for enhance type F card success ratio
+P2P_LISTEN_TECH_MASK=0xC4
+
+###############################################################################
+# Maximum Number of Credits to be allowed by the NFCC
+#   This value overrides what the NFCC specifices allowing the host to have
+#   the control to work-around transport limitations.  If this value does
+#   not exist or is set to 0, the NFCC will provide the number of credits.
+MAX_RF_DATA_CREDITS=1
+
+###############################################################################
+# When disconnecting from Oberthur secure element, perform a warm-reset of
+# the secure element to deselect the applet.
+# The default hex value of the command is 0x3.  If this variable is undefined,
+# then this feature is not used.
+# 6) OBERTHUR_WARM_RESET_COMMAND must be enabled for all eSE model
+OBERTHUR_WARM_RESET_COMMAND=0x03
+
+###############################################################################
+# 7) Other Information
+# It will be checked in next version.
+###############################################################################
+
+###############################################################################
+# Application options
+APPL_TRACE_LEVEL=0xFF
+PROTOCOL_TRACE_LEVEL=0xFFFFFFFF
+
+PRESERVE_STORAGE=1
+
+# File used for NFA storage
+NFA_STORAGE="/data/nfc"
+
+###############################################################################
+# power control driver
+# Specify a kernel driver that support ioctl commands to control NFC_EN and
+# NFC_WAKE gpio signals.
+#
+# POWER_CONTRL_DRIVER=<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=<driver>
+#
+#  where <driver> 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"
+
+###############################################################################
+# Default poll duration (in ms)
+#  The defualt is 500ms if not set (see nfc_target.h) same as M project
+NFA_DM_DISC_DURATION_POLL=500
+
+###############################################################################
+# 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)
+# 3: FPM CE in snooze mode, Switch Off, Battery Off still available.
+SCREEN_OFF_POWER_STATE=3
+
+###############################################################################
+# NCI Hal Module name
+NCI_HAL_MODULE="nfc_nci"
\ No newline at end of file
diff --git a/configs/nfc/nfcee_access.xml b/configs/nfc/nfcee_access.xml
new file mode 100644 (file)
index 0000000..5b7bf36
--- /dev/null
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android">
+    <!-- Applications granted NFCEE access on user builds
+
+    See packages/apps/Nfc/etc/sample_nfcee_access.xml for full documentation.
+     -->
+
+    <!--  ISIS development certificate-->
+    <signer android:signature="3082034830820230a00302010202044f62832f300d06092a864886f70d01010505003066310b3009060355040613025553310b3009060355040813024e593111300f060355040713084e657720596f726b310d300b060355040a130449736973310d300b060355040b13044973697331193017060355040313104a564c2056656e7475726573204c4c43301e170d3132303331363030303235355a170d3339303830323030303235355a3066310b3009060355040613025553310b3009060355040813024e593111300f060355040713084e657720596f726b310d300b060355040a130449736973310d300b060355040b13044973697331193017060355040313104a564c2056656e7475726573204c4c4330820122300d06092a864886f70d01010105000382010f003082010a02820101009aaf7f1047a6821ab0b4ffb7d58f8a0a66f09689dc59926e966b24896759b96304825ea149ebf30e6249877fedac185eec7aa7a44dc718ab578584888c673f46bc351b48dcd54f47bd27a0836032899b0510e0ce69863184bcd033b0654f09e801a24f06fadd7330f3665e12fbbf1c2b616ca14ac169d206607f229a7ad6d3579d330373be0de0d7148eabb80beed83602494247c0b7b735812a5ece89c1ce7f2229f757e29ebfae72350d2db27974cd5341ba5872a92f471a0768972e35246d0269d41d345cd8bda2df14009212d9640f3a33116460dce389c5a113b84e4a6b7f8b597cb601e53dace8777e380ffe4d9f0abfa14993a1f653c9a6bb5a245fd10203010001300d06092a864886f70d010105050003820101009089e52bb237b78c92dd95b4d07004751b3d68e12e83ab0baca39ea593b9b9f8f6395491f6616fe4d2e4c7a7e53c898a17f3ab2c9fac3b1c0886ee8e769ba96488aafd646a7aa425fb283cd6d9d600a083d18868d4d93de7ec73b258f61fc66d2a3f4b4c7b53df62fd3374a5e658bd8266ee24480923ea584f2e7adde360b459e4ad01bcb9f5582f95dab3964e546baf5b33f63acfbb64494902ebae5cc0930abb7dabf0e4727fcc755a6baa6e68be3b864ab1e6438fed6dd280f081ef1e3b3545a257b456b68787d8080653c31ed7f96f6b5a67186dc5a35e620b9bbb9d47a1871d58bf38e192906399c53cb2fab61c1392deae6209d6fb476897a471a23ab4" >
+                       <model sales="tmo" />
+               </signer>
+               
+    <!--  ISIS production certificate-->
+    <signer android:signature="3082036A30820252A00302010202044F8867D3300D06092A864886F70D01010505003077310B3009060355040613025553310B30090603550408130257413111300F0603550407130842656C6C65767565311C301A060355040A131350726F64756374205265616C697A6174696F6E3111300F060355040B1308542D4D6F62696C65311730150603550403130E4E46432050726F64756374696F6E301E170D3132303431333137353231395A170D3339303833303137353231395A3077310B3009060355040613025553310B30090603550408130257413111300F0603550407130842656C6C65767565311C301A060355040A131350726F64756374205265616C697A6174696F6E3111300F060355040B1308542D4D6F62696C65311730150603550403130E4E46432050726F64756374696F6E30820122300D06092A864886F70D01010105000382010F003082010A0282010100D74AC622FDF8F341BE8661DC89F447A78AE25E9F2852AF47242C4FA0FFFAC6658513EFCB427DDA28DB8BEF94F11DFC0B95D1C41ED968E90976B75A66620521D3B2AFA19E8F1E7E93271E444D00020547E2E5307BBFB62D5933116D6D384B5C3B845D1D92B30FF4F689ECB25E7D94D1FCC2F85BAB17CE944CC7CFCA673C5CDBB71F092EACE5432EF45682AA712D1E806F7139CA6BED6BA82F4E67F39B28E49A9704C97C6AC021C3CA6B1143051BCFE67A98F2DEAE788C1DB703D4BB07FB0322998B493BA56CCE49E25691B11E0DD48AC1A8CB5F6CAA6629CB661652FA0EA6288712386DA83F5162150DB8D9353F7E291A54B9C877965C6721DE695C8143BB7CD70203010001300D06092A864886F70D010105050003820101005073792AF8C6DB0762C992A776119DA201A5D62192D4C08EFB827CE999581034B002AE9DD1ED524E860B7F32097918AD82267954336C523D46C5602EF8A2BBFD1BEA553A140706825BFCBD2C60CAA46862E07D7084F83A74CA5271FAB289623D5AF8804E38CCE2CAB9A5EE00A3E5E66E2D7019ED7BAEA337307C0C977CC584E66C4160E6BF700BE37E534691F8D52F8BE65A1781363353ADFB3E0A6746796A31F8A7D6576BCBAC4E670D98FA0D76589B1F1C41029D83AE9E094955D33DE24A264C8B0BDFAFBB418BF6302FC256442A2DD93B14F31CFFDEC8430BDC5EF04B74CA7B058EA0E4ACC12D3558744F9DE21BB8E5443D50C4B83998A012C003B8402E54" >
+                       <model sales="tmo" />
+               </signer>       
+               
+    <!--  Samsung nfcextras Signature -->
+    <signer android:signature="30820411308202f9a003020102020900fd222d6fc87acde0300d06092a864886f70d010105050030819e310b3009060355040613024b523113301106035504080c0a536f7574684b6f7265613112301006035504070c095375776f6e43697479311b3019060355040a0c1253616d73756e67436f72706f726174696f6e310c300a060355040b0c03444d433114301206035504030c0b53616d73756e67436572743125302306092a864886f70d01090116166d2e73656375726974794073616d73756e672e636f6d3020170d3133303132343035323231305a180f32313132313233313035323231305a30819e310b3009060355040613024b523113301106035504080c0a536f7574684b6f7265613112301006035504070c095375776f6e43697479311b3019060355040a0c1253616d73756e67436f72706f726174696f6e310c300a060355040b0c03444d433114301206035504030c0b53616d73756e67436572743125302306092a864886f70d01090116166d2e73656375726974794073616d73756e672e636f6d30820120300d06092a864886f70d01010105000382010d00308201080282010100a2c51f56a1c8bf64ada0af152ced2344ac070b447efc85f1b69ce90fbc2b7a71257240c215eedbf7445c474fe34d62bc3035d79ba110859118f1200ecc9ae48b56400e187591272d59734e456d9dfd5a1f3227a30b9448bda84c2901b501295445e204ddb6f9f9e36b2560998f1764e446176fe5d83987220f8ed15106dc7c8ecb6798de45f5fbae54efe2b35a379631f545f84c98243aa4d92ef339330f954ad32e4e97aff69cbf68928484b03a8fa8eafdc8ff2a9801f249302d467b05f99a1680e4fb5b11624d5e53d67f09e86b82dd7305e3e483b12e3720fcccc2bc8857f13b6e1d60512074004f67d86241940eaba34afda2af3904b04913fa50f499f7020103a350304e301d0603551d0e04160414eef0f8211dccf6e442f3388889c9a3ea3ce0236c301f0603551d23041830168014eef0f8211dccf6e442f3388889c9a3ea3ce0236c300c0603551d13040530030101ff300d06092a864886f70d01010505000382010100395c7e7900c471e03fa9850905c6ab1edc5a8b7d43a16689d9bb1ec1a06513c4ea8f7471c6e474244174261cc151ae8d1a61019e0ed81fffee8afa1d01d85a32de796f4b46d0d5ddfcca7d1f90d523b54751f505a4e3b059569f24ba2564d72fbc4081533840f618c2993d935134d3c987605e032f6a12889af3190af1714a90f2a3476b8e0016ab45564bf10e611899babd86af33149ca6838b0a885c752ffe879f37997f262e819c62cf59caa794cfaaf8e3c462f5092a34264f0634316b13a67a644e104dc4070e8b6628a46f41da7e3c741f6edc21152f9f947dde6fe14b58f34e4d9e7abd103cb1ca9e09eb4fa5b553baa413329bd3919caca2d52e6d4b" >
+               </signer>
+               
+    <!--  Samsung Platform signature -->
+    <signer android:signature="308204d4308203bca003020102020900d20995a79c0daad6300d06092a864886f70d01010505003081a2310b3009060355040613024b52311430120603550408130b536f757468204b6f726561311330110603550407130a5375776f6e2043697479311c301a060355040a131353616d73756e6720436f72706f726174696f6e310c300a060355040b1303444d43311530130603550403130c53616d73756e6720436572743125302306092a864886f70d0109011616616e64726f69642e6f734073616d73756e672e636f6d301e170d3131303632323132323531325a170d3338313130373132323531325a3081a2310b3009060355040613024b52311430120603550408130b536f757468204b6f726561311330110603550407130a5375776f6e2043697479311c301a060355040a131353616d73756e6720436f72706f726174696f6e310c300a060355040b1303444d43311530130603550403130c53616d73756e6720436572743125302306092a864886f70d0109011616616e64726f69642e6f734073616d73756e672e636f6d30820120300d06092a864886f70d01010105000382010d00308201080282010100c986384a3e1f2fb206670e78ef232215c0d26f45a22728db99a44da11c35ac33a71fe071c4a2d6825a9b4c88b333ed96f3c5e6c666d60f3ee94c490885abcf8dc660f707aabc77ead3e2d0d8aee8108c15cd260f2e85042c28d2f292daa3c6da0c7bf2391db7841aade8fdf0c9d0defcf77124e6d2de0a9e0d2da746c3670e4ffcdc85b701bb4744861b96ff7311da3603c5a10336e55ffa34b4353eedc85f51015e1518c67e309e39f87639ff178107f109cd18411a6077f26964b6e63f8a70b9619db04306a323c1a1d23af867e19f14f570ffe573d0e3a0c2b30632aaec3173380994be1e341e3a90bd2e4b615481f46db39ea83816448ec35feb1735c1f3020103a382010b30820107301d0603551d0e04160414932c3af70b627a0c7610b5a0e7427d6cfaea3f1e3081d70603551d230481cf3081cc8014932c3af70b627a0c7610b5a0e7427d6cfaea3f1ea181a8a481a53081a2310b3009060355040613024b52311430120603550408130b536f757468204b6f726561311330110603550407130a5375776f6e2043697479311c301a060355040a131353616d73756e6720436f72706f726174696f6e310c300a060355040b1303444d43311530130603550403130c53616d73756e6720436572743125302306092a864886f70d0109011616616e64726f69642e6f734073616d73756e672e636f6d820900d20995a79c0daad6300c0603551d13040530030101ff300d06092a864886f70d01010505000382010100329601fe40e036a4a86cc5d49dd8c1b5415998e72637538b0d430369ac51530f63aace8c019a1a66616a2f1bb2c5fabd6f313261f380e3471623f053d9e3c53f5fd6d1965d7b000e4dc244c1b27e2fe9a323ff077f52c4675e86247aa801187137e30c9bbf01c567a4299db4bf0b25b7d7107a7b81ee102f72ff47950164e26752e114c42f8b9d2a42e7308897ec640ea1924ed13abbe9d120912b62f4926493a86db94c0b46f44c6161d58c2f648164890c512dfb28d42c855bf470dbee2dab6960cad04e81f71525ded46cdd0f359f99c460db9f007d96ce83b4b218ac2d82c48f12608d469733f05a3375594669ccbf8a495544d6c5701e9369c08c810158">
+        <package android:name="org.simalliance.openmobileapi.service" />
+        <package android:name="com.skms.android.agent" />
+        <package android:name="com.sec.android.wallet" />
+        <package android:name="com.samsung.android.spay" />
+        <package android:name="com.samsung.android.spayfw" />
+        <package android:name="com.sem.factoryapp" />
+    </signer>
+
+    <!-- Mobeewave Signature -->
+    <signer android:signature="3082038f30820277a003020102020463b007e8300d06092a864886f70d01010b05003078310b3009060355040613024341310f300d060355040813065175656265633111300f060355040713084d6f6e747265616c31123010060355040a13094d6f6265657761766531143012060355040b130b456e67696e656572696e67311b30190603550403131253656261737469656e20466f6e7461696e65301e170d3134303332313233343435325a170d3334303331363233343435325a3078310b3009060355040613024341310f300d060355040813065175656265633111300f060355040713084d6f6e747265616c31123010060355040a13094d6f6265657761766531143012060355040b130b456e67696e656572696e67311b30190603550403131253656261737469656e20466f6e7461696e6530820122300d06092a864886f70d01010105000382010f003082010a02820101009208c06950ece6d8d029f01bc01dda6be8e6708ab85556af202c3ebb2c7db1e1f4e3452c65f1d0d193d4d1b4b7ac29755db56598c7b86224fb89dccdbc8afd68d64032aa107698b3d31412177f35671ef15a9e47472fec6f421dd7f8e3c1682bc53e1a89097c54dfb55c8d7f0dede3fd18badb5e3f5fa59b166e1c89525757f6924d56b341788b4d771fc0f96936bc5d4adc88778ed5e448f805393b0edad43f9f65f36eb02fbfd542ecff9329b0164e1fc34c3137e4e3383ebc489d8974f6a83f3fb1312a4312d3bcc26dfa72fc640060a582206aad699364bbaddbef08d4bf75b79d76ee75bc6b6debf41b1a61431f41ed4bff6c9fe06e27df82a84faba6a50203010001a321301f301d0603551d0e04160414ff3321b8ce9eb5a0eea9343571b3158df307a4db300d06092a864886f70d01010b050003820101001461ace82b2f2744d5cdd00eebd8fa28c765f1e0ffab1396be46a90af15eb574aadaf4d08c20a71b1b0789965a0ecd26ea19a92543826a80425faaf7a5330cedadeae71a2ad1187604d1297c6abf50a08d6a3cd8df75441788429cee8058ab54290f40e021fa2cbf47e599699b66ebc0800cf059501887b2ab85cab5a0d6c12041bd8a97d5b621019377d826f5b1488181c6d5cc2d23a27dc043f75e271a1f4b3331b02c16daf1a164f5a6c4e1378dd63c5d912d07915416687e0cfe2c4d089cc3624874bf741c6ba92580e999d443c45e96c2003933cd885134b124955eee2d59ff3f793cec1cab7a23e431f739133e44589a93368f9abf9fe73ba62c10997d" />
+</resources>
index 94982e5650b5b3a24267914b1a07c1ab0c7fe982..ccef3056e7134c9c681f4bd15517ca92dd871ff4 100644 (file)
--- a/device.mk
+++ b/device.mk
@@ -55,6 +55,23 @@ PRODUCT_COPY_FILES += \
     $(LOCAL_PATH)/keylayout/gpio_keys.kl:system/usr/keylayout/gpio_keys.kl \
     $(LOCAL_PATH)/keylayout/sec_touchkey.kl:system/usr/keylayout/sec_touchkey.kl
 
+# NFC
+PRODUCT_COPY_FILES += \
+    $(LOCAL_PATH)/configs/nfc/libnfc-sec-hal.conf:system/etc/libnfc-sec-hal.conf \
+    $(LOCAL_PATH)/configs/nfc/libnfc-sec.conf:system/etc/libnfc-brcm.conf \
+    $(LOCAL_PATH)/configs/nfc/nfcee_access.xml:system/etc/nfcee_access.xml
+
+PRODUCT_PACKAGES += \
+    libnfc-nci \
+    libnfc_nci_jni \
+    NfcNci \
+    Tag \
+    com.android.nfc_extras \
+    android.hardware.nfc@1.0-impl
+
+PRODUCT_PROPERTY_OVERRIDES += \
+    ro.nfc.sec_hal=true
+
 # Permissions
 PRODUCT_COPY_FILES += \
     frameworks/native/data/etc/android.hardware.bluetooth_le.xml:system/etc/permissions/android.hardware.bluetooth_le.xml \