mirror of
https://github.com/jialexd/sdk-ameba-v4.0c_180328.git
synced 2024-11-27 08:40:29 +00:00
178 lines
4.9 KiB
C
Executable file
178 lines
4.9 KiB
C
Executable file
/*
|
|
* Routines to access hardware
|
|
*
|
|
* Copyright (c) 2013 Realtek Semiconductor Corp.
|
|
*
|
|
* This module is a confidential and proprietary property of RealTek and
|
|
* possession or use of this module requires written permission of RealTek.
|
|
*/
|
|
|
|
#ifndef _DIAG_H_
|
|
#define _DIAG_H_
|
|
|
|
#include "platform_autoconf.h"
|
|
#include "basic_types.h"
|
|
|
|
#include <stddef.h> /* for size_t */
|
|
#include "rtl_trace.h"
|
|
|
|
extern u32 ConfigDebugClose;
|
|
extern u32 ConfigDebugErr;
|
|
extern u32 ConfigDebugInfo;
|
|
extern u32 ConfigDebugWarn;
|
|
|
|
extern u32 CfgSysDebugErr;
|
|
extern u32 CfgSysDebugInfo;
|
|
extern u32 CfgSysDebugWarn;
|
|
|
|
#define DBG_ERR_MSG_ON(x) (ConfigDebugErr |= (x))
|
|
#define DBG_WARN_MSG_ON(x) (ConfigDebugWarn |= (x))
|
|
#define DBG_INFO_MSG_ON(x) (ConfigDebugInfo |= (x))
|
|
|
|
#define DBG_ERR_MSG_OFF(x) (ConfigDebugErr &= ~(x))
|
|
#define DBG_WARN_MSG_OFF(x) (ConfigDebugWarn &= ~(x))
|
|
#define DBG_INFO_MSG_OFF(x) (ConfigDebugInfo &= ~(x))
|
|
|
|
// Define debug group
|
|
#define _DBG_BOOT_ 0x00000001
|
|
#define _DBG_GDMA_ 0x00000002
|
|
#define _DBG_GPIO_ 0x00000004
|
|
#define _DBG_TIMER_ 0x00000008
|
|
#define _DBG_I2C_ 0x00000010
|
|
#define _DBG_I2S_ 0x00000020
|
|
#define _DBG_PWM_ 0x00000200
|
|
#define _DBG_SDIO_ 0x00000400
|
|
#define _DBG_SSI_ 0x00000800
|
|
#define _DBG_SPI_FLASH_ 0x00001000
|
|
#define _DBG_UART_ 0x00004000
|
|
#define _DBG_USB_OTG_ 0x00008000
|
|
#define _DBG_USB_CORE_ 0x00010000
|
|
#define _DBG_CRYPTO_ 0x00020000
|
|
#define _DBG_ADC_ 0x00040000
|
|
#define _DBG_USOC_ 0x00080000
|
|
#define _DBG_EFUSE_ 0x00100000
|
|
#define _DBG_MONIT_ 0x00200000
|
|
#define _DBG_MISC_ 0x40000000
|
|
#define _DBG_FAULT_ 0x80000000
|
|
|
|
extern _LONG_CALL_ u32 DiagPrintf(const char *fmt, ...);
|
|
u32 DiagSPrintf(u8 *buf, const char *fmt, ...);
|
|
int prvDiagPrintf(const char *fmt, ...);
|
|
int prvDiagSPrintf(char *buf, const char *fmt, ...);
|
|
|
|
#define _DbgDump DiagPrintf
|
|
|
|
#define DRIVER_PREFIX "RTL8195A[Driver]: "
|
|
#define HAL_PREFIX "RTL8195A[HAL]: "
|
|
|
|
#define SDIO_WARN_PREFIX "[SDIO Wrn]"
|
|
#define SDIO_INFO_PREFIX "[SDIO Inf]"
|
|
#define UART_WARN_PREFIX "[UART Wrn]"
|
|
#define USB_INFO_PREFIX "[USB Inf]"
|
|
#define EFUSE_INFO_PREFIX "[EFUSE Inf] "
|
|
|
|
//#ifdef
|
|
#define CONFIG_DEBUG_ERROR 1
|
|
#define CONFIG_DEBUG_WARN 1
|
|
#define CONFIG_DEBUG_INFO 1
|
|
|
|
#ifndef likely
|
|
#define likely(x) (x)
|
|
#define unlikely(x) (x)
|
|
#endif
|
|
|
|
// =============================================================
|
|
|
|
#if CONFIG_DEBUG_WARN // if Build-In Debug Warring Message
|
|
#define DBG_SDIO_WARN(...) do {\
|
|
if (unlikely(ConfigDebugWarn & _DBG_SDIO_)) \
|
|
_DbgDump("\r"SDIO_WARN_PREFIX __VA_ARGS__);\
|
|
}while(0)
|
|
|
|
#define DBG_UART_WARN(...) do {\
|
|
if (unlikely(ConfigDebugWarn & _DBG_UART_)) \
|
|
_DbgDump("\r"UART_WARN_PREFIX __VA_ARGS__);\
|
|
}while(0)
|
|
#else // else of "#if CONFIG_DEBUG_WARN"
|
|
#define DBG_SDIO_WARN(...)
|
|
#define DBG_UART_WARN(...)
|
|
#endif // end of else of "#if CONFIG_DEBUG_WARN"
|
|
|
|
// =============================================================
|
|
|
|
#if CONFIG_DEBUG_INFO // if Build-In Debug Information Message
|
|
#define DBG_SDIO_INFO(...) do {\
|
|
if (unlikely(ConfigDebugInfo & _DBG_SDIO_)) \
|
|
_DbgDump("\r"SDIO_INFO_PREFIX __VA_ARGS__);\
|
|
}while(0)
|
|
|
|
#define DBG_EFUSE_INFO(...) do {\
|
|
if (likely(ConfigDebugInfo & _DBG_EFUSE_)) \
|
|
_DbgDump("\r"EFUSE_INFO_PREFIX __VA_ARGS__);\
|
|
}while(0)
|
|
|
|
#else // else of "#if CONFIG_DEBUG_INFO"
|
|
#define DBG_SDIO_INFO(...)
|
|
#define DBG_EFUSE_INFO(...)
|
|
#endif // end of else of "#if CONFIG_DEBUG_INFO"
|
|
|
|
#ifdef CONFIG_DEBUG_LOG
|
|
#define DBG_8195A_HAL(...) do {\
|
|
if (unlikely(ConfigDebugErr & (_DBG_MISC_))) \
|
|
_DbgDump("\r"HAL_PREFIX __VA_ARGS__);\
|
|
}while(0)
|
|
|
|
#define DBG_8195A_USOC(...) do {\
|
|
if (unlikely(ConfigDebugErr & _DBG_USOC_)) \
|
|
_DbgDump("\r"USB_INFO_PREFIX __VA_ARGS__);\
|
|
}while(0)
|
|
|
|
#define DBG_8195A(...) do {\
|
|
if (unlikely(ConfigDebugErr & _DBG_MISC_)) \
|
|
_DbgDump("\r" __VA_ARGS__);\
|
|
}while(0)
|
|
|
|
#define MONITOR_LOG(...) do {\
|
|
if (unlikely(ConfigDebugErr & _DBG_MONIT_)) \
|
|
_DbgDump( __VA_ARGS__);\
|
|
}while(0)
|
|
|
|
#else // else of "#if CONFIG_DEBUG_LOG"
|
|
#define DBG_8195A_HAL(...)
|
|
#define DBG_8195A(...)
|
|
#define MONITOR_LOG(...)
|
|
#define DBG_8195A_USOC(...)
|
|
|
|
#define DBG_SDIO_WARN(...)
|
|
#define DBG_UART_WARN(...)
|
|
|
|
#define DBG_SDIO_INFO(...)
|
|
#define DBG_EFUSE_INFO(...)
|
|
|
|
#endif
|
|
|
|
#define ANSI_COLOR_GREEN "\x1b[32m"
|
|
#define ANSI_COLOR_CYAN "\x1b[36m"
|
|
#define ANSI_COLOR_YELLOW "\x1b[33m"
|
|
#define ANSI_COLOR_MAGENTA "\x1b[35m"
|
|
#define ANSI_COLOR_RED "\x1b[31m"
|
|
#define ANSI_COLOR_BLUE "\x1b[34m"
|
|
#define ANSI_COLOR_RESET "\x1b[0m"
|
|
|
|
typedef enum {
|
|
DBG_CFG_ERR=0,
|
|
DBG_CFG_WARN=1,
|
|
DBG_CFG_INFO=2
|
|
} DBG_CFG_TYPE;
|
|
|
|
typedef struct {
|
|
u8 cmd_name[16];
|
|
u32 cmd_type;
|
|
} DBG_CFG_CMD;
|
|
|
|
typedef enum _CONSOLE_OP_STAGE_ {
|
|
ROM_STAGE = 0,
|
|
RAM_STAGE = 1
|
|
}CONSOLE_OP_STAGE;
|
|
|
|
#endif //_DIAG_H_
|