For our application we are in need to provide an PWM output with a fine-tunable, precise frequency in the range of about 10MHz to 20MHz (customer preference: +/- 50Hz for the set value).
I'm aware of the FlexPWM's fractional feature - however, the resulting accuracy isn't sufficient, besides distortion effecs, as there's no NanoEdge placement block in the i.MXRT series. The most promising approach would be using the audio or video PLL as clock source for FlexPWM. That's where my problem starts:
- FlexPWM only accepts IPBus clock, external and aux clock (from submodule 0), So I have to go with the external clock
- FlexPWM external clock seems only be routable via XBar when there's no XBar input for PLL4/5 clock
- when routing CCM CLKO1 to GPIO_SD_B4 via IOMux, there's no way to connect the appropriate XBar input to GPIO_SD_B4 at the same time
- similar problems, when clocking FlexIO, which accepts PLL5 clock, but its outputs cannot be routed via XBar
My fallback solution is to connect GPIO_SD_B4 on pin level to a pin, which routes back via XBar to FlexPWM external clock. But I almost can't believe, there's no chip internal way for realising my intent. Any hints?