aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--nci/jni/NativeNxpFeature.cpp18
-rw-r--r--nci/jni/extns/pn54x/src/utils/phNxpConfig.cpp16
2 files changed, 19 insertions, 15 deletions
diff --git a/nci/jni/NativeNxpFeature.cpp b/nci/jni/NativeNxpFeature.cpp
index 170575c8..172d8ba0 100644
--- a/nci/jni/NativeNxpFeature.cpp
+++ b/nci/jni/NativeNxpFeature.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
* Not a Contribution.
*
* Copyright (C) 2015 NXP Semiconductors
@@ -664,12 +664,14 @@ tNFA_STATUS GetNumNFCEEConfigured(void)
uint8_t cmd_buf_len = 0x08;
uint8_t num_config_params = 0x02;
uint8_t config_param_len = 0x05;
- uint8_t buf_offset = 0x08;
- cmd_buf[buf_offset++] = NXP_NFC_SET_CONFIG_PARAM_EXT;
- cmd_buf[buf_offset++] = NXP_NFC_PARAM_ID_SWP1A;
- cmd_buf_len += 0x02;
- num_config_params++;
- config_param_len += 0x02;
+ if ((nfcFL.chipType == pn551) || (nfcFL.chipType == pn553) || (nfcFL.chipType == pn557)) {
+ uint8_t buf_offset = 0x08;
+ cmd_buf[buf_offset++] = NXP_NFC_SET_CONFIG_PARAM_EXT;
+ cmd_buf[buf_offset++] = NXP_NFC_PARAM_ID_SWP1A;
+ cmd_buf_len += 0x02;
+ num_config_params++;
+ config_param_len += 0x02;
+ }
cmd_buf[2] = config_param_len;
cmd_buf[3] = num_config_params;
@@ -842,7 +844,7 @@ tNFA_STATUS enableSWPInterface()
SetCbStatus(NFA_STATUS_FAILED);
{
SyncEventGuard guard (gnxpfeature_conf.NxpFeatureConfigEvt);
- if(nfcFL.nfccFL._NFC_NXP_STAT_DUAL_UICC_WO_EXT_SWITCH) {
+ if ((nfcFL.chipType == pn551) || (nfcFL.chipType == pn553) || (nfcFL.chipType == pn557)) {
status = NFA_SendNxpNciCommand(sizeof(dual_uicc_cmd_buf),
dual_uicc_cmd_buf, NxpResponse_Cb);
}
diff --git a/nci/jni/extns/pn54x/src/utils/phNxpConfig.cpp b/nci/jni/extns/pn54x/src/utils/phNxpConfig.cpp
index b82b3ffe..ce6fb2aa 100644
--- a/nci/jni/extns/pn54x/src/utils/phNxpConfig.cpp
+++ b/nci/jni/extns/pn54x/src/utils/phNxpConfig.cpp
@@ -1,5 +1,5 @@
/******************************************************************************
- * Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
* Not a Contribution.
*
* Copyright (C) 2011-2012 Broadcom Corporation
@@ -62,7 +62,6 @@
#include <cutils/log.h>
#include <cutils/properties.h>
#include <errno.h>
-
#if GENERIC_TARGET
const char alternative_config_path[] = "/data/nfc/";
#else
@@ -294,6 +293,7 @@ int CNxpNfcConfig::getconfiguration_id(char *config_file)
int config_id = QRD_TYPE_DEFAULT;
char target_type[MAX_SOC_INFO_NAME_LEN] = {'\0'};
char soc_info[MAX_SOC_INFO_NAME_LEN] = {'\0'};
+ bool nq2xx_present = false;
char nq_chipid[PROPERTY_VALUE_MAX] = {0};
char nq_fw_ver[PROPERTY_VALUE_MAX] = {0};
string strPath;
@@ -312,13 +312,15 @@ int CNxpNfcConfig::getconfiguration_id(char *config_file)
ALOGE("get_soc_info(HW_PLATFORM) fail!\n");
return DEFAULT_CONFIG;
}
-
rc = __system_property_get("sys.nfc.nq.chipid", nq_chipid);
if (rc <= 0)
ALOGE("get sys.nfc.nq.chipid fail, rc = %d\n", rc);
else
ALOGD("sys.nfc.nq.chipid = %s\n", nq_chipid);
+ nq2xx_present = (!strncmp(nq_chipid, NQ220, PROPERTY_VALUE_MAX))
+ || (!strncmp(nq_chipid, NQ210, PROPERTY_VALUE_MAX));
+
rc = __system_property_get("sys.nfc.nq.fwver", nq_fw_ver);
if (rc <= 0)
ALOGE("get sys.nfc.nq.fwver fail, rc = %d\n", rc);
@@ -356,7 +358,7 @@ int CNxpNfcConfig::getconfiguration_id(char *config_file)
case TARGET_MSM8937:
case TARGET_MSM8940:
case TARGET_MSM8917:
- if ((!strncmp(nq_chipid, NQ220, PROPERTY_VALUE_MAX)) || (!strncmp(nq_chipid, NQ210, PROPERTY_VALUE_MAX))) {
+ if (nq2xx_present) {
// NQ210 or NQ220
config_id = QRD_TYPE_DEFAULT;
strlcpy(config_file, config_name_qrd, MAX_DATA_CONFIG_PATH_LEN);
@@ -384,7 +386,7 @@ int CNxpNfcConfig::getconfiguration_id(char *config_file)
case TARGET_MSM8997:
case TARGET_SDM660:
case TARGET_SDM630:
- if ((!strncmp(nq_chipid, NQ220, PROPERTY_VALUE_MAX)) || (!strncmp(nq_chipid, NQ210, PROPERTY_VALUE_MAX))) {
+ if (nq2xx_present) {
// NQ210 or NQ220
config_id = QRD_TYPE_2;
strlcpy(config_file, config_name_qrd2, MAX_DATA_CONFIG_PATH_LEN);
@@ -410,7 +412,7 @@ int CNxpNfcConfig::getconfiguration_id(char *config_file)
case TARGET_MSM8937:
case TARGET_MSM8940:
case TARGET_MSM8917:
- if ((!strncmp(nq_chipid, NQ220, PROPERTY_VALUE_MAX)) || (!strncmp(nq_chipid, NQ210, PROPERTY_VALUE_MAX))) {
+ if (nq2xx_present) {
// NQ210 or NQ220
config_id = MTP_TYPE_DEFAULT;
strlcpy(config_file, config_name_mtp, MAX_DATA_CONFIG_PATH_LEN);
@@ -433,7 +435,7 @@ int CNxpNfcConfig::getconfiguration_id(char *config_file)
case TARGET_MSM8997:
case TARGET_SDM660:
case TARGET_SDM630:
- if ((!strncmp(nq_chipid, NQ220, PROPERTY_VALUE_MAX)) || (!strncmp(nq_chipid, NQ210, PROPERTY_VALUE_MAX))) {
+ if (nq2xx_present) {
// NQ210 or NQ220
config_id = MTP_TYPE_1;
strlcpy(config_file, config_name_mtp1, MAX_DATA_CONFIG_PATH_LEN);