summaryrefslogtreecommitdiffstats
path: root/arch/blackfin/kernel
diff options
context:
space:
mode:
authorBob Liu <lliubbo@gmail.com>2012-05-17 05:15:40 -0400
committerBob Liu <lliubbo@gmail.com>2012-05-21 02:54:49 -0400
commit7c141c1c5c148419eef8972688e86e2e3115ea13 (patch)
tree82b946e1611bcd9c090ea83bb591deb32a31a1c9 /arch/blackfin/kernel
parent1c40093976192c837c80f0c723394f176ca132ff (diff)
blackfin: bf60x: make clock changeable in kernel menuconfig
Add clock changeable support in kernel menuconfig for bf60x. Signed-off-by: Bob Liu <lliubbo@gmail.com>
Diffstat (limited to 'arch/blackfin/kernel')
-rw-r--r--arch/blackfin/kernel/setup.c24
1 files changed, 5 insertions, 19 deletions
diff --git a/arch/blackfin/kernel/setup.c b/arch/blackfin/kernel/setup.c
index ed041541ea19..55fb42b50463 100644
--- a/arch/blackfin/kernel/setup.c
+++ b/arch/blackfin/kernel/setup.c
@@ -892,9 +892,6 @@ void __init setup_arch(char **cmdline_p)
892{ 892{
893 u32 mmr; 893 u32 mmr;
894 unsigned long sclk, cclk; 894 unsigned long sclk, cclk;
895#ifdef CONFIG_BF60x
896 struct clk *clk;
897#endif
898 895
899 native_machine_early_platform_add_devices(); 896 native_machine_early_platform_add_devices();
900 897
@@ -959,24 +956,8 @@ void __init setup_arch(char **cmdline_p)
959 ~HYST_NONEGPIO_MASK) | HYST_NONEGPIO); 956 ~HYST_NONEGPIO_MASK) | HYST_NONEGPIO);
960#endif 957#endif
961 958
962#ifdef CONFIG_BF60x
963 clk = clk_get(NULL, "CCLK");
964 if (!IS_ERR(clk)) {
965 cclk = clk_get_rate(clk);
966 clk_put(clk);
967 } else
968 cclk = 0;
969
970 clk = clk_get(NULL, "SCLK0");
971 if (!IS_ERR(clk)) {
972 sclk = clk_get_rate(clk);
973 clk_put(clk);
974 } else
975 sclk = 0;
976#else
977 cclk = get_cclk(); 959 cclk = get_cclk();
978 sclk = get_sclk(); 960 sclk = get_sclk();
979#endif
980 961
981 if ((ANOMALY_05000273 || ANOMALY_05000274) && (cclk >> 1) < sclk) 962 if ((ANOMALY_05000273 || ANOMALY_05000274) && (cclk >> 1) < sclk)
982 panic("ANOMALY 05000273 or 05000274: CCLK must be >= 2*SCLK"); 963 panic("ANOMALY 05000273 or 05000274: CCLK must be >= 2*SCLK");
@@ -1062,8 +1043,13 @@ void __init setup_arch(char **cmdline_p)
1062 1043
1063 printk(KERN_INFO "Blackfin Linux support by http://blackfin.uclinux.org/\n"); 1044 printk(KERN_INFO "Blackfin Linux support by http://blackfin.uclinux.org/\n");
1064 1045
1046#ifdef CONFIG_BF60x
1047 printk(KERN_INFO "Processor Speed: %lu MHz core clock, %lu MHz SCLk, %lu MHz SCLK0, %lu MHz SCLK1 and %lu MHz DCLK\n",
1048 cclk / 1000000, sclk / 1000000, get_sclk0() / 1000000, get_sclk1() / 1000000, get_dclk() / 1000000);
1049#else
1065 printk(KERN_INFO "Processor Speed: %lu MHz core clock and %lu MHz System Clock\n", 1050 printk(KERN_INFO "Processor Speed: %lu MHz core clock and %lu MHz System Clock\n",
1066 cclk / 1000000, sclk / 1000000); 1051 cclk / 1000000, sclk / 1000000);
1052#endif
1067 1053
1068 setup_bootmem_allocator(); 1054 setup_bootmem_allocator();
1069 1055