Возможно потребление периферии от частоты ее тактирования не сильно зависит. У всех модулей есть какие-то делители частоты на входе, потребление этих делителей наверно не существенно. На переключение на другую частоту с перепрограммированием делителя в UART-е надо 5-10 команд, т.е. "искажение" времени будет около 1мкс (при переходе 40МГц - 4Мгц). Для многих скоростей UART это не существенно. И для таймеров так же во многих случаях не существенно. Т.е. какие-то варианты все же есть.