NXP_PN512_NFCReaderLibrary/types/ph_NxpBuild_Lpc.h

311 lines
17 KiB
C

/*
* Copyright (c), NXP Semiconductors Gratkorn / Austria
*
* (C)NXP Semiconductors
* All rights are reserved. Reproduction in whole or in part is
* prohibited without the written consent of the copyright owner.
* NXP reserves the right to make changes without notice at any time.
* NXP makes no warranty, expressed, implied or statutory, including but
* not limited to any implied warranty of merchantability or fitness for any
*particular purpose, or that the use will not infringe any third party patent,
* copyright or trademark. NXP must not be liable for any loss or damage
* arising from its use.
*/
/** \file
* Build System Definitions for Reader Library Framework.
* $Author: Ankur Srivastava (nxp79569) $
* $Revision: 6235 $ (v4.040.05.011646)
* $Date: 2016-09-30 12:06:20 +0530 (Fri, 30 Sep 2016) $
*
* History:
* SA: Generated 15. March 2015
*
*/
#ifndef PH_NXPBUILD_LPC_H
#define PH_NXPBUILD_LPC_H
/** \defgroup ph_NxpBuild NXP Build
* \brief Controls the Inclusion of required components, Inclusion SRC/DATA within components and the Build Dependencies between the components
* @{
*/
/* NXPBUILD_DELETE: included code lines should be always removed from code */
/* NXP BUILD DEFINES */
/* use #define to include components */
/* comment out #define to exclude components */
/* DEBUG build mode */
/*#define NXPBUILD__PH_DEBUG*/ /**< DEBUG build definition */
#define NXPRDLIB_REM_GEN_INTFS
/*********************************************************************************************************************************************************************************/
#define NXPBUILD__PH_PLATFORM /**< Embedded Platform Porting and Abstraction Component included. Used for LPC_XXX, Kinetis_XXX,Raspberry_XXX,iMX_XXX etc. */
#ifdef NXPBUILD__PH_PLATFORM /**< If RdLib executing on embedded platform, then include one of the below embedded platform and one of the OS used as required. */
#ifdef CPU_MK81FN256xxx15
#define NXPBUILD__PH_KINETIS_K81
#endif
#ifdef CPU_MK82FN256VLL15
#define NXPBUILD__PH_KINETIS_K82 /**< K82 Freedom Board */
#endif
#if defined(__PN74XXXX__) || defined (__PN73XXXX__)
#define NXPBUILD__PHHAL_HW_PN7462AU /**< NFC Controller PN7462AU HAL */
#elif defined(__CODE_RED)
#define NXPBUILD__PH_LPC1769 /**< Host Controller LPC1769 */
//#define NXPBUILD__PH_LPC11U68 /**< Host Controller LPC11U68 */
#endif
//#define NXPBUILD__PH_RASPBERRY_PI /**< Host Controller RaspBerry Pi */
//#define NXPBUILD__PH_UDOO_NEO /**< Host Controller udoo-neo */
#if defined(NXPBUILD__PH_RASPBERRY_PI) || defined(NXPBUILD__PH_UDOO_NEO)
#define NXPBUILD__PH_OSAL_LINUX /**< OSAL Implementation of POSIX is included. RdLib is executed as UM application in Linux */
#else
//#define NXPBUILD__PH_OSAL_NULLOS /**< OSAL Implementation of NULL OS is included. RdLib executed in Executive Loop. */
#define NXPBUILD__PH_OSAL_FREERTOS /**< OSAL Implementation of Free RTOS is included. RdLib is linked to Free RTOS Library */
#endif
#if defined(NXPBUILD__PH_LPC1769) || defined(NXPBUILD__PH_LPC11U68)
/* Host Controller SDK- Front End HAL Interface ie. Bus Abstraction Layer. Define only one of the below */
#define NXPBUILD__PHBAL_REG_LPCOPEN_SPI /**< LPCOpenStack SPI BAL Component is included. */
//#define NXPBUILD__PHBAL_REG_LPCOPEN_I2C /**< LPCOpenStack SPI I2C Component is included. */
#endif
#ifdef NXPBUILD__PH_RASPBERRY_PI
//#define NXPBUILD__PHBAL_REG_LINUX_KERNEL_SPI
#define NXPBUILD__PHBAL_REG_LINUX_USER_SPI
//#define NXPBUILD__PHBAL_REG_LINUX_USER_I2C
#endif //NXPBUILD__PH_RASPBERRY_PI
#if defined (NXPBUILD__PH_KINETIS_K82) || defined (NXPBUILD__PH_KINETIS_K81)
#define NXPBUILD__PHBAL_REG_KINETIS_SPI
//#define NXPBUILD__PHBAL_REG_KINETIS_I2C
#endif
#endif /* NXPBUILD__PH_PLATFORM */
#ifndef NXPBUILD__PHHAL_HW_PN7462AU /**< If the used NFC HW is not NFC Controller like PN7462AU, then include one of the front end HAL */
#define NXPBUILD__PHHAL_HW_RC523 /**< RC523 HAL Component is included. */
//#define NXPBUILD__PHHAL_HW_RC663 /**< RC663 HAL Component is included */
//-#define NXPBUILD__PHHAL_HW_PN5180 /**< PN5180 HAL Component is included */
#endif /* NXPBUILD__PHHAL_HW_PN7462AU */
#if defined(NXPBUILD__PHHAL_HW_RC523) || \
defined(NXPBUILD__PHHAL_HW_PN5180) || \
defined(NXPBUILD__PHHAL_HW_PN7462AU)
#define NXPBUILD__PHHAL_HW_TARGET /**< Dependency checking if target mode macros should be enabled */
#endif
/*********************************************************************************************************************************************************************************/
#define NXPBUILD__PHPAL_I14443P3A_SW /**< PAL ISO 14443-3A SW Component is included. */
#define NXPBUILD__PHPAL_I14443P3B_SW /**< PAL ISO 14443-3B SW Component is included. */
#define NXPBUILD__PHPAL_I14443P4A_SW /**< PAL ISO 14443-4A SW Component is included. */
#define NXPBUILD__PHPAL_I14443P4_SW /**< PAL ISO 14443-4 SW Component is included. */
#define NXPBUILD__PHPAL_MIFARE_SW /**< PAL MIFARE SW Component is included */
//#define NXPBUILD__PHPAL_MIFARE_STUB /**< PAL MIFARE STUB Component is included */
#define NXPBUILD__PHPAL_FELICA_SW /**< PAL Felica SW Component is included. */
#ifndef NXPBUILD__PHHAL_HW_RC523 /**< If FE HAL is RC523, then exclude ISO15693 & ISO18000p3m3 PAL, otherwise include as required. */
#define NXPBUILD__PHPAL_SLI15693_SW /**< PAL SLI 15693 Component is included. */
#define NXPBUILD__PHPAL_I18000P3M3_SW /**< PAL ISO 18000p3m3 Component is included. */
#endif /* NXPBUILD__PHHAL_HW_RC523 */
#ifdef NXPBUILD__PHHAL_HW_RC663 /**< If FE HAL is RC663, then include EPC UID PAL as required, otherwise exclude. */
#define NXPBUILD__PHPAL_EPCUID_SW /**< PAL EPC UID SW Component is included. */
#endif
#define NXPBUILD__PHPAL_I18092MPI_SW /**< PAL ISO18092 (P2P) SW Component is included. */
#ifndef NXPBUILD__PHHAL_HW_RC663 /**< If FE HAL is RC663, then exclude ISO14443 Card Mode PAL & ISO18092 Target Mode PAL, otherwise include as required. */
#ifdef NXPBUILD__PH_PLATFORM /**< ISO14443 Card Mode PAL & ISO18092 Target Mode PAL will execute only in an embedded platform and not in PC platform. */
#define NXPBUILD__PHPAL_I14443P4MC_SW /**< PAL ISO 14443-4 Card Mode SW Component is included. */
#define NXPBUILD__PHPAL_I18092MT_SW /**< PAL ISO 18092 Target Mode SW Component is included. */
#endif /* NXPBUILD__PH_PLATFORM */
#endif /* NXPBUILD__PHHAL_HW_RC663 */
/*********************************************************************************************************************************************************************************/
#define NXPBUILD__PHAC_DISCLOOP_SW /**< Discovery Loop Activity SW Component is included. */
#ifdef NXPBUILD__PHAC_DISCLOOP_SW /**< If DiscLoop SW Component is included, macros( & it's dependencies) to include/exclude SRC/DATA within Discloop is defined. */
#if defined (NXPBUILD__PHHAL_HW_PN5180) || \
defined (NXPBUILD__PHHAL_HW_RC663) || \
defined (NXPBUILD__PHHAL_HW_PN7462AU)
#define NXPBUILD__PHAC_DISCLOOP_LPCD /**< SRC to enable LPCD is included. */
#endif
#ifdef NXPBUILD__PHPAL_I14443P3A_SW
#define NXPBUILD__PHAC_DISCLOOP_TYPEA_I3P3_TAGS /**< SRC/DATA to Detect/CollRes/Activate cards such as MFC, MFUL, MFP SL1 etc is included. */
#define NXPBUILD__PHAC_DISCLOOP_TYPEA_JEWEL_TAGS /**< SRC/DATA to Detect cards such as NFC Forum T1T, Topaz/Jewel is included. */
#if defined(NXPBUILD__PHPAL_I14443P4A_SW) && defined(NXPBUILD__PHPAL_I14443P4_SW)
#define NXPBUILD__PHAC_DISCLOOP_TYPEA_I3P4_TAGS /**< SRC/DATA to Detect cards such as MFDF, MFP, T4AT NFC Forum Tag or Type A EMVCo is included. */
#endif
#endif /* NXPBUILD__PHPAL_I14443P3A_SW */
#if defined(NXPBUILD__PHPAL_I14443P3A_SW) && defined(NXPBUILD__PHPAL_I18092MPI_SW)
#define NXPBUILD__PHAC_DISCLOOP_TYPEA_P2P_TAGS /**< SRC/DATA to Detect Peer Passive Type A P2P Target mode devices is included. */
#endif
#ifdef NXPBUILD__PHPAL_I18092MPI_SW
#define NXPBUILD__PHAC_DISCLOOP_TYPEA_P2P_ACTIVE /**< SRC/DATA to Detect Peer Active Type A P2P Target mode devices is included. */
#define NXPBUILD__PHAC_DISCLOOP_TYPEF212_P2P_ACTIVE/**< SRC/DATA to Detect Peer Active Type F212 P2P Target mode devices is included. */
#define NXPBUILD__PHAC_DISCLOOP_TYPEF424_P2P_ACTIVE/**< SRC/DATA to Detect Peer Active Type F424 P2P Target mode devices is included. */
#endif /* NXPBUILD__PHPAL_I18092MPI_SW */
#ifdef NXPBUILD__PHPAL_FELICA_SW
#define NXPBUILD__PHAC_DISCLOOP_FELICA_TAGS /**< SRC/DATA to Detect FeliCa Cards is included. */
#ifdef NXPBUILD__PHPAL_I18092MPI_SW
#define NXPBUILD__PHAC_DISCLOOP_TYPEF_P2P_TAGS /**< SRC/DATA to Detect Peer Passive Type F P2P Target mode devices is included. */
#endif /* NXPBUILD__PHPAL_I18092MPI_SW */
#endif /* NXPBUILD__PHPAL_FELICA_SW */
#ifdef NXPBUILD__PHPAL_I14443P3B_SW
#define NXPBUILD__PHAC_DISCLOOP_TYPEB_I3P3B_TAGS /**< SRC/DATA to Detect Type B Cards that operate at Layer3 level is included */
#ifdef NXPBUILD__PHPAL_I14443P4_SW
#define NXPBUILD__PHAC_DISCLOOP_TYPEB_I3P4B_TAGS /**< SRC/DATA to Detect Type B Cards such as NFC Forum Type 4 Tags, EMVCo Type B Cards etc is included */
#endif /* NXPBUILD__PHPAL_I14443P4_SW */
#endif /* NXPBUILD__PHPAL_I14443P3B_SW */
#ifdef NXPBUILD__PHPAL_SLI15693_SW
#define NXPBUILD__PHAC_DISCLOOP_TYPEV_TAGS /**< SRC/DATA to Detect Type V Cards such as ICODE SLI/SLIX/SLI2/Tesa Cards is included*/
#endif /* NXPBUILD__PHPAL_SLI15693_SW */
#ifdef NXPBUILD__PHPAL_I18000P3M3_SW
#define NXPBUILD__PHAC_DISCLOOP_I18000P3M3_TAGS /**< SRC/DATA to Detect ICODE ILT Cards such as SMARTRAC StackIt Cards is included*/
#endif /* NXPBUILD__PHPAL_I18000P3M3_SW */
#ifndef NXPBUILD__PHHAL_HW_RC663 /**< If FE HAL is RC663, target mode is not supported at all, hence exclude those SRC, otherwise include as required */
#ifdef NXPBUILD__PHHAL_HW_TARGET
#define NXPBUILD__PHAC_DISCLOOP_TYPEA_TARGET_PASSIVE /**< SRC to Initialize Type A passive listen config and subsequently call HAL AutoColl is included. */
#define NXPBUILD__PHAC_DISCLOOP_TYPEA_TARGET_ACTIVE /**< SRC to Initialize Type A active listen config and subsequently call HAL AutoColl is included. */
#define NXPBUILD__PHAC_DISCLOOP_TYPEF212_TARGET_PASSIVE/**< SRC to Initialize Type F212 passive listen config and subsequently call HAL AutoColl is included. */
#define NXPBUILD__PHAC_DISCLOOP_TYPEF212_TARGET_ACTIVE /**< SRC to Initialize Type F212 active listen config and subsequently call HAL AutoColl is included. */
#define NXPBUILD__PHAC_DISCLOOP_TYPEF424_TARGET_PASSIVE/**< SRC to Initialize Type F424 passive listen config and subsequently call HAL AutoColl is included. */
#define NXPBUILD__PHAC_DISCLOOP_TYPEF424_TARGET_ACTIVE /**< SRC to Initialize Type F424 active listen config and subsequently call HAL AutoColl is included. */
#endif /* NXPBUILD__PHHAL_HW_TARGET */
#endif
#endif /* NXPBUILD__PHAC_DISCLOOP_SW */
/*********************************************************************************************************************************************************************************/
#define NXPBUILD__PHNFCLIB /**< Simplified API Interface, If enabling this the entry point should be this component in the application */
#ifdef NXPBUILD__PHNFCLIB
#define NXPBUILD__PH_NFCLIB_ISO /* Enable the ISO profile of Simplified API */
#define NXPBUILD__PH_NFCLIB_EMVCO /* Enable the EMVCO profile of Simplified API */
//#define NXPBUILD__PH_NFCLIB_NFC /* Enable the NFC profile of Simplified API */
#endif /* NXPBUILD__PHNFCLIB */
#ifdef NXPBUILD__PH_NFCLIB_ISO
#ifdef NXPBUILD__PHAC_DISCLOOP_TYPEA_I3P3_TAGS
#define NXPBUILD__PH_NFCLIB_ISO_MFC
#define NXPBUILD__PH_NFCLIB_ISO_MFUL
#endif /* NXPBUILD__PHAC_DISCLOOP_TYPEA_I3P3_TAGS */
#ifdef NXPBUILD__PHAC_DISCLOOP_TYPEA_I3P4_TAGS
#define NXPBUILD__PH_NFCLIB_ISO_MFDF
#endif /* NXPBUILD__PHAC_DISCLOOP_TYPEA_I3P4_TAGS */
#ifdef NXPBUILD__PHAC_DISCLOOP_TYPEV_TAGS
#define NXPBUILD__PH_NFCLIB_ISO_15693
#endif /* NXPBUILD__PHAC_DISCLOOP_TYPEV_TAGS*/
#ifdef NXPBUILD__PHAC_DISCLOOP_I18000P3M3_TAGS
#define NXPBUILD__PH_NFCLIB_ISO_18000
#endif /* NXPBUILD__PHAC_DISCLOOP_I18000P3M3_TAGS */
#endif /* NXPBUILD__PH_NFCLIB_ISO*/
/*********************************************************************************************************************************************************************************/
//#define NXPBUILD__PH_CIDMANAGER_SW /**< CID Manager SW Component is included. */
#define NXPBUILD__PH_KEYSTORE_SW /**< SW KeyStore Component is included. */
#if defined(NXPBUILD__PHHAL_HW_RC663) && !defined(NXPBUILD__PH_KEYSTORE_SW)
#define NXPBUILD__PH_KEYSTORE_RC663 /**< RC663 KeyStore Component is included. */
#endif
#define NXPBUILD__PH_NDA_MFDF /**< Mifare DESFire implementation under NDA */
#define NXPBUILD__PH_CRYPTOSYM_SW /**< Crypto Symbols SW Component is included. */
#define NXPBUILD__PH_CRYPTORNG_SW /**< Crypto RNG SW Component is included. */
#define NXPBUILD__PHNFCLIB /**< Simplified layer Component. */
/*********************************************************************************************************************************************************************************/
#ifdef NXPBUILD__PHPAL_FELICA_SW
#define NXPBUILD__PHAL_FELICA_SW /**< AL FeliCa SW Component is included */
#endif /* NXPBUILD__PHPAL_FELICA_SW */
#ifdef NXPBUILD__PHPAL_MIFARE_SW
#if defined(NXPBUILD__PH_KEYSTORE_SW) || defined(NXPBUILD__PH_KEYSTORE_RC663)
#define NXPBUILD__PHAL_MFC_SW /**< AL Mifare Classic SW Component is included */
#endif
#define NXPBUILD__PHAL_MFUL_SW /**< AL Mifare Ultrlight SW Component is included */
#define NXPBUILD__PHAL_MFDF_SW /**< AL Mifare DesFire SW Component is included */
#endif /* NXPBUILD__PHPAL_MIFARE_SW */
#define NXPBUILD__PHAL_T1T_SW /**< AL Type T1 Tag SW Component is included */
#ifdef NXPBUILD__PHPAL_SLI15693_SW
#define NXPBUILD__PHAL_I15693_SW /**< AL ISO 15693 SW Component is included */
#define NXPBUILD__PHAL_SLI_SW /**< AL SLI SW Component is included */
#endif /* NXPBUILD__PHPAL_SLI15693_SW */
#define NXPBUILD__PHAL_TOP_SW /**< AL for TagOps Mapping SW Component is included.Required for NDEF operations */
#ifdef NXPBUILD__PHPAL_I18000P3M3_SW
#define NXPBUILD__PHAL_I18000P3M3_SW /**< AL ISO18000p3m3 SW Component is included */
#endif /* NXPBUILD__PHPAL_I18000P3M3_SW */
#ifdef NXPBUILD__PHPAL_I14443P4MC_SW
#if !defined(NXPBUILD__PH_OSAL_NULLOS) && defined(NXPBUILD__PH_PLATFORM)
#define NXPBUILD__PHCE_T4T_SW /**< AL HCE T2AT SW Component is included */
//#define NXPBUILD__PHCE_T4T_PROPRIETARY /**< SRC to handle HCE T4AT Proprietary Commands is included */
/*#define NXPBUILD__PHCE_T4T_EXT_NDEF */ /**< SRC to handle Extended NDEF Support as per T4T spec 3.0 is included */
#endif
#endif /* NXPBUILD__PHPAL_I14443P4MC_SW */
/* LLCP Components */
#if defined(NXPBUILD__PHPAL_I18092MPI_SW) || defined(NXPBUILD__PHPAL_I18092MT_SW)
#if !defined(NXPBUILD__PH_OSAL_NULLOS) && defined(NXPBUILD__PH_PLATFORM)
#define NXPBUILD__PHLN_LLCP_SW /**< Link LLCP SW Component is included */
#endif
#endif
/* SNEP components */
#ifdef NXPBUILD__PHLN_LLCP_SW
#define NXPBUILD__PHNP_SNEP_SW /**< Protocol SNEP SW Component is included */
#endif /* NXPBUILD__PHLN_LLCP_SW */
/* Enable/disable Debugging */
/*#define NXPBUILD__PH_DEBUG*/ /**< TODO: To be checked if required */
/** @}
* end of ph_NxpBuild
*/
#endif /* PH_NXPBUILD_LPC_H */