From 95696b8de4657f02ba1f75d7592e0670810d807f Mon Sep 17 00:00:00 2001 From: Sebastian Niciarz Date: Sat, 17 Mar 2012 19:26:21 +0100 Subject: Add support for target-customized NFC stack configuration This patch allows inclusion of target-customized configuration of NFC stack. The target-specific configuration will be stored in a header file, outside of AOSP. To have it icluded, define TARGET_HAS_NFC_CUSTOM_CONFIG macro and export your header file using BUILD_COPY_HEADERS macro. Change-Id: Ifa2d08c2ae8860c3f0690a04c517025892bd4c16 Author: Sebastian Niciarz Signed-off-by: Sebastian Niciarz Singed-off-by: Shuo Gao Signed-off-by: Bruce Beare Signed-off-by: Jack Ren Author-tracking-BZ: 23071 --- Android.mk | 5 + inc/nfc_custom_config.h | 201 ---------------------------------------- inc/nfc_custom_config_example.h | 200 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 205 insertions(+), 201 deletions(-) delete mode 100644 inc/nfc_custom_config.h create mode 100644 inc/nfc_custom_config_example.h diff --git a/Android.mk b/Android.mk index b45f78b..bed9e07 100644 --- a/Android.mk +++ b/Android.mk @@ -106,6 +106,11 @@ LOCAL_SRC_FILES += Linux_x86/phDal4Nfc_messageQueueLib.c LOCAL_CFLAGS += -DNXP_MESSAGING -DANDROID -DNFC_TIMER_CONTEXT -fno-strict-aliasing +ifeq ($(TARGET_HAS_NFC_CUSTOM_CONFIG),true) +LOCAL_CFLAGS += -DNFC_CUSTOM_CONFIG_INCLUDE +LOCAL_CFLAGS += -I$(TARGET_OUT_HEADERS)/libnfc-nxp +endif + # Uncomment for Chipset command/responses # Or use "setprop debug.nfc.LOW_LEVEL_TRACES" at run-time # LOCAL_CFLAGS += -DLOW_LEVEL_TRACES diff --git a/inc/nfc_custom_config.h b/inc/nfc_custom_config.h deleted file mode 100644 index 0b4455a..0000000 --- a/inc/nfc_custom_config.h +++ /dev/null @@ -1,201 +0,0 @@ -/* - * Copyright (C) 2010 NXP Semiconductors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - -/** -* \file nfc_custom_config.h -* \brief HAL Custom Configurations -* -* -* \note This is the configuration header file of the HAL 4.0. custom configurable -* parameters of the HAL 4.0 are provided in this file -* -* Project: NFC-FRI-1.1 / HAL4.0 -* -* $Date: Fri Jun 11 16:44:31 2010 $ -* $Author: ing04880 $ -* $Revision: 1.11 $ -* $Aliases: NFC_FRI1.1_WK1023_R35_1 $ -* -*/ - - -/*@{*/ -#ifndef NFC_CUSTOM_CONFIG_H -#define NFC_CUSTOM_CONFIG_H -/*@}*/ - - -/** -* \name Hal -* -* File: \ref nfc_custom_config.h -* -*/ - - -/* - ***************************************************************** - ********************** CUSTOM MACROS ************************** - ***************************************************************** - */ - -/**< Max number of remote devices supported*/ -#define MAX_REMOTE_DEVICES 0x10 - - -/**< Default Session ID for Initialisation */ -#define DEFAULT_SESSION "NXP-NFC2" - -/** Resolution value for the timer, here the - timer resolution is 100 milliseconds */ -#define TIMER_RESOLUTION 100U - -/**< Defines connection time out value for LLC timer, - 500 is in milliseconds */ -#define LINK_CONNECTION_TIMEOUT 500U - -/**< Defines guard time out value for LLC timer, - 250 is in milliseconds */ -#define LINK_GUARD_TIMEOUT 250U - -/**< Macro to Enable SMX Feature During - * Initialisation */ - - -/* PLEASE NOTE: This Macro should be only enabled if there is a SMART_MX - * Chip attached to the PN544. - */ -/* #define NXP_HAL_ENABLE_SMX */ - - - -/* PLEASE NOTE: Kindly change the DEFAULT_SESSION Macro for each of the - * configuration change done for the below Macros - */ - -/**< External Clock Request Configuration for the NFC Device, - 0x00U -> No Clock Request, - 0x01U -> Clock Request through CLKREQ pin (GPIO pin 2), - 0x02U -> Clock Request through NXP_EVT_CLK_REQUEST Event, - */ -#define NXP_DEFAULT_CLK_REQUEST 0x00U - -/**< External Input Clock Setting for the NFC Device, - 0x00U -> No Input Clock Required (Use the Xtal), - 0x01U -> 13 MHZ, - 0x02U -> 19.2 MHZ, - 0x03U -> 26 MHZ, - 0x04U -> 38.4 MHZ, - 0x05U -> Custom (Set the Custome Clock Registry), - */ -#define NXP_DEFAULT_INPUT_CLK 0x00U - - - -#define NFC_DEV_HWCONF_DEFAULT 0xBCU - -/**< TX LDO Configuration - 0x00 -> 00b 3.0 V, - 0x01 -> 01b 3.0 V, - 0x02 -> 10b 2.7 V, - 0x03 -> 11b 3.3 V, - - */ -#define NXP_DEFAULT_TX_LDO 0x00U - - -/**< External Clock Request Configuration for the NFC Device, - 0x00U -> No Power Request, - 0x01U -> Power Request through CLKREQ pin (GPIO pin 2), - 0x02U -> Power Request through PWR_REQUEST (GPIO Pin 3), - */ -#define NXP_UICC_PWR_REQUEST 0x00U - -/**< UICC Bit Rate Configuration - 0x02U -> 212Kbits/Sec - 0x04U -> 424Kbits/Sec - 0x08U -> 828Kbits/Sec - */ - -#define NXP_UICC_BIT_RATE 0x08U - -/**< Indicates PN544 Power Modes Configuration for the NFC Device, - 0x00U -> PN544 stays in active bat mode - (except when generating RF field) - 0x01U -> PN544 goes in standby when possible otherwise - stays in active bat mode - 0x02U -> PN544 goes in idle mode as soon as it can - (otherwise it is in active bat except when generating RF field) - 0x03U -> PN544 goes in standby when possible otherwise goes in idle mode - as soon as it can (otherwise it is in active bat except when - generating RF field) - */ - -#define NXP_SYSTEM_PWR_STATUS 0x01U - - -/**< System Event Notification - 0x01 Overcurrent - 0x02 PMUVCC Switch - 0x04 External RF Field - 0x08 Memory Violation - 0x10 Temperature Overheat - */ - -#define NXP_SYSTEM_EVT_INFO 0x10U - -/**< NFCIP Active Mode Configuration - 0x01 106 kbps - 0x02 212 kbps - 0x04 424 kbps - */ - -#define NXP_NFCIP_ACTIVE_DEFAULT 0x01U - - - -/* Reset the Default values of Host Link Timers */ -/* Macro to Enable the Host Side Link Timeout Configuration - * 0x00 ----> Default Pre-defined Configuration; - * 0x01 ----> Update only the Host Link Guard Timeout Configuration; - * 0x03 ----> Update Both the Host Link Guard Timeout - and ACK Timeout Configuration; - */ -#define HOST_LINK_TIMEOUT 0x00U - - -#define NXP_NFC_LINK_GRD_CFG_DEFAULT 0x0032U - - -#define NXP_NFC_LINK_ACK_CFG_DEFAULT 0x0005U - - -/* Macro to Enable the Interface Character Timeout Configuration - * 0x00 ----> Default Pre-defined Configuration; - * 0x01 ----> Update the IFC Timeout Default Configuration; - */ -#define NXP_NFC_IFC_TIMEOUT 0x00 - - -#define NXP_NFC_IFC_CONFIG_DEFAULT 0x203AU - - -#define NXP_NFCIP_PSL_BRS_DEFAULT 0x00U - - -#endif /* NFC_CUSTOM_CONFIG_H */ - diff --git a/inc/nfc_custom_config_example.h b/inc/nfc_custom_config_example.h new file mode 100644 index 0000000..d400bcc --- /dev/null +++ b/inc/nfc_custom_config_example.h @@ -0,0 +1,200 @@ +/* + * Copyright (C) 2010 NXP Semiconductors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +/** +* \file nfc_custom_config.h +* \brief HAL Custom Configurations +* +* +* \note This is the configuration header file of the HAL 4.0. custom configurable +* parameters of the HAL 4.0 are provided in this file +* +* Project: NFC-FRI-1.1 / HAL4.0 +* +* $Date: Fri Jun 11 16:44:31 2010 $ +* $Author: ing04880 $ +* $Revision: 1.11 $ +* $Aliases: NFC_FRI1.1_WK1023_R35_1 $ +* +*/ + + +/*@{*/ +#ifndef NFC_CUSTOM_CONFIG_H +#define NFC_CUSTOM_CONFIG_H +/*@}*/ + + +/** +* \name Hal +* +* File: \ref nfc_custom_config.h +* +*/ + + +/* + ***************************************************************** + ********************** CUSTOM MACROS ************************** + ***************************************************************** + */ + +/**< Max number of remote devices supported*/ +#define MAX_REMOTE_DEVICES 0x10 + + +/**< Default Session ID for Initialisation */ +#define DEFAULT_SESSION "NXP-NFC2" + +/** Resolution value for the timer, here the + timer resolution is 100 milliseconds */ +#define TIMER_RESOLUTION 100U + +/**< Defines connection time out value for LLC timer, + 500 is in milliseconds */ +#define LINK_CONNECTION_TIMEOUT 500U + +/**< Defines guard time out value for LLC timer, + 250 is in milliseconds */ +#define LINK_GUARD_TIMEOUT 250U + +/**< Macro to Enable SMX Feature During + * Initialisation */ + + +/* PLEASE NOTE: This Macro should be only enabled if there is a SMART_MX + * Chip attached to the PN544. + */ +/* #define NXP_HAL_ENABLE_SMX */ + + + +/* PLEASE NOTE: Kindly change the DEFAULT_SESSION Macro for each of the + * configuration change done for the below Macros + */ + +/**< External Clock Request Configuration for the NFC Device, + 0x00U -> No Clock Request, + 0x01U -> Clock Request through CLKREQ pin (GPIO pin 2), + 0x02U -> Clock Request through NXP_EVT_CLK_REQUEST Event, + */ +#define NXP_DEFAULT_CLK_REQUEST 0x00U + +/**< External Input Clock Setting for the NFC Device, + 0x00U -> No Input Clock Required (Use the Xtal), + 0x01U -> 13 MHZ, + 0x02U -> 19.2 MHZ, + 0x03U -> 26 MHZ, + 0x04U -> 38.4 MHZ, + 0x05U -> Custom (Set the Custome Clock Registry), + */ +#define NXP_DEFAULT_INPUT_CLK 0x00U + + + +#define NFC_DEV_HWCONF_DEFAULT 0xBCU + +/**< TX LDO Configuration + 0x00 -> 00b 3.0 V, + 0x01 -> 01b 3.0 V, + 0x02 -> 10b 2.7 V, + 0x03 -> 11b 3.3 V, + + */ +#define NXP_DEFAULT_TX_LDO 0x00U + + +/**< External Clock Request Configuration for the NFC Device, + 0x00U -> No Power Request, + 0x01U -> Power Request through CLKREQ pin (GPIO pin 2), + 0x02U -> Power Request through PWR_REQUEST (GPIO Pin 3), + */ +#define NXP_UICC_PWR_REQUEST 0x00U + +/**< UICC Bit Rate Configuration + 0x02U -> 212Kbits/Sec + 0x04U -> 424Kbits/Sec + 0x08U -> 828Kbits/Sec + */ + +#define NXP_UICC_BIT_RATE 0x08U + +/**< Indicates PN544 Power Modes Configuration for the NFC Device, + 0x00U -> PN544 stays in active bat mode + (except when generating RF field) + 0x01U -> PN544 goes in standby when possible otherwise + stays in active bat mode + 0x02U -> PN544 goes in idle mode as soon as it can + (otherwise it is in active bat except when generating RF field) + 0x03U -> PN544 goes in standby when possible otherwise goes in idle mode + as soon as it can (otherwise it is in active bat except when + generating RF field) + */ + +#define NXP_SYSTEM_PWR_STATUS 0x01U + + +/**< System Event Notification + 0x01 Overcurrent + 0x02 PMUVCC Switch + 0x04 External RF Field + 0x08 Memory Violation + 0x10 Temperature Overheat + */ + +#define NXP_SYSTEM_EVT_INFO 0x10U + +/**< NFCIP Active Mode Configuration + 0x01 106 kbps + 0x02 212 kbps + 0x04 424 kbps + */ + +#define NXP_NFCIP_ACTIVE_DEFAULT 0x01U + + + +/* Reset the Default values of Host Link Timers */ +/* Macro to Enable the Host Side Link Timeout Configuration + * 0x00 ----> Default Pre-defined Configuration; + * 0x01 ----> Update only the Host Link Guard Timeout Configuration; + * 0x03 ----> Update Both the Host Link Guard Timeout + and ACK Timeout Configuration; + */ +#define HOST_LINK_TIMEOUT 0x00U + + +#define NXP_NFC_LINK_GRD_CFG_DEFAULT 0x0032U + + +#define NXP_NFC_LINK_ACK_CFG_DEFAULT 0x0005U + + +/* Macro to Enable the Interface Character Timeout Configuration + * 0x00 ----> Default Pre-defined Configuration; + * 0x01 ----> Update the IFC Timeout Default Configuration; + */ +#define NXP_NFC_IFC_TIMEOUT 0x00 + + +#define NXP_NFC_IFC_CONFIG_DEFAULT 0x203AU + + +#define NXP_NFCIP_PSL_BRS_DEFAULT 0x00U + + +#endif /* NFC_CUSTOM_CONFIG_H */ -- cgit v1.1