I've experienced a performance degradation when the external RTC low frequency clock is removed from a board. Here is my experiment:
1. A board with imx6s (MCIMX6S5DVM10AB) and an RTC low frequency external clock. I have an application (written by me) which records compressed video in a file. I am able to record at 30 frames per second (FPS) on this board.
2. I took the exact same board as in 1 and I removed the external low frequency clock (hardware removal). My frame rate dropped to 28 running the exact same software as in case 1.
Looking through the datasheet of imx6 I found the following (Section 4.1.4 External Clock Sources):
The RTC_XTALI is used for low-frequency functions. It supplies the clock for wake-up circuit, power-down real time clock operation, and slow system and watch-dog counters. The clock input can be connected to either external oscillator or a crystal using internal oscillator amplifier. Additionally, there is an internal ring oscillator, which can be used instead of the RTC_XTALI if accuracy is not important.
NOTE: The internal RTC oscillator does not provide an accurate frequency and is affected by process, voltage, and temperature variations. NXP strongly recommends using an external crystal as the RTC_XTALI reference. If the internal oscillator is used instead, careful consideration must be given to the timing implications on all of the SoC modules dependent on this clock. The system clock input XTALI is used to generate the main system clock. It supplies the PLLs and other peripherals. The system clock input can be connected to either external oscillator or a crystal using internal oscillator amplifier.
1. Is a performance degradation like the one I've experienced expected if an external RTC clock is not used?
2. If I remove the external RTC low frequency clock do I need to do any software changes in order to get the same performance?
3. Is the internal ring oscillator enabled by default if the external clock is removed?