exynos-cpufreq.h 1000 B

1234567891011121314151617181920212223242526272829303132333435
  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. enum cpufreq_level_index {
  12. L0, L1, L2, L3, L4,
  13. L5, L6, L7, L8, L9,
  14. L10, L11, L12, L13, L14,
  15. L15, L16, L17, L18, L19,
  16. L20,
  17. };
  18. struct exynos_dvfs_info {
  19. unsigned long mpll_freq_khz;
  20. unsigned int pll_safe_idx;
  21. unsigned int pm_lock_idx;
  22. unsigned int max_support_idx;
  23. unsigned int min_support_idx;
  24. struct clk *cpu_clk;
  25. unsigned int *volt_table;
  26. struct cpufreq_frequency_table *freq_table;
  27. void (*set_freq)(unsigned int, unsigned int);
  28. bool (*need_apll_change)(unsigned int, unsigned int);
  29. };
  30. extern int exynos4210_cpufreq_init(struct exynos_dvfs_info *);
  31. extern int exynos4x12_cpufreq_init(struct exynos_dvfs_info *);
  32. extern int exynos5250_cpufreq_init(struct exynos_dvfs_info *);