diff options
| author | Yuval Adam <_@yuv.al> | 2017-08-30 08:25:59 +0000 |
|---|---|---|
| committer | Yuval Adam <_@yuv.al> | 2017-08-30 08:25:59 +0000 |
| commit | 8e4bff4cab0ddac6060645b0715210484d02ff40 (patch) | |
| tree | 3a5c3024371a04692a3a6d9974d001cdff8ebf84 /include/soc/sprd/pm_debug.h | |
Diffstat (limited to 'include/soc/sprd/pm_debug.h')
| -rw-r--r-- | include/soc/sprd/pm_debug.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/include/soc/sprd/pm_debug.h b/include/soc/sprd/pm_debug.h new file mode 100644 index 00000000..c91bb335 --- /dev/null +++ b/include/soc/sprd/pm_debug.h @@ -0,0 +1,59 @@ +#ifndef _MACH_PM_DEBUG_H +#define _MACH_PM_DEBUG_H + +#include<soc/sprd/hardware.h> +#include<linux/io.h> + +/*print message every 30 second*/ +#define PM_PRINT_ENABLE + +/* use this method we can get time everytime */ +#if !(defined(CONFIG_ARCH_SCX35L64)||defined(CONFIG_ARCH_SCX35LT8)) +#define TIMER_REG(off) (SPRD_TIMER_BASE + (off)) +#define SYSCNT_REG(off) (SPRD_SYSCNT_BASE + (off)) +#define SYSCNT_COUNT SYSCNT_REG(0x0004) +static u32 inline get_sys_cnt(void) +{ + u32 val1, val2; + val1 = __raw_readl(SYSCNT_COUNT); + val2 = __raw_readl(SYSCNT_COUNT); + while(val2 != val1) { + val1 = val2; + val2 = __raw_readl(SYSCNT_COUNT); + } + return val2; +} +#endif + +/*just for pm_sc8810.c & pm_vlx.c*/ + +/*sleep mode info*/ +#define SLP_MODE_ARM 0 +#define SLP_MODE_MCU 1 +#define SLP_MODE_DEP 2 +#define SLP_MODE_LIT 3 +#define SLP_MODE_NON 4 + +extern void pm_debug_init(void); +extern void print_statisic(void); +extern void wakeup_irq_set(void); +extern void print_irq_loop(void); +extern void hard_irq_set(void); +extern void print_int_status(void); +extern void clr_sleep_mode(void); +extern void set_sleep_mode(int sm); +extern void time_statisic_begin(void); +extern void time_statisic_end(void); +extern void print_time(void); +extern void irq_wakeup_set(void); +extern void time_add(unsigned int time, int ret); +extern void print_hard_irq_inloop(int ret); +extern void pm_debug_save_ahb_glb_regs(void); +extern void pm_debug_set_wakeup_timer(void); +extern int is_print_linux_clock; +extern int is_print_modem_clock; + +/* *just for ddi.c */ +extern void inc_irq(int irq); + +#endif |
