123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 |
- #ifndef _DRV_DEBUG_H_
- #define _DRV_DEBUG_H_
- /*
- * Macros to help debugging
- */
- #include <drv_dev.h>
- #include "drv_spi_flashalloc_external.h"
- // part I: debug message
- #define DBGCONFIG1ADDR 0xa0000010
- #define DBGCONFIG2ADDR 0xa0000014
- // pdbgconf1 Flags
- #define DBGCFG_VIP (1 << MODULEID_VIP) // 0x1
- #define DBGCFG_MPEG (1 << MODULEID_MPEG) // 0x2
- #define DBGCFG_CVD2 (1 << MODULEID_CVD2) // 0x4
- #define DBGCFG_ADC (1 << MODULEID_ADC) // 0x8
- #define DBGCFG_HDMI (1 << MODULEID_HDMI) // 0x10
- #define DBGCFG_AUDIO (1 << MODULEID_AUDIO) // 0x20
- #define DBGCFG_BLT (1 << MODULEID_BLT) // 0x40 // not used. reserved.
- #define DBGCFG_OSDLIB (1 << MODULEID_OSDLIB) // 0x80 // not used. reserved.
- #define DBGCFG_TUNER (1 << MODULEID_TUNER) // 0x100
- #define DBGCFG_KMF (1 << MODULEID_KMF) // 0x200
- #define DBGCFG_UMF (1 << MODULEID_UMF) // 0x400
- #define DBGCFG_MENU (1 << MODULEID_MENU) // 0x800 // not used. reserved.
- #define DBGCFG_DEMUX (1 << MODULEID_DEMUX) // 0x1000 // not used. reserved.
- #define DBGCFG_PSI (1 << MODULEID_PSI) // 0x2000
- #define DBGCFG_EPG (1 << MODULEID_EPG) // 0x4000 // not used. reserved.
- #define DBGCFG_SUBTITLE (1 << MODULEID_SUBTITLE) // 0x8000 // not used. reserved.
- #define DBGCFG_ATVCC (1 << MODULEID_ATVCC) // 0x10000
- #define DBGCFG_DTVCC (1 << MODULEID_DTVCC) // 0x20000
- #define DBGCFG_TTSLICER (1 << MODULEID_TTSLICER) // 0x40000
- #define DBGCFG_TTDECODER (1 << MODULEID_TTDECORDER) // 0x80000
- #define DBGCFG_JPEG (1 << MODULEID_JPEG) // 0x100000 // not used. reserved.
- #define DBGCFG_USB (1 << MODULEID_USB) // 0x200000 // used for usb
- #define DBGCFG_IR (1 << MODULEID_IR) // 0x400000
- #define DBGCFG_KEYPAD (1 << MODULEID_KEYPAD) // 0x800000
- #define DBGCFG_SPI (1 << MODULEID_SPI) // 0x1000000
- #define DBGCFG_I2C (1 << MODULEID_I2C) // 0x2000000
- #define DBGCFG_EDID (1 << MODULEID_EDID) // 0x4000000
- #define DBGCFG_GPIO (1 << MODULEID_GPIO) // 0x8000000
- #define DBGCFG_LE (1 << MODULEID_LE) // 0x10000000 // not used. reserved.
- #define DBGCFG_CEC (1 << MODULEID_CEC) // 0x20000000
- #define DBGCFG_VBV (1 << MODULEID_VBV) // 0x40000000 // used for runav log.
- #define DBGCFG_CI (1 << MODULEID_CI) // 0x80000000
- //~ end of pdbgconf1 Flags
- // pdbgconf2 Flags
- #define DBGCFG_MP3 ( 1 << (MODULEID_MP3% 32) ) // 0x1 // not used. reserved.
- #define DBGCFG_CECSWITCH ( 1 << (MODULEID_CECSWITCH % 32) ) // 0x2
- #define DBGCFG_PVR ( 1 << (MODULEID_PVR % 32) ) // 0x4
- #define DBGCFG_DVBEUMIDDLEWARE ( 1 << (MODULEID_DVBEUMIDDLEWARE % 32) ) // 0x4 // not used. reserved.
- #define DBGCFG_HDMIOUT ( 1 << (MODULEID_HDMIOUT % 32) ) // 0x10 // not used. reserved.
- #define DBGCFG_FRAMEBUFFER ( 1 << (MODULEID_FRAMEBUFFER % 32) ) // 0x20 // not used. reserved.
- #define DBGCFG_2D ( 1 << (MODULEID_2D % 32) ) // 0x40 // not used. reserved.
- #define DBGCFG_SMP ( 1 << (MODULEID_SMP % 32) ) // 0x80 // not used. reserved.
- #define DBGCFG_ALSA (1<<(MODULEID_ALSA%32)) // 0x100 // not used. reserved.
- #define DBGCFG_RUNAV (1<<(MODULEID_RUNAV%32)) //0x1000 //used for runav debug log.
- #define DBGCFG_AUTOREBOOT 0x20000000 // not used. reserved.
- #define DBGCFG_AUTORUN_USB 0x40000000 // not used. reserved.
- #define DBGCFG_NOAUTORUN 0x80000000 // not used. reserved.
- //~ end of pdbgconf2 Flags
- extern unsigned int *pdbgconf1;
- extern unsigned int *pdbgconf2;
- extern unsigned char *DrvMsgPrint;
- //Example how to use new debug macro
- //DBG_MSG1(DBGCFG_KMF, "example dbg message\n");
- //~Example
- # ifndef CONFIG_SUPPORT_DEBUG_MESSAGE
- # define DBG_MSG1(id, fmt,args...)
- # ifdef __KERNEL__
- # define RELEASE_MSG1(id, fmt,args...) do{ if(*pdbgconf1 & id) printk(KERN_DEBUG " " fmt, ## args);}while(0)
- # else
- # define RELEASE_MSG1(id, fmt,args...) do{ if(*pdbgconf1 & id) fprintf(stdout,fmt, ## args);}while(0)
- # endif
- # else
- # ifdef __KERNEL__
- # define DBG_MSG1(id, fmt,args...) do{ if (*pdbgconf1 & id) printk(KERN_DEBUG " " fmt, ## args); } while(0)
- # define RELEASE_MSG1(id, fmt,args...) do{ if (*pdbgconf1 & id) printk(KERN_CRIT fmt, ## args); } while(0)
- # else
- # define DBG_MSG1(id, fmt,args...) do{ if (*pdbgconf1 & id) fprintf(stdout,fmt, ## args); } while(0)
- # define RELEASE_MSG1(id, fmt,args...) do{ if (*pdbgconf1 & id) fprintf(stdout,fmt, ## args); } while(0)
- # endif
- # endif
- # ifndef CONFIG_SUPPORT_DEBUG_MESSAGE
- # define DBG_MSG2(id, fmt,args...)
- # ifdef __KERNEL__
- # define RELEASE_MSG2(id, fmt,args...) do{ if (*pdbgconf2 & id) printk(KERN_DEBUG " " fmt, ## args); } while(0)
- # else
- # define RELEASE_MSG2(id, fmt,args...) do{ if (*pdbgconf2 & id) fprintf(stdout,fmt, ## args); } while(0)
- # endif
- # else
- # ifdef __KERNEL__
- # define DBG_MSG2(id, fmt,args...) do{ if (*pdbgconf2 & id) printk(KERN_DEBUG " " fmt, ## args); } while(0)
- # define RELEASE_MSG2(id, fmt,args...) do{ if (*pdbgconf2 & id) printk(KERN_CRIT fmt, ## args); } while(0)
- # else
- # define DBG_MSG2(id, fmt,args...) do{ if (*pdbgconf2 & id) fprintf(stdout,fmt, ## args); } while(0)
- # define RELEASE_MSG2(id, fmt,args...) do{ if (*pdbgconf2 & id) fprintf(stdout,fmt, ## args); } while(0)
- # endif
- # endif
- // part II: measure boot time
- #define BOOT_TIME_BUFFER_ADDRESS 0xba027ef0
- enum{
- BOOT_TIME_ID_ALL_MODULE_INIT_START,
- BOOT_TIME_ID_AUDIO_INIT_START,
- BOOT_TIME_ID_AUDIO_INIT_END,
- BOOT_TIME_ID_ALL_MODULE_INIT_END,
- BOOT_TIME_ID_TV_INIT_START,
- BOOT_TIME_ID_SOURCE_ENABLE_START,
- BOOT_TIME_ID_TV_INIT_END,
- BOOT_TIME_ID_NORMAL_SCREEN,
- BOOT_TIME_ID_POST_SETTING_START,
- BOOT_TIME_ID_POST_SETTING_END,
- BOOT_TIME_ID_NORMAL_SCREEN_END,
- BOOT_TIME_ID_MAX
- };
- #ifdef MEASURE_BOOTTIME
- #define BOOT_TIME_STORE_RTC(id) \
- do { \
- writel(readl(0xbe0f0000), BOOT_TIME_BUFFER_ADDRESS - 8*(id) ); \
- writel(readl(0xbe0f0004), BOOT_TIME_BUFFER_ADDRESS - 8*(id)+4); \
- } while(0)
- #else
- #define BOOT_TIME_STORE_RTC(id)
- #endif //ifdef MEASURE_BOOTTIME
- #ifdef CONFIG_MEASURE_SOURCECHANGETIME
- extern struct timeval srcChangeTime[BOOT_TIME_ID_MAX];
- extern void printSrcChangeTime(void);
- extern void saveSourceChangeTime(int id);
- #undef BOOT_TIME_STORE_RTC
- #define BOOT_TIME_STORE_RTC(id) \
- do {\
- saveSourceChangeTime(id); \
- } while(0)
- #endif
- #endif //_DRV_DEBUG_H_
|