Can you clarify how to configure the OSC_24M_CTRL fields for an external 24 MHz reference clock? It is not clear what the following register bits are:
OSC_EN - Does this enable the pins for connection to an external clock source, or does this enable the internal 24 MHz RC?
BYPASS_EN - 0 for external crystal, 1 for external oscillator? Or other way around?
BYPASS_CLK - No description in the RM for what 0 and 1 values mean.
Meanwhile, the Clock Tools with the SDK actually shows 3 values for "OSC mode":
From what I can tell, this is how the 3 available OSC modes affect the OSC_24M_CTRL register:
| OSC mode | BYPASS_EN | BYPASS_CLK | Clocks Tool Descr |
| Ext crystal 24 MHz | 0 | 0 | External crystal 24 MHz |
| Ext bypass clock mode | 1 | 0 | External crystal is connected to the XTALI clock input |
| Ext ref clock | 0 | 1 | External reference clock is connected to the XTALI clock input |
What is the difference between these three modes? Why are there three modes (I can only imagine two: passive XTAL connected, or active oscillator clock connector).
Is it possible to change the OSC 24MHz between the internal RC oscillator and an external clock? (For example, depending on whether a reliable clock source is present, I would want to fall back to the internal 24 MHz)
Hello @aberger,
I have checked the i.MX RT1176 reference manual and there is a statement about usage of the alternate RC 48MHz internal reference clock as 24 MHz clock source instead of the external 24 MHz. But I am not sure whether the MCU can completely work without external reference clock (for example USB need a stable clock source, PLL need a stable 24 MHz reference clock). In addition, the i.MX RT1176 datasheet specify usage of the external reference clock - it can be either crystal or external oscillator. The internal RC 48 MHz is trimmed to +-2%, which is not a precise clock source.
I will contact the responsible design team to verify the statements in the i.MX RT1170 reference manual and recommended 24 MHz clock sources for PLLs and other internal modules.
Best Regards,
Marek Neuzil
Hi @aberger
Thank you so much for your interest in our products and for using our community.
Q1: OSC_EN - Does this enable the pins for connection to an external clock source, or does this enable the internal 24 MHz RC?
A1: This bit means enables external 24MHz XTALOSC.
Q2: BYPASS_EN - 0 for external crystal, 1 for external oscillator? Or other way around?
A2: BYPASS_EN - 1, It means external clock source directly input to XTALI pin.
Q3: BYPASS_CLK - No description in the RM for what 0 and 1 values mean.
A3: I confirmed with the NXP relevant internal team that the BYPASS_CLK information is incorrect. It will be changed to Reserved in the next released RT1170RM version, as this bit has no function.
Q4: Is it possible to change the OSC 24MHz between the internal RC oscillator and an external clock? (For example, depending on whether a reliable clock source is present, I would want to fall back to the internal 24 MHz)
A4: RT1170 series chip have no internal 24MHz RC oscillator, it contains four RC oscillators - 48MHz, 32KHz, 16MHz, and 400MHz.
Wish it helps you.
If you still have question about it, please kindly let me know.
Best Regards
MayLiu
Hmm, the Clocks Tool seems to imply that the OSC 24 MHz can be an "internal RC oscillator".
Meanwhile, the RM refers to the 24 MHz as a crystal oscillator available on the chip:
Regardless of whether it as an RC oscillator or a XTAL oscillator, is there a source of 24 MHz available "on chip" (i.e. without an external connection to a XTAL or reference clock)?
If I set the Clocks Tool to "OSC 24 MHz disabled", the XTALI and XTALO pins become disabled, but there still appears to be a 24 MHz signal coming out of the Oscillators block (which suggests on on-chip source of 24 MHz). Only if I click on the OSC 24MHz and select "disconnected" does the OSC 24MHz block get labeled as Inactive.
Hello @aberger,
I have checked the usage of the internal RC oscillator 48 MHz (divided by 2) as 24 MHz clock source. This 48 MHz internal RC oscillator (divided by 2) can be just used as a clock source in the CCM clock roots, see the clock diagram below:
It can be used for peripherals and also CPU cores but this internal RC oscillator cannot be used for PLLs as it is visible in the clock diagram in the Clocks tool. The internal RC oscillator is not precise and stable to be used as a clock source for PLLs.
The only possible clock source for all PLLs is an external crystal or external oscillator. Please, ignore the confusing comment of the OSC 24 MHz clock element in the Clocks tool for the MIMXRT1176 MCU (it will be removed).
Thus, if you want to use the internal 48 MHz RC oscillator, all PLLs must be disabled and the internal 48 MHz RC oscillator clock source must be selected in the CCM (clock roots) . But still the recommendation is to use the external oscillator to have better stability in clocks.
Best Regards,
Marek Neuzil