| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- /*
- * Copyright : (C) 2022 Phytium Information Technology, Inc.
- * All Rights Reserved.
- *
- * This program is OPEN SOURCE software: you can redistribute it and/or modify it
- * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd,
- * either version 1.0 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY;
- * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the Phytium Public License for more details.
- *
- *
- * FilePath: ferror_code.h
- * Date: 2021-04-07 09:53:30
- * LastEditTime: 2022-02-17 18:05:27
- * Description: This files is for error code functions
- *
- * Modify History:
- * Ver Who Date Changes
- * ----- ------ -------- --------------------------------------
- */
- #ifndef _FT_ERROR_CODE_H
- #define _FT_ERROR_CODE_H
- #include "ftypes.h"
- typedef u32 FError;
- #define FT_SUCCESS 0
- /* 系统错误码模块定义 */
- typedef enum
- {
- ErrorModGeneral = 0,
- ErrModBsp,
- ErrModAssert,
- ErrModPort,
- StatusModBsp,
- ErrModMaxMask = 255,
- } FtErrorCodeModuleMask;
- /* COMMON组件的错误码子模块定义 */
- typedef enum
- {
- ErrCommGeneral = 0,
- ErrCommMemp,
- ErrInterrupt,
- } FtErrCodeCommMask;
- /* BSP模块的错误子模块定义 */
- typedef enum
- {
- ErrBspGeneral = 0,
- ErrBspClk,
- ErrBspRtc,
- ErrBspTimer,
- ErrBspUart,
- ErrBspGpio,
- ErrBspSpi,
- ErrBspEth,
- ErrBspCan,
- ErrPcie,
- ErrBspQSpi,
- ErrBspMio,
- ErrBspI2c,
- ErrBspMmc,
- ErrBspWdt,
- ErrGic,
- ErrGdma,
- ErrNand,
- ErrIoMux,
- ErrBspSata,
- ErrUsb,
- ErrEthPhy,
- ErrDdma,
- ErrBspAdc,
- ErrBspPwm,
- ErrSema,
- ErrBspModMaxMask = 255
- } FtErrCodeBspMask;
- #define FT_ERRCODE_SYS_MODULE_OFFSET (u32)24
- #define FT_ERRCODE_SUB_MODULE_OFFSET (u32)16
- #define FT_ERRCODE_SYS_MODULE_MASK ((u32)0xff << FT_ERRCODE_SYS_MODULE_OFFSET) /* bit 24 .. 31 */
- #define FT_ERRCODE_SUB_MODULE_MASK ((u32)0xff << FT_ERRCODE_SUB_MODULE_OFFSET) /* bit 16 .. 23 */
- #define FT_ERRCODE_TAIL_VALUE_MASK ((u32)0xffff) /* bit 1 .. 15 */
- /* Offset error code */
- #define FT_ERRCODE_OFFSET(code, offset, mask) \
- (((code) << (offset)) & (mask))
- /* Assembly error code */
- #define FT_MAKE_ERRCODE(sys_mode, sub_mode, tail) \
- ((FT_ERRCODE_OFFSET((u32)sys_mode, FT_ERRCODE_SYS_MODULE_OFFSET, FT_ERRCODE_SYS_MODULE_MASK)) | \
- (FT_ERRCODE_OFFSET((u32)sub_mode, FT_ERRCODE_SUB_MODULE_OFFSET, FT_ERRCODE_SUB_MODULE_MASK)) | \
- ((u32)tail & FT_ERRCODE_TAIL_VALUE_MASK))
- #define FT_CODE_ERR FT_MAKE_ERRCODE
- #define ERR_SUCCESS FT_MAKE_ERRCODE(ErrorModGeneral, ErrBspGeneral, 0) /* 成功 */
- #define ERR_GENERAL FT_MAKE_ERRCODE(ErrorModGeneral, ErrBspGeneral, 1) /* 一般错误 */
- #endif
|