Other Parts Discussed in Thread: AM3352
Hi,
Customer has find an issue on booting AM3352 from eMMC (on their own board). They are using following versions
U-Boot version: u-boot-2014.07-g7e537bf (from ti-sdk-am335x-evm-08.00.00.00)
Linux kernel version: linux-4.1.18 (from ti-processor-sdk-linux-am335x-evm-02.00.02.11)
They sometimes see that U-boot is not able to load Linux image. They have debugged this further and find out that the reason is that get_timer(0) function sometimes gives decreased value compared to previous value which never should happen (except in roll-over) . They have seen e.g.
452424700 OK
452423902 ERROR, decreased value!
452473268 OK
452502021 OK
This behavior is causing false timeout to be triggered in omap_hsmmc.c
mmc_stat = readl(&mmc_base->stat);
if (get_timer(0) - start > MAX_RETRY_MS) {
printf("%s: timedout waiting for status!\n",
which then causes image will not be loaded. They have tested this by doing
while true; do run loadimage; done
to reproduce the issue. Sometimes it happens in couple of minutes but sometimes it takes some hours to reproduce.
Any ideas what could cause this issue?
