blob: db035fa8aed57aacf80d231cfa1a586ff2e13672 [file] [log] [blame]
rjw6c1fd8f2022-11-30 14:33:01 +08001#ifndef __ESL_DEBUG_H__
2#define __ESL_DEBUG_H__
3
4#define ESL_SIM_TIME_FLAG (1UL<<0)
5#define ESL_WALL_TIME_FLAG (1UL<<1)
6#define ESL_COUNT_MCPS_FLAG (1UL<<2)
7#define ESL_CUSTOM_FLAG (1UL<<3)
8
9//For ESL Simulation
10#define ESL_UART_BASE (ESL_REG_BANK + 0x7010000)
11#define ESL_UART_OUT (ESL_UART_BASE+0x000)
12#define ESL_UART_FLAG (ESL_UART_BASE+0x004)
13#define ESL_PROF_V0T0_OUT (ESL_UART_BASE+0x008)
14#define ESL_PROF_V0T0_FLAG (ESL_UART_BASE+0x00C)
15#define ESL_PROF_V2T0_OUT (ESL_UART_BASE+0x208)
16#define ESL_PROF_V2T0_FLAG (ESL_UART_BASE+0x20C)
17#define ESL_PROF_V4T0_OUT (ESL_UART_BASE+0x408)
18#define ESL_PROF_V4T0_FLAG (ESL_UART_BASE+0x40C)
19
20#define ESL_PROF_OUT(vpe, tc) (ESL_UART_BASE | (((vpe)&0xF)<<8) | (((tc)&0xF)<<4) | 0x8)
21#define ESL_PROF_FLAG(vpe, tc) (ESL_UART_BASE | (((vpe)&0xF)<<8) | (((tc)&0xF)<<4) | 0xC)
22
23#define ESL_TCKTL_UTIL_BASE (ESL_REG_BANK + 0x1002000UL)
24#define ESL_EMI_READ_LAT_REG (ESL_TCKTL_UTIL_BASE)
25#if !defined(__MD97__)
26#define ESL_EMI_WRITE_LAT_REG (ESL_TCKTL_UTIL_BASE+0x04)
27#define ESL_EMI_STALL_EN_REG (ESL_TCKTL_UTIL_BASE+0x08)
28#else
29#define ESL_EMI_WRITE_LAT_REG (ESL_TCKTL_UTIL_BASE+0x08)
30#define ESL_EMI_STALL_EN_REG (ESL_TCKTL_UTIL_BASE+0x10)
31#endif
32
33#if defined(__ESL_MASE_GEN97__)
34#include "mase_debug.h"
35#else /* __ESL_MASE_GEN97__ */
36#if defined(__ESL_DBG_UTIL__) && defined(__ESL_HRT__)
37 #define esl_printf(flag, string_to_be_printed...) do {__esl_printf_flag(flag, string_to_be_printed);} while(0)
38 extern int __esl_printf_flag(kal_uint32 flag, const char *fmt, ...);
39 extern int __esl_profiling(kal_uint32 flag, const char *fmt, ...);
40#else
41 #define esl_printf(...) do {;}while(0)
42#endif
43#endif /* __ESL_MASE_GEN97__ */
44
45#define ESL_PLATFORM_SPEEDUP_CONFIG_CLEAR() do { \
46 *((volatile unsigned int*)ESL_EMI_READ_LAT_REG) = 0x30000000; \
47 *((volatile unsigned int*)ESL_EMI_WRITE_LAT_REG) = 0x30000000; \
48 *((volatile unsigned int*)ESL_EMI_STALL_EN_REG) = 0x00000000; \
49 MO_Sync(); \
50 } while(0)
51
52
53#define ESL_PLATFORM_SPEEDUP_CONFIG_RESTORE() do { \
54 *((volatile unsigned int*)ESL_EMI_READ_LAT_REG) = 0x20000000; \
55 *((volatile unsigned int*)ESL_EMI_WRITE_LAT_REG) = 0x20000000; \
56 *((volatile unsigned int*)ESL_EMI_STALL_EN_REG) = 0x00000001; \
57 MO_Sync(); \
58 } while(0)
59
60
61#endif /* __ESL_DEBUG_H__ */
62