Other Parts Discussed in Thread: TPS65218, TPS65910
Tool/software: Linux
hi TI engineers,
we encounter DMTimer2 unexpected stop in am3352 after run 1 or more days, we indeed seen gp_timer in /proc/interrupts never increase any more;
and this timer is initialized for clockevent in omap2_gp_clockevent_init(clkev_nr, clkev_src, clkev_prop); //arch/arm/mach-omap2/timer.c
below is the related call stack:
omap3_gptimer_timer_init(void) =>
__omap_sync32k_timer_init(2, "timer_sys_ck", NULL, \
1, "timer_sys_ck", "ti,timer-alwon", true); =>
omap2_gp_clockevent_init(clkev_nr, clkev_src, clkev_prop);
after DMTimer2 unexpected stop, those things happen:
1、gp_timer in /proc/interrupts NEVER increases
2、get time form date cmd may goback some minues or seconds
3、user apps no longer output debug log in console, it seems the scheduler of kernel do not work correctly.
but shell in console work fine, network ping is also work fine.
4、cpu load of threads in top cmd are all 0%
we have try the newest PSDk's Kernel and other kernel version 4.4.113/4.4.155 with our own rootfs in custom board and Beagebone Black board, the situation is the same. eventhought i don't make any change in kernel source.
someone had posted the similary probem at

and i had post one at

and others disscus at

here is an other one

By the way, we checked after situation come out, ST bit of the DMTimer2's TCLR is 1 (that is Start timer)
But If we stop DMTimer2 manually in console shell by cmd: devmem 0x48040038 32 0x0
then we can reproduced the 1/2/3 situation mentioned above, but hung while i type cmd top in console shell.
So we think DMTimer2 of my AM335x is not work correctly after run one or more days.
We also try to comment out __omap_dm_timer_override_errata() in omap2_gp_clockevent_init(), this force to enable OMAP_TIMER_ERRATA_I103_I767, but the kernel can't bootup at all.
Think you in advance.


