We have a unique problem with imx28 clock accuracy in our design.
The 32.768 kHz crystal is connected to the RTC and is battery-backed. There is also a 24MHz crystal that runs the system clock when powered by the 5V supply. In our case, we found that the RTC when running on battery is more accurate (within 20ppm) than when it is powered by the 5V supply. Additionally, we found that the 24MHz clock is more accurate (within 20ppm) than the 32.768 kHz clock when powered by the 5V supply. Therefore, in order to be within 20ppm in all cases, during initial power up to the 5V supply, we copy the contents of RTC clock to the 24MHz system clock, and when detecting loss of 5V during power down, we copy the contents of the system clock to the battery-backed RTC before shutting down the CPU.
During power cycle tests, we are seeing somewhat random occurrences of inaccuracies from seconds to minutes in the system clock. Thus far, we have been unable to find the source of the problem in our code. We also do not think it is due to the hardware implementation of the battery back circuit as shown below.
Let us know if you may have run into a similar issue and found a fix or if you have other suggestions or ideas that we could try.