diff options
author | Bob Liu <lliubbo@gmail.com> | 2012-05-17 05:15:40 -0400 |
---|---|---|
committer | Bob Liu <lliubbo@gmail.com> | 2012-05-21 02:54:49 -0400 |
commit | 7c141c1c5c148419eef8972688e86e2e3115ea13 (patch) | |
tree | 82b946e1611bcd9c090ea83bb591deb32a31a1c9 /arch/blackfin/kernel | |
parent | 1c40093976192c837c80f0c723394f176ca132ff (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.c | 24 |
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 | ||