11ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao/* 21ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * Copyright (C) 2010-2014 NXP Semiconductors 31ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * 41ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * Licensed under the Apache License, Version 2.0 (the "License"); 51ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * you may not use this file except in compliance with the License. 61ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * You may obtain a copy of the License at 71ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * 81ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * http://www.apache.org/licenses/LICENSE-2.0 91ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * 101ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * Unless required by applicable law or agreed to in writing, software 111ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * distributed under the License is distributed on an "AS IS" BASIS, 121ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 131ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * See the License for the specific language governing permissions and 141ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * limitations under the License. 151ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao */ 161ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao 17d897d6db79d709dc0b7969a9ad7dc141b3f06527Jiyong Park#include <stdio.h> 181ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao#include <string.h> 196fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi#if !defined(NXPLOG__H_INCLUDED) 206fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi#include "phNxpConfig.h" 216fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi#include "phNxpLog.h" 221ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao#endif 231ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao#include <cutils/properties.h> 241ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao 256fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoiconst char* NXPLOG_ITEM_EXTNS = "NxpExtns"; 266fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoiconst char* NXPLOG_ITEM_NCIHAL = "NxpHal"; 276fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoiconst char* NXPLOG_ITEM_NCIX = "NxpNciX"; 286fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoiconst char* NXPLOG_ITEM_NCIR = "NxpNciR"; 296fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoiconst char* NXPLOG_ITEM_FWDNLD = "NxpFwDnld"; 306fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoiconst char* NXPLOG_ITEM_TML = "NxpTml"; 311ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao 321ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao#ifdef NXP_HCI_REQ 336fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoiconst char* NXPLOG_ITEM_HCPX = "NxpHcpX"; 346fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoiconst char* NXPLOG_ITEM_HCPR = "NxpHcpR"; 351ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao#endif /*NXP_HCI_REQ*/ 361ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao 371ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao/* global log level structure */ 381ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liaonci_log_level_t gLog_level; 391ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao 401ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao/******************************************************************************* 411ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * 421ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * Function phNxpLog_SetGlobalLogLevel 431ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * 441ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * Description Sets the global log level for all modules. 456fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi * This value is set by Android property 466fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi *nfc.nxp_log_level_global. 471ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * If value can be overridden by module log level. 481ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * 491ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * Returns The value of global log level 501ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * 511ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao ******************************************************************************/ 526fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoistatic uint8_t phNxpLog_SetGlobalLogLevel(void) { 536fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi uint8_t level = NXPLOG_DEFAULT_LOGLEVEL; 546fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi unsigned long num = 0; 556fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi char valueStr[PROPERTY_VALUE_MAX] = {0}; 561ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao 576fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi int len = property_get(PROP_NAME_NXPLOG_GLOBAL_LOGLEVEL, valueStr, ""); 586fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi if (len > 0) { 596fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi /* let Android property override .conf variable */ 606fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi sscanf(valueStr, "%lu", &num); 616fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi level = (unsigned char)num; 626fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi } 636fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi memset(&gLog_level, level, sizeof(nci_log_level_t)); 646fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi return level; 651ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao} 661ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao 671ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao/******************************************************************************* 681ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * 691ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * Function phNxpLog_SetHALLogLevel 701ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * 711ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * Description Sets the HAL layer log level. 721ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * 731ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * Returns void 741ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * 751ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao ******************************************************************************/ 766fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoistatic void phNxpLog_SetHALLogLevel(uint8_t level) { 776fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi unsigned long num = 0; 786fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi int len; 796fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi char valueStr[PROPERTY_VALUE_MAX] = {0}; 801ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao 816fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi if (GetNxpNumValue(NAME_NXPLOG_HAL_LOGLEVEL, &num, sizeof(num))) { 826fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi gLog_level.hal_log_level = 836fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi (level > (unsigned char)num) ? level : (unsigned char)num; 846fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi ; 856fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi } 861ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao 876fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi len = property_get(PROP_NAME_NXPLOG_HAL_LOGLEVEL, valueStr, ""); 886fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi if (len > 0) { 896fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi /* let Android property override .conf variable */ 906fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi sscanf(valueStr, "%lu", &num); 916fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi gLog_level.hal_log_level = (unsigned char)num; 926fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi } 931ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao} 941ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao 951ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao/******************************************************************************* 961ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * 971ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * Function phNxpLog_SetExtnsLogLevel 981ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * 991ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * Description Sets the Extensions layer log level. 1001ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * 1011ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * Returns void 1021ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * 1031ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao ******************************************************************************/ 1046fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoistatic void phNxpLog_SetExtnsLogLevel(uint8_t level) { 1056fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi unsigned long num = 0; 1066fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi int len; 1076fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi char valueStr[PROPERTY_VALUE_MAX] = {0}; 1086fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi if (GetNxpNumValue(NAME_NXPLOG_EXTNS_LOGLEVEL, &num, sizeof(num))) { 1096fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi gLog_level.extns_log_level = 1106fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi (level > (unsigned char)num) ? level : (unsigned char)num; 1116fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi ; 1126fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi } 1131ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao 1146fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi len = property_get(PROP_NAME_NXPLOG_EXTNS_LOGLEVEL, valueStr, ""); 1156fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi if (len > 0) { 1166fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi /* let Android property override .conf variable */ 1176fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi sscanf(valueStr, "%lu", &num); 1186fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi gLog_level.extns_log_level = (unsigned char)num; 1196fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi } 1201ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao} 1211ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao 1221ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao/******************************************************************************* 1231ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * 1241ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * Function phNxpLog_SetTmlLogLevel 1251ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * 1261ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * Description Sets the Tml layer log level. 1271ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * 1281ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * Returns void 1291ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * 1301ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao ******************************************************************************/ 1316fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoistatic void phNxpLog_SetTmlLogLevel(uint8_t level) { 1326fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi unsigned long num = 0; 1336fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi int len; 1346fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi char valueStr[PROPERTY_VALUE_MAX] = {0}; 1356fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi if (GetNxpNumValue(NAME_NXPLOG_TML_LOGLEVEL, &num, sizeof(num))) { 1366fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi gLog_level.tml_log_level = 1376fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi (level > (unsigned char)num) ? level : (unsigned char)num; 1386fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi ; 1396fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi } 1401ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao 1416fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi len = property_get(PROP_NAME_NXPLOG_TML_LOGLEVEL, valueStr, ""); 1426fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi if (len > 0) { 1436fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi /* let Android property override .conf variable */ 1446fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi sscanf(valueStr, "%lu", &num); 1456fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi gLog_level.tml_log_level = (unsigned char)num; 1466fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi } 1471ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao} 1481ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao 1491ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao/******************************************************************************* 1501ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * 1511ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * Function phNxpLog_SetDnldLogLevel 1521ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * 1531ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * Description Sets the FW download layer log level. 1541ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * 1551ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * Returns void 1561ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * 1571ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao ******************************************************************************/ 1586fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoistatic void phNxpLog_SetDnldLogLevel(uint8_t level) { 1596fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi unsigned long num = 0; 1606fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi int len; 1616fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi char valueStr[PROPERTY_VALUE_MAX] = {0}; 1626fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi if (GetNxpNumValue(NAME_NXPLOG_FWDNLD_LOGLEVEL, &num, sizeof(num))) { 1636fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi gLog_level.dnld_log_level = 1646fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi (level > (unsigned char)num) ? level : (unsigned char)num; 1656fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi ; 1666fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi } 1671ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao 1686fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi len = property_get(PROP_NAME_NXPLOG_FWDNLD_LOGLEVEL, valueStr, ""); 1696fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi if (len > 0) { 1706fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi /* let Android property override .conf variable */ 1716fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi sscanf(valueStr, "%lu", &num); 1726fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi gLog_level.dnld_log_level = (unsigned char)num; 1736fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi } 1741ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao} 1751ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao 1761ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao/******************************************************************************* 1771ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * 1781ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * Function phNxpLog_SetNciTxLogLevel 1791ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * 1801ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * Description Sets the NCI transaction layer log level. 1811ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * 1821ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * Returns void 1831ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * 1841ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao ******************************************************************************/ 1856fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoistatic void phNxpLog_SetNciTxLogLevel(uint8_t level) { 1866fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi unsigned long num = 0; 1876fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi int len; 1886fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi char valueStr[PROPERTY_VALUE_MAX] = {0}; 1896fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi if (GetNxpNumValue(NAME_NXPLOG_NCIX_LOGLEVEL, &num, sizeof(num))) { 1906fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi gLog_level.ncix_log_level = 1916fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi (level > (unsigned char)num) ? level : (unsigned char)num; 1926fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi } 1936fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi if (GetNxpNumValue(NAME_NXPLOG_NCIR_LOGLEVEL, &num, sizeof(num))) { 1946fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi gLog_level.ncir_log_level = 1956fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi (level > (unsigned char)num) ? level : (unsigned char)num; 1966fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi ; 1976fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi } 1981ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao 1996fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi len = property_get(PROP_NAME_NXPLOG_NCI_LOGLEVEL, valueStr, ""); 2006fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi if (len > 0) { 2016fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi /* let Android property override .conf variable */ 2026fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi sscanf(valueStr, "%lu", &num); 2036fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi gLog_level.ncix_log_level = (unsigned char)num; 2046fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi gLog_level.ncir_log_level = (unsigned char)num; 2056fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi } 2061ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao} 2071ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao 2081ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao/****************************************************************************** 2091ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * Function phNxpLog_InitializeLogLevel 2101ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * 2116fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi * Description Initialize and get log level of module from libnfc-nxp.conf 2126fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi *or 2131ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * Android runtime properties. 2141ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * The Android property nfc.nxp_global_log_level is to 2156fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi * define log level for all modules. Modules log level will 2166fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi *overwide global level. 2171ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * The Android property will overwide the level 2181ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * in libnfc-nxp.conf 2191ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * 2201ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * Android property names: 2216fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi * nfc.nxp_log_level_global * defines log level for all 2226fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi *modules 2231ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * nfc.nxp_log_level_extns * extensions module log 2241ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * nfc.nxp_log_level_hal * Hal module log 2256fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi * nfc.nxp_log_level_dnld * firmware download module 2266fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi *log 2271ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * nfc.nxp_log_level_tml * TML module log 2281ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * nfc.nxp_log_level_nci * NCI transaction log 2291ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * 2301ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * Log Level values: 2311ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * NXPLOG_LOG_SILENT_LOGLEVEL 0 * No trace to show 2326fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi * NXPLOG_LOG_ERROR_LOGLEVEL 1 * Show Error trace 2336fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi *only 2346fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi * NXPLOG_LOG_WARN_LOGLEVEL 2 * Show Warning 2356fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi *trace and Error trace 2361ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * NXPLOG_LOG_DEBUG_LOGLEVEL 3 * Show all traces 2371ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * 2381ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * Returns void 2391ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao * 2401ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao ******************************************************************************/ 2416fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoivoid phNxpLog_InitializeLogLevel(void) { 2426fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi uint8_t level = phNxpLog_SetGlobalLogLevel(); 2436fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi phNxpLog_SetHALLogLevel(level); 2446fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi phNxpLog_SetExtnsLogLevel(level); 2456fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi phNxpLog_SetTmlLogLevel(level); 2466fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi phNxpLog_SetDnldLogLevel(level); 2476fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi phNxpLog_SetNciTxLogLevel(level); 2481ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao 2496fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi ALOGD( 2506fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi "%s: global =%u, Fwdnld =%u, extns =%u, \ 2511ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao hal =%u, tml =%u, ncir =%u, \ 2526fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi ncix =%u", 2536fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi __func__, gLog_level.global_log_level, gLog_level.dnld_log_level, 2546fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi gLog_level.extns_log_level, gLog_level.hal_log_level, 2556fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi gLog_level.tml_log_level, gLog_level.ncir_log_level, 2566fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi gLog_level.ncix_log_level); 2571ab8a755853d5118d6a504311d079bd5aa21a964Jizhou Liao} 258