Lines Matching full:dvfs
126 * will be configured then the DVFS will be enabled.
217 struct armada_37xx_dvfs *dvfs) in armada37xx_cpufreq_avs_configure() argument
234 dvfs->avs[0] = l0_vdd_min; in armada37xx_cpufreq_avs_configure()
244 dvfs->avs[load_level] = avs_min; in armada37xx_cpufreq_avs_configure()
251 if (dvfs->cpu_freq_max >= 1000*1000*1000) { in armada37xx_cpufreq_avs_configure()
252 if (dvfs->cpu_freq_max >= 1200*1000*1000) in armada37xx_cpufreq_avs_configure()
256 dvfs->avs[0] = dvfs->avs[1] = avs_min; in armada37xx_cpufreq_avs_configure()
269 dvfs->avs[1] = armada_37xx_avs_val_match(target_vm); in armada37xx_cpufreq_avs_configure()
277 dvfs->avs[2] = dvfs->avs[3] = armada_37xx_avs_val_match(target_vm); in armada37xx_cpufreq_avs_configure()
284 if (dvfs->cpu_freq_max >= 1000*1000*1000) { in armada37xx_cpufreq_avs_configure()
287 if (dvfs->cpu_freq_max >= 1200*1000*1000) in armada37xx_cpufreq_avs_configure()
292 if (avs_min_l1 > dvfs->avs[0]) in armada37xx_cpufreq_avs_configure()
293 avs_min_l1 = dvfs->avs[0]; in armada37xx_cpufreq_avs_configure()
295 if (dvfs->avs[1] < avs_min_l1) in armada37xx_cpufreq_avs_configure()
296 dvfs->avs[1] = avs_min_l1; in armada37xx_cpufreq_avs_configure()
301 struct armada_37xx_dvfs *dvfs) in armada37xx_cpufreq_avs_setup() argument
321 avs_val = dvfs->avs[load_level]; in armada37xx_cpufreq_avs_setup()
353 /* Now enable DVFS for the CPUs */ in armada37xx_cpufreq_enable_dvfs()
379 /* Ensure DVFS is disabled otherwise the following registers are RO */ in armada37xx_cpufreq_resume()
388 * NB_DYN_MOD register is the one that actually enable back DVFS if it in armada37xx_cpufreq_resume()
400 struct armada_37xx_dvfs *dvfs; in armada37xx_cpufreq_driver_init() local
423 /* if AVS is not present don't use it but still try to setup dvfs */ in armada37xx_cpufreq_driver_init()
428 /* Before doing any configuration on the DVFS first, disable it */ in armada37xx_cpufreq_driver_init()
464 dvfs = armada_37xx_cpu_freq_info_get(base_frequency); in armada37xx_cpufreq_driver_init()
465 if (!dvfs) { in armada37xx_cpufreq_driver_init()
479 armada37xx_cpufreq_avs_configure(avs_base, dvfs); in armada37xx_cpufreq_driver_init()
480 armada37xx_cpufreq_avs_setup(avs_base, dvfs); in armada37xx_cpufreq_driver_init()
482 armada37xx_cpufreq_dvfs_setup(nb_pm_base, nb_clk_base, dvfs->divider); in armada37xx_cpufreq_driver_init()
487 unsigned long u_volt = avs_map[dvfs->avs[load_lvl]] * 1000; in armada37xx_cpufreq_driver_init()
488 freq = base_frequency / dvfs->divider[load_lvl]; in armada37xx_cpufreq_driver_init()
496 /* Now that everything is setup, enable the DVFS at hardware level */ in armada37xx_cpufreq_driver_init()
511 platform_set_drvdata(pdev, dvfs); in armada37xx_cpufreq_driver_init()
519 freq = base_frequency / dvfs->divider[load_lvl]; in armada37xx_cpufreq_driver_init()
533 struct armada_37xx_dvfs *dvfs = platform_get_drvdata(pdev); in armada37xx_cpufreq_driver_exit() local
542 freq = dvfs->cpu_freq_max / dvfs->divider[load_lvl]; in armada37xx_cpufreq_driver_exit()