diff options
Diffstat (limited to 'src/soc')
-rw-r--r-- | src/soc/mediatek/common/include/soc/pmif_clk_common.h | 4 | ||||
-rw-r--r-- | src/soc/mediatek/common/pmif_clk.c | 20 |
2 files changed, 12 insertions, 12 deletions
diff --git a/src/soc/mediatek/common/include/soc/pmif_clk_common.h b/src/soc/mediatek/common/include/soc/pmif_clk_common.h index c61cd1a96e..dc03bfc1d6 100644 --- a/src/soc/mediatek/common/include/soc/pmif_clk_common.h +++ b/src/soc/mediatek/common/include/soc/pmif_clk_common.h @@ -3,7 +3,7 @@ #ifndef __MEDIATEK_SOC_PMIF_CLK_COMMON__ #define __MEDIATEK_SOC_PMIF_CLK_COMMON__ -int pmif_ulposc_check(u32 current_clk, u32 target_clk); -int pmif_ulposc_cali(u32 target_val); +int pmif_ulposc_check(u32 current_clk_mhz, u32 target_clk_mhz); +int pmif_ulposc_cali(u32 target_freq_mhz); #endif /*__MEDIATEK_SOC_PMIF_CLK_COMMON__*/ diff --git a/src/soc/mediatek/common/pmif_clk.c b/src/soc/mediatek/common/pmif_clk.c index f4e1d0eb7b..ee1996ea46 100644 --- a/src/soc/mediatek/common/pmif_clk.c +++ b/src/soc/mediatek/common/pmif_clk.c @@ -6,24 +6,24 @@ #include <soc/pmif_clk_common.h> #include <soc/pmif_sw.h> -int pmif_ulposc_check(u32 current_clk, u32 target_clk) +int pmif_ulposc_check(u32 current_clk_mhz, u32 target_clk_mhz) { - if (current_clk < (target_clk * (1000 - CAL_TOL_RATE) / 1000) || - current_clk > (target_clk * (1000 + CAL_TOL_RATE) / 1000)) { + if (current_clk_mhz < (target_clk_mhz * (1000 - CAL_TOL_RATE) / 1000) || + current_clk_mhz > (target_clk_mhz * (1000 + CAL_TOL_RATE) / 1000)) { printk(BIOS_WARNING, "[%s] calibration fail: cur=%dM, CAL_RATE=%d, target=%dM\n", - __func__, current_clk, CAL_TOL_RATE, target_clk); + __func__, current_clk_mhz, CAL_TOL_RATE, target_clk_mhz); return -1; } printk(BIOS_DEBUG, "[%s] calibration done: cur=%dM, CAL_RATE=%d, target=%dM\n", - __func__, current_clk, CAL_TOL_RATE, target_clk); + __func__, current_clk_mhz, CAL_TOL_RATE, target_clk_mhz); return 0; } -int pmif_ulposc_cali(u32 target_val) +int pmif_ulposc_cali(u32 target_freq_mhz) { u32 current_val, min = 0, max = CAL_MAX_VAL, middle; int diff_by_min, diff_by_max, cal_result; @@ -34,21 +34,21 @@ int pmif_ulposc_cali(u32 target_val) break; current_val = pmif_get_ulposc_freq_mhz(middle); - if (current_val > target_val) + if (current_val > target_freq_mhz) max = middle; else min = middle; } while (min <= max); - diff_by_min = pmif_get_ulposc_freq_mhz(min) - target_val; + diff_by_min = pmif_get_ulposc_freq_mhz(min) - target_freq_mhz; diff_by_min = ABS(diff_by_min); - diff_by_max = pmif_get_ulposc_freq_mhz(max) - target_val; + diff_by_max = pmif_get_ulposc_freq_mhz(max) - target_freq_mhz; diff_by_max = ABS(diff_by_max); cal_result = (diff_by_min < diff_by_max) ? min : max; current_val = pmif_get_ulposc_freq_mhz(cal_result); /* check if calibrated value is in the range of target value +- 15% */ - return pmif_ulposc_check(current_val, target_val); + return pmif_ulposc_check(current_val, target_freq_mhz); } |