When design a project, sometimes CCM_CLKO1 needs to output different clocks to meet customer needs. This customer does not need to buy a separate crystal, which can reduce costs。The document describe how to make CCM_CLKO1 output different clock on I.MXRT1050.
According to selection of the clock to be generated on CCM_CLKO1(CLKO1_SEL) and setting the divider of CCM_CLKO1(CLKO1_DIV) in I.MXRT1050reference manual.
CCM_CLKO1 can output different clock.
If CCM_CLKO1 output different clock via SYS PLL clock. We can get the different clock for the application.
For example we want to get 88Mhz output via SYS PLL clock. We can follow the steps as the below(led_blinky project in SDK ):
1. PINMUX GPIO_SD_B0_04 as CCM_CLKO1 signal.
2.Enable CCM_CLKO1 signal.
CCM->CCOSR |= CCM_CCOSR_CLKO1_EN_MASK;
3.Set CLKO1_DIV to get 88MHZ the clock for the application.
CCM->CCOSR = (CCM->CCOSR & (~CCM_CCOSR_CLKO1_DIV_MASK)) | CCM_CCOSR_CLKO1_DIV(2); CCM->CCOSR = (CCM->CCOSR & (~CCM_CCOSR_CLKO1_SEL_MASK)) | CCM_CCOSR_CLKO1_SEL(1);