• Home
  • Raw
  • Download

Lines Matching +full:clk +full:- +full:out +full:- +full:frequency

17 #include <linux/clk.h>
63 old_freq = clk_get_rate(policy->clk) / 1000; in s3c64xx_cpufreq_set_target()
64 new_freq = s3c64xx_freq_table[index].frequency; in s3c64xx_cpufreq_set_target()
70 dvfs->vddarm_min, in s3c64xx_cpufreq_set_target()
71 dvfs->vddarm_max); in s3c64xx_cpufreq_set_target()
80 ret = clk_set_rate(policy->clk, new_freq * 1000); in s3c64xx_cpufreq_set_target()
90 dvfs->vddarm_min, in s3c64xx_cpufreq_set_target()
91 dvfs->vddarm_max); in s3c64xx_cpufreq_set_target()
95 if (clk_set_rate(policy->clk, old_freq * 1000) < 0) in s3c64xx_cpufreq_set_target()
103 pr_debug("Set actual frequency %lukHz\n", in s3c64xx_cpufreq_set_target()
104 clk_get_rate(policy->clk) / 1000); in s3c64xx_cpufreq_set_target()
122 goto out; in s3c64xx_cpufreq_config_regulator()
125 dvfs = &s3c64xx_dvfs_table[freq->driver_data]; in s3c64xx_cpufreq_config_regulator()
130 if (v >= dvfs->vddarm_min && v <= dvfs->vddarm_max) in s3c64xx_cpufreq_config_regulator()
136 freq->frequency); in s3c64xx_cpufreq_config_regulator()
137 freq->frequency = CPUFREQ_ENTRY_INVALID; in s3c64xx_cpufreq_config_regulator()
141 out: in s3c64xx_cpufreq_config_regulator()
153 if (policy->cpu != 0) in s3c64xx_cpufreq_driver_init()
154 return -EINVAL; in s3c64xx_cpufreq_driver_init()
157 pr_err("No frequency information for this CPU\n"); in s3c64xx_cpufreq_driver_init()
158 return -ENODEV; in s3c64xx_cpufreq_driver_init()
161 policy->clk = clk_get(NULL, "armclk"); in s3c64xx_cpufreq_driver_init()
162 if (IS_ERR(policy->clk)) { in s3c64xx_cpufreq_driver_init()
164 PTR_ERR(policy->clk)); in s3c64xx_cpufreq_driver_init()
165 return PTR_ERR(policy->clk); in s3c64xx_cpufreq_driver_init()
173 pr_err("Only frequency scaling available\n"); in s3c64xx_cpufreq_driver_init()
184 r = clk_round_rate(policy->clk, freq->frequency * 1000); in s3c64xx_cpufreq_driver_init()
186 if (r != freq->frequency) { in s3c64xx_cpufreq_driver_init()
188 freq->frequency); in s3c64xx_cpufreq_driver_init()
189 freq->frequency = CPUFREQ_ENTRY_INVALID; in s3c64xx_cpufreq_driver_init()
193 * frequency is the maximum we can support. */ in s3c64xx_cpufreq_driver_init()
194 if (!vddarm && freq->frequency > clk_get_rate(policy->clk) / 1000) in s3c64xx_cpufreq_driver_init()
195 freq->frequency = CPUFREQ_ENTRY_INVALID; in s3c64xx_cpufreq_driver_init()
205 pr_err("Failed to configure frequency table: %d\n", in s3c64xx_cpufreq_driver_init()
208 clk_put(policy->clk); in s3c64xx_cpufreq_driver_init()