mirror of
https://github.com/mudita/MuditaOS.git
synced 2026-01-18 19:10:03 -05:00
Multiple fixes of clock switching related stability issues: * added RC oscillator hysteresis as in NXP example; * changed DCDC converter config; * configure PLL2 to be able to run on any CPU frequency level; * added switching to 1.275V (overdrive) voltage when applying any clock change above 12MHz as well as LDO or bandgap switching, as done in Mbed OS' lpm.c for RT1050; * changed BMCR AXI queues weighs for SDRAM in JLink scripts to disable operations reordering, as it is known to cause data integrity issues; * extracted some code to separate files; * smaller or bigger code cleanups.
38 lines
821 B
C++
38 lines
821 B
C++
#include "common.hpp"
|
|
|
|
namespace bsp
|
|
{
|
|
std::uint8_t CpuMHZToLevel(enum CpuFrequencyMHz val)
|
|
{
|
|
switch (val) {
|
|
case CpuFrequencyMHz::Level_0:
|
|
return 0;
|
|
case CpuFrequencyMHz::Level_1:
|
|
return 1;
|
|
case CpuFrequencyMHz::Level_2:
|
|
return 2;
|
|
case CpuFrequencyMHz::Level_3:
|
|
return 3;
|
|
case CpuFrequencyMHz::Level_4:
|
|
return 4;
|
|
case CpuFrequencyMHz::Level_5:
|
|
return 5;
|
|
case CpuFrequencyMHz::Level_6:
|
|
return 6;
|
|
}
|
|
return -1;
|
|
}
|
|
|
|
const char *c_str(Board board)
|
|
{
|
|
switch (board) {
|
|
case Board::RT1051:
|
|
return "RT1051";
|
|
case Board::Linux:
|
|
return "Linux";
|
|
default:
|
|
return "none";
|
|
}
|
|
}
|
|
};
|