
How To Run: see TencentOS-tiny\board\ALPHA_I.MX_emmc_256ddr\README.md TODO Next: 1. VFP support 2. fault diagnosis support 3. qemu vexpress ca9 support 4. raspberry pi support 5. SMP support
125 lines
7.9 KiB
C
125 lines
7.9 KiB
C
/**************************************************************
|
||
Copyright © zuozhongkai Co., Ltd. 1998-2019. All rights reserved.
|
||
文件名 : fsl_common.h
|
||
作者 : 左忠凯修改NXP官方SDK
|
||
版本 : V1.0
|
||
描述 : NXP官方SDK的通用关宏定义文档
|
||
其他 : NXP官方SDK的通用宏定义文档,默认基于IAR的,
|
||
由左忠凯移植到Liux下。
|
||
论坛 : www.openedv.com
|
||
日志 : 初版V1.0 2019/1/4 左忠凯移植
|
||
**************************************************************/
|
||
|
||
#ifndef _FSL_COMMON_H_
|
||
#define _FSL_COMMON_H_
|
||
|
||
#include "cc.h" /* cc.h为自行添加的文件 */
|
||
/*!
|
||
* @addtogroup ksdk_common
|
||
* @{
|
||
*/
|
||
|
||
/*******************************************************************************
|
||
* Definitions
|
||
******************************************************************************/
|
||
|
||
/*! @brief Construct a status code value from a group and code number. */
|
||
#define MAKE_STATUS(group, code) ((((group)*100) + (code)))
|
||
|
||
/*! @brief Construct the version number for drivers. */
|
||
#define MAKE_VERSION(major, minor, bugfix) (((major) << 16) | ((minor) << 8) | (bugfix))
|
||
|
||
/* Debug console type definition. */
|
||
#define DEBUG_CONSOLE_DEVICE_TYPE_NONE 0U /*!< No debug console. */
|
||
#define DEBUG_CONSOLE_DEVICE_TYPE_UART 1U /*!< Debug console base on UART. */
|
||
#define DEBUG_CONSOLE_DEVICE_TYPE_LPUART 2U /*!< Debug console base on LPUART. */
|
||
#define DEBUG_CONSOLE_DEVICE_TYPE_LPSCI 3U /*!< Debug console base on LPSCI. */
|
||
#define DEBUG_CONSOLE_DEVICE_TYPE_USBCDC 4U /*!< Debug console base on USBCDC. */
|
||
#define DEBUG_CONSOLE_DEVICE_TYPE_FLEXCOMM 5U /*!< Debug console base on USBCDC. */
|
||
#define DEBUG_CONSOLE_DEVICE_TYPE_IUART 6U /*!< Debug console base on i.MX UART. */
|
||
#define DEBUG_CONSOLE_DEVICE_TYPE_VUSART 7U /*!< Debug console base on LPC_USART. */
|
||
|
||
/*! @brief Status group numbers. */
|
||
enum _status_groups
|
||
{
|
||
kStatusGroup_Generic = 0, /*!< Group number for generic status codes. */
|
||
kStatusGroup_FLASH = 1, /*!< Group number for FLASH status codes. */
|
||
kStatusGroup_LPSPI = 4, /*!< Group number for LPSPI status codes. */
|
||
kStatusGroup_FLEXIO_SPI = 5, /*!< Group number for FLEXIO SPI status codes. */
|
||
kStatusGroup_DSPI = 6, /*!< Group number for DSPI status codes. */
|
||
kStatusGroup_FLEXIO_UART = 7, /*!< Group number for FLEXIO UART status codes. */
|
||
kStatusGroup_FLEXIO_I2C = 8, /*!< Group number for FLEXIO I2C status codes. */
|
||
kStatusGroup_LPI2C = 9, /*!< Group number for LPI2C status codes. */
|
||
kStatusGroup_UART = 10, /*!< Group number for UART status codes. */
|
||
kStatusGroup_I2C = 11, /*!< Group number for UART status codes. */
|
||
kStatusGroup_LPSCI = 12, /*!< Group number for LPSCI status codes. */
|
||
kStatusGroup_LPUART = 13, /*!< Group number for LPUART status codes. */
|
||
kStatusGroup_SPI = 14, /*!< Group number for SPI status code.*/
|
||
kStatusGroup_XRDC = 15, /*!< Group number for XRDC status code.*/
|
||
kStatusGroup_SEMA42 = 16, /*!< Group number for SEMA42 status code.*/
|
||
kStatusGroup_SDHC = 17, /*!< Group number for SDHC status code */
|
||
kStatusGroup_SDMMC = 18, /*!< Group number for SDMMC status code */
|
||
kStatusGroup_SAI = 19, /*!< Group number for SAI status code */
|
||
kStatusGroup_MCG = 20, /*!< Group number for MCG status codes. */
|
||
kStatusGroup_SCG = 21, /*!< Group number for SCG status codes. */
|
||
kStatusGroup_SDSPI = 22, /*!< Group number for SDSPI status codes. */
|
||
kStatusGroup_FLEXIO_I2S = 23, /*!< Group number for FLEXIO I2S status codes */
|
||
kStatusGroup_FLEXIO_MCULCD = 24, /*!< Group number for FLEXIO LCD status codes */
|
||
kStatusGroup_FLASHIAP = 25, /*!< Group number for FLASHIAP status codes */
|
||
kStatusGroup_FLEXCOMM_I2C = 26, /*!< Group number for FLEXCOMM I2C status codes */
|
||
kStatusGroup_I2S = 27, /*!< Group number for I2S status codes */
|
||
kStatusGroup_IUART = 28, /*!< Group number for IUART status codes */
|
||
kStatusGroup_CSI = 29, /*!< Group number for CSI status codes */
|
||
kStatusGroup_SDRAMC = 35, /*!< Group number for SDRAMC status codes. */
|
||
kStatusGroup_POWER = 39, /*!< Group number for POWER status codes. */
|
||
kStatusGroup_ENET = 40, /*!< Group number for ENET status codes. */
|
||
kStatusGroup_PHY = 41, /*!< Group number for PHY status codes. */
|
||
kStatusGroup_TRGMUX = 42, /*!< Group number for TRGMUX status codes. */
|
||
kStatusGroup_SMARTCARD = 43, /*!< Group number for SMARTCARD status codes. */
|
||
kStatusGroup_LMEM = 44, /*!< Group number for LMEM status codes. */
|
||
kStatusGroup_QSPI = 45, /*!< Group number for QSPI status codes. */
|
||
kStatusGroup_DMA = 50, /*!< Group number for DMA status codes. */
|
||
kStatusGroup_EDMA = 51, /*!< Group number for EDMA status codes. */
|
||
kStatusGroup_DMAMGR = 52, /*!< Group number for DMAMGR status codes. */
|
||
kStatusGroup_FLEXCAN = 53, /*!< Group number for FlexCAN status codes. */
|
||
kStatusGroup_LTC = 54, /*!< Group number for LTC status codes. */
|
||
kStatusGroup_FLEXIO_CAMERA = 55, /*!< Group number for FLEXIO CAMERA status codes. */
|
||
kStatusGroup_LPC_SPI = 56, /*!< Group number for LPC_SPI status codes. */
|
||
kStatusGroup_LPC_USART = 57, /*!< Group number for LPC_USART status codes. */
|
||
kStatusGroup_DMIC = 58, /*!< Group number for DMIC status codes. */
|
||
kStatusGroup_SDIF = 59, /*!< Group number for SDIF status codes.*/
|
||
kStatusGroup_SPIFI = 60, /*!< Group number for SPIFI status codes. */
|
||
kStatusGroup_OTP = 61, /*!< Group number for OTP status codes. */
|
||
kStatusGroup_MCAN = 62, /*!< Group number for MCAN status codes. */
|
||
kStatusGroup_CAAM = 63, /*!< Group number for CAAM status codes. */
|
||
kStatusGroup_ECSPI = 64, /*!< Group number for ECSPI status codes. */
|
||
kStatusGroup_USDHC = 65, /*!< Group number for USDHC status codes.*/
|
||
kStatusGroup_LPC_I2C = 66, /*!< Group number for LPC_I2C status codes.*/
|
||
kStatusGroup_ESAI = 69, /*!< Group number for ESAI status codes. */
|
||
kStatusGroup_FLEXSPI = 70, /*!< Group number for FLEXSPI status codes. */
|
||
kStatusGroup_MMDC = 71, /*!< Group number for MMDC status codes. */
|
||
kStatusGroup_MICFIL = 72, /*!< Group number for MIC status codes. */
|
||
kStatusGroup_SDMA = 73, /*!< Group number for SDMA status codes. */
|
||
kStatusGroup_NOTIFIER = 98, /*!< Group number for NOTIFIER status codes. */
|
||
kStatusGroup_DebugConsole = 99, /*!< Group number for debug console status codes. */
|
||
kStatusGroup_ApplicationRangeStart = 100, /*!< Starting number for application groups. */
|
||
};
|
||
|
||
/*! @brief Generic status return codes. */
|
||
enum _generic_status
|
||
{
|
||
kStatus_Success = MAKE_STATUS(kStatusGroup_Generic, 0),
|
||
kStatus_Fail = MAKE_STATUS(kStatusGroup_Generic, 1),
|
||
kStatus_ReadOnly = MAKE_STATUS(kStatusGroup_Generic, 2),
|
||
kStatus_OutOfRange = MAKE_STATUS(kStatusGroup_Generic, 3),
|
||
kStatus_InvalidArgument = MAKE_STATUS(kStatusGroup_Generic, 4),
|
||
kStatus_Timeout = MAKE_STATUS(kStatusGroup_Generic, 5),
|
||
kStatus_NoTransferInProgress = MAKE_STATUS(kStatusGroup_Generic, 6),
|
||
};
|
||
|
||
/*! @brief Type used for all status and error return values. */
|
||
typedef int32_t status_t;
|
||
|
||
|
||
#endif /* _FSL_COMMON_H_ */
|