summaryrefslogtreecommitdiff
path: root/src/cpu/samsung/exynos5250/exynos-cpufreq.h
diff options
context:
space:
mode:
authorRonald G. Minnich <rminnich@gmail.com>2012-11-27 10:36:06 -0800
committerRonald G. Minnich <rminnich@gmail.com>2012-11-28 07:55:59 +0100
commit6e3728bb12688e8de300c04d5e7a688bc99a2d15 (patch)
treea3ac428b189aa9acc4b7cd80b7be7d2c701a9c76 /src/cpu/samsung/exynos5250/exynos-cpufreq.h
parentbbc880eee702fc175d4a3c3e87b682c26c38f940 (diff)
Add .h files for samsung exynos 5250
Per a conversation with Stefan, these chip-dependent files are moved to the src tree, in the manner of other chips (north and southbridge). Change-Id: I12645ba05eb241eda200ed06cb633541a6a98119 Signed-off-by: Ronald G. Minnich <rminnich@gmail.com> Signed-off-by: David Hendricks <dhendrix@chromium.org> Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Reviewed-on: http://review.coreboot.org/1925 Tested-by: build bot (Jenkins)
Diffstat (limited to 'src/cpu/samsung/exynos5250/exynos-cpufreq.h')
-rw-r--r--src/cpu/samsung/exynos5250/exynos-cpufreq.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/src/cpu/samsung/exynos5250/exynos-cpufreq.h b/src/cpu/samsung/exynos5250/exynos-cpufreq.h
new file mode 100644
index 0000000000..1c28e77ea4
--- /dev/null
+++ b/src/cpu/samsung/exynos5250/exynos-cpufreq.h
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2012 Samsung Electronics Co., Ltd.
+ * http://www.samsung.com
+ *
+ * EXYNOS - CPU frequency scaling support
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+/* Define various levels of ARM frequency */
+enum cpufreq_level {
+ CPU_FREQ_L200, /* 200 MHz */
+ CPU_FREQ_L300, /* 300 MHz */
+ CPU_FREQ_L400, /* 400 MHz */
+ CPU_FREQ_L500, /* 500 MHz */
+ CPU_FREQ_L600, /* 600 MHz */
+ CPU_FREQ_L700, /* 700 MHz */
+ CPU_FREQ_L800, /* 800 MHz */
+ CPU_FREQ_L900, /* 900 MHz */
+ CPU_FREQ_L1000, /* 1000 MHz */
+ CPU_FREQ_L1100, /* 1100 MHz */
+ CPU_FREQ_L1200, /* 1200 MHz */
+ CPU_FREQ_L1300, /* 1300 MHz */
+ CPU_FREQ_L1400, /* 1400 MHz */
+ CPU_FREQ_L1500, /* 1500 MHz */
+ CPU_FREQ_L1600, /* 1600 MHz */
+ CPU_FREQ_L1700, /* 1700 MHz */
+ CPU_FREQ_LCOUNT,
+};
+
+/*
+ * Initialize ARM frequency scaling
+ *
+ * @param blob FDT blob
+ * @return int value, 0 for success
+ */
+int exynos5250_cpufreq_init(const void *blob);
+
+/*
+ * Switch ARM frequency to new level
+ *
+ * @param new_freq_level enum cpufreq_level, states new frequency
+ * @return int value, 0 for success
+ */
+int exynos5250_set_frequency(enum cpufreq_level new_freq_level);