I have been having some difficulties with the RTC on an mx536. It is running on a custom board based on the START-R design and also the MC34708 application example provided in the MC34708 datasheet.
I had found another post on here with a user having a similar problem, but there didn't seem to be a solution:
When I am running Linux, I can run /unit_tests/autorun-rtc.sh and it passes all tests. If I set the system time using date -s and write the date to the RTC using hwclock -w
it seems to store the date in the RTC. I can read it back using hwclock -r and it is correct.
Now, if I shutdown the system using "poweroff" and then turn it back on and boot into Linux, the clock has been reset to 0. I thought it might be a driver issue, so I modified the driver and had it output the registers SRTC_LPSR, SRTC_LPSCMR, and SRTC_LPSCLR and they are all set to 0 when the driver is probed and before it has done anything else.
VSRTC measures 1.3V when powered up and after shutting down, the VSRTC remains stable at 1.3V. The powerup sequence should be good, as it is controlled by the MC34708 with PUMS set for DDR3. The board has a 5V, 3.3, and 3.8V regulator which all remain active and stable throughout the powerup/down sequence.
If I remove power alltogether (and let the 5, 3.3, and 3.8V regulators turn off) then the VSRTC drops to 1.2V. This is correct according to the MC34708 datasheet that states VSRTC drops to 1.2V when powered from the coin cell. However, looking at the IMX53AEC datasheet, it suggests the minimum operating voltage for the NVCC_SRTC_POW is 1.25V. Does this mean that the MC34708 is not compatible with the i.mx53 RTC? The oscillator is also still going after powerdown and if I look at the 32.768 clock from the MC34708 to the mx53 it looks fine.
Also, it is worth mentioning that I am currently booting using the Mfgtool over USB since I dont want to burn any fuses just yet.
Any advice is appreciated. I'd prefer to use the mx53 RTC over the mc34708 as there doesnt seem to be a driver written for the MC34708 clock and it is less secure.