Merge tag 'cleanup_for_v3.9_round3' of git://git.infradead.org/users/jcooper/linux...
[firefly-linux-kernel-4.4.55.git] / drivers / cpufreq / exynos-cpufreq.h
1 /*
2  * Copyright (c) 2010 Samsung Electronics Co., Ltd.
3  *              http://www.samsung.com
4  *
5  * EXYNOS - CPUFreq support
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License version 2 as
9  * published by the Free Software Foundation.
10 */
11
12 enum cpufreq_level_index {
13         L0, L1, L2, L3, L4,
14         L5, L6, L7, L8, L9,
15         L10, L11, L12, L13, L14,
16         L15, L16, L17, L18, L19,
17         L20,
18 };
19
20 struct exynos_dvfs_info {
21         unsigned long   mpll_freq_khz;
22         unsigned int    pll_safe_idx;
23         unsigned int    pm_lock_idx;
24         unsigned int    max_support_idx;
25         unsigned int    min_support_idx;
26         struct clk      *cpu_clk;
27         unsigned int    *volt_table;
28         struct cpufreq_frequency_table  *freq_table;
29         void (*set_freq)(unsigned int, unsigned int);
30         bool (*need_apll_change)(unsigned int, unsigned int);
31 };
32
33 extern int exynos4210_cpufreq_init(struct exynos_dvfs_info *);
34 extern int exynos4x12_cpufreq_init(struct exynos_dvfs_info *);
35 extern int exynos5250_cpufreq_init(struct exynos_dvfs_info *);