--- zzzz-none-000/linux-2.6.28.10/kernel/time/timer_list.c 2009-05-02 18:54:43.000000000 +0000 +++ puma5-6360-529/linux-2.6.28.10/kernel/time/timer_list.c 2009-10-15 16:03:53.000000000 +0000 @@ -45,6 +45,32 @@ else SEQ_printf(m, "%s", symname); } +#ifdef CONFIG_PUMA_DEBUG_TIMER +void puma_timer_debug_print(struct seq_file *m){ + unsigned int *timer0_base = 0xd8610b00; + unsigned int *timer0_load_tim_rg = 0xd8610b04; + unsigned int *timer0_value_rg = 0xd8610b08; + unsigned int *timer0_interrupt_rg = 0xd8610b0c; + + unsigned int *timer1_base = 0xd8610c00; + unsigned int *timer1_load_tim_rg = 0xd8610c04; + unsigned int *timer1_value_rg = 0xd8610c08; + unsigned int *timer1_interrupt_rg = 0xd8610c0c; + + + unsigned int *timer2_base = 0xd8610d00; + unsigned int *timer2_load_tim_rg = 0xd8610d04; + unsigned int *timer2_value_rg = 0xd8610d08; + unsigned int *timer2_interrupt_rg = 0xd8610b0c; + + SEQ_printf(m, "[%s] timer0: base=%#x, load_tim_rg=%#x, value_rg=%d, interrupt_rg=%#x \n", __FUNCTION__, *timer0_base, *timer0_load_tim_rg, *timer0_value_rg, *timer0_interrupt_rg); + SEQ_printf(m, "[%s] timer0: prescale=%d\n", __FUNCTION__, (*timer0_base >> 2) & 0x0000000F); + SEQ_printf(m, "[%s] timer1: base=%#x, load_tim_rg=%#x, value_rg=%d, interrupt_rg=%#x \n", __FUNCTION__, *timer1_base, *timer1_load_tim_rg, *timer1_value_rg, *timer1_interrupt_rg); + SEQ_printf(m, "[%s] timer1: prescale=%d\n", __FUNCTION__, (*timer1_base >> 2) & 0x0000000F); + SEQ_printf(m, "[%s] timer2: base=%#x, load_tim_rg=%#x, value_rg=%d, interrupt_rg=%#x \n", __FUNCTION__, *timer2_base, *timer2_load_tim_rg, *timer2_value_rg, *timer2_interrupt_rg); + SEQ_printf(m, "[%s] timer2: prescale=%d\n", __FUNCTION__, (*timer2_base >> 2) & 0x0000000F); +} +#endif /*--- #ifdef CONFIG_PUMA_DEBUG_TIMER ---*/ static void print_timer(struct seq_file *m, struct hrtimer *taddr, struct hrtimer *timer, @@ -180,6 +206,9 @@ (unsigned long long)jiffies); } #endif +#ifdef CONFIG_PUMA_DEBUG_TIMER + puma_timer_debug_print(m); +#endif #undef P #undef P_ns