Apalis iMX6D internal oscillator frequency (for WDOG)

Using apalis iMX6D 1GB IT,

Problem:

When I do set WDOG to fire after 3s, it actually fires after ~2.5s in some SOMs, not all

My current findings:

  1. Errata for iMX6D:
    ERR007926:
    “The internal ring oscillator is less accurate than a crystal oscillator and may be up to two times
    faster than a 32 kHz external crystal oscillator”
    So the internal frequency may be up to 64 kHz? Is this correct for iMX6D 1GB IT?

Hi, I’m the Toradex AI Assistant.

I might make mistakes or occasionally get you wrong. Our support team will step in if needed.


Based on the available sources, I cannot find specific information about the internal oscillator frequency tolerance for the Watchdog Timer (WDOG) on the Apalis iMX6D 1GB IT module.

The Apalis iMX6 Datasheet confirms that the Apalis iMX6D 1GB IT uses the MCIMX6D7CVT08 Ax SoC(1), but the provided documentation does not contain details about the internal ring oscillator specifications or the ERR007926 errata you mentioned.

To properly address your findings about the internal oscillator potentially running up to 64 kHz (twice the nominal 32 kHz), I would need access to:

  • The NXP i.MX 6D reference manual or errata documentation
  • Specific oscillator specifications for the MCIMX6D7CVT08 Ax SoC
  • WDOG clock source configuration details

For accurate information about this hardware-level behavior and the ERR007926 errata impact on your specific module, I recommend:

  1. Consulting the NXP i.MX 6Dual/6DualLite reference manual directly
  2. Reviewing the official NXP errata document for your SoC revision
  3. Contacting Toradex support with your specific findings about the timing variance

Check out these potentially useful sources: Apalis iMX6 Datasheet

Would you like a general answer based on my knowledge instead?

Best regards,
Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

from Apalis iMX6 Datasheet item 5.8.1 Real-Team Clock (RTC) recommendation, “The Apalis module features an RTC circuit which is located inside the SoC”, so i understand that ERR007926 apply for iMX6D 1GB IT

Based on the Apalis iMX6 Datasheet, you are correct that the RTC circuit is located inside the SoC(1). The datasheet states in section 5.8.1:

“The Apalis module features an RTC circuit which is located inside the SoC. An external 32.768 kHz crystal is required for accurate time keeping.”(1)

However, the provided Toradex documentation does not contain specific information about the NXP ERR007926 errata or the internal ring oscillator frequency tolerance for the i.MX6D SoC used on your Apalis iMX6D 1GB IT module.

While the datasheet confirms the module uses the MCIMX6D7CVT08 Ax SoC(1) and mentions the internal RTC circuit, it does not provide details about:

  • The internal ring oscillator frequency range or accuracy
  • How the WDOG timer is clocked
  • The ERR007926 errata impact
  • Whether the internal oscillator can run up to 64 kHz (2x the 32.768 kHz crystal frequency)

Your observation that the WDOG fires after ~2.5s instead of 3s on some modules (approximately 83% of expected time, or 1.2x faster) could align with the errata you mentioned, but I cannot confirm this from the available Toradex documentation.

For definitive information about ERR007926 and its applicability to your specific module revision, you should:

  1. Review the NXP i.MX 6Dual/6Quad reference manual and official errata document
  2. Contact Toradex support at Community with your specific hardware revision and timing measurements

Best regards,
Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

It would be great if a human could review this

Hi Mariano,

A correction to the AI answer above first: the Apalis iMX6 datasheet does not say an external crystal is required. Section 5.8.1 states that the RTC inside the SoC is equipped with an accurate 32.768 kHz quartz crystal, and that crystal is on the module [1]. You do not need to add one to your carrier board.

On ERR007926: yes, it applies to the i.MX 6Dual on the Apalis iMX6D 1GB IT, and ~64 kHz is a fair reading. That figure is a worst-case bound, not a frequency specification. The erratum covers the power-up window, during which the SoC runs from the internal ring oscillator. Once the 32 kHz crystal is stable, the SoC switches to it automatically. The documented impact is on Boot ROM timing [2].

It impacts the watchdog counter runs from the same 32 kHz domain (CKIL) as the SNVS RTC. After the switchover, the timeout should follow the crystal’s accuracy, which is in the ppm range. Your observed 3 s → ~2.5 s is a 1.2× ratio, or about 39 kHz. That fits a unit still running on the ring oscillator, and the same symptom has been reported on i.MX6 designs without a 32 kHz crystal [3]. The WDOG also counts in 0.5 s steps, so a measurement offset can produce exactly 0.5 s.

Two tests will tell these causes apart. Run each on an affected and an unaffected module, using the same carrier board and image.

  1. RTC drift check. Set the system time, then write it to the internal SNVS RTC with hwclock -f /dev/rtc1 -w. Wait 10 minutes and read it back with hwclock -f /dev/rtc1 -r. The system clock is not derived from the 32 kHz domain, so it serves as the reference.
    • Drift close to zero means the module is running from its crystal.
    • About 20% drift means it is on the ring oscillator.
  2. Timeout sweep. Test 3, 5 and 10 s, always measuring from the last watchdog refresh to reset.
    • A constant ~0.5 s error points to how the interval is measured or to counter phase. This is not a clock problem.
    • A constant ~17% error at every setting points to the clock source.

Do not compensate by shortening the timeout in software. The ring oscillator has no guaranteed accuracy and drifts with temperature and voltage. If the RTC test confirms the affected modules are not running from their crystal, treat it as a module hardware issue and let us know.

References
[1] Apalis iMX6 Datasheet, section 5.8.1
[2] NXP i.MX 6Dual/6Quad Chip Errata (IMX6DQCE), ERR007926
[3] NXP Community – Watchdog on i.MX6Q timeout problem (2015)

Best regards,

Hi Diego, thanks for the quick response.

We tested according to your recommendations and found the following:

RTC drift is about 35%:

/ # hwclock -f /dev/rtc0 -w

/ # date

Thu Jan 1 00:00:43 UTC 1970

/ # date

Thu Jan 1 00:12:52 UTC 1970

/ # hwclock -f /dev/rtc0 -r

Thu Jan 1 00:17:29 1970 0.000000 seconds

/ # date

Thu Jan 1 00:13:07 UTC 1970

The WDOG timeout sweep also shows about 35% drift:
Timeout: 128 s
Reference board: 128132 ms
Board under test: 96793 ms

Just for clarification, does the Toradex Apalis iMX6D 1GB IT SOM use an external 32 kHz clock, or does it rely only on an internal clock?

If it uses an external clock, where is the oscillator located on the SOM?

Given that we are seeing approximately the same drift in both the RTC and WDOG, can we conclude that this is a hardware issue?

Best regards,
Mariano

Yes, we are using external SMT Quartz Crystal Unit that incorporates a tuning fork Quartz Crystal Resonator. CC4V-T1A-32.768kHz-12.5pf-20ppm
It’s located on the bottom side of the SOM.

I’d say it more close to 25%, but anyway is well beyond the specified crystal tolerance. A defective or damaged crystal is one possible cause. Quartz crystals are sensitive to mechanical shock, so mishandling—for example, dropping the module onto a hard surface—could potentially damage the crystal and affect its operation.