The OSCILLATORS documentation says:
"The device starts at 64 MHz. For 128 MHz, it must be configured when the CPU starts and before any peripherals that use the high-frequency clock are enabled. Changing the frequency on a running system or to an unsupported value causes undefined system behavior and the device can malfunction."
Furthermore, the configuration register is retained.
Let's assume we perform a firmware update of a device in the field and the device reboots (soft reset). With the new firmware version, it is configured to use a different CPU frequency than the previous firmware. The boot code of the firmware will then change the frequency of a running system, which causes undefined system behavior according to the documentation. So is it really not allowed to use different CPU frequencies for different firmware versions like this? Any workarounds? Or would this work fine in practice (i.e. change CPU frequency after soft reset)?
And what about if the bootloader happens to use a different CPU frequency than the application?