Switching to a different performance level does not affect oscillators, prescalers, or GCLK generators. After changing to a higher performance level it is necessary to wait for the Performance Level Ready bit in the Interrupt Flag Status and Clear register (INTFLAG.PLRDY) in the Power Manager (PM) to be set before changing the clock speed. When changing to a lower performance level the clock frequency must be set to a speed below the maximum limit before reducing performance level. It may also be necessary to change the number of read wait states, which is dependent of CPU clock speed, performance level and VDDIN voltage. Refer to the "Electrical Characteristics" chapter in the datasheet for more details. When increasing read wait states, this must apply before changing performance level. Similarly, a decrease in wait states must be done after changing perfomance level. The number of read wait states is configured by writing to the NVM Read Wait States bit group in the Control B register (CTRLB.RWS) in the Non-Volatile Memory Controller (NVMCTRL). Following are two step-by-step examples demonstrating how to change performance level.
Changing to a lower level (PL0) when running at 48MHz with VDDIN = 3.3V (> 2.7V):
Changing to a higher level (PL2) when running at 8MHz with VDDIN = 1.62V (< 2.7V):