AnsweredAssumed Answered

Access to RTC freezes OS

Question asked by Rafael Pita on Oct 23, 2014
Latest reply on Nov 6, 2014 by Bruno Castelucci

Hi,

 

I´m using i.MX6 in a custom board and having problems with the RTC.

 

The SNVS_LPSRTCLR does not increase, freezing the operating system in the function "rtc_write_sync_lp".

 

static inline void rtc_write_sync_lp(void __iomem *ioaddr)

{

unsigned int i, count1, count2, count3;

 

/* Wait for 3 CKIL cycles */

for (i = 0; i < 3; i++) {

 

/* TKT052983: Do consective reads of LSB of counter

* to ensure integrity

*/

do {

count1 = __raw_readl(ioaddr + SNVS_LPSRTCLR);

count2 = __raw_readl(ioaddr + SNVS_LPSRTCLR);

} while (count1 != count2);

 

/* Now wait until counter value changes */

do {

do {

count2 = __raw_readl(ioaddr + SNVS_LPSRTCLR);

count3 = __raw_readl(ioaddr + SNVS_LPSRTCLR);

} while (count2 != count3);

} while (count3 == count1);

}

}

 

The registers associated with SNVS (0x58 is LPTAR, 0x38 is LPCR, LPLR is 0x34):

0x00: 0x00000000

0x04: 0x80002100

0x08: 0x00000000

0x0C: 0x00000000

0x10: 0x00000000

0x14: 0x80000B00

0x18: 0x00000000

0x1C: 0x00000000

0x20: 0x00000000

0x24: 0x00000000

0x28: 0x00000000

0x2C: 0x00000000

0x30: 0x00000000

0x34: 0x000003FD

0x38: 0x00000020

0x3C: 0x00000000

0x40: 0x00000000

0x44: 0x00000000

0x48: 0x00000000

0x4C: 0x40000000

0x50: 0x00002A16

0x54: 0x112643A5

0x58: 0x542C224D

0x5C: 0x00000000

0x60: 0x00000000

0x64: 0x41736166

0x68: 0x00000000

0x6C: 0x00000000

0x70: 0x00000000

0x74: 0x00000000

0x78: 0x00000000

0x7C: 0x00000000

0x80: 0x00000000

0x84: 0x00000000

 

The /proc/driver/rtc:

cat /proc/driver/rtc

rtc_time        : 15:48:28

rtc_date        : 2014-10-01

alrm_time       : 15:48:29

alrm_date       : 2014-10-01

alarm_IRQ       : no

alrm_pending    : no

update IRQ enabled      : no

periodic IRQ enabled    : no

periodic IRQ frequency  : 1

max user IRQ frequency  : 64

24hr            : yes

alarm_IRQ       : no

 

If the battery is removed and replaced the problem is solved ( i had 2 wih this problem, now have only one ).

 

I do not know what happened to these two boards and not know how to prevent it happening in the next, imagine what would be the tampers, but I understand that they are disabled. Any suggestions?

 

 

 

Karina Valencia Aguilar You can prioritize this thread?

Bruno Castelucci

Outcomes