aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/include/asm/arch-keystone/clock.h
diff options
context:
space:
mode:
authorTom Rini <trini@ti.com>2014-07-29 09:41:35 -0400
committerTom Rini <trini@ti.com>2014-07-29 09:41:35 -0400
commit362f16b1e9e94024a511adae9977d145ef942b50 (patch)
treee0e359fb074493fa8deab65abe0feb4b8fefde3a /arch/arm/include/asm/arch-keystone/clock.h
parent302e609fe653baf1ae3a7573d2f4eafd86ab696b (diff)
parent9d195a546179bc732aba9eacccf0a9a3db591288 (diff)
Merge branch 'master' of git://git.denx.de/u-boot-arm
Diffstat (limited to 'arch/arm/include/asm/arch-keystone/clock.h')
-rw-r--r--arch/arm/include/asm/arch-keystone/clock.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/arch/arm/include/asm/arch-keystone/clock.h b/arch/arm/include/asm/arch-keystone/clock.h
index 324501b75a..1513c76b6a 100644
--- a/arch/arm/include/asm/arch-keystone/clock.h
+++ b/arch/arm/include/asm/arch-keystone/clock.h
@@ -10,8 +10,40 @@
#ifndef __ASM_ARCH_CLOCK_H
#define __ASM_ARCH_CLOCK_H
+#ifndef __ASSEMBLY__
+
#ifdef CONFIG_SOC_K2HK
#include <asm/arch/clock-k2hk.h>
#endif
+#ifdef CONFIG_SOC_K2E
+#include <asm/arch/clock-k2e.h>
+#endif
+
+#define MAIN_PLL CORE_PLL
+
+#include <asm/types.h>
+
+struct keystone_pll_regs {
+ u32 reg0;
+ u32 reg1;
+};
+
+/* PLL configuration data */
+struct pll_init_data {
+ int pll;
+ int pll_m; /* PLL Multiplier */
+ int pll_d; /* PLL divider */
+ int pll_od; /* PLL output divider */
+};
+
+extern const struct keystone_pll_regs keystone_pll_regs[];
+
+void init_plls(int num_pll, struct pll_init_data *config);
+void init_pll(const struct pll_init_data *data);
+unsigned long clk_get_rate(unsigned int clk);
+unsigned long clk_round_rate(unsigned int clk, unsigned long hz);
+int clk_set_rate(unsigned int clk, unsigned long hz);
+
+#endif
#endif